Skip to main content

UI component matrix

This is the target coverage contract, not a list of completed components. See package and runtime boundaries. Rows distinguish available implementations from pending compositions. A row is complete only with exported implementation, English resources, dark/light stories and the relevant checks below. Several upstream stories can map to one public platform component.

The kit exports 47 shadcn primitive modules plus base compositions for actions, precision inputs, async selection, forms, files, time ranges, virtualized tables and trees. Schema forms use the published schemapb engine. Storybook includes primitives, composed controls, error/readonly states and schema fixtures in both themes. Editors, charts, observability and API-aware compositions are exported from their separate packages. The inventory below uses available for an existing public primitive/composition; it does not imply that every upstream storybook example has been reproduced verbatim.

Sources and adaptation policy​

  • shadcn components and semantic tokens: primitive source owned by the kit, obtained through the pinned official CLI. No second public primitive vocabulary from Grafana.
  • Grafana catalog: breadth reference, snapshot 2026-09-29. Stable @grafana/ui inspected: 13.2.3. The latest documentation may include newer source; adapters must verify that the pinned published package actually exports each selected component.
  • HyperDX theme: color, density and typography reference. Selectively port useful log/trace presentation code with notices; do not import its application or Mantine.
  • The HyperDX adaptation behind the console's Errors is a behavioral reference for structured JSON, precise values and timelines.

Grafana types stay behind adapters where practical. First try published public exports; tightly coupled code needs a deliberate source port and provenance. No deep imports into unstable package internals simply to make a demo compile.

Public families​

FamilyRequired coverageBasisPackage
Foundationstext/headings, links, icon, avatar, spacing, borders, focus, status/series palettestokens + shadcntheme/ui
Actionsbutton, icon button, groups, split/dropdown action, loading, clipboard, confirmshadcn + compositionui
Text inputstext, textarea, search, password/secret, clearable/autosize, input groupshadcn + compositionui
Choicecheckbox, switch, radio, select, async/multi combobox, segmented, tags, cascadershadcn + compositionui
Numericnumber input, slider/range, units, precision, boundsshadcn + Grafana adaptersui
Formslabel, description, error, fieldset/array, inline field/row, submit state, dirty guardshadcn + React Hook Formui
Schema formsschemapb scalar/object/array/enum/union, defaults, secret masking, field paths, JSON fallbackownschema-forms
Date/timecalendar, date/time, relative/absolute range, timezone, week start, refresh/liveshadcn date + Grafana range adaptersui
Filesupload, dropzone, list/progress, rejection, cancellationcompositionui
Layoutbox, stack, grid, divider, card, collapsible/accordion, resizable panels, scrollingshadcn + small layout primitivesui
Navigationtabs, breadcrumb, pagination, toolbar, command menu, sidebar entries, linksshadcn + router adapterui/plugin-sdk
Overlaysdialog, confirmation, drawer/sheet, popover, tooltip, hover/toggletip, context/dropdown menushadcnui
Feedbackalert, badge/tag, toast, progress, skeleton/spinner, empty/error/offline/partialshadcn + compositionui
Tablessorting, filtering, pagination, resize/reorder/hide/pin columns, selection, expansion, keyboard, virtual rowsshadcn + TanStackui
Treesexpandable hierarchy, selection, keyboard, large resource treesown compositionui
Editorscode, inline code, JSON validation/viewer, diff, copy/download, readonlyCodeMirror + own/HyperDX adaptationseditors
Query editorsCEL, MetricsQL/PromQL, LogsQL, TraceQL; syntax, completions, diagnostic ranges, cancellationCodeMirror language adapterseditors
Visualization controlsunits, value/stat/series color, thresholds, legend, series table, time-range selectionGrafana adapterscharts
Chartstime series, bars, histogram, heatmap, stat, bar/radial gauge, tooltip, empty/partial statesGrafana/uPlot adapters + compositionscharts
Log presentationvirtual rows, columns, structured body, severity, attributes, search highlighting, context, trace linksHyperDX ideas + own componentsobservability-ui
Trace presentationtrace list, waterfall, span tree/detail, events/links, attributes, duration, errorsHyperDX adaptations + ownobservability-ui
Error presentationstack trace, source context, nested causes, structured payload; no grouping engineown/HyperDX adaptationsobservability-ui
Service/configinstances, health reason, node tree, sources, schema forms, revisions/diffplatform compositionsplatform-ui
Automationhook/activity/event selectors, binding/rule editor, validation, run/history/status, schedules, DLQplatform compositionsplatform-ui
Auditactor/action/subject, outcomes, details, filter/list/stream, intent/resultplatform compositionsplatform-ui
Explorediscovered sources, resource filters, language selector, query/results, correlationplatform compositionsplatform-ui
Runtime statesexception boundary, connection state, auth expiry, plugin unavailable/incompatible, missing routeownreact/platform-ui/plugin-sdk

