Tesserae

Tesserae UI Components Library

Welcome to the official documentation for Tesserae — a modern UI toolkit designed for building rich, web-based user interfaces using C# and the H5 C#-to-JavaScript compiler.

Tesserae is distributed as a .NET Standard UI toolkit on NuGet, making it compatible with a wide range of .NET platforms and project types. The library leverages the H5 compiler to translate C# UI components into JavaScript, so you can build responsive web UIs using familiar .NET tools and workflows.


What You’ll Find in This Documentation

This documentation is structured to help you learn, reference, and master Tesserae:

  • Getting Started Learn how to install Tesserae via NuGet and set up your first component or layout in just a few minutes.

  • Core Concepts Understand the architecture behind Tesserae, how components are composed, and how rendering integrates with the H5 compiler.

  • Component API Reference Browse detailed documentation on the available UI components, their properties, events, and usage examples.

  • Samples & Tutorials Explore real-world examples that demonstrate common UI patterns and workflows.

  • Advanced Topics Dive into styling, layout behaviors, event handling, and integrating Tesserae UI with larger application frameworks.


Collections

Breadcrumb

The Breadcrumb component is used to display a navigational trail, indicating the user's current page within a hierarchical stru...

Details List

DetailsList is a robust component for displaying an information-rich collection of items. It extends the basic List capabilitie...

Grid

The Grid component provides a flexible layout container that arranges its child components into a grid structure. It is used pr...

Infinite Scrolling List

InfiniteScrollingList is a dynamic component designed to display a paginated list of UI elements that loads additional content ...

Items List

ItemsList is a flexible list component designed for displaying small sets of items. It belongs to the Collections group and can...

Masonry

The Masonry component arranges its child components in a dynamic, grid-like layout where items are organized into columns of eq...

Observable Stack

ObservableStack is a container component that manages the display of its child components using a flexbox-inspired layout and a...

Overflow Set

The OverflowSet component is a container designed to manage a set of UI items that may overflow the available display space. It...

Searchable Grouped List

SearchableGroupedList is a versatile collection component designed to render a list of items that can be grouped and searched. ...

Searchable List

The SearchableList component is a generic list container designed to display and filter a collection of items that implement th...

Stack

A Stack is a container component that abstracts the implementation of a flexbox to layout its children components. It is useful...

Timeline

The Timeline component provides a base for rendering vertical timelines. It arranges timeline items and alternates their placem...

Virtualized List

VirtualizedList is a collection component designed to efficiently render large sets of items by virtualizing the DOM content. I...

Components

Action Button

The ActionButton component is a composite UI control that combines a display area and an associated action button. It is design...

Accordion

The Accordion contains a list of expanders that can be toggled to reveal more information, useful for organizing content into manageable chunks.

Annotated Text Editor

A specialized editor for annotating text with custom highlights, comments, or marks.

Avatar

The Avatar component represents users with images, initials, and presence indicators.

Badge

A compact label component for displaying status, counts, or short tags inline with other content.

Card

The Card component provides a contained surface for displaying related content with a title and content sections.

Carousel

The Carousel component cycles through a list of items, typically images, in a horizontal sliding fashion.

Chat

A conversational interface for displaying message threads and sending messages.

Command Bar

A horizontal toolbar for grouping commands and actions with overflow handling.

Cron Editor

A specialized editor for building cron expressions through a guided UI.

Delta Component

A component that visualizes changes between two values with positive/negative styling.

Message

An inline notification component for displaying success, warning, error, or informational content.

Metric

Displays a single key metric with optional trend indicators and labels.

Month Picker

A component for selecting a month from a year view.

Navbar

A top navigation bar for displaying brand, navigation links, and command actions.

Omni Box

A flexible input field combining search and command palette behaviors.

Pagination

Controls for navigating through paginated content with page numbers and next/previous actions.

Plan

A component for visualizing structured plans, checklists, or step-by-step processes.

Progress Ring

A circular progress indicator showing completion of an operation.

Rating

Displays and collects star-based ratings.

Resource Card

A card variant designed for displaying resource summaries with metadata.

Save Button

A button with built-in state management for save operations (idle, saving, saved, error).

Saving Toast

A toast notification that reflects save operation status with built-in state transitions.

Sidebar

A collapsible side panel for navigation or supplemental content.

Sidebar Separator

A separator used to visually group items in a Sidebar.

Sidenav

A vertical navigation component for primary application navigation.

Skeleton

Placeholder loading states that mimic the layout of content being loaded.

Sparkline

A compact inline chart for visualizing trends in small spaces.

Stepper

A guided multi-step process indicator and navigator.

Steps Slider

A slider variant for selecting from discrete, ordered steps.

Task Board

A kanban-style board for organizing tasks across columns.

Teaching

A coach-mark component for highlighting features and providing in-app tutorials.

Text Area

A multi-line text input for longer-form input.

Time Histogram Picker

A time range picker visualized over a histogram of data density.

Tree

A hierarchical tree view for navigating nested data structures.

Uptime

Visualization for uptime status across days, weeks, or other time periods.

Week Picker

A picker for selecting a specific week within a calendar year.

Button

The Button component provides an interactive UI element that the user can click to trigger an action. It is an essential compon...

