Components

68 components — every export of @timelycare/helix-ui, grouped by what it does.

Actions

Buttons and controls that trigger things

Forms & input

Collecting and editing user input

Calendar

Date picker calendar built on react-day-picker with single date, range, and multi-date selection support.

Checkbox

Accessible checkbox built on Radix UI Checkbox primitive with checked/unchecked/indeterminate states and a CheckIcon indicator.

Combobox

Autocomplete/typeahead select built on Base UI Combobox primitive, supporting single and multi-select with chips, groups, and custom filtering.

Date Pickercomposite

Date selection composition built on Calendar + Popover.

EditableSectioncompound

A labeled section of related fields the user can view and edit — settings, profile dossiers, account info, contact records. Two variants via discriminated-union props: card-edit (admin surfaces, per-section atomic save with an Edit affordance) and form-save (consumer surfaces, form-wide commit at the bottom of the page). The canonical drift-paired-as-variants compound — both save models are valid for their surface tier.

Field

Form field layout system with label, description, error, and content sub-components. Supports vertical, horizontal, and responsive orientations.

Form

Form field components built on react-hook-form's FormProvider and Controller, providing automatic label association, error display, and accessible descriptions.

Input

Styled native input element with focus ring, error state, and file input support.

InputGroup

Composable input wrapper that combines an input or textarea with addons like icons, buttons, text, and keyboard shortcuts.

InputOTP

One-time password input with individual character slots, built on the input-otp library. Supports grouping and separators.

Label

Accessible label component built on Radix UI Label primitive with automatic disabled state styling.

PasswordInputcompound

Password field with a show/hide toggle, plus a live rules list that gives check/× feedback as the user types. Implements the password-rules convention.

RadioGroup

Accessible radio group built on Radix RadioGroup primitive for single-selection from a set of options.

Select

Dropdown select component built on Radix UI Select primitive with keyboard navigation, grouped items, and portal-based content positioning.

Slider

Range slider built on Radix Slider primitive, supporting single and multi-thumb values with horizontal and vertical orientations.

Switch

Toggle switch built on Radix Switch primitive for binary on/off states, with default and small size variants.

Textarea

Multi-line text input with auto-sizing via field-sizing-content, styled to match the Input component.

Data display

Presenting content, records, and data

Avatar

User avatar with image, fallback initials, optional badge, and group layout. Built on Radix Avatar primitive with three size options.

Badge

Inline status indicator with semantic and primitive color variants, rendered as a span with optional Slot composition.

Carousel

Scrollable content carousel with previous/next navigation, built on embla-carousel-react.

ChartContainer

Chart wrapper and tooltip/legend components built on Recharts, with theme-aware color configuration via ChartConfig.

Data Tablecomposite

Sortable, filterable table composition built on Table + TanStack Table.

FilterPopovercompound

Canonical filter UI for data tables: a trigger button that opens a popover containing caller-supplied form fields, with a Clear All / Apply footer the compound enforces. Confirmed across Provider (Members, Past Visits, In-Visit), Member (Community), and Campus (Visits, Manage Accounts). For analytics dashboards where filters stay visible, use FilterCard instead.

Item

Versatile list/content item with media, title, description, actions, header, and footer slots. Supports outline and muted variants.

Kbd

Keyboard shortcut display component showing key combinations in a styled inline badge, with KbdGroup for multi-key sequences.

MetricCardcompound

Analytics-surface KPI card with 3 layout variants (basic / split / glance) selected via discriminated-union props. Consolidates 5 audit candidates into one compound. Use `basic` for single KPIs scanned in rows, `split` for service-line breakdowns inside one card, `glance` for grids of micro-KPIs with per-cell context.

Table

Pure HTML-based data table with header, body, footer, caption, and striped row support.

Feedback & status

Communicating state, progress, and results

Layout & structure

Page scaffolding, containers, and spacing

Accordion

Vertically stacked collapsible sections with animated expand/collapse, built on Radix Accordion.

AppShellcompound

Top-level application chrome. Composes top bar (global chrome only) + sidebar + main content area. Universal across all 6 TimelyCare products — no variants. The AppShell-vs-PageHeader ownership rule is enforced via the typed AppShellTopBar sub-component, which has slots only for global chrome (logo, search, notifications, user menu, optional global actions) and NO slots for page chrome (title, breadcrumb, page actions — those live in PageHeader inside children).

AspectRatio

Container that maintains a specified aspect ratio for its child content, built on Radix AspectRatio.

Card

Container component for grouping related content with a bordered, rounded surface and consistent spacing.

Collapsible

Expandable/collapsible section built on Radix Collapsible primitive for showing and hiding content.

Header

The bar across the top of the app for global tools like search and the user's avatar. It stays the same on every page; page titles and breadcrumbs live in Page Header.

ListPageTemplatecompound

Opinionated layout template for list pages — PageHeader + optional tabs + search + content slot. The canonical shape confirmed in 5 of 6 TimelyCare products. Single universal compound (no variants).

PageHeadercompound

Top-of-content region header — breadcrumb, heading, description, and primary actions. Universal across all TimelyCare products.

ResizablePanelGroup

Resizable panel layout with draggable handles, built on react-resizable-panels.

ScrollArea

Custom-styled scrollable area with overlay scrollbars, built on Radix ScrollArea.

Separator

Visual divider line for separating content horizontally or vertically, built on Radix Separator.

Overlays

Content layered above the page

Utilities

Helpers and infrastructure components