@abuzareal/contour-ui 0.6.1 → 0.6.2
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/CHANGELOG.md +5 -1
- package/COMBOBOX.md +1 -1
- package/COMPOSITION.md +1 -1
- package/FORMS.md +1 -1
- package/GETTING-STARTED.md +1 -1
- package/HELPERS.md +1 -1
- package/HOOKS.md +1 -1
- package/MANUAL-QA.md +1 -1
- package/MIGRATION.md +1 -1
- package/MODELS.md +1 -1
- package/OVERLAYS.md +3 -1
- package/PROP-REFERENCE.md +1 -1
- package/PUBLIC-API.md +166 -166
- package/README.md +3 -3
- package/RECIPES.md +1 -1
- package/REFERENCE.md +1 -1
- package/STYLING.md +1 -1
- package/SUPPORT.md +1 -1
- package/THREE.md +1 -1
- package/dist/components/ui/Tooltip.js +1 -1
- package/docs/prop-metadata.json +1 -1
- package/examples/reproduction/package.json +1 -1
- package/examples/starters/next/package.json +1 -1
- package/examples/starters/vite/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,13 @@ Changes to the published `@abuzareal/contour-ui` package. Version headings refer
|
|
|
6
6
|
|
|
7
7
|
No changes recorded.
|
|
8
8
|
|
|
9
|
+
## 0.6.2
|
|
10
|
+
|
|
11
|
+
Compatible Tooltip correction. A closed portalled tooltip now uses native hidden state so fallback right/bottom positioning cannot enlarge a standards-mode document. Opening still uses collision-aware placement; Escape/blur close it and accessible descriptions remain linked. No public API, dependency, token or theme changes. Production regressions cover both legacy/scoped styles, light/dark, LTR/RTL and narrow/desktop viewports. Source version headings do not establish npm publication.
|
|
12
|
+
|
|
9
13
|
## 0.6.1
|
|
10
14
|
|
|
11
|
-
Compatible source corrections; publication
|
|
15
|
+
Compatible source corrections; npm publication was verified on 14 October 2026. Restore print theme/disclosures on repeated events or unmount, cancel delayed hash alignment after unmount, preserve delimiter-containing scroll-spy IDs, and close an open Combobox on Tab without cancelling native traversal or changing selection. Add hook/helper/optional-entry references, emitted prop/example drift checks, JavaScript onboarding and migration/history material. Correct the open Combobox background hiding with a labelled non-modal popup, keeping Base UI selection/navigation/positioning parts. Strict whole-document accessibility scans now pass in selected Chromium/WebKit fixtures; the unmodified upstream composition remains a separate failing diagnostic. Add visual QA without excluding axe rules. Manual screen-reader checks remain pending; no universal accessibility claim is made.
|
|
12
16
|
|
|
13
17
|
## 0.6.0
|
|
14
18
|
|
package/COMBOBOX.md
CHANGED
|
@@ -84,4 +84,4 @@ Automated Chromium keyboard, touch emulation, synthetic composition, RTL, forced
|
|
|
84
84
|
|
|
85
85
|
**Open-state accessibility correction in 0.6.1:** Contour uses a labelled non-modal popup region and listbox, retaining Base UI's public selection/navigation/positioning parts. Opening it no longer hides the surrounding page. Whole-document axe scans pass in the selected Chromium/WebKit fixtures with no excluded rules; Tab and Shift+Tab close it while preserving native traversal. The older Base UI Popup composition's failing diagnostic remains available separately. See [support evidence and limitations](SUPPORT.md); manual VoiceOver/NVDA review remains pending. These fixtures do not establish WCAG conformance.
|
|
86
86
|
|
|
87
|
-
[Report Combobox 0.6.
|
|
87
|
+
[Report Combobox 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&title=Combobox%200.6.2%3A%20&component=Combobox&version=0.6.2), using the [public minimal reproduction](examples/reproduction). Source links for this version resolve when its release tag is published.
|
package/COMPOSITION.md
CHANGED
|
@@ -194,4 +194,4 @@ Each addition serves a bounded need: native focus/measurement/trigger refs; exis
|
|
|
194
194
|
|
|
195
195
|
## Version and reproduction
|
|
196
196
|
|
|
197
|
-
Reference version **0.6.
|
|
197
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Composition 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Composition&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/FORMS.md
CHANGED
|
@@ -95,4 +95,4 @@ References: [React native input ownership](https://react.dev/reference/react-dom
|
|
|
95
95
|
|
|
96
96
|
## Version and reproduction
|
|
97
97
|
|
|
98
|
-
Reference version **0.6.
|
|
98
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Forms 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Forms&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/GETTING-STARTED.md
CHANGED
|
@@ -60,7 +60,7 @@ Copy [OptionalSmoothScroll.tsx](examples/optional/OptionalSmoothScroll.tsx) and
|
|
|
60
60
|
|
|
61
61
|
Supported evidence names the exact pair: Next 16.4.0 App Router, React/React DOM 19.3.0, webpack production build, plus its separate optional lazy Three fixture. Turbopack, Pages Router, Next Lenis, static nonce export and arbitrary third-party modal interoperability are not promoted to supported configurations. Vite starter pins 8.3.2 with React 18.3.1. Server-safe helper imports, client directives, declarations and hydration are checked independently; SSR rendering alone does not prove hydration.
|
|
62
62
|
|
|
63
|
-
Copy [the public reproduction folder](examples/reproduction), reduce it to the failing interaction, and include exact package/browser versions and keyboard steps. Its [issue link](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&title=Integration%200.6.
|
|
63
|
+
Copy [the public reproduction folder](examples/reproduction), reduce it to the failing interaction, and include exact package/browser versions and keyboard steps. Its [issue link](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&title=Integration%200.6.2%3A%20&component=Integration&version=0.6.2) contains version/component, not private data. Report only synthetic records and public reproducible source. [Documentation coverage and limits](DOCS.md).
|
|
64
64
|
|
|
65
65
|
## JavaScript and TypeScript examples
|
|
66
66
|
|
package/HELPERS.md
CHANGED
|
@@ -30,4 +30,4 @@ The JavaScript onboarding example in [GETTING-STARTED.md](GETTING-STARTED.md) us
|
|
|
30
30
|
|
|
31
31
|
## Version and reproduction
|
|
32
32
|
|
|
33
|
-
Reference version **0.6.
|
|
33
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Helpers 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Helpers&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/HOOKS.md
CHANGED
|
@@ -64,4 +64,4 @@ Copyable [HookExamples.tsx](examples/reference/HookExamples.tsx) uses these publ
|
|
|
64
64
|
|
|
65
65
|
## Version and reproduction
|
|
66
66
|
|
|
67
|
-
Reference version **0.6.
|
|
67
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Hooks 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Hooks&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/MANUAL-QA.md
CHANGED
|
@@ -35,4 +35,4 @@ Mark unattempted scenarios explicitly. A passing session covers only its recorde
|
|
|
35
35
|
|
|
36
36
|
## Version and reproduction
|
|
37
37
|
|
|
38
|
-
Reference version **0.6.
|
|
38
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Manual accessibility 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Manual%20accessibility&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/MIGRATION.md
CHANGED
|
@@ -41,4 +41,4 @@ The 0.6.1 work is intended as compatible lifecycle/documentation corrections. It
|
|
|
41
41
|
|
|
42
42
|
## Version and reproduction
|
|
43
43
|
|
|
44
|
-
Reference version **0.6.
|
|
44
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Migration 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Migration&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/MODELS.md
CHANGED
|
@@ -15,4 +15,4 @@ The bounded Base UI/Radix+cmdk/React Aria decision, exact versions, licenses and
|
|
|
15
15
|
|
|
16
16
|
## Version and reproduction
|
|
17
17
|
|
|
18
|
-
Reference version **0.6.
|
|
18
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Library models 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Library%20models&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/OVERLAYS.md
CHANGED
|
@@ -43,6 +43,8 @@ Menu enters the first enabled action; ArrowUp from its trigger enters the last.
|
|
|
43
43
|
|
|
44
44
|
## Supplemental hints
|
|
45
45
|
|
|
46
|
+
From 0.6.2, closed Tooltip content uses native hidden state. This prevents fallback placement on the body portal from widening a standards-mode page. The trigger retains its linked supplemental accessible description; opening/dismissal and collision placement remain unchanged.
|
|
47
|
+
|
|
46
48
|
Tooltip content is a noninteractive string. Hover and keyboard focus cooperate; leaving the pointer does not erase a focused hint. Trigger-to-content travel stays available through a bounded pointer corridor; the hint remains while pointer/focus applies. Escape suppresses it until the current hover/focus conditions end and a new session begins. Existing `aria-describedby` values and the child's accessible name/ref/events are retained. Pointer content is hoverable; tooltip content is never a substitute for a visible label, essential instruction, validation error or interactive panel. Touch users must have the same essential information visibly available.
|
|
47
49
|
|
|
48
50
|
Production checks cover nested/sibling/portaled layers, native modal portals, touch outside press, RTL, narrow/resized viewports, long scrolling panels and CSS zoom. These are automated browser checks, not physical mobile-keyboard or assistive-technology certification. See [W3C hover/focus guidance](https://www.w3.org/WAI/WCAG21/Techniques/client-side-script/SCR39) and [Floating UI observer lifecycle](https://floating-ui.com/docs/autoupdate).
|
|
@@ -53,4 +55,4 @@ Default-open children choose an enclosing native dialog even before its open att
|
|
|
53
55
|
|
|
54
56
|
## Version and reproduction
|
|
55
57
|
|
|
56
|
-
Reference version **0.6.
|
|
58
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Overlays 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Overlays&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/PROP-REFERENCE.md
CHANGED
|
@@ -34,4 +34,4 @@ Read [FORMS.md](FORMS.md), [COMPOSITION.md](COMPOSITION.md), [OVERLAYS.md](OVERL
|
|
|
34
34
|
|
|
35
35
|
## Version and reproduction
|
|
36
36
|
|
|
37
|
-
Reference version **0.6.
|
|
37
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Prop reference 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Prop%20reference&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
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.
|
|
29
|
-
| [`Avatar`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
30
|
-
| [`Badge`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
31
|
-
| [`BrandMark`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
32
|
-
| [`Breadcrumbs`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
33
|
-
| [`Button`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
34
|
-
| [`Card`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
35
|
-
| [`Checkbox`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
36
|
-
| [`CountUp`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
37
|
-
| [`DataTable`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
38
|
-
| [`DepthButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
39
|
-
| [`Dialog`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
40
|
-
| [`Disclosure`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
41
|
-
| [`Divider`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
42
|
-
| [`DropdownMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
43
|
-
| [`EmptyState`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
44
|
-
| [`ExternalLink`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
45
|
-
| [`Field`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
46
|
-
| [`FlipCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
47
|
-
| [`IconButton`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
48
|
-
| [`Kbd`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
49
|
-
| [`Magnetic`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
50
|
-
| [`Marquee`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
51
|
-
| [`Pagination`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
52
|
-
| [`Popover`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
53
|
-
| [`ProgressBar`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
54
|
-
| [`RadioGroup`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
55
|
-
| [`Reveal`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
56
|
-
| [`RevealHeading`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
57
|
-
| [`ScrollProgress`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
58
|
-
| [`SectionLabel`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
59
|
-
| [`SegmentedControl`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
60
|
-
| [`SelectField`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
61
|
-
| [`Skeleton`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
62
|
-
| [`Slider`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
63
|
-
| [`GitHubIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
64
|
-
| [`LinkedInIcon`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
65
|
-
| [`Spinner`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
66
|
-
| [`Stat`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
67
|
-
| [`Stepper`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
68
|
-
| [`Switch`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
69
|
-
| [`Tabs`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
70
|
-
| [`Tag`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
71
|
-
| [`TextArea`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
72
|
-
| [`TextField`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
73
|
-
| [`ThemeToggle`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
74
|
-
| [`TiltCard`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
75
|
-
| [`Timeline`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
76
|
-
| [`ToastProvider`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
77
|
-
| [`Tooltip`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
78
|
-
| [`useClipboardCopy`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
79
|
-
| [`useDismiss`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
80
|
-
| [`useHeaderScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
81
|
-
| [`useIdleTrigger`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
82
|
-
| [`useInitialHashScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
83
|
-
| [`useMobileMenu`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
84
|
-
| [`useMotionPreference`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
85
|
-
| [`usePrintPreparation`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
86
|
-
| [`useScrollSpy`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
87
|
-
| [`useTheme`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
88
|
-
| [`useToast`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
89
|
-
| [`SceneBoundary`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
90
|
-
| [`safeHref`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
91
|
-
| [`cx`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
92
|
-
| [`buttonClassName`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
93
|
-
| [`formatIndex`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
94
|
-
| [`readStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
95
|
-
| [`writeStorage`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
96
|
-
| [`storageKeys`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
97
|
-
| [`nextIndexForKey`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
98
|
-
| [`fieldDescribedBy`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
99
|
-
| [`motionDisabledFor`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
28
|
+
| [`Alert`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.
|
|
106
|
-
| [`AlertTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
107
|
-
| [`AlertProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
108
|
-
| [`AvatarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
109
|
-
| [`BadgeTone`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
110
|
-
| [`BadgeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
111
|
-
| [`BrandMarkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
112
|
-
| [`BreadcrumbsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
113
|
-
| [`ButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
114
|
-
| [`CardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
115
|
-
| [`CheckboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
116
|
-
| [`CountUpProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
117
|
-
| [`TableColumn`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
118
|
-
| [`DataTableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
119
|
-
| [`DepthButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
120
|
-
| [`DialogProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
121
|
-
| [`DisclosureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
122
|
-
| [`DividerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
123
|
-
| [`MenuItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
124
|
-
| [`DropdownMenuProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
125
|
-
| [`EmptyStateProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
126
|
-
| [`ExternalLinkProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
127
|
-
| [`FieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
128
|
-
| [`FlipCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
129
|
-
| [`IconButtonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
130
|
-
| [`MagneticProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
131
|
-
| [`MarqueeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
132
|
-
| [`PaginationProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
133
|
-
| [`PopoverProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
134
|
-
| [`ProgressBarProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
135
|
-
| [`RadioGroupProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
136
|
-
| [`RevealProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
137
|
-
| [`HeadingLine`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
138
|
-
| [`RevealHeadingProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
139
|
-
| [`SectionLabelProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
140
|
-
| [`SegmentedControlProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
141
|
-
| [`SelectFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
142
|
-
| [`SkeletonProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
143
|
-
| [`SliderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
144
|
-
| [`SocialIconProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
145
|
-
| [`SpinnerProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
146
|
-
| [`StatProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
147
|
-
| [`StepperProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
148
|
-
| [`SwitchProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
149
|
-
| [`TabItem`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
150
|
-
| [`TabsProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
151
|
-
| [`TagProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
152
|
-
| [`TextAreaProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
153
|
-
| [`TextFieldProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
154
|
-
| [`ThemeToggleProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
155
|
-
| [`TiltCardProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
156
|
-
| [`TimelineProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
157
|
-
| [`TooltipProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
158
|
-
| [`CopyStatus`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
159
|
-
| [`Theme`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
160
|
-
| [`ToastInput`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
161
|
-
| [`ToastContextValue`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
162
|
-
| [`ToastContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
163
|
-
| [`ButtonVariant`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
164
|
-
| [`ButtonSize`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
105
|
+
| [`Section`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.
|
|
175
|
-
| [`ObjectStudy`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
176
|
-
| [`useThreeStage`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
177
|
-
| [`createLinkGeometry`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
178
|
-
| [`createChrome`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
179
|
-
| [`createLime`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
180
|
-
| [`createInk`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
181
|
-
| [`createGlass`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
182
|
-
| [`createMaterialSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
183
|
-
| [`createGeometrySet`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
184
|
-
| [`objectStudies`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
174
|
+
| [`Sculpture`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.
|
|
191
|
-
| [`StageScene`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
192
|
-
| [`StageContext`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
193
|
-
| [`SculptureProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
194
|
-
| [`ObjectStudyProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
195
|
-
| [`ObjectSet`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
196
|
-
| [`ObjectStudyKind`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
190
|
+
| [`StageFrame`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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.2/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.2/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.
|
|
206
|
+
| [`useSmoothScroll`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.
|
|
217
|
-
| [`themeBootstrapScript`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
216
|
+
| [`themeColors`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.
|
|
244
|
-
| [`FloatingOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
245
|
-
| [`PanelFocusOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
246
|
-
| [`DismissReason`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
247
|
-
| [`ToastProviderProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
248
|
-
| [`DismissOptions`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
249
|
-
| [`ccx`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
250
|
-
| [`ThemeScopeProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
243
|
+
| [`ThemeScope`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.
|
|
257
|
-
| [`TableProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
258
|
-
| [`Combobox`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
259
|
-
| [`ComboboxProps`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
260
|
-
| [`ComboboxOption`](https://github.com/abuzareal/contour-ui/blob/v0.6.
|
|
256
|
+
| [`Table`](https://github.com/abuzareal/contour-ui/blob/v0.6.2/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.2/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.2/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.2/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.2/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 |
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Use it when you want this visual style with typed controls, feedback, navigation
|
|
|
6
6
|
|
|
7
7
|
[Live catalogue](https://contour.abuzr.in/) · [npm package](https://www.npmjs.com/package/@abuzareal/contour-ui) · [Maintainer](https://github.com/abuzareal)
|
|
8
8
|
|
|
9
|
-
This source checkout targets **0.6.
|
|
9
|
+
This source checkout targets **0.6.2**. Package publication and application upgrades are separate; check the npm registry for release availability and each application's manifest for its installed version. Catalogue examples include application patterns as well as package components. Check the exports below before treating an example as an importable component.
|
|
10
10
|
|
|
11
11
|
[Public API and maturity register](PUBLIC-API.md) · [Architecture, scope and compatibility](CONTRACTS.md)
|
|
12
12
|
|
|
@@ -23,7 +23,7 @@ Version 0.6 adds a single-select [Combobox](COMBOBOX.md) backed by pinned Base U
|
|
|
23
23
|
Use an existing React application with a bundler that resolves package CSS imports. Contour ships ESM and TypeScript declarations. The package declares Node.js 22 or newer; repository tooling uses Vite 8, which needs Node.js 22.12+ or 24+.
|
|
24
24
|
|
|
25
25
|
```sh
|
|
26
|
-
npm install @abuzareal/contour-ui@0.6.
|
|
26
|
+
npm install @abuzareal/contour-ui@0.6.2 --save-exact
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Your app must provide matching `react` and `react-dom` versions: **18.3.1 or React 19**. The compatibility script covers 18.3.1, 19.0.0, and 19.3.0; it doesn't establish support for every framework or React Server Component setup. Put interactive components inside a client boundary when your framework requires one.
|
|
@@ -180,7 +180,7 @@ Give scenes a sized container and a usable static fallback. `SceneBoundary` hide
|
|
|
180
180
|
**0.2.0** adds native field refs, controlled tabs and popover/menu open state, menu keyboard improvements, native reset synchronization, Three.js lifecycle fixes and a tested Next.js App Router integration. Existing uncontrolled defaults and React 18/19 support remain. `fonts-latin.css`, introduced in 0.1.2, now uses packaged relative font URLs for webpack resolution. `CHANGELOG.md` is included in the package archive and [npm's Code view](https://www.npmjs.com/package/@abuzareal/contour-ui?activeTab=code); it contains the upgrade details for each version.
|
|
181
181
|
|
|
182
182
|
```sh
|
|
183
|
-
npm install @abuzareal/contour-ui@0.6.
|
|
183
|
+
npm install @abuzareal/contour-ui@0.6.2 --save-exact
|
|
184
184
|
```
|
|
185
185
|
|
|
186
186
|
Commit your manifest and lockfile, run your application's checks, and review both themes, dialogs, forms, and motion before deploying. Version 0.1.1 includes a document scroll lock for dialogs and drawers. Review any app-level lock before removing it, including nested dialogs and short screens. Package publication doesn't update deployed consumers automatically.
|
package/RECIPES.md
CHANGED
|
@@ -40,4 +40,4 @@ The optional **password visibility recipe** keeps the same input mounted, name a
|
|
|
40
40
|
|
|
41
41
|
Use native p/span and h1–h6 with [typography tokens](STYLING.md). Heading level follows the document outline; size/weight are CSS choices. No Text/Heading wrappers are added without an independent semantic/variant contract. These explicit scope decisions do not complete deferred NumberField, full grid, calendar or other optional features.
|
|
42
42
|
|
|
43
|
-
[Report Table/recipes 0.6.
|
|
43
|
+
[Report Table/recipes 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&title=Table%20recipes%200.6.2%3A%20&component=Table%20recipes&version=0.6.2); [standalone reproduction](examples/reproduction). See [public API](PUBLIC-API.md) for exact types, [styling](STYLING.md) and [onboarding](GETTING-STARTED.md). Release source links become available with the published tag.
|
package/REFERENCE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Export reference register
|
|
2
2
|
|
|
3
|
-
Generated for 0.6.
|
|
3
|
+
Generated for 0.6.2 from actual source/runtime declarations and the manifest. This register maps all symbols and CSS/data entry points; it does not promote every component page. Human behavior guidance lives in the linked references. Source and exact types remain in [PUBLIC-API.md](PUBLIC-API.md). Run npm run check:reference; newly added hook/helper sources need an authored mapping before this register can update.
|
|
4
4
|
|
|
5
5
|
| Entry | Symbol | Kind | Reference |
|
|
6
6
|
| --- | --- | --- | --- |
|
package/STYLING.md
CHANGED
|
@@ -69,4 +69,4 @@ Forced-color rules preserve focus, selected control outlines, radio marks, inval
|
|
|
69
69
|
|
|
70
70
|
## Version and reproduction
|
|
71
71
|
|
|
72
|
-
Reference version **0.6.
|
|
72
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Styles 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Styles&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/SUPPORT.md
CHANGED
|
@@ -33,4 +33,4 @@ Every result should name package/commit/archive, date, OS/browser/tool versions,
|
|
|
33
33
|
|
|
34
34
|
## Version and reproduction
|
|
35
35
|
|
|
36
|
-
Reference version **0.6.
|
|
36
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Support matrix 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Support%20matrix&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
package/THREE.md
CHANGED
|
@@ -37,4 +37,4 @@ Use one stage owner per host, stable setup and deliberate size. Product controls
|
|
|
37
37
|
|
|
38
38
|
## Version and reproduction
|
|
39
39
|
|
|
40
|
-
Reference version **0.6.
|
|
40
|
+
Reference version **0.6.2**. A source version does not establish publication; check the npm registry for availability. [Versioned source](https://github.com/abuzareal/contour-ui/tree/v0.6.2/src) and [emitted type inventory](PUBLIC-API.md) describe this contract; tag links resolve after release. [Report Three 0.6.2](https://github.com/abuzareal/contour-ui/issues/new?template=bug_report.yml&component=Three&version=0.6.2), using the [public minimal reproduction](examples/reproduction) and synthetic data.
|
|
@@ -73,5 +73,5 @@ export default function Tooltip({ content, children, placement = "top", align =
|
|
|
73
73
|
collisionPadding,
|
|
74
74
|
portal,
|
|
75
75
|
container,
|
|
76
|
-
}, children: _jsx("span", { ref: panel, id: id, role: "tooltip", className: ccx("tooltip mono", `tooltip-${placement}`, open && "is-open"), onPointerEnter: enter, onPointerLeave: leave, children: content }) })] }));
|
|
76
|
+
}, children: _jsx("span", { ref: panel, id: id, role: "tooltip", hidden: !open, className: ccx("tooltip mono", `tooltip-${placement}`, open && "is-open"), onPointerEnter: enter, onPointerLeave: leave, children: content }) })] }));
|
|
77
77
|
}
|
package/docs/prop-metadata.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.2",
|
|
3
3
|
"compiler": "5.9.3",
|
|
4
4
|
"scope": "Selected authored contracts from emitted declarations; inherited prop names and all call signatures retained. Runtime defaults are extracted from source parameter initializers; absence is not a native default inference.",
|
|
5
5
|
"components": {
|