Completion checks​

Every exported interactive component has keyboard operation, visible focus, accessible name, disabled/readonly/error/loading/empty states where applicable, and dark/light examples. Check text contrast and charts without relying on color alone. Menus, editor completions and dialogs must agree on portal placement and z-index, support Escape and return focus. Do not replace upstream keyboard behavior with ad hoc click handlers.

Data-heavy components demonstrate virtualized large inputs, stable row identity, selection across updates, timezone handling and values above JavaScript's safe integer range. Log and trace displays preserve source data and timestamp precision; raw strings are not rendered as executable HTML. Graph samples use bounded downsampling and expose incomplete results. Editors/charts load lazily.

Storybook documents public props and composition, with real interaction stories and fixtures. The compatibility fixture checks a shadcn table and form beside Grafana visualization/time controls and a CodeMirror query editor in both modes. The module template exercises the same components standalone and embedded.

The following are excluded from this phase: Grafana datasource administration, plugin signatures, Grafana user management, alert-rule/policy/contact-point management, dashboard builder, deprecated duplicate APIs. Generic equivalents (status, badge, avatar, safe text, panel layout) remain in the kit.

Grafana reference inventory​

Snapshot: 145 unique titles from the official Storybook index.json, 2026-09-29. The mapping accounts for every title, including documentation and deprecated components. Mappings name the shipped public equivalent; deprecated duplicates and Grafana-specific documentation/performance harnesses are intentionally excluded.