Check Box

The CheckBox component is a UI element used for binary selection, allowing users to toggle between two states: checked and unch...

Choice Group

The ChoiceGroup component allows users to select a single option from a set of mutually exclusive choices, similar to a group o...

Color Picker

The ColorPicker component provides a native browser widget for selecting colors. It is part of the Tesserae UI library's Compon...

Date Picker

The DatePicker is a UI component that allows users to select a date using the native browser date picker widget. As part of the...

Date Time Picker

The DateTimePicker component provides a native browser widget for selecting date and time values. It is designed for situations...

Dropdown

The Dropdown component renders an interactive list of options with a single visible selected item by default. When a user click...

Editable Label

EditableLabel is a UI component that displays text which can be clicked to switch into an inline editing mode. In this mode, us...

Grid Picker

The GridPicker component creates an interactive grid of buttons, where each cell can have multiple states. It is used for build...

Horizontal Separator

The HorizontalSeparator component is used to visually separate content into distinct groups with a horizontal rule. It can disp...

Label

The Label component is used to provide a descriptive title or identifier for a UI element or group of elements. It is typically...

Number Picker

The NumberPicker component is a numeric input control that leverages the native HTML number input field. It provides a fluent A...

Picker

Picker is a versatile UI component used for selecting items from a list of suggestions. It provides support for both multi-sele...

Progress Indicator

The ProgressIndicator is a UI component used to visually represent the completion status of an operation when the total units o...

Search Box

SearchBox provides a dedicated input field for searching through content. It is designed to capture search queries either when ...

Slider

The Slider component represents a range input control that allows users to select a numeric value within a specific range. It i...

Spinner

The Spinner component is a visual indicator that displays an animated circle outline, suggesting that a background process is r...

Split View

The SplitView component creates a two-pane container that arranges two child components separated by a draggable splitter. This...

Text Block

TextBlock is a display component used to render text in a consistent and customizable manner. It is part of the Components grou...

Text Box

The TextBox component enables users to input text data in your application. It is designed for use in forms or any area where t...

Text Breadcrumbs

The TextBreadcrumbs component is used as a navigational container that aggregates multiple TextBreadcrumb components. It displa...

Toggle

The Toggle component represents a physical switch that allows users to turn a setting on or off. It is ideal for binary operati...

Surfaces

Context Menu

The ContextMenu component displays a contextual pop-up menu that appears relative to a target element or specific screen coordi...

Card Pivot

A pivot variant that displays each tab as a selectable card with associated content.

Horizontal Split View

A two-pane horizontal container with a draggable splitter for resizing each pane.

Pivot Selector

A selector-style pivot for switching between content panels.

Segmented Pivot

A pivot using segmented control styling for switching between content panels.

Tabbed Modal

A modal dialog organized with tabs for displaying multiple related content sections.

Dialog

The Dialog component is a modal overlay that is used to display temporary content and gather user confirmation or input. It blo...

Float

The Float component is part of the Surfaces group and is designed to create absolute-positioned overlays within other container...

Layer

The Layer component is a technical utility used to render content outside the main DOM tree, appending it at the end of the doc...

Modal

The Modal component provides a temporary overlay window that can be used to display contextual information or gather user input...

Panel

The Panel component creates a modal or non-modal overlay that presents contextual content, such as forms or informational messa...

Pivot

The Pivot component is a tab-based container used to organize and display content panels within a user interface. It allows use...

Progress Modal

ProgressModal is a modal dialog component designed for displaying progress information in a blocking UI overlay. It is part of ...

Section Stack

SectionStack is a container component used to organize content into distinct sections presented in a vertical layout. It handle...

Tutorial Modal

The TutorialModal is a surface component used to display a guided tutorial or multi-step process to the user. It provides a str...

Utilities

Node View

The NodeView component is a powerful utility for rendering interactive node-based flows. It is used to define and display nodes...

Color Palette

A picker for selecting colors from a predefined palette.

Colors

Utilities for working with theme color tokens and palette helpers.

Command Palette

A keyboard-driven command launcher for fast in-app actions.

Defer With Progress

Defer initialization of components while showing a progress indicator.

Gradients

Helpers for creating themed gradients used in backgrounds and surfaces.

Keyboard Shortcut

Bind keyboard shortcuts to actions across your application.

Notification Center

An in-app notification center for collecting and displaying app notifications.

Toast

The Toast component provides short-lived notifications that alert users with important messages, such as success, information, ...

Validator

The Validator is a utility component designed to orchestrate and centralize the validation of multiple UI elements. It register...


Who This is For

This documentation is for:

  • .NET Developers building web UIs with C#
  • Teams using the H5 compiler to bring C# experiences to the browser
  • Anyone looking for a strongly-typed component library that blends modern UI design with familiar programming models

About Tesserae

Tesserae lets you write UI components in C# and compile them to JavaScript using the H5 toolchain, enabling a cohesive development experience across your web application stack. The toolkit focuses on type safety, composability, and a fluent API surface that feels natural to C# developers.


If you’re new here, start with the Project Setup, and then explore Layout & Alignment to start building your first Tesserae UI!

© 2026 Tesserae. All rights reserved.