Tessina UI
Tessina UI
GitHubIntroduction
InstallationUsageTheming
Components
ButtonIconButtonLinkSpinnerBadgeAvatarStatusChipShortcutSkeletonSurfaceProgressMeterRating
LabelFieldFieldsetCheckboxRadioSwitchSliderSelectComboboxSearchTextareaNumberFieldDate PickerTime PickerOTP InputFile UploadCalendar
AlertBannerToastTooltip
TabsAccordionCollapsibleBreadcrumbPaginationStepperSegmentedControlButtonGroupToggleButtonToggleGroupToolbarNavigation MenuMenubarBottom NavSidebar
Split ButtonFABDropdown MenuContextMenuCommandPopoverHoverCard
ContainerStackFlexGridAspectRatioSpacerCardCarouselDividerScroll Area
Table
ChatBubblePromptInputCodeBlock
ModalAlertDialogDrawerAction SheetTop Header MobileTop Header DesktopEmptyStateForm
Contributing
Components

Components

All TessinaUI components organised by tier — Essentials, Blocks, and Surfaces.

TessinaUI components are organised into three tiers based on complexity and composition.

Essentials

Single-responsibility, pure-render components with no dependencies on other library components. Reach for these first.

ComponentDescription
ButtonPrimary action trigger — 4 variants, 5 intents, loading state
IconButtonCompact icon-only button for toolbars and inline controls
SpinnerLoading indicator — ring, dots, pulse variants
BadgeSmall label or numeric count indicator
AvatarUser profile image with text fallback and group stacking
StatusColored dot for online/offline and semantic state
ChipDismissable tag or filter pill
ShortcutKeyboard shortcut display (⌘K, Ctrl+S)
SkeletonPlaceholder loading shimmer
ProgressLinear progress bar

Blocks

Functional components with interactivity or that compose Essentials.

Form

ComponentDescription
FieldText input wrapper — label, error/success state, icons
CheckboxCheckbox with card variant and group management
RadioRadio button with card variant
SwitchBoolean toggle
SliderNumeric range input
SelectDropdown select with groups
ComboboxSearchable autocomplete — single or multi-select
SearchSearch input with clear button and shortcut
TextareaMulti-line text input
DatePickerDate and range picker
CalendarStandalone calendar widget

Feedback

ComponentDescription
AlertInline message banner — error, warning, success, info
ToastFloating notification (requires ToastProvider in layout)
TooltipHover/focus popover for labels and hints

Navigation

ComponentDescription
TabsTab navigation — line, enclosed, pill, soft
AccordionExpandable/collapsible sections
BreadcrumbHierarchical navigation trail
PaginationPage navigation control
StepperMulti-step wizard indicator
SegmentedControlMutually exclusive option picker
ButtonGroupGrouped buttons
ToggleButtonStateful press toggle
BottomNavMobile tab bar

Action

ComponentDescription
SplitButtonPrimary action + dropdown trigger
FabFloating Action Button
DropdownMenuContext menu with submenus

Layout

ComponentDescription
CardContent container — elevated, outlined, filled, ghost

Surfaces

Viewport-level components with focus traps and scroll locks. Used once per feature.

ComponentDescription
ModalCentered dialog overlay
DrawerSide panel
ActionSheetMobile bottom sheet

Theming

Customize Tessina UI to match your brand

Button

Displays a button or a component that looks like a button

On this page

EssentialsBlocksFormFeedbackNavigationActionLayoutSurfaces