SDUI Schema Coverage Registry

March 19, 2026 · View on GitHub

Source of truth for which AgnosticUI components have schema coverage, renderer parity, and why any props or components are omitted.

Generated schema lives in v2/schema/src/ — run npm run codegen from v2/schema/ to regenerate. Relates to issue #390 and epic #389.


Status key

StatusMeaning
completeAll SDUI-viable props are in the schema; component is renderable
partialComponent is in the schema and renderable, but one or more declarative props were omitted — see notes
omittedEntire component is excluded from the schema — see reason column

Renderer parity columns: R = React, V = Vue, L = Lit. A tick means the component case is present in that framework's AgDynamicRenderer.


In-schema components (40 + 1 primitive)

ComponentStatusRVLNotes
AgAccordioncomplete
AgAlertcomplete
AgAspectRatiocomplete
AgAvatarcomplete
AgBadgecomplete
AgBadgeFxcomplete
AgBreadcrumbpartialitems prop skipped — complex nested array type that ts-morph cannot map to a simple scalar; use slot children instead
AgButtoncompletetoggle, pressed omitted — runtime toggle state, not declaratively settable
AgButtonFxcompletetoggle, pressed omitted — same as AgButton
AgCardcomplete
AgCheckboxcompleteindeterminate omitted — tri-state requires JS; theme omitted — internal CSS hook
AgDialogcomplete
AgDividercomplete
AgDrawercomplete
AgFieldsetcomplete
AgHeadercomplete
AgIconcomplete
AgIconButtoncompletepressed omitted — runtime toggle state
AgIconButtonFxcompletepressed omitted — same as AgIconButton
AgInputcomplete
AgIntlFormattercomplete
AgKbdcomplete
AgLinkcomplete
AgLoadercomplete
AgMarkcomplete
AgMessageBubblecomplete
AgPopovercomplete
AgProgresscomplete
AgRadiocomplete
AgRatingcompletevalidationMessages omitted — complex nested object; errorMessage covers SDUI needs
AgSelectcomplete
AgSelectionButtoncomplete
AgSelectionButtonGroupcompletevalidationMessages omitted — same as AgRating
AgSelectionCardcomplete
AgSelectionCardGroupcompletevalidationMessages omitted — same as AgRating
AgSpinnercomplete
AgTabscomplete
AgTagcomplete
AgTextcompleteRenderer-only primitive — no core component file; hand-maintained in rendererPrimitives
AgTogglecompletevalidationMessages omitted — same as AgRating
AgTooltipcomplete

Omitted — stateful components (deferred, see issue #375)

These components require controlled open/close, selection, or scroll state that cannot be expressed as a static JSON node. Deferred until the stateful SDUI design (#375) lands.

ComponentRVLReason
AgCollapsibleRequires open/close toggle state
AgComboboxComplex filtering + multi-select state
AgMenuOpen state + active-item tracking
AgPaginationCurrent-page state; offset/navigationLabels not JSON-serializable
AgScrollProgressTracks live scroll position — purely behavioral
AgScrollToButtonScroll-detection behavioral component
AgSidebarOpen + collapsed state management
AgSidebarNavNo Props interface; pure slot composition
AgSliderContinuous value state requires two-way binding; value type is `number
AgToastAuto-dismiss + open/close lifecycle
AgVisuallyHiddenNo Props interface; pure slot wrapper

Omitted — no Props interface detected

These components exist in v2/lib/src/components/ but the codegen found no exported *Props interface during ts-morph inspection. Each needs a Props interface defined in its core file before it can be added to the schema.

ComponentRVLNotes
AgCopyButtonNo CopyButtonProps interface
AgEmptyStateNo EmptyStateProps interface
AgFlexNo FlexProps interface; layout primitive
AgImageNo ImageProps interface
AgProgressRingNo ProgressRingProps interface
AgSkeletonLoaderNo SkeletonLoaderProps interface
AgTimelineNo TimelineProps interface

Coverage summary

CategoryCount
Complete40
Partial1 (AgBreadcrumb)
Omitted — stateful (deferred #375)11
Omitted — no Props interface7
Total components in library59