Upstream titlePlatform dispositionStatus
Alerting/Contact Points/ContactPointSelectorGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/IntroGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/Notification Policies/RoutingTreeSelectorGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/Rules/AlertLabelGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/Rules/AlertLabelsGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/Rules/StateIconGrafana alerting domain excluded; generic status/badges coveredexcluded
Alerting/Rules/StateTextGrafana alerting domain excluded; generic status/badges coveredexcluded
Date time pickers/DatePickerShared shadcn primitive or platform compositionavailable
Date time pickers/DatePickerWithInputShared shadcn primitive or platform compositionavailable
Date time pickers/DateTimePickerShared shadcn primitive or platform compositionavailable
Date time pickers/RelativeTimeRangePickerGrafana adapter in platform tokensavailable
Date time pickers/TimeOfDayPickerGrafana adapter in platform tokensavailable
Date time pickers/TimeRangeInputGrafana adapter in platform tokensavailable
Date time pickers/TimeRangePickerGrafana adapter in platform tokensavailable
Date time pickers/TimeZonePickerGrafana adapter in platform tokensavailable
Date time pickers/WeekStartPickerGrafana adapter in platform tokensavailable
Developers/Border radiusFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Developers/Emotion perf testGrafana-specific Emotion benchmark excluded; browser acceptance covers our adaptersexcluded
Developers/Select PerfAsync selection cancellation/debounce; bounded options and virtual data fixturesavailable
Developers/TypographyFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Docs Overview/AccessibilityFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Docs Overview/Design PrinciplesFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Docs Overview/IntroFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Docs Overview/Voice and ToneFoundations stories and ui-kit.md design/accessibility/English guidanceavailable
Forms/Deprecated/FormDeprecated duplicate excluded; use current kit APIsexcluded
Forms/Deprecated/FormFieldDeprecated duplicate excluded; use current kit APIsexcluded
Forms/Deprecated/SecretFormFieldDeprecated duplicate excluded; use current kit APIsexcluded
Forms/FieldShared shadcn primitive or platform compositionavailable
Forms/FieldArrayShared shadcn primitive or platform compositionavailable
Forms/FieldSetShared shadcn primitive or platform compositionavailable
Forms/FieldValidationMessageShared shadcn primitive or platform compositionavailable
Forms/InlineFieldShared shadcn primitive or platform compositionavailable
Forms/InlineFieldRowShared shadcn primitive or platform compositionavailable
Forms/InlineLabelShared shadcn primitive or platform compositionavailable
Forms/LabelShared shadcn primitive or platform compositionavailable
Forms/LegendShared shadcn primitive or platform compositionavailable
Foundations/TextShared shadcn primitive or platform compositionavailable
Foundations/TextLinkShared shadcn primitive or platform compositionavailable
Foundations/ThemeShared shadcn primitive or platform compositionavailable
Iconography/AvatarShared shadcn primitive or platform compositionavailable
Iconography/IconShared shadcn primitive or platform compositionavailable
Iconography/UserIconShared shadcn primitive or platform compositionavailable
Iconography/UsersIndicatorPlatform composition using shared primitivesavailable
Information/AlertShared shadcn primitive or platform compositionavailable
Information/BadgeShared shadcn primitive or platform compositionavailable
Information/Deprecated/CallToActionCardDeprecated duplicate excluded; use current kit APIsexcluded
Information/Deprecated/EmptySearchResultDeprecated duplicate excluded; use current kit APIsexcluded
Information/Deprecated/InfoBoxDeprecated duplicate excluded; use current kit APIsexcluded
Information/EmptyStateShared shadcn primitive or platform compositionavailable
Information/FeatureBadgeShared shadcn primitive or platform compositionavailable
Information/InlineToastShared shadcn primitive or platform compositionavailable
Information/LoadingBarShared shadcn primitive or platform compositionavailable
Information/LoadingPlaceholderShared shadcn primitive or platform compositionavailable
Information/PageLoaderShared shadcn primitive or platform compositionavailable
Information/PluginSignatureBadgeGrafana signatures excluded; own plugin compatibility statusexcluded
Information/SpinnerShared shadcn primitive or platform compositionavailable
Information/TagShared shadcn primitive or platform compositionavailable
Information/TagListPlatform composition using shared primitivesavailable
Inputs/AutoSaveFieldPlatform composition using shared primitivesavailable
Inputs/AutoSizeInputPlatform composition using shared primitivesavailable
Inputs/ButtonShared shadcn primitive or platform compositionavailable
Inputs/ButtonCascaderPlatform composition using shared primitivesavailable
Inputs/CascaderPlatform composition using shared primitivesavailable
Inputs/CheckboxShared shadcn primitive or platform compositionavailable
Inputs/ClipboardButtonPlatform composition using shared primitivesavailable
Inputs/CodeEditorPlatform CodeMirror editor familyavailable
Inputs/CodeMirrorEditorPlatform CodeMirror editor familyavailable
Inputs/CodeMirrorInlineInputPlatform CodeMirror editor familyavailable
Inputs/ComboboxShared shadcn primitive or platform compositionavailable
Inputs/ConfirmButtonPlatform composition using shared primitivesavailable
Inputs/Deprecated/ButtonSelectDeprecated duplicate excluded; use current kit APIsexcluded
Inputs/Deprecated/QueryFieldDeprecated duplicate excluded; use current kit APIsexcluded
Inputs/Deprecated/SelectDeprecated duplicate excluded; use current kit APIsexcluded
Inputs/Deprecated/TableInputCSVDeprecated duplicate excluded; use current kit APIsexcluded
Inputs/FileDropzonePlatform composition using shared primitivesavailable
Inputs/FileListItemPlatform composition using shared primitivesavailable
Inputs/FileUploadPlatform composition using shared primitivesavailable
Inputs/FilterPillPlatform composition using shared primitivesavailable
Inputs/IconButtonShared shadcn primitive or platform compositionavailable
Inputs/InputShared shadcn primitive or platform compositionavailable
Inputs/MultiComboboxShared shadcn primitive or platform compositionavailable
Inputs/QueryInputPlatform CodeMirror editor familyavailable
Inputs/RadioButtonGroupShared shadcn primitive or platform compositionavailable
Inputs/RadioButtonListShared shadcn primitive or platform compositionavailable
Inputs/RangeSliderShared shadcn primitive or platform compositionavailable
Inputs/SecretInputPlatform composition using shared primitivesavailable
Inputs/SecretTextAreaPlatform composition using shared primitivesavailable
Inputs/SegmentPlatform composition using shared primitivesavailable
Inputs/SegmentAsyncPlatform composition using shared primitivesavailable
Inputs/SegmentInputPlatform composition using shared primitivesavailable
Inputs/SliderShared shadcn primitive or platform compositionavailable
Inputs/SwitchShared shadcn primitive or platform compositionavailable
Inputs/TagsInputPlatform composition using shared primitivesavailable
Inputs/TextAreaShared shadcn primitive or platform compositionavailable
Layout/BoxShared shadcn primitive or platform compositionavailable
Layout/CardShared shadcn primitive or platform compositionavailable
Layout/CollapsableSectionShared shadcn primitive or platform compositionavailable
Layout/CollapseShared shadcn primitive or platform compositionavailable
Layout/Deprecated/GroupsDeprecated duplicate excluded; use current kit APIsexcluded
Layout/Deprecated/ListDeprecated duplicate excluded; use current kit APIsexcluded
Layout/Deprecated/PanelContainerDeprecated duplicate excluded; use current kit APIsexcluded
Layout/DividerShared shadcn primitive or platform compositionavailable
Layout/GridShared shadcn primitive or platform compositionavailable
Layout/InteractiveTablePlatform composition using shared primitivesavailable
Layout/ScrollContainerShared shadcn primitive or platform compositionavailable
Layout/SpaceShared shadcn primitive or platform compositionavailable
Layout/StackShared shadcn primitive or platform compositionavailable
Navigation/Deprecated/PageToolbarDeprecated duplicate excluded; use current kit APIsexcluded
Navigation/PaginationShared shadcn primitive or platform compositionavailable
Navigation/TabsShared shadcn primitive or platform compositionavailable
Navigation/ToolbarButtonShared shadcn primitive or platform compositionavailable
Navigation/ToolbarButtonRowShared shadcn primitive or platform compositionavailable
Overlays/CarouselShared shadcn primitive or platform compositionavailable
Overlays/ConfirmModalShared shadcn primitive or platform compositionavailable
Overlays/ContextMenuShared shadcn primitive or platform compositionavailable
Overlays/Deprecated/InfoTooltipDeprecated duplicate excluded; use current kit APIsexcluded
Overlays/DrawerShared shadcn primitive or platform compositionavailable
Overlays/DropdownShared shadcn primitive or platform compositionavailable
Overlays/MenuShared shadcn primitive or platform compositionavailable
Overlays/ModalShared shadcn primitive or platform compositionavailable
Overlays/SidebarShared shadcn primitive or platform compositionavailable
Overlays/ToggletipShared shadcn primitive or platform compositionavailable
Overlays/TooltipShared shadcn primitive or platform compositionavailable
Pickers/ColorPickerGrafana adapter in platform tokensavailable
Pickers/ColorPickerInputGrafana adapter in platform tokensavailable
Pickers/RefreshPickerGrafana adapter in platform tokensavailable
Pickers/SeriesColorPickerGrafana adapter in platform tokensavailable
Pickers/StatsPickerGrafana adapter in platform tokensavailable
Pickers/UnitPickerGrafana adapter in platform tokensavailable
Pickers/ValuePickerCombobox / Segmentavailable
Plugins/BarGaugeGrafana adapter in platform tokensavailable
Plugins/BigValueGrafana adapter in platform tokensavailable
Plugins/DataSourceHttpSettingsGrafana datasource administration excluded; deployment configurationexcluded
Plugins/FormattedValueDisplayGrafana adapter in platform tokensavailable
Plugins/PanelChromeVisualizationPanelavailable
Plugins/RadialGaugeOwn SVG gauge; pinned Grafana version has no public RadialGauge exportavailable
Plugins/SeriesTableGrafana adapter in platform tokensavailable
Plugins/TablePlatform panel/table compositionavailable
Plugins/VizLayoutVisualizationPanel + shared layoutavailable
Plugins/VizLegendTimeSeriesChart keyboard legend and SeriesTableavailable
Utilities/ClickOutsideWrapperPlatform runtime/layout utilityavailable
Utilities/ErrorBoundaryPlatform runtime/layout utilityavailable
Utilities/RenderUserContentAsHTMLNo raw HTML surface; safe text/structured-data presentationexcluded
Utilities/useDelayedSwitchPlatform runtime/layout utilityavailable
Utilities/useSplitterResizablePanelGroup and ResizableHandleavailable