@abuzareal/contour-ui 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/PUBLIC-API.md CHANGED
@@ -25,143 +25,143 @@ These identify reproducible checks, not claims that every row has a dedicated be
25
25
 
26
26
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
27
27
  | -------------------------------------------------------------------------------------------------------------------- | ---------- | ------------ | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
28
- | [`Alert`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Alert.tsx#L38) | @abuzareal | stable (0.x) | Inline feedback or banner | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
29
- | [`Avatar`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Avatar.tsx#L21) | @abuzareal | stable (0.x) | Image or initials identity | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
30
- | [`Badge`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Badge.tsx#L16) | @abuzareal | stable (0.x) | Short status label | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
31
- | [`BrandMark`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/BrandMark.tsx#L14) | @abuzareal | legacy | Fixed inherited AA mark | Fixed inherited personal mark; supported for existing consumers, not a general logo system. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
32
- | [`Breadcrumbs`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Breadcrumbs.tsx#L11) | @abuzareal | stable (0.x) | Page hierarchy navigation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
33
- | [`Button`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Button.tsx#L23) | @abuzareal | stable (0.x) | Native action button | Forwarded native button ref on React 18/19; loading disables activation; native attributes preserved. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
34
- | [`Card`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Card.tsx#L16) | @abuzareal | stable (0.x) | Content and footer container | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
35
- | [`Checkbox`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Checkbox.tsx#L20) | @abuzareal | stable (0.x) | Native checkbox with label/error | Forwarded native input ref and caller ID; indeterminate handling and caller ARIA descriptions/validity remain preserved. | [Reference](https://contour.abuzr.in/docs/components/checkbox) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
36
- | [`CountUp`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/CountUp.tsx#L21) | @abuzareal | stable (0.x) | Animated numeric display | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
37
- | [`DataTable`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DataTable.tsx#L28) | @abuzareal | stable (0.x) | Scalar rows with local sorting | String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
38
- | [`DepthButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DepthButton.tsx#L11) | @abuzareal | stable (0.x) | Native action with CSS depth | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
39
- | [`Dialog`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Dialog.tsx#L41) | @abuzareal | stable (0.x) | Native modal or edge drawer | Native dialog ref and root/panel/body/footer/close-button props; app owns open/onClose; no initial-focus override. | [Reference](https://contour.abuzr.in/docs/components/dialog) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
40
- | [`Disclosure`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Disclosure.tsx#L15) | @abuzareal | stable (0.x) | Native details/summary disclosure | Native details; defaultOpen only, no controlled open/onOpenChange; className is required. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
41
- | [`Divider`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Divider.tsx#L7) | @abuzareal | stable (0.x) | Content separation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
42
- | [`DropdownMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DropdownMenu.tsx#L58) | @abuzareal | experimental | Action menu with keyboard selection | Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
43
- | [`EmptyState`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/EmptyState.tsx#L12) | @abuzareal | stable (0.x) | Empty-result content and action | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
44
- | [`ExternalLink`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ExternalLink.tsx#L12) | @abuzareal | stable (0.x) | Styled native external anchor | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
45
- | [`Field`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Field.tsx#L19) | @abuzareal | stable (0.x) | Label, hint and error frame | Caller wires the child ID/describedby; wrapper does not wire arbitrary children automatically. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
46
- | [`FlipCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/FlipCard.tsx#L19) | @abuzareal | stable (0.x) | Button-controlled two-face card | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
47
- | [`IconButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/IconButton.tsx#L16) | @abuzareal | stable (0.x) | Native button with required accessible label | Forwarded native button ref on React 18/19; caller supplies a meaningful accessible label. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
48
- | [`Kbd`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Kbd.tsx#L5) | @abuzareal | stable (0.x) | Keyboard shortcut label | Displays a shortcut, does not register one. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
49
- | [`Magnetic`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Magnetic.tsx#L15) | @abuzareal | stable (0.x) | Pointer-dependent decorative movement | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
50
- | [`Marquee`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Marquee.tsx#L13) | @abuzareal | stable (0.x) | Repeated moving content strip | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
51
- | [`Pagination`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Pagination.tsx#L31) | @abuzareal | stable (0.x) | Page-selection controls | Positive integer pages and in-range one-based page; application owns URL/fetch/slicing. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
52
- | [`Popover`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Popover.tsx#L51) | @abuzareal | experimental | Nonmodal panel with owned trigger | Root/button/panel refs, body/modal portal, collision placement, supported button renderer and focus policy; nonmodal, no focus trap. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
53
- | [`ProgressBar`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ProgressBar.tsx#L12) | @abuzareal | stable (0.x) | Determinate or indeterminate progress | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs/components/progress-bar) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
54
- | [`RadioGroup`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/RadioGroup.tsx#L49) | @abuzareal | stable (0.x) | Native radio choices | Caller name/form, native default/reset/required/disabled, option input refs; generated fallback name remains; string callback. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
55
- | [`Reveal`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Reveal.tsx#L14) | @abuzareal | stable (0.x) | Visibility-triggered content reveal | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
56
- | [`RevealHeading`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/RevealHeading.tsx#L16) | @abuzareal | legacy | Editorial heading-line composition | Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
57
- | [`ScrollProgress`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ScrollProgress.tsx#L8) | @abuzareal | stable (0.x) | Document scroll readout | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
58
- | [`SectionLabel`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SectionLabel.tsx#L12) | @abuzareal | legacy | Editorial section metadata | Depends on Section editorial metadata/aside contract; not a general label primitive. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
59
- | [`SegmentedControl`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SegmentedControl.tsx#L16) | @abuzareal | stable (0.x) | Controlled single-choice buttons | No native named field or disabled-option API; application owns value and submission. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
60
- | [`SelectField`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SelectField.tsx#L33) | @abuzareal | stable (0.x) | Labelled native select | Native forwarded select ref; native choices, not searchable Combobox. | [Reference](https://contour.abuzr.in/docs/components/select-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
61
- | [`Skeleton`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Skeleton.tsx#L11) | @abuzareal | stable (0.x) | Loading placeholder | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
62
- | [`Slider`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Slider.tsx#L42) | @abuzareal | stable (0.x) | Controlled/default native range input | Native range ref/name/form/default/reset; numeric callback; browser sanitization/readout; range has no required constraint. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
63
- | [`GitHubIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SocialIcons.tsx#L5) | @abuzareal | stable (0.x) | GitHub SVG mark | SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
64
- | [`LinkedInIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SocialIcons.tsx#L16) | @abuzareal | stable (0.x) | LinkedIn SVG mark | SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
65
- | [`Spinner`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Spinner.tsx#L13) | @abuzareal | stable (0.x) | Loading status indicator | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
66
- | [`Stat`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Stat.tsx#L11) | @abuzareal | stable (0.x) | Supplied value and label display | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
67
- | [`Stepper`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Stepper.tsx#L13) | @abuzareal | stable (0.x) | Step-progress display | Progress display, not a navigable wizard; application owns state and validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
68
- | [`Switch`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Switch.tsx#L40) | @abuzareal | stable (0.x) | Controlled/default on/off button | Button ref; checkbox-backed named/form/required submission, checked/default/reset and boolean callback; unchecked/disabled omit. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
69
- | [`Tabs`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tabs.tsx#L35) | @abuzareal | stable (0.x) | Controlled or default tab selection | Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
70
- | [`Tag`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tag.tsx#L14) | @abuzareal | stable (0.x) | Short label with optional removal | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
71
- | [`TextArea`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TextArea.tsx#L26) | @abuzareal | stable (0.x) | Native textarea, counter and resize | Native forwarded textarea ref; parent owns controlled reset; sizing is browser dependent. | [Reference](https://contour.abuzr.in/docs/components/text-area) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
72
- | [`TextField`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TextField.tsx#L28) | @abuzareal | stable (0.x) | Native input with label/counter | Native forwarded input ref; parent owns controlled values/reset; do not switch state ownership. | [Reference](https://contour.abuzr.in/docs/components/text-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
73
- | [`ThemeToggle`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ThemeToggle.tsx#L18) | @abuzareal | stable (0.x) | Scoped or document-theme control | Native button ref; ThemeScope uses caller state; outside it, root theme/storage behavior remains. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
74
- | [`TiltCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TiltCard.tsx#L15) | @abuzareal | stable (0.x) | Pointer-dependent CSS depth | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
75
- | [`Timeline`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Timeline.tsx#L8) | @abuzareal | stable (0.x) | Ordered entries supplied by caller | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
76
- | [`ToastProvider`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ToastProvider.tsx#L74) | @abuzareal | stable (0.x) | Toast context, queue and announcements | No application persistence; important failures need a durable visible record as well. | [Reference](https://contour.abuzr.in/docs/components/toast-provider) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
77
- | [`Tooltip`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tooltip.tsx#L24) | @abuzareal | experimental | Supplemental text hint | Hover/focus persistence and Escape suppression; supplemental noninteractive string only; collision-aware body/modal portal. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
78
- | [`useClipboardCopy`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useClipboardCopy.ts#L10) | @abuzareal | stable (0.x) | Clipboard operation and feedback state | Clipboard access can fail; obsolete text/request/unmount completions are discarded in 0.2.1; app presents truthful feedback. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
79
- | [`useDismiss`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useDismiss.ts#L14) | @abuzareal | experimental | Document Escape/outside-press subscription | Shared owner-document topmost dismissal; optional branches/layer element/outside policy; caller manages focus. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
80
- | [`useHeaderScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useHeaderScroll.ts#L9) | @abuzareal | legacy | Editorial header/section state | Assumes main section[id] and header-theme regions; application owns page structure. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
81
- | [`useIdleTrigger`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useIdleTrigger.ts#L9) | @abuzareal | stable (0.x) | Idle-time activation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
82
- | [`useInitialHashScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useInitialHashScroll.ts#L8) | @abuzareal | legacy | Initial document-hash scrolling | Initial hash only; application owns routing and unknown targets. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
83
- | [`useMobileMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useMobileMenu.ts#L9) | @abuzareal | experimental | Menu open/close and resize state | Caller provides semantics/focus; closes on Escape/outside press and desktop resize. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
84
- | [`useMotionPreference`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useMotionPreference.ts#L8) | @abuzareal | stable (0.x) | System reduced-motion subscription | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
85
- | [`usePrintPreparation`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/usePrintPreparation.ts#L6) | @abuzareal | legacy | Temporary print theme/disclosure changes | Mutates root theme/details during printing; application must verify print layout. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
86
- | [`useScrollSpy`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useScrollSpy.ts#L9) | @abuzareal | stable (0.x) | Active section observation | Stable section IDs and existing DOM anchors required; does not provide routing. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
87
- | [`useTheme`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useTheme.ts#L90) | @abuzareal | stable (0.x) | Scoped or document-theme preference | ThemeScope uses caller state only; outside it, root data-theme and aa-theme retain document ownership. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
88
- | [`useToast`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useToast.ts#L19) | @abuzareal | stable (0.x) | Toast commands from provider | Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
89
- | [`SceneBoundary`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/hero/SceneBoundary.tsx#L9) | @abuzareal | experimental | Hide failed scene subtree | Renders null after failure; no fallback prop/reset API; keep usable static content outside it. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
90
- | [`safeHref`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/safeHref.ts#L2) | @abuzareal | stable (0.x) | Reject executable URL schemes | Scheme validation only, not URL trust/authorization validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
91
- | [`cx`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/classNames.ts#L3) | @abuzareal | stable (0.x) | Join optional CSS class names | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
92
- | [`buttonClassName`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/classNames.ts#L26) | @abuzareal | stable (0.x) | Shared button-class recipe for buttons/anchors | Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
93
- | [`formatIndex`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/format.ts#L4) | @abuzareal | stable (0.x) | Two-digit index formatting | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
94
- | [`readStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/storage.ts#L14) | @abuzareal | legacy | Read local/session string safely | Returns raw string/null; caller parses and validates; no persistence guarantee. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
95
- | [`writeStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/storage.ts#L23) | @abuzareal | legacy | Attempt local/session string persistence | Returns success boolean; browser policy can block persistence. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
96
- | [`storageKeys`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/storage.ts#L3) | @abuzareal | legacy | Inherited shared storage key names | Legacy aa-* keys are public compatibility constraints; no silent rename. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
97
- | [`nextIndexForKey`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/keyboard.ts#L14) | @abuzareal | stable (0.x) | Keyboard navigation index calculation | Calculates index, does not move focus or perform selection. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
98
- | [`fieldDescribedBy`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/a11y.ts#L4) | @abuzareal | stable (0.x) | Field hint/error ID calculation | Error description takes precedence over hint; caller connects the target input. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
99
- | [`motionDisabledFor`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/motion.ts#L4) | @abuzareal | stable (0.x) | System and ancestor motion check | Browser/ancestor check; app still owns animation cancellation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
28
+ | [`Alert`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Alert.tsx#L38) | @abuzareal | stable (0.x) | Inline feedback or banner | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
29
+ | [`Avatar`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Avatar.tsx#L21) | @abuzareal | stable (0.x) | Image or initials identity | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
30
+ | [`Badge`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Badge.tsx#L16) | @abuzareal | stable (0.x) | Short status label | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
31
+ | [`BrandMark`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/BrandMark.tsx#L14) | @abuzareal | legacy | Fixed inherited AA mark | Fixed inherited personal mark; supported for existing consumers, not a general logo system. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
32
+ | [`Breadcrumbs`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Breadcrumbs.tsx#L11) | @abuzareal | stable (0.x) | Page hierarchy navigation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
33
+ | [`Button`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Button.tsx#L23) | @abuzareal | stable (0.x) | Native action button | Forwarded native button ref on React 18/19; loading disables activation; native attributes preserved. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
34
+ | [`Card`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Card.tsx#L16) | @abuzareal | stable (0.x) | Content and footer container | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
35
+ | [`Checkbox`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Checkbox.tsx#L20) | @abuzareal | stable (0.x) | Native checkbox with label/error | Forwarded native input ref and caller ID; indeterminate handling and caller ARIA descriptions/validity remain preserved. | [Reference](https://contour.abuzr.in/docs/components/checkbox) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
36
+ | [`CountUp`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/CountUp.tsx#L21) | @abuzareal | stable (0.x) | Animated numeric display | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
37
+ | [`DataTable`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DataTable.tsx#L28) | @abuzareal | stable (0.x) | Scalar rows with local sorting | String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
38
+ | [`DepthButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DepthButton.tsx#L11) | @abuzareal | stable (0.x) | Native action with CSS depth | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
39
+ | [`Dialog`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Dialog.tsx#L41) | @abuzareal | stable (0.x) | Native modal or edge drawer | Native dialog ref and root/panel/body/footer/close-button props; app owns open/onClose; no initial-focus override. | [Reference](https://contour.abuzr.in/docs/components/dialog) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
40
+ | [`Disclosure`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Disclosure.tsx#L15) | @abuzareal | stable (0.x) | Native details/summary disclosure | Native details; defaultOpen only, no controlled open/onOpenChange; className is required. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
41
+ | [`Divider`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Divider.tsx#L7) | @abuzareal | stable (0.x) | Content separation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
42
+ | [`DropdownMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DropdownMenu.tsx#L58) | @abuzareal | experimental | Action menu with keyboard selection | Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
43
+ | [`EmptyState`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/EmptyState.tsx#L12) | @abuzareal | stable (0.x) | Empty-result content and action | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
44
+ | [`ExternalLink`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ExternalLink.tsx#L12) | @abuzareal | stable (0.x) | Styled native external anchor | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
45
+ | [`Field`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Field.tsx#L19) | @abuzareal | stable (0.x) | Label, hint and error frame | Caller wires the child ID/describedby; wrapper does not wire arbitrary children automatically. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
46
+ | [`FlipCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/FlipCard.tsx#L19) | @abuzareal | stable (0.x) | Button-controlled two-face card | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
47
+ | [`IconButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/IconButton.tsx#L16) | @abuzareal | stable (0.x) | Native button with required accessible label | Forwarded native button ref on React 18/19; caller supplies a meaningful accessible label. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
48
+ | [`Kbd`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Kbd.tsx#L5) | @abuzareal | stable (0.x) | Keyboard shortcut label | Displays a shortcut, does not register one. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
49
+ | [`Magnetic`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Magnetic.tsx#L15) | @abuzareal | stable (0.x) | Pointer-dependent decorative movement | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
50
+ | [`Marquee`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Marquee.tsx#L13) | @abuzareal | stable (0.x) | Repeated moving content strip | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
51
+ | [`Pagination`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Pagination.tsx#L31) | @abuzareal | stable (0.x) | Page-selection controls | Positive integer pages and in-range one-based page; application owns URL/fetch/slicing. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
52
+ | [`Popover`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Popover.tsx#L51) | @abuzareal | experimental | Nonmodal panel with owned trigger | Root/button/panel refs, body/modal portal, collision placement, supported button renderer and focus policy; nonmodal, no focus trap. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
53
+ | [`ProgressBar`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ProgressBar.tsx#L12) | @abuzareal | stable (0.x) | Determinate or indeterminate progress | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs/components/progress-bar) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
54
+ | [`RadioGroup`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/RadioGroup.tsx#L49) | @abuzareal | stable (0.x) | Native radio choices | Caller name/form, native default/reset/required/disabled, option input refs; generated fallback name remains; string callback. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
55
+ | [`Reveal`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Reveal.tsx#L14) | @abuzareal | stable (0.x) | Visibility-triggered content reveal | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
56
+ | [`RevealHeading`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/RevealHeading.tsx#L16) | @abuzareal | legacy | Editorial heading-line composition | Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
57
+ | [`ScrollProgress`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ScrollProgress.tsx#L8) | @abuzareal | stable (0.x) | Document scroll readout | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
58
+ | [`SectionLabel`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SectionLabel.tsx#L12) | @abuzareal | legacy | Editorial section metadata | Depends on Section editorial metadata/aside contract; not a general label primitive. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
59
+ | [`SegmentedControl`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SegmentedControl.tsx#L16) | @abuzareal | stable (0.x) | Controlled single-choice buttons | No native named field or disabled-option API; application owns value and submission. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
60
+ | [`SelectField`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SelectField.tsx#L33) | @abuzareal | stable (0.x) | Labelled native select | Native forwarded select ref; native choices, not searchable Combobox. | [Reference](https://contour.abuzr.in/docs/components/select-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
61
+ | [`Skeleton`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Skeleton.tsx#L11) | @abuzareal | stable (0.x) | Loading placeholder | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
62
+ | [`Slider`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Slider.tsx#L42) | @abuzareal | stable (0.x) | Controlled/default native range input | Native range ref/name/form/default/reset; numeric callback; browser sanitization/readout; range has no required constraint. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
63
+ | [`GitHubIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SocialIcons.tsx#L5) | @abuzareal | stable (0.x) | GitHub SVG mark | SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
64
+ | [`LinkedInIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SocialIcons.tsx#L16) | @abuzareal | stable (0.x) | LinkedIn SVG mark | SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
65
+ | [`Spinner`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Spinner.tsx#L13) | @abuzareal | stable (0.x) | Loading status indicator | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
66
+ | [`Stat`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Stat.tsx#L11) | @abuzareal | stable (0.x) | Supplied value and label display | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
67
+ | [`Stepper`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Stepper.tsx#L13) | @abuzareal | stable (0.x) | Step-progress display | Progress display, not a navigable wizard; application owns state and validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
68
+ | [`Switch`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Switch.tsx#L40) | @abuzareal | stable (0.x) | Controlled/default on/off button | Button ref; checkbox-backed named/form/required submission, checked/default/reset and boolean callback; unchecked/disabled omit. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
69
+ | [`Tabs`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tabs.tsx#L35) | @abuzareal | stable (0.x) | Controlled or default tab selection | Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
70
+ | [`Tag`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tag.tsx#L14) | @abuzareal | stable (0.x) | Short label with optional removal | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
71
+ | [`TextArea`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TextArea.tsx#L26) | @abuzareal | stable (0.x) | Native textarea, counter and resize | Native forwarded textarea ref; parent owns controlled reset; sizing is browser dependent. | [Reference](https://contour.abuzr.in/docs/components/text-area) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
72
+ | [`TextField`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TextField.tsx#L28) | @abuzareal | stable (0.x) | Native input with label/counter | Native forwarded input ref; parent owns controlled values/reset; do not switch state ownership. | [Reference](https://contour.abuzr.in/docs/components/text-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
73
+ | [`ThemeToggle`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ThemeToggle.tsx#L18) | @abuzareal | stable (0.x) | Scoped or document-theme control | Native button ref; ThemeScope uses caller state; outside it, root theme/storage behavior remains. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
74
+ | [`TiltCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TiltCard.tsx#L15) | @abuzareal | stable (0.x) | Pointer-dependent CSS depth | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
75
+ | [`Timeline`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Timeline.tsx#L8) | @abuzareal | stable (0.x) | Ordered entries supplied by caller | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
76
+ | [`ToastProvider`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ToastProvider.tsx#L74) | @abuzareal | stable (0.x) | Toast context, queue and announcements | No application persistence; important failures need a durable visible record as well. | [Reference](https://contour.abuzr.in/docs/components/toast-provider) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
77
+ | [`Tooltip`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tooltip.tsx#L24) | @abuzareal | experimental | Supplemental text hint | Hover/focus persistence and Escape suppression; supplemental noninteractive string only; collision-aware body/modal portal. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
78
+ | [`useClipboardCopy`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useClipboardCopy.ts#L10) | @abuzareal | stable (0.x) | Clipboard operation and feedback state | Clipboard access can fail; obsolete text/request/unmount completions are discarded in 0.2.1; app presents truthful feedback. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
79
+ | [`useDismiss`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useDismiss.ts#L14) | @abuzareal | experimental | Document Escape/outside-press subscription | Shared owner-document topmost dismissal; optional branches/layer element/outside policy; caller manages focus. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
80
+ | [`useHeaderScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useHeaderScroll.ts#L9) | @abuzareal | legacy | Editorial header/section state | Assumes main section[id] and header-theme regions; application owns page structure. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
81
+ | [`useIdleTrigger`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useIdleTrigger.ts#L9) | @abuzareal | stable (0.x) | Idle-time activation | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
82
+ | [`useInitialHashScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useInitialHashScroll.ts#L8) | @abuzareal | legacy | Initial document-hash scrolling | Initial hash only; application owns routing and unknown targets. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
83
+ | [`useMobileMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useMobileMenu.ts#L9) | @abuzareal | experimental | Menu open/close and resize state | Caller provides semantics/focus; closes on Escape/outside press and desktop resize. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
84
+ | [`useMotionPreference`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useMotionPreference.ts#L8) | @abuzareal | stable (0.x) | System reduced-motion subscription | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
85
+ | [`usePrintPreparation`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/usePrintPreparation.ts#L6) | @abuzareal | legacy | Temporary print theme/disclosure changes | Mutates root theme/details during printing; application must verify print layout. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
86
+ | [`useScrollSpy`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useScrollSpy.ts#L9) | @abuzareal | stable (0.x) | Active section observation | Stable section IDs and existing DOM anchors required; does not provide routing. | [Reference](https://contour.abuzr.in/docs#browser-hooks) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
87
+ | [`useTheme`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useTheme.ts#L90) | @abuzareal | stable (0.x) | Scoped or document-theme preference | ThemeScope uses caller state only; outside it, root data-theme and aa-theme retain document ownership. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
88
+ | [`useToast`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useToast.ts#L19) | @abuzareal | stable (0.x) | Toast commands from provider | Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
89
+ | [`SceneBoundary`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/hero/SceneBoundary.tsx#L9) | @abuzareal | experimental | Hide failed scene subtree | Renders null after failure; no fallback prop/reset API; keep usable static content outside it. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
90
+ | [`safeHref`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/safeHref.ts#L2) | @abuzareal | stable (0.x) | Reject executable URL schemes | Scheme validation only, not URL trust/authorization validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
91
+ | [`cx`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/classNames.ts#L3) | @abuzareal | stable (0.x) | Join optional CSS class names | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
92
+ | [`buttonClassName`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/classNames.ts#L26) | @abuzareal | stable (0.x) | Shared button-class recipe for buttons/anchors | Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
93
+ | [`formatIndex`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/format.ts#L4) | @abuzareal | stable (0.x) | Two-digit index formatting | Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
94
+ | [`readStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/storage.ts#L14) | @abuzareal | legacy | Read local/session string safely | Returns raw string/null; caller parses and validates; no persistence guarantee. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
95
+ | [`writeStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/storage.ts#L23) | @abuzareal | legacy | Attempt local/session string persistence | Returns success boolean; browser policy can block persistence. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
96
+ | [`storageKeys`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/storage.ts#L3) | @abuzareal | legacy | Inherited shared storage key names | Legacy aa-* keys are public compatibility constraints; no silent rename. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
97
+ | [`nextIndexForKey`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/keyboard.ts#L14) | @abuzareal | stable (0.x) | Keyboard navigation index calculation | Calculates index, does not move focus or perform selection. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
98
+ | [`fieldDescribedBy`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/a11y.ts#L4) | @abuzareal | stable (0.x) | Field hint/error ID calculation | Error description takes precedence over hint; caller connects the target input. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
99
+ | [`motionDisabledFor`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/motion.ts#L4) | @abuzareal | stable (0.x) | System and ancestor motion check | Browser/ancestor check; app still owns animation cancellation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
100
100
 
101
101
  ### Type-only exports
102
102
 
103
103
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
104
104
  | ------------------------------------------------------------------------------------------------------------------------ | ---------- | ------------ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
105
- | [`Section`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/types.ts#L1) | @abuzareal | stable (0.x) | Type contract for Section | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
106
- | [`AlertTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Alert.tsx#L15) | @abuzareal | stable (0.x) | Type contract for Alert | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
107
- | [`AlertProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Alert.tsx#L27) | @abuzareal | stable (0.x) | Type contract for Alert | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
108
- | [`AvatarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Avatar.tsx#L4) | @abuzareal | stable (0.x) | Type contract for Avatar | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
109
- | [`BadgeTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Badge.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Badge | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
110
- | [`BadgeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Badge.tsx#L8) | @abuzareal | stable (0.x) | Type contract for Badge | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
111
- | [`BrandMarkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/BrandMark.tsx#L8) | @abuzareal | legacy | Type contract for BrandMark | Type-only; no runtime value. Fixed inherited personal mark; supported for existing consumers, not a general logo system. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
112
- | [`BreadcrumbsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Breadcrumbs.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Breadcrumbs | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
113
- | [`ButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Button.tsx#L13) | @abuzareal | stable (0.x) | Type contract for Button | Type-only; no runtime value. Forwarded native button ref on React 18/19; loading disables activation; native attributes preserved. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
114
- | [`CardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Card.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Card | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
115
- | [`CheckboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Checkbox.tsx#L10) | @abuzareal | stable (0.x) | Type contract for Checkbox | Type-only; no runtime value. Forwarded native input ref and caller ID; indeterminate handling and caller ARIA descriptions/validity remain preserved. | [Reference](https://contour.abuzr.in/docs/components/checkbox) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
116
- | [`CountUpProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/CountUp.tsx#L9) | @abuzareal | stable (0.x) | Type contract for CountUp | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
117
- | [`TableColumn`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DataTable.tsx#L10) | @abuzareal | stable (0.x) | Type contract for DataTable | Type-only; no runtime value. String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
118
- | [`DataTableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DataTable.tsx#L19) | @abuzareal | stable (0.x) | Type contract for DataTable | Type-only; no runtime value. String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
119
- | [`DepthButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DepthButton.tsx#L7) | @abuzareal | stable (0.x) | Type contract for DepthButton | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
120
- | [`DialogProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Dialog.tsx#L22) | @abuzareal | stable (0.x) | Type contract for Dialog | Type-only; no runtime value. Native dialog ref and root/panel/body/footer/close-button props; app owns open/onClose; no initial-focus override. | [Reference](https://contour.abuzr.in/docs/components/dialog) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
121
- | [`DisclosureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Disclosure.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Disclosure | Type-only; no runtime value. Native details; defaultOpen only, no controlled open/onOpenChange; className is required. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
122
- | [`DividerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Divider.tsx#L3) | @abuzareal | stable (0.x) | Type contract for Divider | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
123
- | [`MenuItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DropdownMenu.tsx#L32) | @abuzareal | experimental | Type contract for DropdownMenu | Type-only; no runtime value. Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
124
- | [`DropdownMenuProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/DropdownMenu.tsx#L42) | @abuzareal | experimental | Type contract for DropdownMenu | Type-only; no runtime value. Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
125
- | [`EmptyStateProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/EmptyState.tsx#L5) | @abuzareal | stable (0.x) | Type contract for EmptyState | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
126
- | [`ExternalLinkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ExternalLink.tsx#L7) | @abuzareal | stable (0.x) | Type contract for ExternalLink | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
127
- | [`FieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Field.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Field | Type-only; no runtime value. Caller wires the child ID/describedby; wrapper does not wire arbitrary children automatically. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
128
- | [`FlipCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/FlipCard.tsx#L8) | @abuzareal | stable (0.x) | Type contract for FlipCard | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
129
- | [`IconButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/IconButton.tsx#L7) | @abuzareal | stable (0.x) | Type contract for IconButton | Type-only; no runtime value. Forwarded native button ref on React 18/19; caller supplies a meaningful accessible label. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
130
- | [`MagneticProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Magnetic.tsx#L9) | @abuzareal | stable (0.x) | Type contract for Magnetic | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
131
- | [`MarqueeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Marquee.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Marquee | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
132
- | [`PaginationProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Pagination.tsx#L9) | @abuzareal | stable (0.x) | Type contract for Pagination | Type-only; no runtime value. Positive integer pages and in-range one-based page; application owns URL/fetch/slicing. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
133
- | [`PopoverProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Popover.tsx#L30) | @abuzareal | experimental | Type contract for Popover | Type-only; no runtime value. Root/button/panel refs, body/modal portal, collision placement, supported button renderer and focus policy; nonmodal, no focus trap. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
134
- | [`ProgressBarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ProgressBar.tsx#L5) | @abuzareal | stable (0.x) | Type contract for ProgressBar | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs/components/progress-bar) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
135
- | [`RadioGroupProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/RadioGroup.tsx#L15) | @abuzareal | stable (0.x) | Type contract for RadioGroup | Type-only; no runtime value. Caller name/form, native default/reset/required/disabled, option input refs; generated fallback name remains; string callback. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
136
- | [`RevealProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Reveal.tsx#L7) | @abuzareal | stable (0.x) | Type contract for Reveal | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
137
- | [`HeadingLine`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/RevealHeading.tsx#L5) | @abuzareal | legacy | Type contract for RevealHeading | Type-only; no runtime value. Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
138
- | [`RevealHeadingProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/RevealHeading.tsx#L11) | @abuzareal | legacy | Type contract for RevealHeading | Type-only; no runtime value. Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
139
- | [`SectionLabelProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SectionLabel.tsx#L6) | @abuzareal | legacy | Type contract for SectionLabel | Type-only; no runtime value. Depends on Section editorial metadata/aside contract; not a general label primitive. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
140
- | [`SegmentedControlProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SegmentedControl.tsx#L9) | @abuzareal | stable (0.x) | Type contract for SegmentedControl | Type-only; no runtime value. No native named field or disabled-option API; application owns value and submission. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
141
- | [`SelectFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SelectField.tsx#L13) | @abuzareal | stable (0.x) | Type contract for SelectField | Type-only; no runtime value. Native forwarded select ref; native choices, not searchable Combobox. | [Reference](https://contour.abuzr.in/docs/components/select-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
142
- | [`SkeletonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Skeleton.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Skeleton | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
143
- | [`SliderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Slider.tsx#L16) | @abuzareal | stable (0.x) | Type contract for Slider | Type-only; no runtime value. Native range ref/name/form/default/reset; numeric callback; browser sanitization/readout; range has no required constraint. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
144
- | [`SocialIconProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/SocialIcons.tsx#L3) | @abuzareal | stable (0.x) | Type contract for LinkedInIcon | Type-only; no runtime value. SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
145
- | [`SpinnerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Spinner.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Spinner | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
146
- | [`StatProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Stat.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Stat | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
147
- | [`StepperProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Stepper.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Stepper | Type-only; no runtime value. Progress display, not a navigable wizard; application owns state and validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
148
- | [`SwitchProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Switch.tsx#L17) | @abuzareal | stable (0.x) | Type contract for Switch | Type-only; no runtime value. Button ref; checkbox-backed named/form/required submission, checked/default/reset and boolean callback; unchecked/disabled omit. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
149
- | [`TabItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tabs.tsx#L18) | @abuzareal | stable (0.x) | Type contract for Tabs | Type-only; no runtime value. Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
150
- | [`TabsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tabs.tsx#L26) | @abuzareal | stable (0.x) | Type contract for Tabs | Type-only; no runtime value. Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
151
- | [`TagProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tag.tsx#L8) | @abuzareal | stable (0.x) | Type contract for Tag | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
152
- | [`TextAreaProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TextArea.tsx#L18) | @abuzareal | stable (0.x) | Type contract for TextArea | Type-only; no runtime value. Native forwarded textarea ref; parent owns controlled reset; sizing is browser dependent. | [Reference](https://contour.abuzr.in/docs/components/text-area) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
153
- | [`TextFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TextField.tsx#L18) | @abuzareal | stable (0.x) | Type contract for TextField | Type-only; no runtime value. Native forwarded input ref; parent owns controlled values/reset; do not switch state ownership. | [Reference](https://contour.abuzr.in/docs/components/text-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
154
- | [`ThemeToggleProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ThemeToggle.tsx#L10) | @abuzareal | stable (0.x) | Type contract for ThemeToggle | Type-only; no runtime value. Native button ref; ThemeScope uses caller state; outside it, root theme/storage behavior remains. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
155
- | [`TiltCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/TiltCard.tsx#L9) | @abuzareal | stable (0.x) | Type contract for TiltCard | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
156
- | [`TimelineProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Timeline.tsx#L4) | @abuzareal | stable (0.x) | Type contract for Timeline | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
157
- | [`TooltipProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Tooltip.tsx#L18) | @abuzareal | experimental | Type contract for Tooltip | Type-only; no runtime value. Hover/focus persistence and Escape suppression; supplemental noninteractive string only; collision-aware body/modal portal. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
158
- | [`CopyStatus`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useClipboardCopy.ts#L6) | @abuzareal | stable (0.x) | Type contract for useClipboardCopy | Type-only; no runtime value. Clipboard access can fail; obsolete text/request/unmount completions are discarded in 0.2.1; app presents truthful feedback. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
159
- | [`Theme`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useTheme.ts#L15) | @abuzareal | stable (0.x) | Type contract for useTheme | Type-only; no runtime value. ThemeScope uses caller state only; outside it, root data-theme and aa-theme retain document ownership. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
160
- | [`ToastInput`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useToast.ts#L7) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
161
- | [`ToastContextValue`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useToast.ts#L13) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
162
- | [`ToastContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useToast.ts#L17) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
163
- | [`ButtonVariant`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/classNames.ts#L21) | @abuzareal | stable (0.x) | Type contract for buttonClassName | Type-only; no runtime value. Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
164
- | [`ButtonSize`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/classNames.ts#L23) | @abuzareal | stable (0.x) | Type contract for buttonClassName | Type-only; no runtime value. Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
105
+ | [`Section`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/types.ts#L1) | @abuzareal | stable (0.x) | Type contract for Section | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
106
+ | [`AlertTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Alert.tsx#L15) | @abuzareal | stable (0.x) | Type contract for Alert | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
107
+ | [`AlertProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Alert.tsx#L27) | @abuzareal | stable (0.x) | Type contract for Alert | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
108
+ | [`AvatarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Avatar.tsx#L4) | @abuzareal | stable (0.x) | Type contract for Avatar | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
109
+ | [`BadgeTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Badge.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Badge | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
110
+ | [`BadgeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Badge.tsx#L8) | @abuzareal | stable (0.x) | Type contract for Badge | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
111
+ | [`BrandMarkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/BrandMark.tsx#L8) | @abuzareal | legacy | Type contract for BrandMark | Type-only; no runtime value. Fixed inherited personal mark; supported for existing consumers, not a general logo system. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
112
+ | [`BreadcrumbsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Breadcrumbs.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Breadcrumbs | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
113
+ | [`ButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Button.tsx#L13) | @abuzareal | stable (0.x) | Type contract for Button | Type-only; no runtime value. Forwarded native button ref on React 18/19; loading disables activation; native attributes preserved. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
114
+ | [`CardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Card.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Card | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
115
+ | [`CheckboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Checkbox.tsx#L10) | @abuzareal | stable (0.x) | Type contract for Checkbox | Type-only; no runtime value. Forwarded native input ref and caller ID; indeterminate handling and caller ARIA descriptions/validity remain preserved. | [Reference](https://contour.abuzr.in/docs/components/checkbox) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
116
+ | [`CountUpProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/CountUp.tsx#L9) | @abuzareal | stable (0.x) | Type contract for CountUp | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
117
+ | [`TableColumn`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DataTable.tsx#L10) | @abuzareal | stable (0.x) | Type contract for DataTable | Type-only; no runtime value. String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
118
+ | [`DataTableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DataTable.tsx#L19) | @abuzareal | stable (0.x) | Type contract for DataTable | Type-only; no runtime value. String/number row values and local sort only; no remote sort, selection, loading controller or virtualization. | [Reference](https://contour.abuzr.in/docs#data-table) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
119
+ | [`DepthButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DepthButton.tsx#L7) | @abuzareal | stable (0.x) | Type contract for DepthButton | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
120
+ | [`DialogProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Dialog.tsx#L22) | @abuzareal | stable (0.x) | Type contract for Dialog | Type-only; no runtime value. Native dialog ref and root/panel/body/footer/close-button props; app owns open/onClose; no initial-focus override. | [Reference](https://contour.abuzr.in/docs/components/dialog) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
121
+ | [`DisclosureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Disclosure.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Disclosure | Type-only; no runtime value. Native details; defaultOpen only, no controlled open/onOpenChange; className is required. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
122
+ | [`DividerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Divider.tsx#L3) | @abuzareal | stable (0.x) | Type contract for Divider | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
123
+ | [`MenuItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DropdownMenu.tsx#L32) | @abuzareal | experimental | Type contract for DropdownMenu | Type-only; no runtime value. Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
124
+ | [`DropdownMenuProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/DropdownMenu.tsx#L42) | @abuzareal | experimental | Type contract for DropdownMenu | Type-only; no runtime value. Collision-aware body/modal portal, button renderer and shared topmost dismissal; no submenu model. | [Reference](https://contour.abuzr.in/docs/components/dropdown-menu) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
125
+ | [`EmptyStateProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/EmptyState.tsx#L5) | @abuzareal | stable (0.x) | Type contract for EmptyState | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
126
+ | [`ExternalLinkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ExternalLink.tsx#L7) | @abuzareal | stable (0.x) | Type contract for ExternalLink | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
127
+ | [`FieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Field.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Field | Type-only; no runtime value. Caller wires the child ID/describedby; wrapper does not wire arbitrary children automatically. | [Reference](https://contour.abuzr.in/docs#field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
128
+ | [`FlipCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/FlipCard.tsx#L8) | @abuzareal | stable (0.x) | Type contract for FlipCard | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
129
+ | [`IconButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/IconButton.tsx#L7) | @abuzareal | stable (0.x) | Type contract for IconButton | Type-only; no runtime value. Forwarded native button ref on React 18/19; caller supplies a meaningful accessible label. | [Reference](https://contour.abuzr.in/docs#buttons) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
130
+ | [`MagneticProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Magnetic.tsx#L9) | @abuzareal | stable (0.x) | Type contract for Magnetic | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
131
+ | [`MarqueeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Marquee.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Marquee | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
132
+ | [`PaginationProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Pagination.tsx#L9) | @abuzareal | stable (0.x) | Type contract for Pagination | Type-only; no runtime value. Positive integer pages and in-range one-based page; application owns URL/fetch/slicing. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
133
+ | [`PopoverProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Popover.tsx#L30) | @abuzareal | experimental | Type contract for Popover | Type-only; no runtime value. Root/button/panel refs, body/modal portal, collision placement, supported button renderer and focus policy; nonmodal, no focus trap. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
134
+ | [`ProgressBarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ProgressBar.tsx#L5) | @abuzareal | stable (0.x) | Type contract for ProgressBar | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs/components/progress-bar) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
135
+ | [`RadioGroupProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/RadioGroup.tsx#L15) | @abuzareal | stable (0.x) | Type contract for RadioGroup | Type-only; no runtime value. Caller name/form, native default/reset/required/disabled, option input refs; generated fallback name remains; string callback. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
136
+ | [`RevealProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Reveal.tsx#L7) | @abuzareal | stable (0.x) | Type contract for Reveal | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
137
+ | [`HeadingLine`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/RevealHeading.tsx#L5) | @abuzareal | legacy | Type contract for RevealHeading | Type-only; no runtime value. Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
138
+ | [`RevealHeadingProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/RevealHeading.tsx#L11) | @abuzareal | legacy | Type contract for RevealHeading | Type-only; no runtime value. Editorial h2 composition; application must preserve heading order. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
139
+ | [`SectionLabelProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SectionLabel.tsx#L6) | @abuzareal | legacy | Type contract for SectionLabel | Type-only; no runtime value. Depends on Section editorial metadata/aside contract; not a general label primitive. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
140
+ | [`SegmentedControlProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SegmentedControl.tsx#L9) | @abuzareal | stable (0.x) | Type contract for SegmentedControl | Type-only; no runtime value. No native named field or disabled-option API; application owns value and submission. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
141
+ | [`SelectFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SelectField.tsx#L13) | @abuzareal | stable (0.x) | Type contract for SelectField | Type-only; no runtime value. Native forwarded select ref; native choices, not searchable Combobox. | [Reference](https://contour.abuzr.in/docs/components/select-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
142
+ | [`SkeletonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Skeleton.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Skeleton | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
143
+ | [`SliderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Slider.tsx#L16) | @abuzareal | stable (0.x) | Type contract for Slider | Type-only; no runtime value. Native range ref/name/form/default/reset; numeric callback; browser sanitization/readout; range has no required constraint. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
144
+ | [`SocialIconProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/SocialIcons.tsx#L3) | @abuzareal | stable (0.x) | Type contract for LinkedInIcon | Type-only; no runtime value. SVG only; caller owns link destination and accessible name. | [Reference](https://contour.abuzr.in/docs#identity) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
145
+ | [`SpinnerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Spinner.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Spinner | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#feedback) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
146
+ | [`StatProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Stat.tsx#L5) | @abuzareal | stable (0.x) | Type contract for Stat | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
147
+ | [`StepperProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Stepper.tsx#L6) | @abuzareal | stable (0.x) | Type contract for Stepper | Type-only; no runtime value. Progress display, not a navigable wizard; application owns state and validation. | [Reference](https://contour.abuzr.in/docs#navigation) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
148
+ | [`SwitchProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Switch.tsx#L17) | @abuzareal | stable (0.x) | Type contract for Switch | Type-only; no runtime value. Button ref; checkbox-backed named/form/required submission, checked/default/reset and boolean callback; unchecked/disabled omit. | [Reference](https://contour.abuzr.in/docs#choices) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
149
+ | [`TabItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tabs.tsx#L18) | @abuzareal | stable (0.x) | Type contract for Tabs | Type-only; no runtime value. Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
150
+ | [`TabsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tabs.tsx#L26) | @abuzareal | stable (0.x) | Type contract for Tabs | Type-only; no runtime value. Root/list/tab/panel props and refs; controlled/default selected ID; no disabled-tab/orientation/component-replacement API. | [Reference](https://contour.abuzr.in/docs/components/tabs) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
151
+ | [`TagProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tag.tsx#L8) | @abuzareal | stable (0.x) | Type contract for Tag | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#metadata) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
152
+ | [`TextAreaProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TextArea.tsx#L18) | @abuzareal | stable (0.x) | Type contract for TextArea | Type-only; no runtime value. Native forwarded textarea ref; parent owns controlled reset; sizing is browser dependent. | [Reference](https://contour.abuzr.in/docs/components/text-area) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
153
+ | [`TextFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TextField.tsx#L18) | @abuzareal | stable (0.x) | Type contract for TextField | Type-only; no runtime value. Native forwarded input ref; parent owns controlled values/reset; do not switch state ownership. | [Reference](https://contour.abuzr.in/docs/components/text-field) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
154
+ | [`ThemeToggleProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ThemeToggle.tsx#L10) | @abuzareal | stable (0.x) | Type contract for ThemeToggle | Type-only; no runtime value. Native button ref; ThemeScope uses caller state; outside it, root theme/storage behavior remains. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
155
+ | [`TiltCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/TiltCard.tsx#L9) | @abuzareal | stable (0.x) | Type contract for TiltCard | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#motion) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
156
+ | [`TimelineProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Timeline.tsx#L4) | @abuzareal | stable (0.x) | Type contract for Timeline | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#content) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
157
+ | [`TooltipProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Tooltip.tsx#L18) | @abuzareal | experimental | Type contract for Tooltip | Type-only; no runtime value. Hover/focus persistence and Escape suppression; supplemental noninteractive string only; collision-aware body/modal portal. | [Reference](https://contour.abuzr.in/docs#floating) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
158
+ | [`CopyStatus`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useClipboardCopy.ts#L6) | @abuzareal | stable (0.x) | Type contract for useClipboardCopy | Type-only; no runtime value. Clipboard access can fail; obsolete text/request/unmount completions are discarded in 0.2.1; app presents truthful feedback. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
159
+ | [`Theme`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useTheme.ts#L15) | @abuzareal | stable (0.x) | Type contract for useTheme | Type-only; no runtime value. ThemeScope uses caller state only; outside it, root data-theme and aa-theme retain document ownership. | [Reference](https://contour.abuzr.in/docs#theme-copy) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
160
+ | [`ToastInput`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useToast.ts#L7) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
161
+ | [`ToastContextValue`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useToast.ts#L13) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
162
+ | [`ToastContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useToast.ts#L17) | @abuzareal | stable (0.x) | Type contract for useToast | Type-only; no runtime value. Must be called under ToastProvider; ephemeral feedback is not an operation result. | [Reference](https://contour.abuzr.in/docs#toasts) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
163
+ | [`ButtonVariant`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/classNames.ts#L21) | @abuzareal | stable (0.x) | Type contract for buttonClassName | Type-only; no runtime value. Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
164
+ | [`ButtonSize`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/classNames.ts#L23) | @abuzareal | stable (0.x) | Type contract for buttonClassName | Type-only; no runtime value. Returns prefixed and compatibility classes; styled anchors retain native link responsibilities. | [Reference](https://contour.abuzr.in/docs#utilities) | D: emitted declaration; C: core package compile/import; behavior coverage is sampled |
165
165
 
166
166
  ## Optional: @abuzareal/contour-ui/three
167
167
 
@@ -171,29 +171,29 @@ These identify reproducible checks, not claims that every row has a dedicated be
171
171
 
172
172
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
173
173
  | ------------------------------------------------------------------------------------------------------------- | ---------- | ------------ | ----------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
174
- | [`Sculpture`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/hero/Sculpture.tsx#L75) | @abuzareal | experimental | Experimental link sculpture scene | WebGL, sized container, lazy/static fallback and motionEnabled required; setup captured on mount. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
175
- | [`ObjectStudy`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/three/ObjectStudy.tsx#L36) | @abuzareal | experimental | Experimental material/geometry scene | WebGL, sized container, study/label/motionEnabled required; experimental scene contract. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
176
- | [`useThreeStage`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useThreeStage.ts#L41) | @abuzareal | experimental | Experimental renderer and scene lifecycle | Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
177
- | [`createLinkGeometry`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeMaterials.ts#L58) | @abuzareal | experimental | Create owned link geometry | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
178
- | [`createChrome`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeMaterials.ts#L4) | @abuzareal | experimental | Create owned chrome material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
179
- | [`createLime`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeMaterials.ts#L12) | @abuzareal | experimental | Create owned lime material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
180
- | [`createInk`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeMaterials.ts#L20) | @abuzareal | experimental | Create owned ink material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
181
- | [`createGlass`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeMaterials.ts#L29) | @abuzareal | experimental | Create owned glass material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
182
- | [`createMaterialSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeStudies.ts#L18) | @abuzareal | experimental | Create owned material-study objects | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
183
- | [`createGeometrySet`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeStudies.ts#L31) | @abuzareal | experimental | Create owned geometry-study objects | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
184
- | [`objectStudies`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeStudies.ts#L52) | @abuzareal | experimental | Named scene factories | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
174
+ | [`Sculpture`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/hero/Sculpture.tsx#L75) | @abuzareal | experimental | Experimental link sculpture scene | WebGL, sized container, lazy/static fallback and motionEnabled required; setup captured on mount. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
175
+ | [`ObjectStudy`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/three/ObjectStudy.tsx#L36) | @abuzareal | experimental | Experimental material/geometry scene | WebGL, sized container, study/label/motionEnabled required; experimental scene contract. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
176
+ | [`useThreeStage`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useThreeStage.ts#L41) | @abuzareal | experimental | Experimental renderer and scene lifecycle | Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
177
+ | [`createLinkGeometry`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeMaterials.ts#L58) | @abuzareal | experimental | Create owned link geometry | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
178
+ | [`createChrome`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeMaterials.ts#L4) | @abuzareal | experimental | Create owned chrome material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
179
+ | [`createLime`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeMaterials.ts#L12) | @abuzareal | experimental | Create owned lime material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
180
+ | [`createInk`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeMaterials.ts#L20) | @abuzareal | experimental | Create owned ink material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
181
+ | [`createGlass`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeMaterials.ts#L29) | @abuzareal | experimental | Create owned glass material | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
182
+ | [`createMaterialSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeStudies.ts#L18) | @abuzareal | experimental | Create owned material-study objects | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
183
+ | [`createGeometrySet`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeStudies.ts#L31) | @abuzareal | experimental | Create owned geometry-study objects | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
184
+ | [`objectStudies`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeStudies.ts#L52) | @abuzareal | experimental | Named scene factories | Experimental GPU resource; caller owns disposal, sized lazy scene and usable static fallback. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
185
185
 
186
186
  ### Type-only exports
187
187
 
188
188
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
189
189
  | ------------------------------------------------------------------------------------------------------------------ | ---------- | ------------ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
190
- | [`StageFrame`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useThreeStage.ts#L8) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
191
- | [`StageScene`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useThreeStage.ts#L15) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
192
- | [`StageContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useThreeStage.ts#L24) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
193
- | [`SculptureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/hero/Sculpture.tsx#L18) | @abuzareal | experimental | Type contract for Sculpture | Type-only; no runtime value. WebGL, sized container, lazy/static fallback and motionEnabled required; setup captured on mount. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
194
- | [`ObjectStudyProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/three/ObjectStudy.tsx#L14) | @abuzareal | experimental | Type contract for ObjectStudy | Type-only; no runtime value. WebGL, sized container, study/label/motionEnabled required; experimental scene contract. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
195
- | [`ObjectSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeStudies.ts#L12) | @abuzareal | experimental | Type contract for objectStudies | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
196
- | [`ObjectStudyKind`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/threeStudies.ts#L57) | @abuzareal | experimental | Type contract for objectStudies | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
190
+ | [`StageFrame`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useThreeStage.ts#L8) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
191
+ | [`StageScene`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useThreeStage.ts#L15) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
192
+ | [`StageContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useThreeStage.ts#L24) | @abuzareal | experimental | Type contract for useThreeStage | Type-only; no runtime value. Setup captured on mount; register owned cleanup immediately with onDispose; do not double-dispose. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
193
+ | [`SculptureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/hero/Sculpture.tsx#L18) | @abuzareal | experimental | Type contract for Sculpture | Type-only; no runtime value. WebGL, sized container, lazy/static fallback and motionEnabled required; setup captured on mount. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
194
+ | [`ObjectStudyProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/three/ObjectStudy.tsx#L14) | @abuzareal | experimental | Type contract for ObjectStudy | Type-only; no runtime value. WebGL, sized container, study/label/motionEnabled required; experimental scene contract. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
195
+ | [`ObjectSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeStudies.ts#L12) | @abuzareal | experimental | Type contract for objectStudies | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
196
+ | [`ObjectStudyKind`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/threeStudies.ts#L57) | @abuzareal | experimental | Type contract for objectStudies | Type-only; no runtime value. Legacy global or isolated prefixed CSS; use declared props only; application composition needs its own validation. | [Reference](https://contour.abuzr.in/docs#optional-three) | D: emitted declaration; N: optional declaration/build fixture; G: sampled graphics lifecycle |
197
197
 
198
198
  ## Optional: @abuzareal/contour-ui/scroll
199
199
 
@@ -203,7 +203,7 @@ These identify reproducible checks, not claims that every row has a dedicated be
203
203
 
204
204
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
205
205
  | -------------------------------------------------------------------------------------------------------- | ---------- | ------------ | ------------------------ | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------- |
206
- | [`useSmoothScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useSmoothScroll.ts#L7) | @abuzareal | experimental | Optional Lenis lifecycle | Install Lenis and its CSS explicitly; one owner; caller disables it for pause/reduced motion. | [Reference](https://contour.abuzr.in/docs#optional-scroll) | D: emitted declaration; N: optional declaration/build fixture |
206
+ | [`useSmoothScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useSmoothScroll.ts#L7) | @abuzareal | experimental | Optional Lenis lifecycle | Install Lenis and its CSS explicitly; one owner; caller disables it for pause/reduced motion. | [Reference](https://contour.abuzr.in/docs#optional-scroll) | D: emitted declaration; N: optional declaration/build fixture |
207
207
 
208
208
  ## Server-safe string/helpers: @abuzareal/contour-ui/theme-bootstrap
209
209
 
@@ -213,8 +213,8 @@ These identify reproducible checks, not claims that every row has a dedicated be
213
213
 
214
214
  | Export / source | Maintainer | Status | Intended use | Known limits | Documentation | Evidence |
215
215
  | ----------------------------------------------------------------------------------------------------------- | ---------- | ------------ | ------------------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------- |
216
- | [`themeColors`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/themeBootstrap.ts#L6) | @abuzareal | stable (0.x) | Theme-background constants | Fixed backgrounds must match token defaults; consumer themes may need own metadata. | [Reference](https://contour.abuzr.in/docs/getting-started#theme-motion) | D: emitted declaration; P: bootstrap package/Next fixture |
217
- | [`themeBootstrapScript`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/themeBootstrap.ts#L11) | @abuzareal | stable (0.x) | Pre-paint theme initialization string | Authorize inline script through CSP nonce/hash; no user interpolation; root preference only. | [Reference](https://contour.abuzr.in/docs/getting-started#theme-motion) | D: emitted declaration; P: bootstrap package/Next fixture |
216
+ | [`themeColors`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/themeBootstrap.ts#L6) | @abuzareal | stable (0.x) | Theme-background constants | Fixed backgrounds must match token defaults; consumer themes may need own metadata. | [Reference](https://contour.abuzr.in/docs/getting-started#theme-motion) | D: emitted declaration; P: bootstrap package/Next fixture |
217
+ | [`themeBootstrapScript`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/themeBootstrap.ts#L11) | @abuzareal | stable (0.x) | Pre-paint theme initialization string | Authorize inline script through CSP nonce/hash; no user interpolation; root preference only. | [Reference](https://contour.abuzr.in/docs/getting-started#theme-motion) | D: emitted declaration; P: bootstrap package/Next fixture |
218
218
 
219
219
  ## Stylesheet exports
220
220
 
@@ -240,21 +240,21 @@ scoped.css is the prefixed aggregate; scoped-tokens.css supplies only canonical
240
240
 
241
241
  | Export / source | Kind | Maintainer | Status | Contract and limits | Evidence |
242
242
  | ------------------------------------------------------------------------------------------------------------------- | ------- | ---------- | ------------ | --------------------------------------------------------------------------------------- | --------------------------------------------------------- |
243
- | [`ThemeScope`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ThemeScope.tsx#L12) | runtime | @abuzareal | stable (0.x) | Controlled native-div theme scope; caller owns persistence; scoped CSS required. | Declarations, packed consumers and overlay/style fixtures |
244
- | [`FloatingOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useFloatingPanel.ts#L12) | type | @abuzareal | experimental | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
245
- | [`PanelFocusOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/usePanelFocus.ts#L4) | type | @abuzareal | experimental | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
246
- | [`DismissReason`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/layers.ts#L2) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
247
- | [`ToastProviderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ToastProvider.tsx#L69) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
248
- | [`DismissOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/hooks/useDismiss.ts#L5) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
249
- | [`ccx`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/lib/classNames.ts#L7) | runtime | @abuzareal | stable (0.x) | Prefixed and compatibility class hooks; cx remains unchanged for IDs/arbitrary strings. | Declarations, packed consumers and overlay/style fixtures |
250
- | [`ThemeScopeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/ThemeScope.tsx#L7) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
243
+ | [`ThemeScope`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ThemeScope.tsx#L12) | runtime | @abuzareal | stable (0.x) | Controlled native-div theme scope; caller owns persistence; scoped CSS required. | Declarations, packed consumers and overlay/style fixtures |
244
+ | [`FloatingOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useFloatingPanel.ts#L12) | type | @abuzareal | experimental | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
245
+ | [`PanelFocusOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/usePanelFocus.ts#L4) | type | @abuzareal | experimental | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
246
+ | [`DismissReason`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/layers.ts#L2) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
247
+ | [`ToastProviderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ToastProvider.tsx#L69) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
248
+ | [`DismissOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/hooks/useDismiss.ts#L5) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
249
+ | [`ccx`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/lib/classNames.ts#L7) | runtime | @abuzareal | stable (0.x) | Prefixed and compatibility class hooks; cx remains unchanged for IDs/arbitrary strings. | Declarations, packed consumers and overlay/style fixtures |
250
+ | [`ThemeScopeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/ThemeScope.tsx#L7) | type | @abuzareal | stable (0.x) | Defining module contract; type-only values are not runtime exports. | Declarations, packed consumers and overlay/style fixtures |
251
251
 
252
252
  ## Additions in 0.6.0
253
253
 
254
254
  | Export / source | Kind | Maintainer | Status | Contract and limits | Evidence |
255
255
  | -------------------------------------------------------------------------------------------------------------- | ------- | ---------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
256
- | [`Table`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Table.tsx#L19) | runtime | @abuzareal | stable (0.x) | Native semantic table/caption/ref and scroll part; application owns rows, sorting and grid behavior. See RECIPES.md. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
257
- | [`TableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Table.tsx#L6) | type | @abuzareal | stable (0.x) | Native table props plus required caption/children, showCaption=false and native scrollProps. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
258
- | [`Combobox`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Combobox.tsx#L31) | runtime | @abuzareal | stable (0.x) | Allowed-value single-select string ID, visible input ref, native forms and Contour overlays; no free-text or multi-select. See COMBOBOX.md. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
259
- | [`ComboboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Combobox.types.ts#L22) | type | @abuzareal | stable (0.x) | Independent selection/query/open state, native input/popup/root parts, async messages and collision options. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
260
- | [`ComboboxOption`](https://github.com/abuzareal/contour-ui/blob/v0.6.0/src/components/ui/Combobox.types.ts#L4) | type | @abuzareal | stable (0.x) | Unique nonempty string value, localizable label, optional disabled; identity never comes from label. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
256
+ | [`Table`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Table.tsx#L19) | runtime | @abuzareal | stable (0.x) | Native semantic table/caption/ref and scroll part; application owns rows, sorting and grid behavior. See RECIPES.md. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
257
+ | [`TableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Table.tsx#L6) | type | @abuzareal | stable (0.x) | Native table props plus required caption/children, showCaption=false and native scrollProps. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
258
+ | [`Combobox`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Combobox.tsx#L31) | runtime | @abuzareal | stable (0.x) | Allowed-value single-select string ID, visible input ref, native forms and Contour overlays; no free-text or multi-select. See COMBOBOX.md. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
259
+ | [`ComboboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Combobox.types.ts#L22) | type | @abuzareal | stable (0.x) | Independent selection/query/open state, native input/popup/root parts, async messages and collision options. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |
260
+ | [`ComboboxOption`](https://github.com/abuzareal/contour-ui/blob/v0.6.1/src/components/ui/Combobox.types.ts#L4) | type | @abuzareal | stable (0.x) | Unique nonempty string value, localizable label, optional disabled; identity never comes from label. | Declarations, packed React consumers, expansion unit/browser and copied adoption recipes |