@cascivo/react 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/accordion.js +46 -44
- package/dist/action-sheet/action-sheet.js +16 -16
- package/dist/alert-dialog/alert-dialog.js +34 -34
- package/dist/app-shell/app-shell.css +1 -1
- package/dist/app-shell/app-shell.js +36 -33
- package/dist/app-shell/app-shell.module.js +8 -8
- package/dist/avatar-group/avatar-group.js +6 -6
- package/dist/badge/badge.js +17 -10
- package/dist/bottom-sheet/bottom-sheet.js +18 -18
- package/dist/button/button.css +1 -1
- package/dist/button/button.js +15 -12
- package/dist/button/button.module.js +1 -1
- package/dist/button-group/button-group.js +8 -8
- package/dist/card/card.css +1 -1
- package/dist/card/card.module.js +8 -8
- package/dist/carousel/carousel.js +20 -20
- package/dist/checkbox/checkbox.js +21 -21
- package/dist/checkbox-card/checkbox-card.js +15 -13
- package/dist/collapsible/collapsible.js +7 -7
- package/dist/color-picker/color-picker.js +26 -26
- package/dist/combobox/combobox.css +1 -1
- package/dist/combobox/combobox.js +86 -86
- package/dist/combobox/combobox.module.js +15 -15
- package/dist/command-menu/command-menu.js +111 -111
- package/dist/comparison/comparison.js +10 -10
- package/dist/context-menu/context-menu.js +9 -9
- package/dist/copy-button/copy-button.js +18 -16
- package/dist/data-table/data-table.css +1 -1
- package/dist/data-table/data-table.js +8 -2
- package/dist/data-table/data-table.module.js +29 -29
- package/dist/date-picker/date-picker.css +1 -1
- package/dist/date-picker/date-picker.js +25 -25
- package/dist/date-picker/date-picker.module.js +19 -19
- package/dist/date-range-picker/date-range-picker.js +26 -26
- package/dist/drawer/drawer.css +1 -1
- package/dist/drawer/drawer.js +18 -17
- package/dist/drawer/drawer.module.js +9 -9
- package/dist/dropdown/dropdown.js +48 -48
- package/dist/editable/editable.js +11 -11
- package/dist/fab/fab.js +53 -53
- package/dist/field/field.js +8 -8
- package/dist/file-uploader/file-uploader.css +1 -1
- package/dist/file-uploader/file-uploader.js +19 -19
- package/dist/file-uploader/file-uploader.module.js +14 -14
- package/dist/filter/filter.js +10 -9
- package/dist/header-panel/header-panel.js +31 -31
- package/dist/hover-card/hover-card.js +21 -21
- package/dist/icon-button/icon-button.css +1 -1
- package/dist/icon-button/icon-button.js +5 -5
- package/dist/icon-button/icon-button.module.js +1 -1
- package/dist/index.d.ts +1475 -251
- package/dist/input/input.css +1 -1
- package/dist/input/input.js +22 -21
- package/dist/input/input.module.js +5 -5
- package/dist/item/item.css +1 -1
- package/dist/item/item.module.js +6 -6
- package/dist/layouts/src/page-header/page-header.css +1 -0
- package/dist/layouts/src/page-header/page-header.js +33 -0
- package/dist/layouts/src/page-header/page-header.module.js +13 -0
- package/dist/link/link.js +14 -12
- package/dist/log-viewer/log-viewer.js +26 -26
- package/dist/menu/menu.js +20 -20
- package/dist/menu-button/menu-button.js +48 -48
- package/dist/menubar/menubar.js +42 -42
- package/dist/modal/modal.css +1 -1
- package/dist/modal/modal.js +41 -35
- package/dist/modal/modal.module.js +8 -7
- package/dist/multi-select/multi-select.css +1 -1
- package/dist/multi-select/multi-select.js +57 -57
- package/dist/multi-select/multi-select.module.js +11 -11
- package/dist/native-select/native-select.js +13 -11
- package/dist/navigation-menu/navigation-menu.js +46 -46
- package/dist/node/accordion/accordion.js +46 -44
- package/dist/node/action-sheet/action-sheet.js +16 -16
- package/dist/node/alert-dialog/alert-dialog.js +34 -34
- package/dist/node/app-shell/app-shell.js +36 -33
- package/dist/node/app-shell/app-shell.module.js +8 -8
- package/dist/node/avatar-group/avatar-group.js +6 -6
- package/dist/node/badge/badge.js +17 -10
- package/dist/node/bottom-sheet/bottom-sheet.js +18 -18
- package/dist/node/button/button.js +15 -12
- package/dist/node/button/button.module.js +1 -1
- package/dist/node/button-group/button-group.js +8 -8
- package/dist/node/card/card.module.js +8 -8
- package/dist/node/carousel/carousel.js +20 -20
- package/dist/node/checkbox/checkbox.js +21 -21
- package/dist/node/checkbox-card/checkbox-card.js +15 -13
- package/dist/node/collapsible/collapsible.js +7 -7
- package/dist/node/color-picker/color-picker.js +26 -26
- package/dist/node/combobox/combobox.js +86 -86
- package/dist/node/combobox/combobox.module.js +15 -15
- package/dist/node/command-menu/command-menu.js +111 -111
- package/dist/node/comparison/comparison.js +10 -10
- package/dist/node/context-menu/context-menu.js +9 -9
- package/dist/node/copy-button/copy-button.js +18 -16
- package/dist/node/data-table/data-table.js +8 -2
- package/dist/node/data-table/data-table.module.js +29 -29
- package/dist/node/date-picker/date-picker.js +25 -25
- package/dist/node/date-picker/date-picker.module.js +19 -19
- package/dist/node/date-range-picker/date-range-picker.js +26 -26
- package/dist/node/drawer/drawer.js +18 -17
- package/dist/node/drawer/drawer.module.js +9 -9
- package/dist/node/dropdown/dropdown.js +48 -48
- package/dist/node/editable/editable.js +11 -11
- package/dist/node/fab/fab.js +53 -53
- package/dist/node/field/field.js +8 -8
- package/dist/node/file-uploader/file-uploader.js +19 -19
- package/dist/node/file-uploader/file-uploader.module.js +14 -14
- package/dist/node/filter/filter.js +10 -9
- package/dist/node/header-panel/header-panel.js +31 -31
- package/dist/node/hover-card/hover-card.js +21 -21
- package/dist/node/icon-button/icon-button.js +5 -5
- package/dist/node/icon-button/icon-button.module.js +1 -1
- package/dist/node/input/input.js +22 -21
- package/dist/node/input/input.module.js +5 -5
- package/dist/node/item/item.module.js +6 -6
- package/dist/node/layouts/src/page-header/page-header.js +33 -0
- package/dist/node/layouts/src/page-header/page-header.module.js +12 -0
- package/dist/node/link/link.js +14 -12
- package/dist/node/log-viewer/log-viewer.js +26 -26
- package/dist/node/menu/menu.js +20 -20
- package/dist/node/menu-button/menu-button.js +48 -48
- package/dist/node/menubar/menubar.js +42 -42
- package/dist/node/modal/modal.js +41 -35
- package/dist/node/modal/modal.module.js +8 -7
- package/dist/node/multi-select/multi-select.js +57 -57
- package/dist/node/multi-select/multi-select.module.js +11 -11
- package/dist/node/native-select/native-select.js +13 -11
- package/dist/node/navigation-menu/navigation-menu.js +46 -46
- package/dist/node/notification/notification.js +50 -44
- package/dist/node/notification/notification.module.js +7 -7
- package/dist/node/number-input/number-input.js +52 -50
- package/dist/node/number-input/number-input.module.js +8 -8
- package/dist/node/otp-input/otp-input.js +8 -8
- package/dist/node/otp-input/otp-input.module.js +2 -2
- package/dist/node/overflow-menu/overflow-menu.js +18 -13
- package/dist/node/password-input/password-input.js +28 -27
- package/dist/node/password-input/password-input.module.js +7 -7
- package/dist/node/popover/popover.js +26 -24
- package/dist/node/progress/progress.js +3 -2
- package/dist/node/pull-to-refresh/pull-to-refresh.js +13 -13
- package/dist/node/radial-progress/radial-progress.js +5 -5
- package/dist/node/radio/radio.js +23 -22
- package/dist/node/radio-card/radio-card.js +27 -26
- package/dist/node/react/src/index.js +4 -3
- package/dist/node/react/src/theme.js +30 -19
- package/dist/node/resizable/resizable.js +11 -11
- package/dist/node/scroll-area/scroll-area.js +4 -4
- package/dist/node/search/search.js +49 -49
- package/dist/node/search/search.module.js +5 -5
- package/dist/node/select/select.js +27 -26
- package/dist/node/sheet/sheet.js +11 -10
- package/dist/node/sheet/sheet.module.js +5 -5
- package/dist/node/side-nav/side-nav.js +91 -91
- package/dist/node/skip-nav/skip-nav.js +12 -12
- package/dist/node/slider/slider.js +13 -11
- package/dist/node/stat/stat.js +6 -5
- package/dist/node/stat/stat.module.js +7 -7
- package/dist/node/status/status.js +18 -11
- package/dist/node/steps/steps.js +23 -23
- package/dist/node/structured-list/structured-list.js +33 -32
- package/dist/node/tabs/tabs.js +49 -47
- package/dist/node/tag/tag.js +22 -15
- package/dist/node/tags-input/tags-input.js +35 -35
- package/dist/node/tags-input/tags-input.module.js +4 -4
- package/dist/node/textarea/textarea.js +22 -21
- package/dist/node/tile/tile.module.js +3 -3
- package/dist/node/time-picker/time-picker.js +22 -21
- package/dist/node/time-picker/time-picker.module.js +5 -5
- package/dist/node/timeline/timeline.js +22 -16
- package/dist/node/toast/toast.js +15 -15
- package/dist/node/toc/toc.js +8 -8
- package/dist/node/toggle/toggle.js +15 -13
- package/dist/node/toggle-group/toggle-group.js +10 -10
- package/dist/node/toggletip/toggletip.js +9 -9
- package/dist/node/tooltip/tooltip.js +5 -5
- package/dist/node/tree-view/tree-view.js +32 -32
- package/dist/notification/notification.css +1 -1
- package/dist/notification/notification.js +50 -44
- package/dist/notification/notification.module.js +7 -7
- package/dist/number-input/number-input.css +1 -1
- package/dist/number-input/number-input.js +52 -50
- package/dist/number-input/number-input.module.js +8 -8
- package/dist/otp-input/otp-input.css +1 -1
- package/dist/otp-input/otp-input.js +8 -8
- package/dist/otp-input/otp-input.module.js +2 -2
- package/dist/overflow-menu/overflow-menu.js +18 -13
- package/dist/password-input/password-input.css +1 -1
- package/dist/password-input/password-input.js +28 -27
- package/dist/password-input/password-input.module.js +7 -7
- package/dist/popover/popover.js +26 -24
- package/dist/progress/progress.js +3 -2
- package/dist/pull-to-refresh/pull-to-refresh.js +13 -13
- package/dist/radial-progress/radial-progress.js +5 -5
- package/dist/radio/radio.js +23 -22
- package/dist/radio-card/radio-card.js +27 -26
- package/dist/react/src/index.js +4 -3
- package/dist/react/src/theme.js +30 -19
- package/dist/resizable/resizable.js +11 -11
- package/dist/scroll-area/scroll-area.js +4 -4
- package/dist/search/search.css +1 -1
- package/dist/search/search.js +49 -49
- package/dist/search/search.module.js +5 -5
- package/dist/select/select.js +27 -26
- package/dist/sheet/sheet.css +1 -1
- package/dist/sheet/sheet.js +11 -10
- package/dist/sheet/sheet.module.js +5 -5
- package/dist/side-nav/side-nav.js +91 -91
- package/dist/skip-nav/skip-nav.js +12 -12
- package/dist/slider/slider.js +13 -11
- package/dist/stat/stat.css +1 -1
- package/dist/stat/stat.js +6 -5
- package/dist/stat/stat.module.js +7 -7
- package/dist/status/status.js +18 -11
- package/dist/steps/steps.js +23 -23
- package/dist/structured-list/structured-list.js +33 -32
- package/dist/styles.css +87 -23
- package/dist/tabs/tabs.js +49 -47
- package/dist/tag/tag.js +22 -15
- package/dist/tags-input/tags-input.css +1 -1
- package/dist/tags-input/tags-input.js +35 -35
- package/dist/tags-input/tags-input.module.js +4 -4
- package/dist/textarea/textarea.js +22 -21
- package/dist/tile/tile.css +1 -1
- package/dist/tile/tile.module.js +3 -3
- package/dist/time-picker/time-picker.css +1 -1
- package/dist/time-picker/time-picker.js +22 -21
- package/dist/time-picker/time-picker.module.js +5 -5
- package/dist/timeline/timeline.js +22 -16
- package/dist/toast/toast.js +15 -15
- package/dist/toc/toc.js +8 -8
- package/dist/toggle/toggle.js +15 -13
- package/dist/toggle-group/toggle-group.js +10 -10
- package/dist/toggletip/toggletip.js +9 -9
- package/dist/tooltip/tooltip.js +5 -5
- package/dist/tree-view/tree-view.js +32 -32
- package/package.json +10 -4
package/dist/index.d.ts
CHANGED
|
@@ -21,12 +21,24 @@
|
|
|
21
21
|
* Docs: https://cascivo.com/llms.txt — or fully offline, no website needed:
|
|
22
22
|
* npx -y @cascivo/docs (index; `npx @cascivo/docs <component>` for one doc)
|
|
23
23
|
*/
|
|
24
|
-
import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, LinkComponent, LinkComponentProps, Machine, MachineConfig, Portal, Presence, RovingOrientation, Signal, Slot, SlotProps, SpaceStep, SuspenseBoundary, UseClipboardOptions, UseClipboardReturn, UseControllableSignalOptions, UseDisclosureOptions, UseDisclosureReturn, VisuallyHidden, VisuallyHiddenProps, batch, cn, composeRefs, computePosition, computed, createMachine, createScope, createStreamBuffer, effect, getLinkComponent, mergeProps, setLinkComponent, signal, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useId, useMachine, useMediaQuery, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTypeahead } from "@cascivo/core";
|
|
24
|
+
import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, LinkComponent, LinkComponentProps, Machine, MachineConfig, Portal, Presence, ProgressInput, RovingOrientation, Signal, Slot, SlotProps, SpaceStep, SuspenseBoundary, ToneInput, UseClipboardOptions, UseClipboardReturn, UseControllableSignalOptions, UseDisclosureOptions, UseDisclosureReturn, VisuallyHidden, VisuallyHiddenProps, batch, cn, composeRefs, computePosition, computed, createMachine, createScope, createStreamBuffer, effect, getLinkComponent, mergeProps, setLinkComponent, signal, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useId, useMachine, useMediaQuery, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTypeahead } from "@cascivo/core";
|
|
25
25
|
import { AnchorHTMLAttributes, ButtonHTMLAttributes, FormHTMLAttributes, HTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, LiHTMLAttributes, MouseEvent, ReactElement, ReactNode, RefObject, SelectHTMLAttributes, TextareaHTMLAttributes, TimeHTMLAttributes } from "react";
|
|
26
26
|
|
|
27
27
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
28
|
+
/**
|
|
29
|
+
* Selects the visual style variant.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `primary`
|
|
32
|
+
* @see the component manifest
|
|
33
|
+
*/
|
|
28
34
|
variant?: 'primary' | 'secondary' | 'ghost' | 'destructive';
|
|
29
35
|
size?: 'sm' | 'md' | 'lg';
|
|
36
|
+
/**
|
|
37
|
+
* When true, shows a loading state.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue `false`
|
|
40
|
+
* @see the component manifest
|
|
41
|
+
*/
|
|
30
42
|
loading?: boolean;
|
|
31
43
|
/**
|
|
32
44
|
* Render the single child element instead of a native `<button>` so the button
|
|
@@ -35,35 +47,42 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
35
47
|
*/
|
|
36
48
|
asChild?: boolean;
|
|
37
49
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
...props
|
|
47
|
-
}: ButtonProps): import("react").JSX.Element;
|
|
50
|
+
/**
|
|
51
|
+
* `forwardRef` so `ref` reaches the underlying `<button>` — and so it is TYPED. See
|
|
52
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10).
|
|
53
|
+
*
|
|
54
|
+
* Under `asChild` the ref goes to `Slot`, which composes it onto the child element, so a
|
|
55
|
+
* consumer's ref lands on whatever they rendered rather than being dropped.
|
|
56
|
+
*/
|
|
57
|
+
declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
48
58
|
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
49
59
|
label?: string;
|
|
50
60
|
hint?: string;
|
|
51
61
|
error?: string;
|
|
52
62
|
size?: 'sm' | 'md' | 'lg';
|
|
53
63
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
onBlur,
|
|
63
|
-
...props
|
|
64
|
-
}: InputProps): import("react").JSX.Element;
|
|
64
|
+
/**
|
|
65
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
66
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10): the ref already worked at
|
|
67
|
+
* runtime under React 19, but nothing declared it, so passing one was a `ts(2322)` and every
|
|
68
|
+
* consumer had to cast. `forwardRef` rather than a bare `ref?: Ref<T>` prop keeps the
|
|
69
|
+
* `react >= 18` peer floor honest, since ref-as-prop does not work there.
|
|
70
|
+
*/
|
|
71
|
+
declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
65
72
|
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
73
|
+
/**
|
|
74
|
+
* Selects the visual style variant.
|
|
75
|
+
*
|
|
76
|
+
* @defaultValue `default`
|
|
77
|
+
* @see the component manifest
|
|
78
|
+
*/
|
|
66
79
|
variant?: 'default' | 'outlined' | 'elevated';
|
|
80
|
+
/**
|
|
81
|
+
* Inner padding of the component.
|
|
82
|
+
*
|
|
83
|
+
* @defaultValue `md`
|
|
84
|
+
* @see the component manifest
|
|
85
|
+
*/
|
|
67
86
|
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
68
87
|
}
|
|
69
88
|
declare function Card({
|
|
@@ -109,8 +128,16 @@ declare function CardFooter({
|
|
|
109
128
|
children,
|
|
110
129
|
...props
|
|
111
130
|
}: CardFooterProps): import("react").JSX.Element;
|
|
131
|
+
/** Badge-only looks that aren't a severity tone. */
|
|
132
|
+
type BadgeShape = 'secondary' | 'outline' | 'primary';
|
|
112
133
|
interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
113
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Severity tone or badge-specific look. Accepts the catalog-wide `Tone` vocabulary
|
|
136
|
+
* (`neutral | info | success | warning | danger`) as well as Badge's historical spellings
|
|
137
|
+
* (`default`, `destructive`, `error`) — they are aliases of the same tones, so one domain
|
|
138
|
+
* enum can drive `Badge`, `Tag`, `Status` and `Notification` with no lookup table.
|
|
139
|
+
*/
|
|
140
|
+
variant?: ToneInput | BadgeShape;
|
|
114
141
|
size?: 'sm' | 'md';
|
|
115
142
|
}
|
|
116
143
|
declare function Badge({
|
|
@@ -121,14 +148,41 @@ declare function Badge({
|
|
|
121
148
|
...props
|
|
122
149
|
}: BadgeProps): import("react").JSX.Element;
|
|
123
150
|
interface ModalProps {
|
|
151
|
+
/**
|
|
152
|
+
* Whether the component is open (controlled).
|
|
153
|
+
*
|
|
154
|
+
* @defaultValue `false`
|
|
155
|
+
* @see the component manifest
|
|
156
|
+
*/
|
|
124
157
|
open?: boolean;
|
|
125
158
|
onClose?: () => void;
|
|
126
159
|
title?: string;
|
|
127
160
|
description?: string;
|
|
128
161
|
children?: ReactNode;
|
|
162
|
+
/**
|
|
163
|
+
* Dialog actions, rendered in a right-aligned row below the body and separated from it
|
|
164
|
+
* by a divider. Every consumer hand-rolled this before it existed.
|
|
165
|
+
*
|
|
166
|
+
* ```tsx
|
|
167
|
+
* <Modal open={open} title="Delete project" footer={
|
|
168
|
+
* <>
|
|
169
|
+
* <Button variant="ghost" onClick={close}>Cancel</Button>
|
|
170
|
+
* <Button variant="destructive" onClick={remove}>Delete</Button>
|
|
171
|
+
* </>
|
|
172
|
+
* }>
|
|
173
|
+
* …
|
|
174
|
+
* </Modal>
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
footer?: ReactNode;
|
|
129
178
|
className?: string;
|
|
130
179
|
size?: 'sm' | 'md' | 'lg';
|
|
131
|
-
/**
|
|
180
|
+
/**
|
|
181
|
+
* Allow dragging the dialog by its header
|
|
182
|
+
*
|
|
183
|
+
* @defaultValue `false`
|
|
184
|
+
* @see the component manifest
|
|
185
|
+
*/
|
|
132
186
|
draggable?: boolean;
|
|
133
187
|
}
|
|
134
188
|
declare function Modal({
|
|
@@ -137,12 +191,19 @@ declare function Modal({
|
|
|
137
191
|
title,
|
|
138
192
|
description,
|
|
139
193
|
children,
|
|
194
|
+
footer,
|
|
140
195
|
className,
|
|
141
196
|
size,
|
|
142
197
|
draggable
|
|
143
198
|
}: ModalProps): import("react").JSX.Element;
|
|
144
199
|
interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
|
|
145
200
|
size?: 'sm' | 'md' | 'lg';
|
|
201
|
+
/**
|
|
202
|
+
* Accessible label announced by screen readers
|
|
203
|
+
*
|
|
204
|
+
* @defaultValue `Loading`
|
|
205
|
+
* @see the component manifest
|
|
206
|
+
*/
|
|
146
207
|
label?: string;
|
|
147
208
|
}
|
|
148
209
|
declare function Spinner({
|
|
@@ -152,7 +213,19 @@ declare function Spinner({
|
|
|
152
213
|
...props
|
|
153
214
|
}: SpinnerProps): import("react").JSX.Element;
|
|
154
215
|
interface SeparatorProps extends HTMLAttributes<HTMLElement> {
|
|
216
|
+
/**
|
|
217
|
+
* Layout orientation of the component.
|
|
218
|
+
*
|
|
219
|
+
* @defaultValue `horizontal`
|
|
220
|
+
* @see the component manifest
|
|
221
|
+
*/
|
|
155
222
|
orientation?: 'horizontal' | 'vertical';
|
|
223
|
+
/**
|
|
224
|
+
* When true, the separator is purely visual and hidden from assistive tech
|
|
225
|
+
*
|
|
226
|
+
* @defaultValue `false`
|
|
227
|
+
* @see the component manifest
|
|
228
|
+
*/
|
|
156
229
|
decorative?: boolean;
|
|
157
230
|
}
|
|
158
231
|
declare function Separator({
|
|
@@ -162,9 +235,21 @@ declare function Separator({
|
|
|
162
235
|
...props
|
|
163
236
|
}: SeparatorProps): import("react").JSX.Element;
|
|
164
237
|
interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
238
|
+
/**
|
|
239
|
+
* Selects the visual style variant.
|
|
240
|
+
*
|
|
241
|
+
* @defaultValue `default`
|
|
242
|
+
* @see the component manifest
|
|
243
|
+
*/
|
|
165
244
|
variant?: 'default' | 'info' | 'success' | 'warning' | 'destructive';
|
|
166
245
|
title?: string;
|
|
167
246
|
icon?: ReactNode;
|
|
247
|
+
/**
|
|
248
|
+
* When true, shows a control to dismiss the component.
|
|
249
|
+
*
|
|
250
|
+
* @defaultValue `false`
|
|
251
|
+
* @see the component manifest
|
|
252
|
+
*/
|
|
168
253
|
dismissible?: boolean;
|
|
169
254
|
onDismiss?: () => void;
|
|
170
255
|
action?: {
|
|
@@ -185,6 +270,12 @@ declare function Alert({
|
|
|
185
270
|
}: AlertProps): import("react").JSX.Element | null;
|
|
186
271
|
interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
|
|
187
272
|
src?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Alternative text describing the image.
|
|
275
|
+
*
|
|
276
|
+
* @defaultValue ``
|
|
277
|
+
* @see the component manifest
|
|
278
|
+
*/
|
|
188
279
|
alt?: string;
|
|
189
280
|
/** Full name — used to derive initials for the fallback and as the accessible label. */
|
|
190
281
|
name?: string;
|
|
@@ -212,9 +303,19 @@ interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
212
303
|
max?: number;
|
|
213
304
|
/** Override the total count used for the +N chip (when more exist than rendered). */
|
|
214
305
|
total?: number;
|
|
215
|
-
/**
|
|
306
|
+
/**
|
|
307
|
+
* Spacing between items.
|
|
308
|
+
*
|
|
309
|
+
* @defaultValue `md`
|
|
310
|
+
* @see the component manifest
|
|
311
|
+
*/
|
|
216
312
|
spacing?: 'sm' | 'md' | 'lg';
|
|
217
|
-
/**
|
|
313
|
+
/**
|
|
314
|
+
* When true, lays the avatars out in a grid instead of an overlapping stack.
|
|
315
|
+
*
|
|
316
|
+
* @defaultValue `false`
|
|
317
|
+
* @see the component manifest
|
|
318
|
+
*/
|
|
218
319
|
isGrid?: boolean;
|
|
219
320
|
labels?: AvatarGroupLabels;
|
|
220
321
|
/** The <Avatar> children. */
|
|
@@ -252,17 +353,38 @@ declare function User({
|
|
|
252
353
|
}: UserProps): import("react").JSX.Element;
|
|
253
354
|
interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'placeholder'> {
|
|
254
355
|
src?: string;
|
|
356
|
+
/**
|
|
357
|
+
* Alternative text describing the image.
|
|
358
|
+
*
|
|
359
|
+
* @defaultValue ``
|
|
360
|
+
* @see the component manifest
|
|
361
|
+
*/
|
|
255
362
|
alt?: string;
|
|
256
363
|
/** Image shown if `src` fails to load. Without it, a neutral fallback box renders. */
|
|
257
364
|
fallbackSrc?: string;
|
|
258
365
|
width?: string | number;
|
|
259
366
|
height?: string | number;
|
|
260
367
|
radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
261
|
-
/**
|
|
368
|
+
/**
|
|
369
|
+
* When true, zooms the image on hover.
|
|
370
|
+
*
|
|
371
|
+
* @defaultValue `false`
|
|
372
|
+
* @see the component manifest
|
|
373
|
+
*/
|
|
262
374
|
zoom?: boolean;
|
|
263
|
-
/**
|
|
375
|
+
/**
|
|
376
|
+
* Render a bare <img> with no wrapper, placeholder, or zoom
|
|
377
|
+
*
|
|
378
|
+
* @defaultValue `false`
|
|
379
|
+
* @see the component manifest
|
|
380
|
+
*/
|
|
264
381
|
removeWrapper?: boolean;
|
|
265
|
-
/**
|
|
382
|
+
/**
|
|
383
|
+
* When true, renders a blurred backdrop behind the image.
|
|
384
|
+
*
|
|
385
|
+
* @defaultValue `false`
|
|
386
|
+
* @see the component manifest
|
|
387
|
+
*/
|
|
266
388
|
isBlurred?: boolean;
|
|
267
389
|
}
|
|
268
390
|
declare function Image({
|
|
@@ -285,21 +407,30 @@ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
|
285
407
|
error?: string;
|
|
286
408
|
resize?: 'none' | 'vertical' | 'both';
|
|
287
409
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
410
|
+
/**
|
|
411
|
+
* `forwardRef` so `ref` reaches the underlying `<textarea>` — and so it is TYPED.
|
|
412
|
+
*
|
|
413
|
+
* Under React 19 the ref already arrived at runtime (it is passed as an ordinary prop and
|
|
414
|
+
* spread onto the element), but no component declared it, so `<Textarea ref={r} />` was a
|
|
415
|
+
* `ts(2322)` and every consumer needing the element had to cast. One needed it for caret
|
|
416
|
+
* restoration in a collaborative editor and kept the cast quarantined in its own file
|
|
417
|
+
* (2026-07-28 report C10).
|
|
418
|
+
*
|
|
419
|
+
* `forwardRef` rather than adding `ref?: Ref<T>` to the props interface: the peer floor is
|
|
420
|
+
* `react >= 18`, where ref-as-prop does NOT work — a bare type declaration would compile
|
|
421
|
+
* and silently hand back `null` there. This keeps the floor honest on both majors, and
|
|
422
|
+
* matches `IconButton`, which already used it.
|
|
423
|
+
*/
|
|
424
|
+
declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
300
425
|
interface SelectOption {
|
|
301
426
|
value: string;
|
|
302
427
|
label: string;
|
|
428
|
+
/**
|
|
429
|
+
* When true, disables the control and removes it from the tab order.
|
|
430
|
+
*
|
|
431
|
+
* @defaultValue `false`
|
|
432
|
+
* @see the component manifest
|
|
433
|
+
*/
|
|
303
434
|
disabled?: boolean;
|
|
304
435
|
}
|
|
305
436
|
interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
@@ -310,45 +441,44 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'siz
|
|
|
310
441
|
options: SelectOption[];
|
|
311
442
|
size?: 'sm' | 'md' | 'lg';
|
|
312
443
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
className,
|
|
321
|
-
id,
|
|
322
|
-
defaultValue,
|
|
323
|
-
value,
|
|
324
|
-
onFocus,
|
|
325
|
-
onBlur,
|
|
326
|
-
...props
|
|
327
|
-
}: SelectProps): import("react").JSX.Element;
|
|
444
|
+
/**
|
|
445
|
+
* `forwardRef` so `ref` reaches the underlying `<select>` — and so it is TYPED. See
|
|
446
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). `forwardRef` rather than a
|
|
447
|
+
* bare `ref?: Ref<T>` prop keeps the `react >= 18` peer floor honest, since ref-as-prop does
|
|
448
|
+
* not work there.
|
|
449
|
+
*/
|
|
450
|
+
declare const Select: import("react").ForwardRefExoticComponent<SelectProps & import("react").RefAttributes<HTMLSelectElement>>;
|
|
328
451
|
interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
329
452
|
label?: string;
|
|
453
|
+
/**
|
|
454
|
+
* When true, renders the mixed/indeterminate state.
|
|
455
|
+
*
|
|
456
|
+
* @defaultValue `false`
|
|
457
|
+
* @see the component manifest
|
|
458
|
+
*/
|
|
330
459
|
indeterminate?: boolean;
|
|
331
460
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
461
|
+
/**
|
|
462
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
463
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10): the ref already worked at
|
|
464
|
+
* runtime under React 19, but nothing declared it, so passing one was a `ts(2322)` and every
|
|
465
|
+
* consumer had to cast. `forwardRef` rather than a bare `ref?: Ref<T>` prop keeps the
|
|
466
|
+
* `react >= 18` peer floor honest, since ref-as-prop does not work there.
|
|
467
|
+
*/
|
|
468
|
+
declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
340
469
|
interface RadioProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
341
470
|
label?: string;
|
|
342
471
|
value: string;
|
|
343
472
|
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
473
|
+
/**
|
|
474
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
475
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). `forwardRef` rather than a
|
|
476
|
+
* bare `ref?: Ref<T>` prop keeps the `react >= 18` peer floor honest, since ref-as-prop does
|
|
477
|
+
* not work there.
|
|
478
|
+
*
|
|
479
|
+
* Only `Radio` is wrapped; `RadioGroup` below is a layout container with no single host.
|
|
480
|
+
*/
|
|
481
|
+
declare const Radio: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
352
482
|
interface RadioGroupProps {
|
|
353
483
|
name: string;
|
|
354
484
|
value?: string;
|
|
@@ -369,6 +499,12 @@ declare function RadioGroup({
|
|
|
369
499
|
}: RadioGroupProps): import("react").JSX.Element;
|
|
370
500
|
interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
|
|
371
501
|
checked?: boolean;
|
|
502
|
+
/**
|
|
503
|
+
* Whether the control is checked on first render (uncontrolled).
|
|
504
|
+
*
|
|
505
|
+
* @defaultValue `false`
|
|
506
|
+
* @see the component manifest
|
|
507
|
+
*/
|
|
372
508
|
defaultChecked?: boolean;
|
|
373
509
|
/** Called with the new checked state when the switch is toggled. */
|
|
374
510
|
onValueChange?: (checked: boolean) => void;
|
|
@@ -383,34 +519,39 @@ interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onC
|
|
|
383
519
|
label?: string;
|
|
384
520
|
size?: 'sm' | 'md';
|
|
385
521
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
className,
|
|
394
|
-
disabled,
|
|
395
|
-
...props
|
|
396
|
-
}: ToggleProps): import("react").JSX.Element;
|
|
522
|
+
/**
|
|
523
|
+
* `forwardRef` so `ref` reaches the underlying `<button>` — and so it is TYPED. See
|
|
524
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). `forwardRef` rather than a
|
|
525
|
+
* bare `ref?: Ref<T>` prop keeps the `react >= 18` peer floor honest, since ref-as-prop does
|
|
526
|
+
* not work there.
|
|
527
|
+
*/
|
|
528
|
+
declare const Toggle: import("react").ForwardRefExoticComponent<ToggleProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
397
529
|
interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
398
530
|
label?: string;
|
|
399
531
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
disabled,
|
|
408
|
-
...props
|
|
409
|
-
}: SliderProps): import("react").JSX.Element;
|
|
532
|
+
/**
|
|
533
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
534
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). `forwardRef` rather than a
|
|
535
|
+
* bare `ref?: Ref<T>` prop keeps the `react >= 18` peer floor honest, since ref-as-prop does
|
|
536
|
+
* not work there.
|
|
537
|
+
*/
|
|
538
|
+
declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
410
539
|
interface TooltipProps {
|
|
411
540
|
content: ReactNode;
|
|
541
|
+
/**
|
|
542
|
+
* Placement relative to the trigger.
|
|
543
|
+
*
|
|
544
|
+
* @defaultValue `top`
|
|
545
|
+
* @see the component manifest
|
|
546
|
+
*/
|
|
412
547
|
placement?: 'top' | 'right' | 'bottom' | 'left';
|
|
413
548
|
children: ReactElement;
|
|
549
|
+
/**
|
|
550
|
+
* Milliseconds to wait before showing
|
|
551
|
+
*
|
|
552
|
+
* @defaultValue `200`
|
|
553
|
+
* @see the component manifest
|
|
554
|
+
*/
|
|
414
555
|
delay?: number;
|
|
415
556
|
}
|
|
416
557
|
declare function Tooltip({
|
|
@@ -430,6 +571,12 @@ interface DropdownProps {
|
|
|
430
571
|
trigger: ReactElement;
|
|
431
572
|
items: DropdownItem[];
|
|
432
573
|
onSelect?: (value: string) => void;
|
|
574
|
+
/**
|
|
575
|
+
* Placement relative to the trigger.
|
|
576
|
+
*
|
|
577
|
+
* @defaultValue `bottom-start`
|
|
578
|
+
* @see the component manifest
|
|
579
|
+
*/
|
|
433
580
|
placement?: 'bottom-start' | 'bottom-end';
|
|
434
581
|
open?: boolean;
|
|
435
582
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -446,7 +593,19 @@ type ToastVariant = 'default' | 'success' | 'warning' | 'destructive';
|
|
|
446
593
|
interface ToastOptions {
|
|
447
594
|
title: string;
|
|
448
595
|
description?: string;
|
|
596
|
+
/**
|
|
597
|
+
* Selects the visual style variant.
|
|
598
|
+
*
|
|
599
|
+
* @defaultValue `default`
|
|
600
|
+
* @see the component manifest
|
|
601
|
+
*/
|
|
449
602
|
variant?: ToastVariant;
|
|
603
|
+
/**
|
|
604
|
+
* How long (ms) the toast stays visible before auto-dismiss.
|
|
605
|
+
*
|
|
606
|
+
* @defaultValue `5000`
|
|
607
|
+
* @see the component manifest
|
|
608
|
+
*/
|
|
450
609
|
duration?: number;
|
|
451
610
|
}
|
|
452
611
|
declare function enqueue(options: ToastOptions): void;
|
|
@@ -494,7 +653,12 @@ interface TabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
|
494
653
|
value: string;
|
|
495
654
|
disabled?: boolean;
|
|
496
655
|
}
|
|
497
|
-
|
|
656
|
+
/**
|
|
657
|
+
* `forwardRef` so `ref` reaches the tab `<button>` — see `textarea.tsx` for the full
|
|
658
|
+
* rationale (2026-07-28 report C10). Threaded through the private Inner, which owns the
|
|
659
|
+
* button. Roving-focus navs need a real element here, so this is not cosmetic.
|
|
660
|
+
*/
|
|
661
|
+
declare const TabsTrigger: import("react").ForwardRefExoticComponent<TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
498
662
|
interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
499
663
|
value: string;
|
|
500
664
|
}
|
|
@@ -524,7 +688,12 @@ declare function AccordionItem({
|
|
|
524
688
|
children,
|
|
525
689
|
...props
|
|
526
690
|
}: AccordionItemProps): import("react").JSX.Element;
|
|
527
|
-
|
|
691
|
+
/**
|
|
692
|
+
* `forwardRef` so `ref` reaches the trigger `<button>` — see `textarea.tsx` for the full
|
|
693
|
+
* rationale (2026-07-28 report C10). The ref is threaded through the private Inner, which is
|
|
694
|
+
* where the button actually lives.
|
|
695
|
+
*/
|
|
696
|
+
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
528
697
|
declare function AccordionContent(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
529
698
|
interface ActionSheetAction {
|
|
530
699
|
label: ReactNode;
|
|
@@ -546,7 +715,12 @@ interface ActionSheetProps {
|
|
|
546
715
|
title?: ReactNode;
|
|
547
716
|
/** Optional supporting message under the title. */
|
|
548
717
|
description?: ReactNode;
|
|
549
|
-
/**
|
|
718
|
+
/**
|
|
719
|
+
* When true, shows a cancel button below the actions.
|
|
720
|
+
*
|
|
721
|
+
* @defaultValue `true`
|
|
722
|
+
* @see the component manifest
|
|
723
|
+
*/
|
|
550
724
|
showCancel?: boolean;
|
|
551
725
|
labels?: {
|
|
552
726
|
cancel?: string;
|
|
@@ -582,18 +756,39 @@ declare function Kbd({
|
|
|
582
756
|
...props
|
|
583
757
|
}: KbdProps): import("react").JSX.Element;
|
|
584
758
|
interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
759
|
+
/**
|
|
760
|
+
* `standalone` (default) owns its own typography and underlines on hover;
|
|
761
|
+
* `inline` inherits the surrounding prose font and is always underlined.
|
|
762
|
+
*/
|
|
585
763
|
variant?: 'standalone' | 'inline';
|
|
586
764
|
size?: 'sm' | 'md' | 'lg';
|
|
765
|
+
/**
|
|
766
|
+
* When true, treats the link as external (opens in a new tab with rel safety).
|
|
767
|
+
*
|
|
768
|
+
* @defaultValue `false`
|
|
769
|
+
* @see the component manifest
|
|
770
|
+
*/
|
|
587
771
|
external?: boolean;
|
|
772
|
+
/**
|
|
773
|
+
* Render the single child element instead of cascivo's own `<a>`, so the link
|
|
774
|
+
* styling lands on your router's `Link`. **This is the supported way to style an
|
|
775
|
+
* in-content router link** — `setLinkComponent` only covers the config-driven nav
|
|
776
|
+
* components (SideNav, ShellHeader, Breadcrumb, …), not links you write in page
|
|
777
|
+
* content. See `docs/USING-WITH-A-ROUTER.md`.
|
|
778
|
+
*
|
|
779
|
+
* ```tsx
|
|
780
|
+
* <Link asChild><RouterLink to="/projects/a">Project A</RouterLink></Link>
|
|
781
|
+
* ```
|
|
782
|
+
*/
|
|
783
|
+
asChild?: boolean;
|
|
588
784
|
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
}: LinkProps): import("react").JSX.Element;
|
|
785
|
+
/**
|
|
786
|
+
* `forwardRef` so `ref` reaches the underlying `<a>` — and so it is TYPED. See
|
|
787
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). `forwardRef` rather than a
|
|
788
|
+
* bare `ref?: Ref<T>` prop keeps the `react >= 18` peer floor honest, since ref-as-prop does
|
|
789
|
+
* not work there.
|
|
790
|
+
*/
|
|
791
|
+
declare const Link: import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
597
792
|
interface BreadcrumbItem {
|
|
598
793
|
label: string;
|
|
599
794
|
href?: string;
|
|
@@ -602,7 +797,12 @@ interface BreadcrumbProps {
|
|
|
602
797
|
items: BreadcrumbItem[];
|
|
603
798
|
maxVisible?: number;
|
|
604
799
|
className?: string;
|
|
605
|
-
/**
|
|
800
|
+
/**
|
|
801
|
+
* Accessible label for the component.
|
|
802
|
+
*
|
|
803
|
+
* @defaultValue `Breadcrumb`
|
|
804
|
+
* @see the component manifest
|
|
805
|
+
*/
|
|
606
806
|
ariaLabel?: string;
|
|
607
807
|
}
|
|
608
808
|
declare function Breadcrumb({
|
|
@@ -664,6 +864,12 @@ interface HeaderProps extends HTMLAttributes<HTMLElement> {
|
|
|
664
864
|
brand?: ReactNode;
|
|
665
865
|
links?: HeaderLink[];
|
|
666
866
|
actions?: ReactNode;
|
|
867
|
+
/**
|
|
868
|
+
* When true, the header sticks to the top on scroll.
|
|
869
|
+
*
|
|
870
|
+
* @defaultValue `false`
|
|
871
|
+
* @see the component manifest
|
|
872
|
+
*/
|
|
667
873
|
sticky?: boolean;
|
|
668
874
|
labels?: HeaderLabels;
|
|
669
875
|
}
|
|
@@ -763,12 +969,48 @@ interface SideNavProps {
|
|
|
763
969
|
items?: SideNavItem[];
|
|
764
970
|
groups?: SideNavGroup[];
|
|
765
971
|
collapsed?: boolean;
|
|
972
|
+
/**
|
|
973
|
+
* Whether the rail is collapsed on first render (uncontrolled).
|
|
974
|
+
*
|
|
975
|
+
* @defaultValue `false`
|
|
976
|
+
* @see the component manifest
|
|
977
|
+
*/
|
|
766
978
|
defaultCollapsed?: boolean;
|
|
767
979
|
onCollapsedChange?: (collapsed: boolean) => void;
|
|
980
|
+
/**
|
|
981
|
+
* Accessible label for the component.
|
|
982
|
+
*
|
|
983
|
+
* @defaultValue `Side navigation`
|
|
984
|
+
* @see the component manifest
|
|
985
|
+
*/
|
|
768
986
|
ariaLabel?: string;
|
|
987
|
+
/**
|
|
988
|
+
* Accessible label for the collapse control.
|
|
989
|
+
*
|
|
990
|
+
* @defaultValue `Collapse navigation`
|
|
991
|
+
* @see the component manifest
|
|
992
|
+
*/
|
|
769
993
|
collapseLabel?: string;
|
|
994
|
+
/**
|
|
995
|
+
* Accessible label for the expand control.
|
|
996
|
+
*
|
|
997
|
+
* @defaultValue `Expand navigation`
|
|
998
|
+
* @see the component manifest
|
|
999
|
+
*/
|
|
770
1000
|
expandLabel?: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* Widens the rail as an overlay on hover/focus-within; suppresses tooltips/flyouts
|
|
1003
|
+
*
|
|
1004
|
+
* @defaultValue `false`
|
|
1005
|
+
* @see the component manifest
|
|
1006
|
+
*/
|
|
771
1007
|
expandOnHover?: boolean;
|
|
1008
|
+
/**
|
|
1009
|
+
* Show the collapse/expand toggle control.
|
|
1010
|
+
*
|
|
1011
|
+
* @defaultValue `true`
|
|
1012
|
+
* @see the component manifest
|
|
1013
|
+
*/
|
|
772
1014
|
showCollapseToggle?: boolean;
|
|
773
1015
|
/** Content rendered above the items, inside the item padding context. */
|
|
774
1016
|
header?: ReactNode;
|
|
@@ -804,6 +1046,12 @@ interface PaginationProps {
|
|
|
804
1046
|
totalItems: number;
|
|
805
1047
|
onPageChange: (page: number) => void;
|
|
806
1048
|
onPageSizeChange?: (size: number) => void;
|
|
1049
|
+
/**
|
|
1050
|
+
* Options for the page size select
|
|
1051
|
+
*
|
|
1052
|
+
* @defaultValue `[10, 25, 50, 100]`
|
|
1053
|
+
* @see the component manifest
|
|
1054
|
+
*/
|
|
807
1055
|
pageSizeOptions?: number[];
|
|
808
1056
|
labels?: PaginationLabels;
|
|
809
1057
|
className?: string;
|
|
@@ -825,6 +1073,12 @@ interface ProgressStep {
|
|
|
825
1073
|
interface ProgressIndicatorProps {
|
|
826
1074
|
steps: ProgressStep[];
|
|
827
1075
|
currentIndex: number;
|
|
1076
|
+
/**
|
|
1077
|
+
* When true, lays the steps out vertically.
|
|
1078
|
+
*
|
|
1079
|
+
* @defaultValue `false`
|
|
1080
|
+
* @see the component manifest
|
|
1081
|
+
*/
|
|
828
1082
|
vertical?: boolean;
|
|
829
1083
|
className?: string;
|
|
830
1084
|
}
|
|
@@ -835,9 +1089,20 @@ declare function ProgressIndicator({
|
|
|
835
1089
|
className
|
|
836
1090
|
}: ProgressIndicatorProps): import("react").JSX.Element;
|
|
837
1091
|
interface TagProps extends HTMLAttributes<HTMLSpanElement> {
|
|
838
|
-
|
|
1092
|
+
/**
|
|
1093
|
+
* Severity tone. Accepts the catalog-wide `Tone` vocabulary
|
|
1094
|
+
* (`neutral | info | success | warning | danger`) plus Tag's historical spellings
|
|
1095
|
+
* (`default`, `error`, `destructive`).
|
|
1096
|
+
*/
|
|
1097
|
+
variant?: ToneInput;
|
|
839
1098
|
size?: 'sm' | 'md';
|
|
840
1099
|
onDismiss?: () => void;
|
|
1100
|
+
/**
|
|
1101
|
+
* Accessible label for the dismiss button.
|
|
1102
|
+
*
|
|
1103
|
+
* @defaultValue `Remove`
|
|
1104
|
+
* @see the component manifest
|
|
1105
|
+
*/
|
|
841
1106
|
dismissLabel?: string;
|
|
842
1107
|
}
|
|
843
1108
|
declare function Tag({
|
|
@@ -850,9 +1115,21 @@ declare function Tag({
|
|
|
850
1115
|
...props
|
|
851
1116
|
}: TagProps): import("react").JSX.Element;
|
|
852
1117
|
interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
1118
|
+
/**
|
|
1119
|
+
* Selects the visual style variant.
|
|
1120
|
+
*
|
|
1121
|
+
* @defaultValue `text`
|
|
1122
|
+
* @see the component manifest
|
|
1123
|
+
*/
|
|
853
1124
|
variant?: 'text' | 'circle' | 'rect';
|
|
854
1125
|
width?: string;
|
|
855
1126
|
height?: string;
|
|
1127
|
+
/**
|
|
1128
|
+
* Number of bars for the text variant; the last bar renders shorter
|
|
1129
|
+
*
|
|
1130
|
+
* @defaultValue `1`
|
|
1131
|
+
* @see the component manifest
|
|
1132
|
+
*/
|
|
856
1133
|
lines?: number;
|
|
857
1134
|
}
|
|
858
1135
|
declare function Skeleton({
|
|
@@ -867,10 +1144,22 @@ declare function Skeleton({
|
|
|
867
1144
|
interface ProgressBarProps {
|
|
868
1145
|
/** Current value from 0 to max. Omit for an indeterminate bar. */
|
|
869
1146
|
value?: number;
|
|
1147
|
+
/**
|
|
1148
|
+
* Maximum allowed value.
|
|
1149
|
+
*
|
|
1150
|
+
* @defaultValue `100`
|
|
1151
|
+
* @see the component manifest
|
|
1152
|
+
*/
|
|
870
1153
|
max?: number;
|
|
871
1154
|
label?: string;
|
|
872
1155
|
helperText?: string;
|
|
873
1156
|
size?: 'sm' | 'md';
|
|
1157
|
+
/**
|
|
1158
|
+
* success/error tint the fill and show a glyph next to the label
|
|
1159
|
+
*
|
|
1160
|
+
* @defaultValue `active`
|
|
1161
|
+
* @see the component manifest
|
|
1162
|
+
*/
|
|
874
1163
|
status?: 'active' | 'success' | 'error';
|
|
875
1164
|
className?: string;
|
|
876
1165
|
}
|
|
@@ -917,7 +1206,12 @@ interface FabProps {
|
|
|
917
1206
|
onClick?: () => void;
|
|
918
1207
|
/** Speed-dial actions revealed above the button when opened. */
|
|
919
1208
|
actions?: FabAction[];
|
|
920
|
-
/**
|
|
1209
|
+
/**
|
|
1210
|
+
* Position of the component.
|
|
1211
|
+
*
|
|
1212
|
+
* @defaultValue `bottom-end`
|
|
1213
|
+
* @see the component manifest
|
|
1214
|
+
*/
|
|
921
1215
|
position?: 'bottom-end' | 'bottom-start';
|
|
922
1216
|
/** Controlled speed-dial open state. */
|
|
923
1217
|
open?: boolean;
|
|
@@ -947,15 +1241,41 @@ declare function Fab({
|
|
|
947
1241
|
}: FabProps): import("react").JSX.Element;
|
|
948
1242
|
interface OverflowMenuItem {
|
|
949
1243
|
label: string;
|
|
950
|
-
|
|
1244
|
+
/**
|
|
1245
|
+
* Item identity — what `onSelect` receives. `value` is the catalog convention for the
|
|
1246
|
+
* identity of an item in a collection (see the accessible-name/item-identity table in
|
|
1247
|
+
* `docs/AI-RULES.md`); `id` is accepted as an alias because `CommandMenu`-shaped `id`
|
|
1248
|
+
* is the common wrong guess and cost an adopter a compile round-trip. Pass either.
|
|
1249
|
+
*/
|
|
1250
|
+
value?: string;
|
|
1251
|
+
/** Alias of {@link OverflowMenuItem.value}. Exactly one of the two is required. */
|
|
1252
|
+
id?: string;
|
|
951
1253
|
icon?: ReactNode;
|
|
1254
|
+
/**
|
|
1255
|
+
* When true, disables the control and removes it from the tab order.
|
|
1256
|
+
*
|
|
1257
|
+
* @defaultValue `false`
|
|
1258
|
+
* @see the component manifest
|
|
1259
|
+
*/
|
|
952
1260
|
disabled?: boolean;
|
|
953
1261
|
destructive?: boolean;
|
|
954
1262
|
}
|
|
955
1263
|
interface OverflowMenuProps {
|
|
956
1264
|
items: OverflowMenuItem[];
|
|
957
1265
|
onSelect?: (value: string) => void;
|
|
1266
|
+
/**
|
|
1267
|
+
* Placement relative to the trigger.
|
|
1268
|
+
*
|
|
1269
|
+
* @defaultValue `bottom-end`
|
|
1270
|
+
* @see the component manifest
|
|
1271
|
+
*/
|
|
958
1272
|
placement?: 'bottom-start' | 'bottom-end';
|
|
1273
|
+
/**
|
|
1274
|
+
* Accessible label for the component.
|
|
1275
|
+
*
|
|
1276
|
+
* @defaultValue `More actions`
|
|
1277
|
+
* @see the component manifest
|
|
1278
|
+
*/
|
|
959
1279
|
ariaLabel?: string;
|
|
960
1280
|
size?: 'sm' | 'md';
|
|
961
1281
|
disabled?: boolean;
|
|
@@ -978,11 +1298,44 @@ interface SearchProps {
|
|
|
978
1298
|
/** @deprecated Use `onValueChange` — it receives the same string. */
|
|
979
1299
|
onChange?: (value: string) => void;
|
|
980
1300
|
onSearch?: (value: string) => void;
|
|
1301
|
+
/**
|
|
1302
|
+
* Debounce delay (ms) before onSearch fires.
|
|
1303
|
+
*
|
|
1304
|
+
* @defaultValue `300`
|
|
1305
|
+
* @see the component manifest
|
|
1306
|
+
*/
|
|
981
1307
|
debounceMs?: number;
|
|
1308
|
+
/**
|
|
1309
|
+
* Placeholder text shown when the field is empty.
|
|
1310
|
+
*
|
|
1311
|
+
* @defaultValue `Search`
|
|
1312
|
+
* @see the component manifest
|
|
1313
|
+
*/
|
|
982
1314
|
placeholder?: string;
|
|
983
1315
|
size?: 'sm' | 'md' | 'lg';
|
|
1316
|
+
/**
|
|
1317
|
+
* Accessible name for the control. Rendered as a real `<label>` that is **visually
|
|
1318
|
+
* hidden** by design — it changes the accessible name, not the visible UI. If you can see
|
|
1319
|
+
* it, the component stylesheet did not load (import `@cascivo/react/styles.css` or the
|
|
1320
|
+
* per-component CSS).
|
|
1321
|
+
*
|
|
1322
|
+
* @defaultValue `Search`
|
|
1323
|
+
* @see the component manifest
|
|
1324
|
+
*/
|
|
984
1325
|
label?: string;
|
|
1326
|
+
/**
|
|
1327
|
+
* When true, disables the control and removes it from the tab order.
|
|
1328
|
+
*
|
|
1329
|
+
* @defaultValue `false`
|
|
1330
|
+
* @see the component manifest
|
|
1331
|
+
*/
|
|
985
1332
|
disabled?: boolean;
|
|
1333
|
+
/**
|
|
1334
|
+
* Accessible label for the clear button.
|
|
1335
|
+
*
|
|
1336
|
+
* @defaultValue `Clear search`
|
|
1337
|
+
* @see the component manifest
|
|
1338
|
+
*/
|
|
986
1339
|
clearLabel?: string;
|
|
987
1340
|
id?: string;
|
|
988
1341
|
className?: string;
|
|
@@ -1011,6 +1364,12 @@ interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, '
|
|
|
1011
1364
|
onChange?: (value: number | null) => void;
|
|
1012
1365
|
min?: number;
|
|
1013
1366
|
max?: number;
|
|
1367
|
+
/**
|
|
1368
|
+
* Increment between allowed values.
|
|
1369
|
+
*
|
|
1370
|
+
* @defaultValue `1`
|
|
1371
|
+
* @see the component manifest
|
|
1372
|
+
*/
|
|
1014
1373
|
step?: number;
|
|
1015
1374
|
precision?: number;
|
|
1016
1375
|
formatOptions?: Intl.NumberFormatOptions;
|
|
@@ -1018,40 +1377,51 @@ interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, '
|
|
|
1018
1377
|
hint?: string;
|
|
1019
1378
|
error?: string;
|
|
1020
1379
|
size?: 'sm' | 'md' | 'lg';
|
|
1380
|
+
/**
|
|
1381
|
+
* Accessible label for the increment button.
|
|
1382
|
+
*
|
|
1383
|
+
* @defaultValue `Increment`
|
|
1384
|
+
* @see the component manifest
|
|
1385
|
+
*/
|
|
1021
1386
|
incrementLabel?: string;
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
size,
|
|
1038
|
-
disabled,
|
|
1039
|
-
incrementLabel,
|
|
1040
|
-
decrementLabel,
|
|
1041
|
-
className,
|
|
1042
|
-
id,
|
|
1043
|
-
onFocus,
|
|
1044
|
-
onBlur,
|
|
1045
|
-
onKeyDown,
|
|
1046
|
-
...props
|
|
1047
|
-
}: NumberInputProps): import("react").JSX.Element;
|
|
1387
|
+
/**
|
|
1388
|
+
* Accessible label for the decrement button.
|
|
1389
|
+
*
|
|
1390
|
+
* @defaultValue `Decrement`
|
|
1391
|
+
* @see the component manifest
|
|
1392
|
+
*/
|
|
1393
|
+
decrementLabel?: string;
|
|
1394
|
+
}
|
|
1395
|
+
/**
|
|
1396
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
1397
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
1398
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
1399
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
1400
|
+
*/
|
|
1401
|
+
declare const NumberInput: import("react").ForwardRefExoticComponent<NumberInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1048
1402
|
interface Column<Row> {
|
|
1049
1403
|
key: string;
|
|
1050
1404
|
header: string;
|
|
1051
1405
|
sortable?: boolean;
|
|
1052
1406
|
render?: (row: Row) => ReactNode;
|
|
1053
1407
|
align?: 'start' | 'end';
|
|
1408
|
+
/**
|
|
1409
|
+
* Preferred column width, any CSS length (`'8rem'`, `'120px'`, `'12%'`). Set it on
|
|
1410
|
+
* identifier-shaped columns (commit hashes, IDs, timestamps) — default sizing doesn't
|
|
1411
|
+
* consider content shape, so a hash wraps mid-hash.
|
|
1412
|
+
*
|
|
1413
|
+
* **Mixing sized and unsized columns is supported**: unsized columns absorb the
|
|
1414
|
+
* remaining width and never collapse below their content. Only when *every* column
|
|
1415
|
+
* declares a width does the table switch to a fixed layout (which keeps widths
|
|
1416
|
+
* identical across pages); otherwise widths are preferred sizes, not hard ones.
|
|
1417
|
+
*/
|
|
1054
1418
|
width?: string;
|
|
1419
|
+
/**
|
|
1420
|
+
* Floor for the column's width, any CSS length. Use it on a free-form column
|
|
1421
|
+
* (a commit message, a description) that must stay readable when the table is narrow —
|
|
1422
|
+
* the table then scrolls horizontally rather than squeezing the column to nothing.
|
|
1423
|
+
*/
|
|
1424
|
+
minWidth?: string;
|
|
1055
1425
|
}
|
|
1056
1426
|
type SortDirection = 'asc' | 'desc';
|
|
1057
1427
|
interface SortState {
|
|
@@ -1076,6 +1446,12 @@ interface DataTableProps<Row> {
|
|
|
1076
1446
|
defaultSort?: SortState;
|
|
1077
1447
|
sortMode?: 'client' | 'server';
|
|
1078
1448
|
onSortChange?: (sort: SortState | undefined) => void;
|
|
1449
|
+
/**
|
|
1450
|
+
* When true, shows a search/filter input.
|
|
1451
|
+
*
|
|
1452
|
+
* @defaultValue `false`
|
|
1453
|
+
* @see the component manifest
|
|
1454
|
+
*/
|
|
1079
1455
|
searchable?: boolean;
|
|
1080
1456
|
pagination?: {
|
|
1081
1457
|
pageSize: number;
|
|
@@ -1093,17 +1469,59 @@ interface DataTableProps<Row> {
|
|
|
1093
1469
|
}[];
|
|
1094
1470
|
renderExpandedRow?: (row: Row) => ReactNode;
|
|
1095
1471
|
density?: 'compact' | 'normal' | 'relaxed';
|
|
1472
|
+
/**
|
|
1473
|
+
* When true, applies alternating row striping.
|
|
1474
|
+
*
|
|
1475
|
+
* @defaultValue `false`
|
|
1476
|
+
* @see the component manifest
|
|
1477
|
+
*/
|
|
1096
1478
|
zebra?: boolean;
|
|
1479
|
+
/**
|
|
1480
|
+
* When true, the header stays fixed while the body scrolls.
|
|
1481
|
+
*
|
|
1482
|
+
* @defaultValue `false`
|
|
1483
|
+
* @see the component manifest
|
|
1484
|
+
*/
|
|
1097
1485
|
stickyHeader?: boolean;
|
|
1486
|
+
/**
|
|
1487
|
+
* When true, shows a loading state.
|
|
1488
|
+
*
|
|
1489
|
+
* @defaultValue `false`
|
|
1490
|
+
* @see the component manifest
|
|
1491
|
+
*/
|
|
1098
1492
|
loading?: boolean;
|
|
1099
1493
|
emptyState?: ReactNode;
|
|
1100
1494
|
title?: string;
|
|
1101
1495
|
description?: string;
|
|
1102
1496
|
labels?: DataTableLabels;
|
|
1103
1497
|
className?: string;
|
|
1498
|
+
/**
|
|
1499
|
+
* Render only the visible row window for large datasets.
|
|
1500
|
+
*
|
|
1501
|
+
* @defaultValue `false`
|
|
1502
|
+
* @see the component manifest
|
|
1503
|
+
*/
|
|
1104
1504
|
virtualized?: boolean;
|
|
1505
|
+
/**
|
|
1506
|
+
* Fixed row height in px, used to compute the virtualized window.
|
|
1507
|
+
*
|
|
1508
|
+
* @defaultValue `40`
|
|
1509
|
+
* @see the component manifest
|
|
1510
|
+
*/
|
|
1105
1511
|
rowHeight?: number;
|
|
1512
|
+
/**
|
|
1513
|
+
* Number of rows rendered in the virtualized window.
|
|
1514
|
+
*
|
|
1515
|
+
* @defaultValue `20`
|
|
1516
|
+
* @see the component manifest
|
|
1517
|
+
*/
|
|
1106
1518
|
windowSize?: number;
|
|
1519
|
+
/**
|
|
1520
|
+
* Extra rows rendered above/below the window to smooth scrolling.
|
|
1521
|
+
*
|
|
1522
|
+
* @defaultValue `3`
|
|
1523
|
+
* @see the component manifest
|
|
1524
|
+
*/
|
|
1107
1525
|
overscan?: number;
|
|
1108
1526
|
}
|
|
1109
1527
|
declare function DataTable<Row>({
|
|
@@ -1134,6 +1552,12 @@ declare function DataTable<Row>({
|
|
|
1134
1552
|
overscan
|
|
1135
1553
|
}: DataTableProps<Row>): import("react").JSX.Element;
|
|
1136
1554
|
interface CommandPage {
|
|
1555
|
+
/**
|
|
1556
|
+
* Placeholder text shown when the field is empty.
|
|
1557
|
+
*
|
|
1558
|
+
* @defaultValue `Type a command or search…`
|
|
1559
|
+
* @see the component manifest
|
|
1560
|
+
*/
|
|
1137
1561
|
placeholder?: string;
|
|
1138
1562
|
groups: CommandGroup[];
|
|
1139
1563
|
}
|
|
@@ -1188,12 +1612,43 @@ interface CommandMenuProps {
|
|
|
1188
1612
|
onOpenChange: (open: boolean) => void;
|
|
1189
1613
|
groups: CommandGroup[];
|
|
1190
1614
|
placeholder?: string;
|
|
1615
|
+
/**
|
|
1616
|
+
* Text shown when no commands match the query.
|
|
1617
|
+
*
|
|
1618
|
+
* @defaultValue `No results found`
|
|
1619
|
+
* @see the component manifest
|
|
1620
|
+
*/
|
|
1191
1621
|
emptyLabel?: string;
|
|
1622
|
+
/**
|
|
1623
|
+
* Global Cmd/Ctrl+K toggles the menu via onOpenChange
|
|
1624
|
+
*
|
|
1625
|
+
* @defaultValue `true`
|
|
1626
|
+
* @see the component manifest
|
|
1627
|
+
*/
|
|
1192
1628
|
hotkey?: boolean;
|
|
1629
|
+
/**
|
|
1630
|
+
* Text label for the control.
|
|
1631
|
+
*
|
|
1632
|
+
* @defaultValue `Command menu`
|
|
1633
|
+
* @see the component manifest
|
|
1634
|
+
*/
|
|
1193
1635
|
label?: string;
|
|
1636
|
+
/**
|
|
1637
|
+
* Shows a loading spinner in place of the empty state (for async items)
|
|
1638
|
+
*
|
|
1639
|
+
* @defaultValue `false`
|
|
1640
|
+
* @see the component manifest
|
|
1641
|
+
*/
|
|
1194
1642
|
loading?: boolean;
|
|
1195
1643
|
onQueryChange?: (query: string) => void;
|
|
1196
|
-
/**
|
|
1644
|
+
/**
|
|
1645
|
+
* Selectable filter scopes. Renders a scope bar + chip; a scope activates by clicking its
|
|
1646
|
+
* pill, typing its prefix (c:/c ), or cycling with Tab, and filters to groups tagged with
|
|
1647
|
+
* a matching scope (plus untagged groups).
|
|
1648
|
+
*
|
|
1649
|
+
* @defaultValue `[]`
|
|
1650
|
+
* @see the component manifest
|
|
1651
|
+
*/
|
|
1197
1652
|
scopes?: CommandScope[];
|
|
1198
1653
|
className?: string;
|
|
1199
1654
|
}
|
|
@@ -1296,6 +1751,12 @@ declare function Form<T extends Record<string, unknown>>({
|
|
|
1296
1751
|
interface ComboboxOption {
|
|
1297
1752
|
value: string;
|
|
1298
1753
|
label: string;
|
|
1754
|
+
/**
|
|
1755
|
+
* When true, disables the control and removes it from the tab order.
|
|
1756
|
+
*
|
|
1757
|
+
* @defaultValue `false`
|
|
1758
|
+
* @see the component manifest
|
|
1759
|
+
*/
|
|
1299
1760
|
disabled?: boolean;
|
|
1300
1761
|
}
|
|
1301
1762
|
interface ComboboxLabels {
|
|
@@ -1312,7 +1773,19 @@ interface ComboboxProps {
|
|
|
1312
1773
|
onValueChange?: (value: string | undefined) => void;
|
|
1313
1774
|
/** @deprecated Use `onValueChange` — it receives the same `string | undefined`. */
|
|
1314
1775
|
onChange?: (value: string | undefined) => void;
|
|
1776
|
+
/**
|
|
1777
|
+
* When true, shows a control to clear the selected value.
|
|
1778
|
+
*
|
|
1779
|
+
* @defaultValue `false`
|
|
1780
|
+
* @see the component manifest
|
|
1781
|
+
*/
|
|
1315
1782
|
clearable?: boolean;
|
|
1783
|
+
/**
|
|
1784
|
+
* When true, shows a search/filter input.
|
|
1785
|
+
*
|
|
1786
|
+
* @defaultValue `true`
|
|
1787
|
+
* @see the component manifest
|
|
1788
|
+
*/
|
|
1316
1789
|
searchable?: boolean;
|
|
1317
1790
|
label?: string;
|
|
1318
1791
|
hint?: string;
|
|
@@ -1355,11 +1828,29 @@ interface DatePickerProps {
|
|
|
1355
1828
|
onChange?: (value: string | undefined) => void;
|
|
1356
1829
|
min?: string;
|
|
1357
1830
|
max?: string;
|
|
1831
|
+
/**
|
|
1832
|
+
* Shows a clear button
|
|
1833
|
+
*
|
|
1834
|
+
* @defaultValue `false`
|
|
1835
|
+
* @see the component manifest
|
|
1836
|
+
*/
|
|
1358
1837
|
clearable?: boolean;
|
|
1359
1838
|
label?: string;
|
|
1360
1839
|
hint?: string;
|
|
1361
1840
|
error?: string;
|
|
1841
|
+
/**
|
|
1842
|
+
* Field size
|
|
1843
|
+
*
|
|
1844
|
+
* @defaultValue `md`
|
|
1845
|
+
* @see the component manifest
|
|
1846
|
+
*/
|
|
1362
1847
|
size?: 'sm' | 'md' | 'lg';
|
|
1848
|
+
/**
|
|
1849
|
+
* Disables the picker
|
|
1850
|
+
*
|
|
1851
|
+
* @defaultValue `false`
|
|
1852
|
+
* @see the component manifest
|
|
1853
|
+
*/
|
|
1363
1854
|
disabled?: boolean;
|
|
1364
1855
|
labels?: DatePickerLabels;
|
|
1365
1856
|
className?: string;
|
|
@@ -1398,9 +1889,21 @@ interface FileUploaderLabels {
|
|
|
1398
1889
|
error?: string;
|
|
1399
1890
|
}
|
|
1400
1891
|
interface FileUploaderProps {
|
|
1892
|
+
/**
|
|
1893
|
+
* Controlled file list
|
|
1894
|
+
*
|
|
1895
|
+
* @defaultValue `[]`
|
|
1896
|
+
* @see the component manifest
|
|
1897
|
+
*/
|
|
1401
1898
|
files?: UploaderFile[];
|
|
1402
1899
|
onFilesAdded?: (files: File[]) => void;
|
|
1403
1900
|
onRemove?: (id: string) => void;
|
|
1901
|
+
/**
|
|
1902
|
+
* Allow multiple files
|
|
1903
|
+
*
|
|
1904
|
+
* @defaultValue `false`
|
|
1905
|
+
* @see the component manifest
|
|
1906
|
+
*/
|
|
1404
1907
|
multiple?: boolean;
|
|
1405
1908
|
accept?: string;
|
|
1406
1909
|
maxSize?: number;
|
|
@@ -1408,6 +1911,12 @@ interface FileUploaderProps {
|
|
|
1408
1911
|
label?: string;
|
|
1409
1912
|
hint?: string;
|
|
1410
1913
|
labels?: FileUploaderLabels;
|
|
1914
|
+
/**
|
|
1915
|
+
* Disables the upload zone
|
|
1916
|
+
*
|
|
1917
|
+
* @defaultValue `false`
|
|
1918
|
+
* @see the component manifest
|
|
1919
|
+
*/
|
|
1411
1920
|
disabled?: boolean;
|
|
1412
1921
|
className?: string;
|
|
1413
1922
|
}
|
|
@@ -1440,24 +1949,13 @@ interface TimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 's
|
|
|
1440
1949
|
error?: string;
|
|
1441
1950
|
size?: 'sm' | 'md' | 'lg';
|
|
1442
1951
|
}
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
step,
|
|
1451
|
-
label,
|
|
1452
|
-
hint,
|
|
1453
|
-
error,
|
|
1454
|
-
size,
|
|
1455
|
-
className,
|
|
1456
|
-
id,
|
|
1457
|
-
onFocus,
|
|
1458
|
-
onBlur,
|
|
1459
|
-
...props
|
|
1460
|
-
}: TimePickerProps): import("react").JSX.Element;
|
|
1952
|
+
/**
|
|
1953
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
1954
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
1955
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
1956
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
1957
|
+
*/
|
|
1958
|
+
declare const TimePicker: import("react").ForwardRefExoticComponent<TimePickerProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1461
1959
|
interface UsePopoverOptions {
|
|
1462
1960
|
open?: boolean;
|
|
1463
1961
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -1483,10 +1981,24 @@ declare function Popover({
|
|
|
1483
1981
|
}: PopoverProps): import("react").JSX.Element;
|
|
1484
1982
|
interface PopoverTriggerProps {
|
|
1485
1983
|
children: ReactNode;
|
|
1984
|
+
/**
|
|
1985
|
+
* Render the single child element as the trigger instead of wrapping it in
|
|
1986
|
+
* `PopoverTrigger`'s own `<button>` — the Slot pattern. Use this whenever the child is
|
|
1987
|
+
* already an interactive element (`Button`, `IconButton`, a router link): nesting a
|
|
1988
|
+
* `<button>` inside a `<button>` is invalid HTML, and it orphans the inner element's
|
|
1989
|
+
* `aria-label` on a node the accessibility tree does not expect there.
|
|
1990
|
+
*
|
|
1991
|
+
* ```tsx
|
|
1992
|
+
* <PopoverTrigger asChild>
|
|
1993
|
+
* <IconButton label="Theme" icon={<Palette />} />
|
|
1994
|
+
* </PopoverTrigger>
|
|
1995
|
+
* ```
|
|
1996
|
+
*/
|
|
1486
1997
|
asChild?: boolean;
|
|
1487
1998
|
}
|
|
1488
1999
|
declare function PopoverTrigger({
|
|
1489
|
-
children
|
|
2000
|
+
children,
|
|
2001
|
+
asChild
|
|
1490
2002
|
}: PopoverTriggerProps): import("react").JSX.Element;
|
|
1491
2003
|
interface PopoverContentProps {
|
|
1492
2004
|
children: ReactNode;
|
|
@@ -1532,6 +2044,12 @@ interface AlertDialogProps {
|
|
|
1532
2044
|
onConfirm: () => void;
|
|
1533
2045
|
onCancel: () => void;
|
|
1534
2046
|
labels?: AlertDialogLabels;
|
|
2047
|
+
/**
|
|
2048
|
+
* Selects the visual style variant.
|
|
2049
|
+
*
|
|
2050
|
+
* @defaultValue `default`
|
|
2051
|
+
* @see the component manifest
|
|
2052
|
+
*/
|
|
1535
2053
|
variant?: 'destructive' | 'default';
|
|
1536
2054
|
}
|
|
1537
2055
|
declare function AlertDialog({
|
|
@@ -1549,6 +2067,12 @@ interface SheetProps {
|
|
|
1549
2067
|
/** Optional heading. Accepts rich nodes; when present it labels the dialog via `aria-labelledby`. */
|
|
1550
2068
|
title?: ReactNode;
|
|
1551
2069
|
children: ReactNode;
|
|
2070
|
+
/**
|
|
2071
|
+
* Edge the component is anchored to.
|
|
2072
|
+
*
|
|
2073
|
+
* @defaultValue `end`
|
|
2074
|
+
* @see the component manifest
|
|
2075
|
+
*/
|
|
1552
2076
|
side?: 'start' | 'end' | 'top' | 'bottom';
|
|
1553
2077
|
}
|
|
1554
2078
|
declare function Sheet({
|
|
@@ -1572,7 +2096,12 @@ interface BottomSheetProps {
|
|
|
1572
2096
|
snapPoints?: number[];
|
|
1573
2097
|
/** Controlled active detent index into `snapPoints`. */
|
|
1574
2098
|
activeSnap?: number;
|
|
1575
|
-
/**
|
|
2099
|
+
/**
|
|
2100
|
+
* The initial snap-point index when uncontrolled.
|
|
2101
|
+
*
|
|
2102
|
+
* @defaultValue `0`
|
|
2103
|
+
* @see the component manifest
|
|
2104
|
+
*/
|
|
1576
2105
|
defaultSnap?: number;
|
|
1577
2106
|
/** Called when the active detent changes via drag. */
|
|
1578
2107
|
onSnapChange?: (index: number) => void;
|
|
@@ -1631,11 +2160,27 @@ interface ComparisonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
|
|
|
1631
2160
|
before: ReactNode;
|
|
1632
2161
|
/** Divider position as a percentage 0–100. Controlled when provided. */
|
|
1633
2162
|
position?: number;
|
|
1634
|
-
/**
|
|
2163
|
+
/**
|
|
2164
|
+
* The initial divider position (0–100) when uncontrolled.
|
|
2165
|
+
*
|
|
2166
|
+
* @defaultValue `50`
|
|
2167
|
+
* @see the component manifest
|
|
2168
|
+
*/
|
|
1635
2169
|
defaultPosition?: number;
|
|
1636
2170
|
onPositionChange?: (position: number) => void;
|
|
2171
|
+
/**
|
|
2172
|
+
* Layout orientation of the component.
|
|
2173
|
+
*
|
|
2174
|
+
* @defaultValue `horizontal`
|
|
2175
|
+
* @see the component manifest
|
|
2176
|
+
*/
|
|
1637
2177
|
orientation?: 'horizontal' | 'vertical';
|
|
1638
|
-
/**
|
|
2178
|
+
/**
|
|
2179
|
+
* How far the divider moves per arrow-key press.
|
|
2180
|
+
*
|
|
2181
|
+
* @defaultValue `5`
|
|
2182
|
+
* @see the component manifest
|
|
2183
|
+
*/
|
|
1639
2184
|
keyboardStep?: number;
|
|
1640
2185
|
/** Accessible label for the divider slider. */
|
|
1641
2186
|
label?: string;
|
|
@@ -1654,7 +2199,19 @@ declare function Comparison({
|
|
|
1654
2199
|
}: ComparisonProps): import("react").JSX.Element;
|
|
1655
2200
|
interface HoverCardProps {
|
|
1656
2201
|
children: ReactNode;
|
|
2202
|
+
/**
|
|
2203
|
+
* Delay (ms) before the card opens on hover/focus.
|
|
2204
|
+
*
|
|
2205
|
+
* @defaultValue `300`
|
|
2206
|
+
* @see the component manifest
|
|
2207
|
+
*/
|
|
1657
2208
|
openDelay?: number;
|
|
2209
|
+
/**
|
|
2210
|
+
* Delay (ms) before the card closes after hover/focus leaves.
|
|
2211
|
+
*
|
|
2212
|
+
* @defaultValue `100`
|
|
2213
|
+
* @see the component manifest
|
|
2214
|
+
*/
|
|
1658
2215
|
closeDelay?: number;
|
|
1659
2216
|
}
|
|
1660
2217
|
declare function HoverCard({
|
|
@@ -1682,24 +2239,32 @@ interface PasswordInputLabels {
|
|
|
1682
2239
|
strengthLabel?: (level: string) => string;
|
|
1683
2240
|
}
|
|
1684
2241
|
interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
|
|
2242
|
+
/**
|
|
2243
|
+
* When true, shows a password-strength meter.
|
|
2244
|
+
*
|
|
2245
|
+
* @defaultValue `false`
|
|
2246
|
+
* @see the component manifest
|
|
2247
|
+
*/
|
|
1685
2248
|
showStrengthMeter?: boolean;
|
|
1686
2249
|
size?: 'sm' | 'md' | 'lg';
|
|
1687
2250
|
labels?: PasswordInputLabels;
|
|
1688
2251
|
}
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
defaultValue,
|
|
1697
|
-
onChange,
|
|
1698
|
-
...props
|
|
1699
|
-
}: PasswordInputProps): import("react").JSX.Element;
|
|
2252
|
+
/**
|
|
2253
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
2254
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
2255
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
2256
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
2257
|
+
*/
|
|
2258
|
+
declare const PasswordInput: import("react").ForwardRefExoticComponent<PasswordInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1700
2259
|
interface MultiSelectOption {
|
|
1701
2260
|
label: string;
|
|
1702
2261
|
value: string;
|
|
2262
|
+
/**
|
|
2263
|
+
* When true, disables the control and removes it from the tab order.
|
|
2264
|
+
*
|
|
2265
|
+
* @defaultValue `false`
|
|
2266
|
+
* @see the component manifest
|
|
2267
|
+
*/
|
|
1703
2268
|
disabled?: boolean;
|
|
1704
2269
|
}
|
|
1705
2270
|
interface MultiSelectLabels {
|
|
@@ -1733,6 +2298,12 @@ interface TagsInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'
|
|
|
1733
2298
|
placeholder?: string;
|
|
1734
2299
|
validate?: (tag: string) => boolean;
|
|
1735
2300
|
max?: number;
|
|
2301
|
+
/**
|
|
2302
|
+
* When true, disables the control and removes it from the tab order.
|
|
2303
|
+
*
|
|
2304
|
+
* @defaultValue `false`
|
|
2305
|
+
* @see the component manifest
|
|
2306
|
+
*/
|
|
1736
2307
|
disabled?: boolean;
|
|
1737
2308
|
}
|
|
1738
2309
|
declare function TagsInput({
|
|
@@ -1746,9 +2317,21 @@ declare function TagsInput({
|
|
|
1746
2317
|
...props
|
|
1747
2318
|
}: TagsInputProps): import("react").JSX.Element;
|
|
1748
2319
|
interface OtpInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
2320
|
+
/**
|
|
2321
|
+
* Number of input cells.
|
|
2322
|
+
*
|
|
2323
|
+
* @defaultValue `6`
|
|
2324
|
+
* @see the component manifest
|
|
2325
|
+
*/
|
|
1749
2326
|
length?: number;
|
|
1750
2327
|
value: string;
|
|
1751
2328
|
onValueChange: (v: string) => void;
|
|
2329
|
+
/**
|
|
2330
|
+
* When true, disables the control and removes it from the tab order.
|
|
2331
|
+
*
|
|
2332
|
+
* @defaultValue `false`
|
|
2333
|
+
* @see the component manifest
|
|
2334
|
+
*/
|
|
1752
2335
|
disabled?: boolean;
|
|
1753
2336
|
type?: 'numeric' | 'alphanumeric';
|
|
1754
2337
|
}
|
|
@@ -1764,6 +2347,12 @@ declare function OtpInput({
|
|
|
1764
2347
|
interface SegmentedControlOption {
|
|
1765
2348
|
label: string;
|
|
1766
2349
|
value: string;
|
|
2350
|
+
/**
|
|
2351
|
+
* When true, disables the control and removes it from the tab order.
|
|
2352
|
+
*
|
|
2353
|
+
* @defaultValue `false`
|
|
2354
|
+
* @see the component manifest
|
|
2355
|
+
*/
|
|
1767
2356
|
disabled?: boolean;
|
|
1768
2357
|
}
|
|
1769
2358
|
interface SegmentedControlProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
@@ -1812,9 +2401,27 @@ interface RatingGroupLabels {
|
|
|
1812
2401
|
interface RatingGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
1813
2402
|
value: number;
|
|
1814
2403
|
onValueChange?: (v: number) => void;
|
|
2404
|
+
/**
|
|
2405
|
+
* Maximum allowed value.
|
|
2406
|
+
*
|
|
2407
|
+
* @defaultValue `5`
|
|
2408
|
+
* @see the component manifest
|
|
2409
|
+
*/
|
|
1815
2410
|
max?: number;
|
|
1816
2411
|
size?: 'sm' | 'md' | 'lg';
|
|
2412
|
+
/**
|
|
2413
|
+
* When true, disables the control and removes it from the tab order.
|
|
2414
|
+
*
|
|
2415
|
+
* @defaultValue `false`
|
|
2416
|
+
* @see the component manifest
|
|
2417
|
+
*/
|
|
1817
2418
|
disabled?: boolean;
|
|
2419
|
+
/**
|
|
2420
|
+
* When true, the value is shown but cannot be edited.
|
|
2421
|
+
*
|
|
2422
|
+
* @defaultValue `false`
|
|
2423
|
+
* @see the component manifest
|
|
2424
|
+
*/
|
|
1818
2425
|
readOnly?: boolean;
|
|
1819
2426
|
labels?: RatingGroupLabels;
|
|
1820
2427
|
}
|
|
@@ -1833,7 +2440,19 @@ interface EditableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>
|
|
|
1833
2440
|
value: string;
|
|
1834
2441
|
onValueChange: (v: string) => void;
|
|
1835
2442
|
placeholder?: string;
|
|
2443
|
+
/**
|
|
2444
|
+
* When true, disables the control and removes it from the tab order.
|
|
2445
|
+
*
|
|
2446
|
+
* @defaultValue `false`
|
|
2447
|
+
* @see the component manifest
|
|
2448
|
+
*/
|
|
1836
2449
|
disabled?: boolean;
|
|
2450
|
+
/**
|
|
2451
|
+
* When true, commits the edit when the field loses focus.
|
|
2452
|
+
*
|
|
2453
|
+
* @defaultValue `true`
|
|
2454
|
+
* @see the component manifest
|
|
2455
|
+
*/
|
|
1837
2456
|
submitOnBlur?: boolean;
|
|
1838
2457
|
onCancel?: () => void;
|
|
1839
2458
|
}
|
|
@@ -1872,14 +2491,14 @@ interface RadioCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'na
|
|
|
1872
2491
|
disabled?: boolean;
|
|
1873
2492
|
hideIndicator?: boolean;
|
|
1874
2493
|
}
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
2494
|
+
/**
|
|
2495
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
2496
|
+
* `textarea.tsx` for the rationale (2026-07-28 report C10).
|
|
2497
|
+
*
|
|
2498
|
+
* `RadioCard` (the item), not `RadioCardGroup` (the container): the group renders a <div>
|
|
2499
|
+
* and only the card owns a focusable control.
|
|
2500
|
+
*/
|
|
2501
|
+
declare const RadioCard: import("react").ForwardRefExoticComponent<RadioCardProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1883
2502
|
interface ShellHeaderBrand {
|
|
1884
2503
|
prefix?: string;
|
|
1885
2504
|
name: string;
|
|
@@ -1973,6 +2592,12 @@ type SwitcherEntry = SwitcherLink | {
|
|
|
1973
2592
|
};
|
|
1974
2593
|
interface SwitcherProps {
|
|
1975
2594
|
items: SwitcherEntry[];
|
|
2595
|
+
/**
|
|
2596
|
+
* Text label for the control.
|
|
2597
|
+
*
|
|
2598
|
+
* @defaultValue `Switch application`
|
|
2599
|
+
* @see the component manifest
|
|
2600
|
+
*/
|
|
1976
2601
|
label?: string;
|
|
1977
2602
|
className?: string | undefined;
|
|
1978
2603
|
}
|
|
@@ -1987,16 +2612,13 @@ interface CheckboxCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
1987
2612
|
onCheckedChange?: (checked: boolean) => void;
|
|
1988
2613
|
className?: string | undefined;
|
|
1989
2614
|
}
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
className,
|
|
1998
|
-
...props
|
|
1999
|
-
}: CheckboxCardProps): import("react").JSX.Element;
|
|
2615
|
+
/**
|
|
2616
|
+
* `forwardRef` so `ref` reaches the underlying `<input>` — and so it is TYPED. See
|
|
2617
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
2618
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
2619
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
2620
|
+
*/
|
|
2621
|
+
declare const CheckboxCard: import("react").ForwardRefExoticComponent<CheckboxCardProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
2000
2622
|
interface CopyButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
2001
2623
|
/** The text written to the clipboard on click. */
|
|
2002
2624
|
value: string;
|
|
@@ -2006,19 +2628,27 @@ interface CopyButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>,
|
|
|
2006
2628
|
copied?: string;
|
|
2007
2629
|
};
|
|
2008
2630
|
}
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2631
|
+
/**
|
|
2632
|
+
* `forwardRef` so `ref` reaches the underlying `<button>` — and so it is TYPED. See
|
|
2633
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
2634
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
2635
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
2636
|
+
*/
|
|
2637
|
+
declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
2016
2638
|
interface StatProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
2017
2639
|
label: string;
|
|
2018
2640
|
value: string | number;
|
|
2019
2641
|
delta?: string;
|
|
2020
2642
|
trend?: 'up' | 'down' | 'flat';
|
|
2021
2643
|
helpText?: string;
|
|
2644
|
+
/**
|
|
2645
|
+
* Wrap the tile in the same card chrome (surface, border, radius, padding) that
|
|
2646
|
+
* `@cascivo/charts`' `Kpi` ships. `Stat` is layout-only by default so it can sit inside
|
|
2647
|
+
* a `Card` you control; `Kpi` always brings its own chrome, which made a `Stat` row and
|
|
2648
|
+
* a `Kpi` row on adjacent pages of one dashboard look like different products. Set this
|
|
2649
|
+
* when you are mixing the two, or use it instead of hand-wrapping every `Stat` in a `Card`.
|
|
2650
|
+
*/
|
|
2651
|
+
card?: boolean;
|
|
2022
2652
|
/** Trailing visual, e.g. a `Sparkline` from the separate `@cascivo/charts` package (not exported from `@cascivo/react`; `pnpm add @cascivo/charts`). Purely decorative — mark it `aria-hidden` yourself if it duplicates the value/delta already announced. */
|
|
2023
2653
|
visual?: ReactNode;
|
|
2024
2654
|
}
|
|
@@ -2028,13 +2658,24 @@ declare function Stat({
|
|
|
2028
2658
|
delta,
|
|
2029
2659
|
trend,
|
|
2030
2660
|
helpText,
|
|
2661
|
+
card,
|
|
2031
2662
|
visual,
|
|
2032
2663
|
className,
|
|
2033
2664
|
...props
|
|
2034
2665
|
}: StatProps): import("react").JSX.Element;
|
|
2035
2666
|
interface StatusProps extends HTMLAttributes<HTMLSpanElement> {
|
|
2036
|
-
|
|
2037
|
-
|
|
2667
|
+
/**
|
|
2668
|
+
* Severity tone. Accepts the catalog-wide `Tone` vocabulary
|
|
2669
|
+
* (`neutral | info | success | warning | danger`) plus Status's historical spellings
|
|
2670
|
+
* (`error`, `destructive`, `default`).
|
|
2671
|
+
*/
|
|
2672
|
+
status?: ToneInput;
|
|
2673
|
+
/**
|
|
2674
|
+
* Pulses the dot — gated behind prefers-reduced-motion: no-preference
|
|
2675
|
+
*
|
|
2676
|
+
* @defaultValue `false`
|
|
2677
|
+
* @see the component manifest
|
|
2678
|
+
*/
|
|
2038
2679
|
pulse?: boolean;
|
|
2039
2680
|
}
|
|
2040
2681
|
declare function Status({
|
|
@@ -2045,19 +2686,32 @@ declare function Status({
|
|
|
2045
2686
|
...props
|
|
2046
2687
|
}: StatusProps): import("react").JSX.Element;
|
|
2047
2688
|
interface SkipNavLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
2689
|
+
/**
|
|
2690
|
+
* SkipNavLink: id of the SkipNavTarget to jump to
|
|
2691
|
+
*
|
|
2692
|
+
* @defaultValue `cascade-skip-target`
|
|
2693
|
+
* @see the component manifest
|
|
2694
|
+
*/
|
|
2048
2695
|
targetId?: string;
|
|
2049
2696
|
labels?: {
|
|
2050
2697
|
label?: string;
|
|
2051
2698
|
};
|
|
2052
2699
|
}
|
|
2053
2700
|
/** Render as the FIRST focusable element on the page — visually hidden until focused. */
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2701
|
+
/**
|
|
2702
|
+
* `forwardRef` so `ref` reaches the underlying `<a>` — and so it is TYPED. See
|
|
2703
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10). Enforced by
|
|
2704
|
+
* `ref-parity.test.ts`, which found this component: the plan's own list of 16 was itself
|
|
2705
|
+
* incomplete, which is why the rule is a guard and not a checklist.
|
|
2706
|
+
*/
|
|
2707
|
+
declare const SkipNavLink: import("react").ForwardRefExoticComponent<SkipNavLinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
2060
2708
|
interface SkipNavTargetProps extends HTMLAttributes<HTMLDivElement> {
|
|
2709
|
+
/**
|
|
2710
|
+
* SkipNavTarget: anchor id — must match the link targetId
|
|
2711
|
+
*
|
|
2712
|
+
* @defaultValue `cascade-skip-target`
|
|
2713
|
+
* @see the component manifest
|
|
2714
|
+
*/
|
|
2061
2715
|
id?: string;
|
|
2062
2716
|
}
|
|
2063
2717
|
/** Place where the main content starts; the link's hash navigation moves focus here. */
|
|
@@ -2070,8 +2724,22 @@ type ProgressSize = 'sm' | 'md' | 'lg';
|
|
|
2070
2724
|
interface ProgressProps {
|
|
2071
2725
|
/** 0–100. Omit for indeterminate state. */
|
|
2072
2726
|
value?: number;
|
|
2727
|
+
/**
|
|
2728
|
+
* Selects the visual style variant.
|
|
2729
|
+
*
|
|
2730
|
+
* @defaultValue `primary`
|
|
2731
|
+
* @see the component manifest
|
|
2732
|
+
*/
|
|
2073
2733
|
variant?: ProgressVariant;
|
|
2074
2734
|
size?: ProgressSize;
|
|
2735
|
+
/**
|
|
2736
|
+
* Invisible accessible name. `ariaLabel` is the catalog convention (see the
|
|
2737
|
+
* accessible-name table in `docs/AI-RULES.md`); the DOM spelling `aria-label` is accepted
|
|
2738
|
+
* too, so either guess compiles. Two spellings of one idea inside a package was a coin
|
|
2739
|
+
* flip on every component.
|
|
2740
|
+
*/
|
|
2741
|
+
ariaLabel?: string;
|
|
2742
|
+
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
2075
2743
|
'aria-label'?: string;
|
|
2076
2744
|
'aria-describedby'?: string;
|
|
2077
2745
|
className?: string;
|
|
@@ -2081,14 +2749,26 @@ declare function Progress({
|
|
|
2081
2749
|
variant,
|
|
2082
2750
|
size,
|
|
2083
2751
|
className,
|
|
2752
|
+
ariaLabel,
|
|
2084
2753
|
...aria
|
|
2085
2754
|
}: ProgressProps): import("react").JSX.Element;
|
|
2086
2755
|
interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
|
|
2087
2756
|
/** Current value from 0 to max — clamped. */
|
|
2088
2757
|
value: number;
|
|
2758
|
+
/**
|
|
2759
|
+
* Maximum allowed value.
|
|
2760
|
+
*
|
|
2761
|
+
* @defaultValue `100`
|
|
2762
|
+
* @see the component manifest
|
|
2763
|
+
*/
|
|
2089
2764
|
max?: number;
|
|
2090
2765
|
size?: 'sm' | 'md' | 'lg';
|
|
2091
|
-
/**
|
|
2766
|
+
/**
|
|
2767
|
+
* Renders the rounded percentage in the center — pairs best with md and lg
|
|
2768
|
+
*
|
|
2769
|
+
* @defaultValue `false`
|
|
2770
|
+
* @see the component manifest
|
|
2771
|
+
*/
|
|
2092
2772
|
showValue?: boolean;
|
|
2093
2773
|
/** Accessible name for the progressbar. */
|
|
2094
2774
|
label?: string;
|
|
@@ -2105,6 +2785,12 @@ declare function ProgressCircle({
|
|
|
2105
2785
|
type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
2106
2786
|
type HeadingSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
2107
2787
|
interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
2788
|
+
/**
|
|
2789
|
+
* Heading level (1–6) mapping to h1–h6.
|
|
2790
|
+
*
|
|
2791
|
+
* @defaultValue `2`
|
|
2792
|
+
* @see the component manifest
|
|
2793
|
+
*/
|
|
2108
2794
|
level?: HeadingLevel;
|
|
2109
2795
|
size?: HeadingSize;
|
|
2110
2796
|
}
|
|
@@ -2116,9 +2802,21 @@ declare function Heading({
|
|
|
2116
2802
|
...props
|
|
2117
2803
|
}: HeadingProps): import("react").JSX.Element;
|
|
2118
2804
|
interface TextProps extends HTMLAttributes<HTMLElement> {
|
|
2805
|
+
/**
|
|
2806
|
+
* The HTML element to render as.
|
|
2807
|
+
*
|
|
2808
|
+
* @defaultValue `p`
|
|
2809
|
+
* @see the component manifest
|
|
2810
|
+
*/
|
|
2119
2811
|
as?: 'p' | 'span' | 'div';
|
|
2120
2812
|
size?: 'sm' | 'md' | 'lg';
|
|
2121
2813
|
weight?: 'normal' | 'medium' | 'semibold';
|
|
2814
|
+
/**
|
|
2815
|
+
* When true, renders in a muted/subtle color.
|
|
2816
|
+
*
|
|
2817
|
+
* @defaultValue `false`
|
|
2818
|
+
* @see the component manifest
|
|
2819
|
+
*/
|
|
2122
2820
|
muted?: boolean;
|
|
2123
2821
|
}
|
|
2124
2822
|
declare function Text({
|
|
@@ -2140,6 +2838,12 @@ declare function Code({
|
|
|
2140
2838
|
...props
|
|
2141
2839
|
}: CodeProps): import("react").JSX.Element;
|
|
2142
2840
|
interface BlockquoteProps extends HTMLAttributes<HTMLQuoteElement> {
|
|
2841
|
+
/**
|
|
2842
|
+
* URL of the quote’s source (sets the HTML cite attribute).
|
|
2843
|
+
*
|
|
2844
|
+
* @defaultValue `undefined`
|
|
2845
|
+
* @see the component manifest
|
|
2846
|
+
*/
|
|
2143
2847
|
cite?: string;
|
|
2144
2848
|
}
|
|
2145
2849
|
declare function Blockquote({
|
|
@@ -2149,6 +2853,12 @@ declare function Blockquote({
|
|
|
2149
2853
|
...props
|
|
2150
2854
|
}: BlockquoteProps): import("react").JSX.Element;
|
|
2151
2855
|
interface ListProps extends HTMLAttributes<HTMLElement> {
|
|
2856
|
+
/**
|
|
2857
|
+
* The HTML element to render as.
|
|
2858
|
+
*
|
|
2859
|
+
* @defaultValue `ul`
|
|
2860
|
+
* @see the component manifest
|
|
2861
|
+
*/
|
|
2152
2862
|
as?: 'ul' | 'ol';
|
|
2153
2863
|
marker?: 'disc' | 'decimal' | 'none';
|
|
2154
2864
|
}
|
|
@@ -2189,14 +2899,29 @@ interface LogViewerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'
|
|
|
2189
2899
|
lines: {
|
|
2190
2900
|
readonly value: readonly LogLine[];
|
|
2191
2901
|
} | readonly LogLine[];
|
|
2192
|
-
/**
|
|
2902
|
+
/**
|
|
2903
|
+
* Height of each row in pixels, used for virtualization.
|
|
2904
|
+
*
|
|
2905
|
+
* @defaultValue `20`
|
|
2906
|
+
* @see the component manifest
|
|
2907
|
+
*/
|
|
2193
2908
|
rowHeight?: number;
|
|
2194
|
-
/**
|
|
2909
|
+
/**
|
|
2910
|
+
* Number of extra rows rendered above and below the viewport.
|
|
2911
|
+
*
|
|
2912
|
+
* @defaultValue `8`
|
|
2913
|
+
* @see the component manifest
|
|
2914
|
+
*/
|
|
2195
2915
|
overscan?: number;
|
|
2196
2916
|
/** Controlled pin-to-bottom. Omit for uncontrolled (defaults to following). */
|
|
2197
2917
|
follow?: boolean;
|
|
2198
2918
|
onFollowChange?: (follow: boolean) => void;
|
|
2199
|
-
/**
|
|
2919
|
+
/**
|
|
2920
|
+
* When true, parses ANSI color escape codes into colored spans.
|
|
2921
|
+
*
|
|
2922
|
+
* @defaultValue `false`
|
|
2923
|
+
* @see the component manifest
|
|
2924
|
+
*/
|
|
2200
2925
|
ansi?: boolean;
|
|
2201
2926
|
/** Seed the search/highlight box. */
|
|
2202
2927
|
search?: string;
|
|
@@ -2233,8 +2958,19 @@ interface PullToRefreshProps {
|
|
|
2233
2958
|
/** Invoked when the pull passes the threshold; the spinner shows until it settles. */
|
|
2234
2959
|
onRefresh: () => Promise<unknown> | unknown;
|
|
2235
2960
|
children: ReactNode;
|
|
2236
|
-
/**
|
|
2961
|
+
/**
|
|
2962
|
+
* Pull distance (px) required to trigger a refresh.
|
|
2963
|
+
*
|
|
2964
|
+
* @defaultValue `64`
|
|
2965
|
+
* @see the component manifest
|
|
2966
|
+
*/
|
|
2237
2967
|
threshold?: number;
|
|
2968
|
+
/**
|
|
2969
|
+
* When true, disables the control and removes it from the tab order.
|
|
2970
|
+
*
|
|
2971
|
+
* @defaultValue `false`
|
|
2972
|
+
* @see the component manifest
|
|
2973
|
+
*/
|
|
2238
2974
|
disabled?: boolean;
|
|
2239
2975
|
labels?: {
|
|
2240
2976
|
pull?: string;
|
|
@@ -2272,13 +3008,28 @@ interface QrCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
|
2272
3008
|
value: string;
|
|
2273
3009
|
/** Rendered size in pixels (width and height). Default 128. */
|
|
2274
3010
|
size?: number;
|
|
2275
|
-
/**
|
|
3011
|
+
/**
|
|
3012
|
+
* Higher levels tolerate more damage but hold less data
|
|
3013
|
+
*
|
|
3014
|
+
* @defaultValue `M`
|
|
3015
|
+
* @see the component manifest
|
|
3016
|
+
*/
|
|
2276
3017
|
errorCorrection?: ErrorCorrection;
|
|
2277
3018
|
/** CSS length rounding the code's corners (applied to the container). */
|
|
2278
3019
|
radius?: string;
|
|
2279
|
-
/**
|
|
3020
|
+
/**
|
|
3021
|
+
* Foreground color of the QR modules.
|
|
3022
|
+
*
|
|
3023
|
+
* @defaultValue `currentColor`
|
|
3024
|
+
* @see the component manifest
|
|
3025
|
+
*/
|
|
2280
3026
|
fill?: string;
|
|
2281
|
-
/**
|
|
3027
|
+
/**
|
|
3028
|
+
* Background color behind the QR code.
|
|
3029
|
+
*
|
|
3030
|
+
* @defaultValue `transparent`
|
|
3031
|
+
* @see the component manifest
|
|
3032
|
+
*/
|
|
2282
3033
|
background?: string;
|
|
2283
3034
|
/** Accessible label. Defaults to the i18n built-in "QR code". */
|
|
2284
3035
|
label?: string;
|
|
@@ -2298,7 +3049,12 @@ declare function QrCode({
|
|
|
2298
3049
|
interface RelativeTimeProps extends Omit<TimeHTMLAttributes<HTMLTimeElement>, 'dateTime'> {
|
|
2299
3050
|
/** The instant to describe relative to now. */
|
|
2300
3051
|
date: Date | number | string;
|
|
2301
|
-
/**
|
|
3052
|
+
/**
|
|
3053
|
+
* When true, updates the relative time as it elapses.
|
|
3054
|
+
*
|
|
3055
|
+
* @defaultValue `true`
|
|
3056
|
+
* @see the component manifest
|
|
3057
|
+
*/
|
|
2302
3058
|
sync?: boolean;
|
|
2303
3059
|
/** Override "now" (ms since epoch). Mainly for deterministic tests; disables the interval. */
|
|
2304
3060
|
now?: number;
|
|
@@ -2314,11 +3070,27 @@ declare function RelativeTime({
|
|
|
2314
3070
|
...props
|
|
2315
3071
|
}: RelativeTimeProps): import("react").JSX.Element;
|
|
2316
3072
|
interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
2317
|
-
/**
|
|
3073
|
+
/**
|
|
3074
|
+
* When true, renders the child element as the root via Slot, merging props (polymorphic
|
|
3075
|
+
* rendering).
|
|
3076
|
+
*
|
|
3077
|
+
* @defaultValue `false`
|
|
3078
|
+
* @see the component manifest
|
|
3079
|
+
*/
|
|
2318
3080
|
asChild?: boolean;
|
|
2319
|
-
/**
|
|
3081
|
+
/**
|
|
3082
|
+
* When true, marks the field as required.
|
|
3083
|
+
*
|
|
3084
|
+
* @defaultValue `false`
|
|
3085
|
+
* @see the component manifest
|
|
3086
|
+
*/
|
|
2320
3087
|
required?: boolean;
|
|
2321
|
-
/**
|
|
3088
|
+
/**
|
|
3089
|
+
* When true, disables the control and removes it from the tab order.
|
|
3090
|
+
*
|
|
3091
|
+
* @defaultValue `false`
|
|
3092
|
+
* @see the component manifest
|
|
3093
|
+
*/
|
|
2322
3094
|
disabled?: boolean;
|
|
2323
3095
|
children: ReactNode;
|
|
2324
3096
|
/** Override built-in strings (e.g. the required-marker accessible text). */
|
|
@@ -2342,9 +3114,19 @@ interface FieldProps {
|
|
|
2342
3114
|
description?: ReactNode;
|
|
2343
3115
|
/** Error message; sets aria-invalid on the control and is announced via role="alert". */
|
|
2344
3116
|
error?: ReactNode;
|
|
2345
|
-
/**
|
|
3117
|
+
/**
|
|
3118
|
+
* When true, marks the field as required.
|
|
3119
|
+
*
|
|
3120
|
+
* @defaultValue `false`
|
|
3121
|
+
* @see the component manifest
|
|
3122
|
+
*/
|
|
2346
3123
|
required?: boolean;
|
|
2347
|
-
/**
|
|
3124
|
+
/**
|
|
3125
|
+
* When true, disables the control and removes it from the tab order.
|
|
3126
|
+
*
|
|
3127
|
+
* @defaultValue `false`
|
|
3128
|
+
* @see the component manifest
|
|
3129
|
+
*/
|
|
2348
3130
|
disabled?: boolean;
|
|
2349
3131
|
/** Explicit id for the control; auto-generated when omitted. */
|
|
2350
3132
|
id?: string;
|
|
@@ -2375,13 +3157,39 @@ interface FilterOption {
|
|
|
2375
3157
|
interface FilterProps {
|
|
2376
3158
|
options: FilterOption[];
|
|
2377
3159
|
value?: string[];
|
|
3160
|
+
/**
|
|
3161
|
+
* Initial selected values for uncontrolled use
|
|
3162
|
+
*
|
|
3163
|
+
* @defaultValue `[]`
|
|
3164
|
+
* @see the component manifest
|
|
3165
|
+
*/
|
|
2378
3166
|
defaultValue?: string[];
|
|
2379
3167
|
/** Called with the selected values whenever the selection changes. */
|
|
2380
3168
|
onValueChange?: (selected: string[]) => void;
|
|
2381
3169
|
/** @deprecated Use `onValueChange` — it receives the same `string[]`. */
|
|
2382
3170
|
onChange?: (selected: string[]) => void;
|
|
3171
|
+
/**
|
|
3172
|
+
* Allow multiple items to be selected simultaneously
|
|
3173
|
+
*
|
|
3174
|
+
* @defaultValue `false`
|
|
3175
|
+
* @see the component manifest
|
|
3176
|
+
*/
|
|
2383
3177
|
multi?: boolean;
|
|
3178
|
+
/**
|
|
3179
|
+
* Selects the visual style variant.
|
|
3180
|
+
*
|
|
3181
|
+
* @defaultValue `pill`
|
|
3182
|
+
* @see the component manifest
|
|
3183
|
+
*/
|
|
2384
3184
|
variant?: FilterVariant;
|
|
3185
|
+
/**
|
|
3186
|
+
* Invisible accessible name. `ariaLabel` is the catalog convention (see the
|
|
3187
|
+
* accessible-name table in `docs/AI-RULES.md`); the DOM spelling `aria-label` is accepted
|
|
3188
|
+
* too, so either guess compiles. Two spellings of one idea inside a package was a coin
|
|
3189
|
+
* flip on every component.
|
|
3190
|
+
*/
|
|
3191
|
+
ariaLabel?: string;
|
|
3192
|
+
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
2385
3193
|
'aria-label'?: string;
|
|
2386
3194
|
className?: string;
|
|
2387
3195
|
}
|
|
@@ -2394,6 +3202,7 @@ declare function Filter({
|
|
|
2394
3202
|
multi,
|
|
2395
3203
|
variant,
|
|
2396
3204
|
className,
|
|
3205
|
+
ariaLabel,
|
|
2397
3206
|
...aria
|
|
2398
3207
|
}: FilterProps): import("react").JSX.Element;
|
|
2399
3208
|
interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -2401,8 +3210,20 @@ interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
2401
3210
|
* ships ~440 ready-made SVG icon components, or pass your own. */
|
|
2402
3211
|
icon?: ReactNode;
|
|
2403
3212
|
size?: 'sm' | 'md' | 'lg';
|
|
3213
|
+
/**
|
|
3214
|
+
* Selects the visual style variant.
|
|
3215
|
+
*
|
|
3216
|
+
* @defaultValue `ghost`
|
|
3217
|
+
* @see the component manifest
|
|
3218
|
+
*/
|
|
2404
3219
|
variant?: 'ghost' | 'outline' | 'filled';
|
|
2405
|
-
/**
|
|
3220
|
+
/**
|
|
3221
|
+
* When true, renders the child element as the root via Slot, merging props (polymorphic
|
|
3222
|
+
* rendering).
|
|
3223
|
+
*
|
|
3224
|
+
* @defaultValue `false`
|
|
3225
|
+
* @see the component manifest
|
|
3226
|
+
*/
|
|
2406
3227
|
asChild?: boolean;
|
|
2407
3228
|
}
|
|
2408
3229
|
/**
|
|
@@ -2420,10 +3241,27 @@ type IconButtonProps = IconButtonBaseProps & ({
|
|
|
2420
3241
|
});
|
|
2421
3242
|
declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
2422
3243
|
interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
3244
|
+
/**
|
|
3245
|
+
* Layout orientation of the component.
|
|
3246
|
+
*
|
|
3247
|
+
* @defaultValue `horizontal`
|
|
3248
|
+
* @see the component manifest
|
|
3249
|
+
*/
|
|
2423
3250
|
orientation?: 'horizontal' | 'vertical';
|
|
2424
3251
|
size?: 'sm' | 'md' | 'lg';
|
|
2425
|
-
/**
|
|
3252
|
+
/**
|
|
3253
|
+
* When true, uses roving tabindex so arrow keys move focus between buttons.
|
|
3254
|
+
*
|
|
3255
|
+
* @defaultValue `false`
|
|
3256
|
+
* @see the component manifest
|
|
3257
|
+
*/
|
|
2426
3258
|
roving?: boolean;
|
|
3259
|
+
/**
|
|
3260
|
+
* When true, navigation wraps around from end to start.
|
|
3261
|
+
*
|
|
3262
|
+
* @defaultValue `false`
|
|
3263
|
+
* @see the component manifest
|
|
3264
|
+
*/
|
|
2427
3265
|
loop?: boolean;
|
|
2428
3266
|
}
|
|
2429
3267
|
declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -2431,6 +3269,12 @@ interface ToggleGroupItem {
|
|
|
2431
3269
|
value: string;
|
|
2432
3270
|
label?: string;
|
|
2433
3271
|
icon?: ReactNode;
|
|
3272
|
+
/**
|
|
3273
|
+
* When true, disables the control and removes it from the tab order.
|
|
3274
|
+
*
|
|
3275
|
+
* @defaultValue `false`
|
|
3276
|
+
* @see the component manifest
|
|
3277
|
+
*/
|
|
2434
3278
|
disabled?: boolean;
|
|
2435
3279
|
}
|
|
2436
3280
|
interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
|
|
@@ -2439,6 +3283,12 @@ interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChang
|
|
|
2439
3283
|
defaultValue?: string | string[];
|
|
2440
3284
|
onValueChange?: (value: string | string[]) => void;
|
|
2441
3285
|
items: ToggleGroupItem[];
|
|
3286
|
+
/**
|
|
3287
|
+
* Layout orientation of the component.
|
|
3288
|
+
*
|
|
3289
|
+
* @defaultValue `horizontal`
|
|
3290
|
+
* @see the component manifest
|
|
3291
|
+
*/
|
|
2442
3292
|
orientation?: 'horizontal' | 'vertical';
|
|
2443
3293
|
size?: 'sm' | 'md' | 'lg';
|
|
2444
3294
|
disabled?: boolean;
|
|
@@ -2461,11 +3311,23 @@ declare function InlineLoading({
|
|
|
2461
3311
|
className,
|
|
2462
3312
|
...props
|
|
2463
3313
|
}: InlineLoadingProps): import("react").JSX.Element;
|
|
2464
|
-
|
|
3314
|
+
/** The value Notification's stylesheet and icon set key on. */
|
|
3315
|
+
type NotificationVariant = 'neutral' | 'info' | 'success' | 'warning' | 'error';
|
|
2465
3316
|
interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
2466
3317
|
title: ReactNode;
|
|
2467
3318
|
description?: ReactNode;
|
|
2468
|
-
|
|
3319
|
+
/**
|
|
3320
|
+
* Severity tone. Accepts the catalog-wide `Tone` vocabulary
|
|
3321
|
+
* (`neutral | info | success | warning | danger`) plus Notification's historical
|
|
3322
|
+
* spellings (`error`, `destructive`).
|
|
3323
|
+
*/
|
|
3324
|
+
variant?: ToneInput;
|
|
3325
|
+
/**
|
|
3326
|
+
* When true, shows a control to dismiss the component.
|
|
3327
|
+
*
|
|
3328
|
+
* @defaultValue `false`
|
|
3329
|
+
* @see the component manifest
|
|
3330
|
+
*/
|
|
2469
3331
|
dismissible?: boolean;
|
|
2470
3332
|
onDismiss?: () => void;
|
|
2471
3333
|
actions?: ReactNode;
|
|
@@ -2477,7 +3339,7 @@ interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'
|
|
|
2477
3339
|
declare function Notification({
|
|
2478
3340
|
title,
|
|
2479
3341
|
description,
|
|
2480
|
-
variant,
|
|
3342
|
+
variant: variantProp,
|
|
2481
3343
|
dismissible,
|
|
2482
3344
|
onDismiss,
|
|
2483
3345
|
actions,
|
|
@@ -2491,9 +3353,19 @@ interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
2491
3353
|
height?: string;
|
|
2492
3354
|
/** Max inline size of the scroll container (any CSS length). */
|
|
2493
3355
|
width?: string;
|
|
2494
|
-
/**
|
|
3356
|
+
/**
|
|
3357
|
+
* Which axes may scroll
|
|
3358
|
+
*
|
|
3359
|
+
* @defaultValue `vertical`
|
|
3360
|
+
* @see the component manifest
|
|
3361
|
+
*/
|
|
2495
3362
|
orientation?: 'vertical' | 'horizontal' | 'both';
|
|
2496
|
-
/**
|
|
3363
|
+
/**
|
|
3364
|
+
* Edge affordance: box-shadow, a mask-image fade, or none
|
|
3365
|
+
*
|
|
3366
|
+
* @defaultValue `shadow`
|
|
3367
|
+
* @see the component manifest
|
|
3368
|
+
*/
|
|
2497
3369
|
edges?: 'shadow' | 'mask' | 'none';
|
|
2498
3370
|
children?: ReactNode;
|
|
2499
3371
|
}
|
|
@@ -2510,13 +3382,23 @@ declare function ScrollArea({
|
|
|
2510
3382
|
interface CollapsibleProps {
|
|
2511
3383
|
/** Controlled open state. */
|
|
2512
3384
|
open?: boolean;
|
|
2513
|
-
/**
|
|
3385
|
+
/**
|
|
3386
|
+
* Initial open state for uncontrolled use
|
|
3387
|
+
*
|
|
3388
|
+
* @defaultValue `false`
|
|
3389
|
+
* @see the component manifest
|
|
3390
|
+
*/
|
|
2514
3391
|
defaultOpen?: boolean;
|
|
2515
3392
|
/** Called whenever the open state should change. */
|
|
2516
3393
|
onOpenChange?: (open: boolean) => void;
|
|
2517
3394
|
/** Content rendered inside the trigger button. */
|
|
2518
3395
|
trigger: ReactNode;
|
|
2519
|
-
/**
|
|
3396
|
+
/**
|
|
3397
|
+
* Disables the trigger button
|
|
3398
|
+
*
|
|
3399
|
+
* @defaultValue `false`
|
|
3400
|
+
* @see the component manifest
|
|
3401
|
+
*/
|
|
2520
3402
|
disabled?: boolean;
|
|
2521
3403
|
className?: string;
|
|
2522
3404
|
children?: ReactNode;
|
|
@@ -2531,7 +3413,12 @@ declare function Collapsible({
|
|
|
2531
3413
|
children
|
|
2532
3414
|
}: CollapsibleProps): import("react").JSX.Element;
|
|
2533
3415
|
interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
|
|
2534
|
-
/**
|
|
3416
|
+
/**
|
|
3417
|
+
* Width-to-height ratio applied via the CSS aspect-ratio property
|
|
3418
|
+
*
|
|
3419
|
+
* @defaultValue `16 / 9`
|
|
3420
|
+
* @see the component manifest
|
|
3421
|
+
*/
|
|
2535
3422
|
ratio?: number;
|
|
2536
3423
|
children?: ReactNode;
|
|
2537
3424
|
}
|
|
@@ -2546,6 +3433,12 @@ interface MenuButtonItem {
|
|
|
2546
3433
|
id: string;
|
|
2547
3434
|
label: ReactNode;
|
|
2548
3435
|
onSelect?: () => void;
|
|
3436
|
+
/**
|
|
3437
|
+
* Disables the trigger
|
|
3438
|
+
*
|
|
3439
|
+
* @defaultValue `false`
|
|
3440
|
+
* @see the component manifest
|
|
3441
|
+
*/
|
|
2549
3442
|
disabled?: boolean;
|
|
2550
3443
|
}
|
|
2551
3444
|
interface MenuButtonProps {
|
|
@@ -2577,6 +3470,12 @@ interface ToggletipProps {
|
|
|
2577
3470
|
/** The popover content. Interactive and selectable. */
|
|
2578
3471
|
children: ReactNode;
|
|
2579
3472
|
placement?: ToggletipPlacement;
|
|
3473
|
+
/**
|
|
3474
|
+
* Initial open state when uncontrolled
|
|
3475
|
+
*
|
|
3476
|
+
* @defaultValue `false`
|
|
3477
|
+
* @see the component manifest
|
|
3478
|
+
*/
|
|
2580
3479
|
defaultOpen?: boolean;
|
|
2581
3480
|
open?: boolean;
|
|
2582
3481
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -2625,6 +3524,12 @@ interface NavigationMenuItem {
|
|
|
2625
3524
|
interface NavigationMenuProps {
|
|
2626
3525
|
items: NavigationMenuItem[];
|
|
2627
3526
|
'aria-label'?: string;
|
|
3527
|
+
/**
|
|
3528
|
+
* Layout orientation of the component.
|
|
3529
|
+
*
|
|
3530
|
+
* @defaultValue `horizontal`
|
|
3531
|
+
* @see the component manifest
|
|
3532
|
+
*/
|
|
2628
3533
|
orientation?: RovingOrientation;
|
|
2629
3534
|
className?: string;
|
|
2630
3535
|
}
|
|
@@ -2677,11 +3582,25 @@ interface StructuredListItem {
|
|
|
2677
3582
|
interface StructuredListProps {
|
|
2678
3583
|
items: StructuredListItem[];
|
|
2679
3584
|
headers?: ReactNode[];
|
|
3585
|
+
/**
|
|
3586
|
+
* When true, rows can be selected.
|
|
3587
|
+
*
|
|
3588
|
+
* @defaultValue `false`
|
|
3589
|
+
* @see the component manifest
|
|
3590
|
+
*/
|
|
2680
3591
|
selectable?: boolean;
|
|
2681
3592
|
value?: string;
|
|
2682
3593
|
defaultValue?: string;
|
|
2683
3594
|
onSelect?: (id: string) => void;
|
|
2684
3595
|
className?: string;
|
|
3596
|
+
/**
|
|
3597
|
+
* Invisible accessible name. `ariaLabel` is the catalog convention (see the
|
|
3598
|
+
* accessible-name table in `docs/AI-RULES.md`); the DOM spelling `aria-label` is accepted
|
|
3599
|
+
* too, so either guess compiles. Two spellings of one idea inside a package was a coin
|
|
3600
|
+
* flip on every component.
|
|
3601
|
+
*/
|
|
3602
|
+
ariaLabel?: string;
|
|
3603
|
+
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
2685
3604
|
'aria-label'?: string;
|
|
2686
3605
|
}
|
|
2687
3606
|
declare function StructuredList(props: StructuredListProps): import("react").JSX.Element;
|
|
@@ -2715,7 +3634,19 @@ interface DataListItem {
|
|
|
2715
3634
|
}
|
|
2716
3635
|
interface DataListProps extends HTMLAttributes<HTMLDListElement> {
|
|
2717
3636
|
items: DataListItem[];
|
|
3637
|
+
/**
|
|
3638
|
+
* Layout orientation of the component.
|
|
3639
|
+
*
|
|
3640
|
+
* @defaultValue `horizontal`
|
|
3641
|
+
* @see the component manifest
|
|
3642
|
+
*/
|
|
2718
3643
|
orientation?: 'horizontal' | 'vertical';
|
|
3644
|
+
/**
|
|
3645
|
+
* When true, shows dividers between items.
|
|
3646
|
+
*
|
|
3647
|
+
* @defaultValue `false`
|
|
3648
|
+
* @see the component manifest
|
|
3649
|
+
*/
|
|
2719
3650
|
dividers?: boolean;
|
|
2720
3651
|
size?: 'sm' | 'md';
|
|
2721
3652
|
}
|
|
@@ -2733,10 +3664,22 @@ interface TimelineItem {
|
|
|
2733
3664
|
description?: ReactNode;
|
|
2734
3665
|
time?: string;
|
|
2735
3666
|
icon?: ReactNode;
|
|
2736
|
-
|
|
3667
|
+
/**
|
|
3668
|
+
* Where this entry sits in the sequence. Accepts the catalog-wide `Progress` vocabulary
|
|
3669
|
+
* (`pending | active | complete | error`) as well as Timeline's own `current` / `upcoming`
|
|
3670
|
+
* — they are aliases of `active` / `pending`, so one status enum drives both `Timeline`
|
|
3671
|
+
* and `Steps` with no translation.
|
|
3672
|
+
*/
|
|
3673
|
+
status?: ProgressInput;
|
|
2737
3674
|
}
|
|
2738
3675
|
interface TimelineProps extends HTMLAttributes<HTMLOListElement> {
|
|
2739
3676
|
items: TimelineItem[];
|
|
3677
|
+
/**
|
|
3678
|
+
* Layout orientation of the component.
|
|
3679
|
+
*
|
|
3680
|
+
* @defaultValue `vertical`
|
|
3681
|
+
* @see the component manifest
|
|
3682
|
+
*/
|
|
2740
3683
|
orientation?: 'vertical' | 'horizontal';
|
|
2741
3684
|
}
|
|
2742
3685
|
declare function Timeline({
|
|
@@ -2746,7 +3689,20 @@ declare function Timeline({
|
|
|
2746
3689
|
...props
|
|
2747
3690
|
}: TimelineProps): import("react").JSX.Element;
|
|
2748
3691
|
interface ItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
3692
|
+
/**
|
|
3693
|
+
* When true, renders the child element as the root via Slot, merging props (polymorphic
|
|
3694
|
+
* rendering).
|
|
3695
|
+
*
|
|
3696
|
+
* @defaultValue `false`
|
|
3697
|
+
* @see the component manifest
|
|
3698
|
+
*/
|
|
2749
3699
|
asChild?: boolean;
|
|
3700
|
+
/**
|
|
3701
|
+
* Selects the visual style variant.
|
|
3702
|
+
*
|
|
3703
|
+
* @defaultValue `default`
|
|
3704
|
+
* @see the component manifest
|
|
3705
|
+
*/
|
|
2750
3706
|
variant?: 'default' | 'muted';
|
|
2751
3707
|
size?: 'sm' | 'md';
|
|
2752
3708
|
}
|
|
@@ -2800,6 +3756,12 @@ interface CalendarProps {
|
|
|
2800
3756
|
max?: Date;
|
|
2801
3757
|
disabled?: (date: Date) => boolean;
|
|
2802
3758
|
locale?: string;
|
|
3759
|
+
/**
|
|
3760
|
+
* Grid cell size
|
|
3761
|
+
*
|
|
3762
|
+
* @defaultValue `md`
|
|
3763
|
+
* @see the component manifest
|
|
3764
|
+
*/
|
|
2803
3765
|
size?: 'sm' | 'md' | 'lg';
|
|
2804
3766
|
labels?: CalendarLabels;
|
|
2805
3767
|
className?: string;
|
|
@@ -2819,7 +3781,12 @@ interface CalendarProps {
|
|
|
2819
3781
|
month: number;
|
|
2820
3782
|
year: number;
|
|
2821
3783
|
}) => void;
|
|
2822
|
-
/**
|
|
3784
|
+
/**
|
|
3785
|
+
* Hides the prev/next nav so a parent can drive navigation
|
|
3786
|
+
*
|
|
3787
|
+
* @defaultValue `false`
|
|
3788
|
+
* @see the component manifest
|
|
3789
|
+
*/
|
|
2823
3790
|
hideNav?: boolean;
|
|
2824
3791
|
}
|
|
2825
3792
|
declare function Calendar({
|
|
@@ -2870,6 +3837,12 @@ interface DateRangePickerProps {
|
|
|
2870
3837
|
presets?: DateRangePreset[];
|
|
2871
3838
|
locale?: string;
|
|
2872
3839
|
placeholder?: string;
|
|
3840
|
+
/**
|
|
3841
|
+
* Field/grid size
|
|
3842
|
+
*
|
|
3843
|
+
* @defaultValue `md`
|
|
3844
|
+
* @see the component manifest
|
|
3845
|
+
*/
|
|
2873
3846
|
size?: 'sm' | 'md' | 'lg';
|
|
2874
3847
|
labels?: DateRangePickerLabels;
|
|
2875
3848
|
className?: string;
|
|
@@ -2890,17 +3863,35 @@ declare function DateRangePicker({
|
|
|
2890
3863
|
}: DateRangePickerProps): import("react").JSX.Element;
|
|
2891
3864
|
interface ColorPickerLabels {
|
|
2892
3865
|
hue?: string;
|
|
3866
|
+
/**
|
|
3867
|
+
* When true, enables alpha (opacity) selection.
|
|
3868
|
+
*
|
|
3869
|
+
* @defaultValue `true`
|
|
3870
|
+
* @see the component manifest
|
|
3871
|
+
*/
|
|
2893
3872
|
alpha?: string;
|
|
2894
3873
|
colorArea?: string;
|
|
2895
3874
|
eyedropper?: string;
|
|
2896
3875
|
}
|
|
2897
3876
|
interface ColorPickerProps {
|
|
2898
3877
|
value?: string;
|
|
3878
|
+
/**
|
|
3879
|
+
* The initial value when uncontrolled.
|
|
3880
|
+
*
|
|
3881
|
+
* @defaultValue `#3b82f6`
|
|
3882
|
+
* @see the component manifest
|
|
3883
|
+
*/
|
|
2899
3884
|
defaultValue?: string;
|
|
2900
3885
|
onValueChange?: (value: string) => void;
|
|
2901
3886
|
presets?: string[];
|
|
2902
3887
|
alpha?: boolean;
|
|
2903
3888
|
label?: string;
|
|
3889
|
+
/**
|
|
3890
|
+
* When true, disables the control and removes it from the tab order.
|
|
3891
|
+
*
|
|
3892
|
+
* @defaultValue `false`
|
|
3893
|
+
* @see the component manifest
|
|
3894
|
+
*/
|
|
2904
3895
|
disabled?: boolean;
|
|
2905
3896
|
size?: 'sm' | 'md' | 'lg';
|
|
2906
3897
|
className?: string;
|
|
@@ -2927,8 +3918,20 @@ interface CarouselProps {
|
|
|
2927
3918
|
children?: ReactNode;
|
|
2928
3919
|
slides?: ReactNode[];
|
|
2929
3920
|
index?: number;
|
|
3921
|
+
/**
|
|
3922
|
+
* The initial slide index when uncontrolled.
|
|
3923
|
+
*
|
|
3924
|
+
* @defaultValue `0`
|
|
3925
|
+
* @see the component manifest
|
|
3926
|
+
*/
|
|
2930
3927
|
defaultIndex?: number;
|
|
2931
3928
|
onIndexChange?: (index: number) => void;
|
|
3929
|
+
/**
|
|
3930
|
+
* When true, navigation wraps around from end to start.
|
|
3931
|
+
*
|
|
3932
|
+
* @defaultValue `false`
|
|
3933
|
+
* @see the component manifest
|
|
3934
|
+
*/
|
|
2932
3935
|
loop?: boolean;
|
|
2933
3936
|
className?: string;
|
|
2934
3937
|
labels?: CarouselLabels;
|
|
@@ -2945,10 +3948,34 @@ declare function Carousel({
|
|
|
2945
3948
|
}: CarouselProps): import("react").JSX.Element;
|
|
2946
3949
|
interface ResizableProps {
|
|
2947
3950
|
children: ReactNode;
|
|
3951
|
+
/**
|
|
3952
|
+
* Layout orientation of the component.
|
|
3953
|
+
*
|
|
3954
|
+
* @defaultValue `horizontal`
|
|
3955
|
+
* @see the component manifest
|
|
3956
|
+
*/
|
|
2948
3957
|
orientation?: 'horizontal' | 'vertical';
|
|
3958
|
+
/**
|
|
3959
|
+
* The initial split ratio when uncontrolled.
|
|
3960
|
+
*
|
|
3961
|
+
* @defaultValue `0.5`
|
|
3962
|
+
* @see the component manifest
|
|
3963
|
+
*/
|
|
2949
3964
|
defaultRatio?: number;
|
|
2950
3965
|
ratio?: number;
|
|
3966
|
+
/**
|
|
3967
|
+
* Minimum allowed split ratio.
|
|
3968
|
+
*
|
|
3969
|
+
* @defaultValue `0.1`
|
|
3970
|
+
* @see the component manifest
|
|
3971
|
+
*/
|
|
2951
3972
|
minRatio?: number;
|
|
3973
|
+
/**
|
|
3974
|
+
* Maximum allowed split ratio.
|
|
3975
|
+
*
|
|
3976
|
+
* @defaultValue `0.9`
|
|
3977
|
+
* @see the component manifest
|
|
3978
|
+
*/
|
|
2952
3979
|
maxRatio?: number;
|
|
2953
3980
|
onRatioChange?: (ratio: number) => void;
|
|
2954
3981
|
className?: string;
|
|
@@ -2991,7 +4018,12 @@ interface DrawerProps {
|
|
|
2991
4018
|
defaultOpen?: boolean;
|
|
2992
4019
|
/** Called whenever the open state should change. */
|
|
2993
4020
|
onOpenChange?: (open: boolean) => void;
|
|
2994
|
-
/**
|
|
4021
|
+
/**
|
|
4022
|
+
* Edge the panel is anchored to. Drives the slide direction.
|
|
4023
|
+
*
|
|
4024
|
+
* @defaultValue `end`
|
|
4025
|
+
* @see the component manifest
|
|
4026
|
+
*/
|
|
2995
4027
|
side?: 'start' | 'end' | 'top' | 'bottom';
|
|
2996
4028
|
/** Panel size along its cross axis (width for start/end, height for top/bottom). */
|
|
2997
4029
|
size?: string;
|
|
@@ -3004,7 +4036,12 @@ interface DrawerProps {
|
|
|
3004
4036
|
close?: string;
|
|
3005
4037
|
};
|
|
3006
4038
|
className?: string;
|
|
3007
|
-
/**
|
|
4039
|
+
/**
|
|
4040
|
+
* Allow dragging the header toward its edge to dismiss (opt-in).
|
|
4041
|
+
*
|
|
4042
|
+
* @defaultValue `false`
|
|
4043
|
+
* @see the component manifest
|
|
4044
|
+
*/
|
|
3008
4045
|
swipeToDismiss?: boolean;
|
|
3009
4046
|
}
|
|
3010
4047
|
/**
|
|
@@ -3047,23 +4084,24 @@ interface NativeSelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>
|
|
|
3047
4084
|
* layers on a custom chevron and focus/invalid rings via CSS only. No JS interactivity, so no
|
|
3048
4085
|
* signals: the browser owns all state. Distinct from the custom-rendered `Select` listbox.
|
|
3049
4086
|
*/
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
defaultValue,
|
|
3059
|
-
className,
|
|
3060
|
-
...props
|
|
3061
|
-
}: NativeSelectProps): import("react").JSX.Element;
|
|
4087
|
+
/**
|
|
4088
|
+
* `forwardRef` so `ref` reaches the underlying `<select>` — and so it is TYPED. See
|
|
4089
|
+
* `textarea.tsx` for the full rationale (2026-07-28 report C10): the ref already worked at
|
|
4090
|
+
* runtime under React 19, but nothing declared it, so passing one was a `ts(2322)` and every
|
|
4091
|
+
* consumer had to cast. `forwardRef` rather than a bare `ref?: Ref<T>` prop keeps the
|
|
4092
|
+
* `react >= 18` peer floor honest, since ref-as-prop does not work there.
|
|
4093
|
+
*/
|
|
4094
|
+
declare const NativeSelect: import("react").ForwardRefExoticComponent<NativeSelectProps & import("react").RefAttributes<HTMLSelectElement>>;
|
|
3062
4095
|
type CodeLang = 'bash' | 'css' | 'js' | 'ts';
|
|
3063
4096
|
interface CodeSnippetProps {
|
|
3064
4097
|
/** The code to display (and copy). */
|
|
3065
4098
|
code: string;
|
|
3066
|
-
/**
|
|
4099
|
+
/**
|
|
4100
|
+
* inline = a <code> span; single = one-line <pre>; multi = multi-line <pre>.
|
|
4101
|
+
*
|
|
4102
|
+
* @defaultValue `single`
|
|
4103
|
+
* @see the component manifest
|
|
4104
|
+
*/
|
|
3067
4105
|
variant?: 'inline' | 'single' | 'multi';
|
|
3068
4106
|
/**
|
|
3069
4107
|
* Enables lightweight, dependency-free syntax highlighting for the block
|
|
@@ -3105,13 +4143,25 @@ declare function CodeSnippet({
|
|
|
3105
4143
|
labels,
|
|
3106
4144
|
className
|
|
3107
4145
|
}: CodeSnippetProps): import("react").JSX.Element;
|
|
4146
|
+
/**
|
|
4147
|
+
* The catalog-wide progress vocabulary. `Timeline`'s `current` / `upcoming` are accepted as
|
|
4148
|
+
* aliases of `active` / `pending`, so one status enum drives both components — writing
|
|
4149
|
+
* `state: 'upcoming'` here used to be a type error with no hint that `pending` was the word.
|
|
4150
|
+
*/
|
|
3108
4151
|
type StepState = 'pending' | 'active' | 'complete' | 'error';
|
|
3109
4152
|
interface Step {
|
|
3110
4153
|
label: string;
|
|
3111
|
-
|
|
4154
|
+
/** Accepts `StepState` plus Timeline's `current` / `upcoming` aliases. */
|
|
4155
|
+
state?: ProgressInput;
|
|
3112
4156
|
}
|
|
3113
4157
|
interface StepsProps {
|
|
3114
4158
|
steps: Step[];
|
|
4159
|
+
/**
|
|
4160
|
+
* Index of the currently active step (0-based)
|
|
4161
|
+
*
|
|
4162
|
+
* @defaultValue `0`
|
|
4163
|
+
* @see the component manifest
|
|
4164
|
+
*/
|
|
3115
4165
|
activeStep?: number;
|
|
3116
4166
|
orientation?: 'horizontal' | 'vertical';
|
|
3117
4167
|
className?: string;
|
|
@@ -3134,7 +4184,12 @@ interface TileProps {
|
|
|
3134
4184
|
defaultSelected?: boolean;
|
|
3135
4185
|
/** Called with this tile's value whenever it is toggled on (or off for multi). */
|
|
3136
4186
|
onSelect?: (value: string) => void;
|
|
3137
|
-
/**
|
|
4187
|
+
/**
|
|
4188
|
+
* Single = radio semantics (toggle on); multi = checkbox semantics (toggle on/off).
|
|
4189
|
+
*
|
|
4190
|
+
* @defaultValue `single`
|
|
4191
|
+
* @see the component manifest
|
|
4192
|
+
*/
|
|
3138
4193
|
selectable?: 'single' | 'multi';
|
|
3139
4194
|
disabled?: boolean;
|
|
3140
4195
|
/** Optional leading icon/visual. */
|
|
@@ -3164,6 +4219,12 @@ type IndicatorPlacement = 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end
|
|
|
3164
4219
|
interface IndicatorProps {
|
|
3165
4220
|
children: React.ReactNode;
|
|
3166
4221
|
overlay: React.ReactNode;
|
|
4222
|
+
/**
|
|
4223
|
+
* Placement relative to the trigger.
|
|
4224
|
+
*
|
|
4225
|
+
* @defaultValue `top-end`
|
|
4226
|
+
* @see the component manifest
|
|
4227
|
+
*/
|
|
3167
4228
|
placement?: IndicatorPlacement;
|
|
3168
4229
|
className?: string;
|
|
3169
4230
|
}
|
|
@@ -3176,6 +4237,12 @@ declare function Indicator({
|
|
|
3176
4237
|
type JoinOrientation = 'horizontal' | 'vertical';
|
|
3177
4238
|
interface JoinProps {
|
|
3178
4239
|
children: React.ReactNode;
|
|
4240
|
+
/**
|
|
4241
|
+
* Layout orientation of the component.
|
|
4242
|
+
*
|
|
4243
|
+
* @defaultValue `horizontal`
|
|
4244
|
+
* @see the component manifest
|
|
4245
|
+
*/
|
|
3179
4246
|
orientation?: JoinOrientation;
|
|
3180
4247
|
className?: string;
|
|
3181
4248
|
}
|
|
@@ -3186,6 +4253,13 @@ declare function Join({
|
|
|
3186
4253
|
}: JoinProps): import("react").JSX.Element;
|
|
3187
4254
|
interface StackProps {
|
|
3188
4255
|
children: React.ReactNode;
|
|
4256
|
+
/**
|
|
4257
|
+
* Pixel offset applied per overlapped layer in both axes. This is NOT a spacing `gap` —
|
|
4258
|
+
* for gap-based vertical/horizontal layout use `Flex`/`Grid` and their `gap` prop.
|
|
4259
|
+
*
|
|
4260
|
+
* @defaultValue `4`
|
|
4261
|
+
* @see the component manifest
|
|
4262
|
+
*/
|
|
3189
4263
|
offset?: number;
|
|
3190
4264
|
className?: string;
|
|
3191
4265
|
}
|
|
@@ -3194,7 +4268,17 @@ declare function Stack({
|
|
|
3194
4268
|
offset,
|
|
3195
4269
|
className
|
|
3196
4270
|
}: StackProps): import("react").JSX.Element;
|
|
3197
|
-
|
|
4271
|
+
/**
|
|
4272
|
+
* `AppShell` extends `HTMLAttributes<HTMLDivElement>`, like every other layout primitive,
|
|
4273
|
+
* so `className` **and `style`** pass through to its root element. That matters because the
|
|
4274
|
+
* shell's documented design tokens (`--cascivo-shell-aside-inline-size`,
|
|
4275
|
+
* `--cascivo-shell-panel-inline-size`, `--cascivo-shell-header-block-size`) have to be set
|
|
4276
|
+
* *somewhere*: set them here —
|
|
4277
|
+
* `<AppShell style={{ '--cascivo-shell-aside-inline-size': '15.5rem' }}>` — or on any
|
|
4278
|
+
* ancestor, since they inherit. Before this the props were a closed list with no `style`,
|
|
4279
|
+
* so the tokens had no documented application point and adopters set them on `#root`.
|
|
4280
|
+
*/
|
|
4281
|
+
interface AppShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
3198
4282
|
/**
|
|
3199
4283
|
* Top bar — typically a `<ShellHeader>`. If it is a React element, AppShell
|
|
3200
4284
|
* binds its burger (`onMenuClick`/`menuExpanded`) to the nav open state so the
|
|
@@ -3227,6 +4311,11 @@ interface AppShellProps {
|
|
|
3227
4311
|
* Rail vs full-hide reconcile cleanly: AppShell owns the full show/hide (this
|
|
3228
4312
|
* `open` state); the SideNav you pass owns its own rail collapse
|
|
3229
4313
|
* (`showCollapseToggle`). They compose on different axes and never fight.
|
|
4314
|
+
*
|
|
4315
|
+
* **Visual regression note:** the shell is `100dvh` with an internal scroll container (that
|
|
4316
|
+
* is what makes the header sticky and the nav full-height). The page body therefore never
|
|
4317
|
+
* grows, so a Playwright `fullPage: true` screenshot captures only the viewport. To capture
|
|
4318
|
+
* the whole page, screenshot the scroll container element or set a tall viewport.
|
|
3230
4319
|
*/
|
|
3231
4320
|
declare function AppShell({
|
|
3232
4321
|
header,
|
|
@@ -3236,11 +4325,18 @@ declare function AppShell({
|
|
|
3236
4325
|
open,
|
|
3237
4326
|
defaultOpen,
|
|
3238
4327
|
onOpenChange,
|
|
3239
|
-
className
|
|
4328
|
+
className,
|
|
4329
|
+
...props
|
|
3240
4330
|
}: AppShellProps): import("react").JSX.Element;
|
|
3241
4331
|
type ChatBubbleSide = 'start' | 'end';
|
|
3242
4332
|
interface ChatBubbleProps {
|
|
3243
4333
|
children: React.ReactNode;
|
|
4334
|
+
/**
|
|
4335
|
+
* Edge the component is anchored to.
|
|
4336
|
+
*
|
|
4337
|
+
* @defaultValue `start`
|
|
4338
|
+
* @see the component manifest
|
|
4339
|
+
*/
|
|
3244
4340
|
side?: ChatBubbleSide;
|
|
3245
4341
|
avatar?: React.ReactNode;
|
|
3246
4342
|
name?: string;
|
|
@@ -3260,6 +4356,12 @@ type RadialProgressVariant = 'primary' | 'info' | 'success' | 'warning' | 'error
|
|
|
3260
4356
|
interface RadialProgressProps {
|
|
3261
4357
|
value: number;
|
|
3262
4358
|
size?: RadialProgressSize;
|
|
4359
|
+
/**
|
|
4360
|
+
* Selects the visual style variant.
|
|
4361
|
+
*
|
|
4362
|
+
* @defaultValue `primary`
|
|
4363
|
+
* @see the component manifest
|
|
4364
|
+
*/
|
|
3263
4365
|
variant?: RadialProgressVariant;
|
|
3264
4366
|
children?: React.ReactNode;
|
|
3265
4367
|
'aria-label'?: string;
|
|
@@ -3277,6 +4379,12 @@ type SwapMode = 'rotate' | 'flip';
|
|
|
3277
4379
|
interface SwapProps {
|
|
3278
4380
|
on: React.ReactNode;
|
|
3279
4381
|
off: React.ReactNode;
|
|
4382
|
+
/**
|
|
4383
|
+
* Whether the control is checked (controlled).
|
|
4384
|
+
*
|
|
4385
|
+
* @defaultValue `false`
|
|
4386
|
+
* @see the component manifest
|
|
4387
|
+
*/
|
|
3280
4388
|
checked?: boolean;
|
|
3281
4389
|
/** Called with the new checked state when the swap is toggled. */
|
|
3282
4390
|
onValueChange?: (checked: boolean) => void;
|
|
@@ -3309,9 +4417,19 @@ interface SwipeAction {
|
|
|
3309
4417
|
interface SwipeItemProps {
|
|
3310
4418
|
/** The row content. */
|
|
3311
4419
|
children: ReactNode;
|
|
3312
|
-
/**
|
|
4420
|
+
/**
|
|
4421
|
+
* Actions revealed by dragging toward the end edge (shown on the start edge)
|
|
4422
|
+
*
|
|
4423
|
+
* @defaultValue `[]`
|
|
4424
|
+
* @see the component manifest
|
|
4425
|
+
*/
|
|
3313
4426
|
leadingActions?: SwipeAction[];
|
|
3314
|
-
/**
|
|
4427
|
+
/**
|
|
4428
|
+
* Actions revealed by dragging toward the start edge (shown on the end edge)
|
|
4429
|
+
*
|
|
4430
|
+
* @defaultValue `[]`
|
|
4431
|
+
* @see the component manifest
|
|
4432
|
+
*/
|
|
3315
4433
|
trailingActions?: SwipeAction[];
|
|
3316
4434
|
className?: string;
|
|
3317
4435
|
}
|
|
@@ -3333,8 +4451,21 @@ type Responsive<T> = T | Partial<Record<'base' | 'sm' | 'md' | 'lg' | 'xl', T>>;
|
|
|
3333
4451
|
/** Grid track alignment keyword (maps directly to `align-items` / `justify-items`). */
|
|
3334
4452
|
type GridAlign = 'start' | 'center' | 'end' | 'stretch';
|
|
3335
4453
|
interface GridProps extends HTMLAttributes<HTMLDivElement> {
|
|
3336
|
-
/**
|
|
4454
|
+
/**
|
|
4455
|
+
* Column count — a number, or a per-breakpoint object (base/sm/md/lg/xl) for responsive
|
|
4456
|
+
* columns
|
|
4457
|
+
*
|
|
4458
|
+
* @defaultValue `12`
|
|
4459
|
+
* @see the component manifest
|
|
4460
|
+
*/
|
|
3337
4461
|
cols?: Responsive<number>;
|
|
4462
|
+
/**
|
|
4463
|
+
* Spacing token step. Maps to the --cascivo-space-* scale, which intentionally skips
|
|
4464
|
+
* 7/9/11 — use 6 or 8.
|
|
4465
|
+
*
|
|
4466
|
+
* @defaultValue `4`
|
|
4467
|
+
* @see the component manifest
|
|
4468
|
+
*/
|
|
3338
4469
|
gap?: SpaceStep;
|
|
3339
4470
|
/** Block-axis alignment of items within their cells (`align-items`). Defaults to `stretch`. */
|
|
3340
4471
|
align?: GridAlign;
|
|
@@ -3362,10 +4493,30 @@ declare function GridItem({
|
|
|
3362
4493
|
...props
|
|
3363
4494
|
}: GridItemProps): import("react").JSX.Element;
|
|
3364
4495
|
interface FlexProps extends HTMLAttributes<HTMLDivElement> {
|
|
4496
|
+
/**
|
|
4497
|
+
* Flex direction. ⚠ Defaults to `vertical`, unlike CSS `flex-direction` (and unlike
|
|
4498
|
+
* Chakra/MUI/Radix `Flex`, which default to a row) — `<Flex justify="between">` alone
|
|
4499
|
+
* produces a centered vertical stack.
|
|
4500
|
+
*
|
|
4501
|
+
* @defaultValue `vertical`
|
|
4502
|
+
* @see the component manifest
|
|
4503
|
+
*/
|
|
3365
4504
|
direction?: 'vertical' | 'horizontal';
|
|
4505
|
+
/**
|
|
4506
|
+
* Spacing token step
|
|
4507
|
+
*
|
|
4508
|
+
* @defaultValue `4`
|
|
4509
|
+
* @see the component manifest
|
|
4510
|
+
*/
|
|
3366
4511
|
gap?: SpaceStep;
|
|
3367
4512
|
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
3368
4513
|
justify?: 'start' | 'center' | 'end' | 'between';
|
|
4514
|
+
/**
|
|
4515
|
+
* Allow wrapping
|
|
4516
|
+
*
|
|
4517
|
+
* @defaultValue `false`
|
|
4518
|
+
* @see the component manifest
|
|
4519
|
+
*/
|
|
3369
4520
|
wrap?: boolean;
|
|
3370
4521
|
}
|
|
3371
4522
|
declare function Flex({
|
|
@@ -3379,7 +4530,19 @@ declare function Flex({
|
|
|
3379
4530
|
...props
|
|
3380
4531
|
}: FlexProps): import("react").JSX.Element;
|
|
3381
4532
|
interface ColumnsProps extends HTMLAttributes<HTMLDivElement> {
|
|
4533
|
+
/**
|
|
4534
|
+
* Number of equal columns
|
|
4535
|
+
*
|
|
4536
|
+
* @defaultValue `2`
|
|
4537
|
+
* @see the component manifest
|
|
4538
|
+
*/
|
|
3382
4539
|
count?: 2 | 3 | 4;
|
|
4540
|
+
/**
|
|
4541
|
+
* Spacing token step
|
|
4542
|
+
*
|
|
4543
|
+
* @defaultValue `4`
|
|
4544
|
+
* @see the component manifest
|
|
4545
|
+
*/
|
|
3383
4546
|
gap?: SpaceStep;
|
|
3384
4547
|
}
|
|
3385
4548
|
declare function Columns({
|
|
@@ -3391,6 +4554,12 @@ declare function Columns({
|
|
|
3391
4554
|
...props
|
|
3392
4555
|
}: ColumnsProps): import("react").JSX.Element;
|
|
3393
4556
|
interface CenterProps extends HTMLAttributes<HTMLDivElement> {
|
|
4557
|
+
/**
|
|
4558
|
+
* CSS max-width value
|
|
4559
|
+
*
|
|
4560
|
+
* @defaultValue `48rem`
|
|
4561
|
+
* @see the component manifest
|
|
4562
|
+
*/
|
|
3394
4563
|
maxWidth?: string;
|
|
3395
4564
|
}
|
|
3396
4565
|
declare function Center({
|
|
@@ -3400,6 +4569,12 @@ declare function Center({
|
|
|
3400
4569
|
...props
|
|
3401
4570
|
}: CenterProps): import("react").JSX.Element;
|
|
3402
4571
|
interface SpacerProps extends HTMLAttributes<HTMLDivElement> {
|
|
4572
|
+
/**
|
|
4573
|
+
* Spacing token step
|
|
4574
|
+
*
|
|
4575
|
+
* @defaultValue `4`
|
|
4576
|
+
* @see the component manifest
|
|
4577
|
+
*/
|
|
3403
4578
|
size?: SpaceStep;
|
|
3404
4579
|
}
|
|
3405
4580
|
declare function Spacer({
|
|
@@ -3409,8 +4584,20 @@ declare function Spacer({
|
|
|
3409
4584
|
...props
|
|
3410
4585
|
}: SpacerProps): import("react").JSX.Element;
|
|
3411
4586
|
interface AutoGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
3412
|
-
/**
|
|
4587
|
+
/**
|
|
4588
|
+
* Minimum track width before items wrap to fewer columns
|
|
4589
|
+
*
|
|
4590
|
+
* @defaultValue `"16rem"`
|
|
4591
|
+
* @see the component manifest
|
|
4592
|
+
*/
|
|
3413
4593
|
min?: string;
|
|
4594
|
+
/**
|
|
4595
|
+
* Spacing token step. Maps to the --cascivo-space-* scale, which intentionally skips
|
|
4596
|
+
* 7/9/11 — use 6 or 8.
|
|
4597
|
+
*
|
|
4598
|
+
* @defaultValue `4`
|
|
4599
|
+
* @see the component manifest
|
|
4600
|
+
*/
|
|
3414
4601
|
gap?: SpaceStep;
|
|
3415
4602
|
className?: string | undefined;
|
|
3416
4603
|
}
|
|
@@ -3421,11 +4608,48 @@ declare function AutoGrid({
|
|
|
3421
4608
|
style,
|
|
3422
4609
|
...props
|
|
3423
4610
|
}: AutoGridProps): import("react").JSX.Element;
|
|
4611
|
+
interface PageHeaderProps {
|
|
4612
|
+
title: string;
|
|
4613
|
+
description?: string;
|
|
4614
|
+
breadcrumb?: ReactNode;
|
|
4615
|
+
actions?: ReactNode;
|
|
4616
|
+
className?: string;
|
|
4617
|
+
}
|
|
4618
|
+
declare function PageHeader({
|
|
4619
|
+
title,
|
|
4620
|
+
description,
|
|
4621
|
+
breadcrumb,
|
|
4622
|
+
actions,
|
|
4623
|
+
className
|
|
4624
|
+
}: PageHeaderProps): import("react").JSX.Element;
|
|
3424
4625
|
/**
|
|
3425
4626
|
* Set the active theme imperatively, from anywhere. Persists the choice and
|
|
3426
4627
|
* drives the `data-theme` attribute through the mounted {@link ThemeProvider}.
|
|
4628
|
+
*
|
|
4629
|
+
* Requires a mounted {@link ThemeProvider} — this writes the signal, the provider writes
|
|
4630
|
+
* the DOM. Without one, nothing restyles (dev builds warn). To write the attribute
|
|
4631
|
+
* directly, with no provider and no React, use {@link applyTheme}.
|
|
3427
4632
|
*/
|
|
3428
4633
|
declare function setTheme(next: string): void;
|
|
4634
|
+
/**
|
|
4635
|
+
* Write a theme onto an element directly, with no provider and no React.
|
|
4636
|
+
*
|
|
4637
|
+
* The escape hatch for imperative setups: a theme toggle in a non-React shell, a
|
|
4638
|
+
* pre-hydration inline script, a Storybook decorator, an e2e test. Also updates the theme
|
|
4639
|
+
* signal, so a React tree reading {@link useTheme} stays in sync.
|
|
4640
|
+
*
|
|
4641
|
+
* `setTheme` deliberately does **not** do this itself: it is SSR-callable, and
|
|
4642
|
+
* `ThemeProvider` can scope a theme to any subtree via its `target` ref. A direct document
|
|
4643
|
+
* write inside `setTheme` would break scoped theming and touch `document` on the server.
|
|
4644
|
+
*
|
|
4645
|
+
* ```ts
|
|
4646
|
+
* applyTheme('midnight') // <html data-theme="midnight">
|
|
4647
|
+
* applyTheme('warm', panelRef.current) // scope to a subtree
|
|
4648
|
+
* ```
|
|
4649
|
+
*
|
|
4650
|
+
* No-op on the server (no `document`).
|
|
4651
|
+
*/
|
|
4652
|
+
declare function applyTheme(next: string, target?: HTMLElement | null): void;
|
|
3429
4653
|
/**
|
|
3430
4654
|
* Read and set the active theme. Returns the current theme **name** (a plain
|
|
3431
4655
|
* string) and a setter — the component re-renders when the theme changes with no
|
|
@@ -3537,4 +4761,4 @@ declare function themePreloadScript(options?: {
|
|
|
3537
4761
|
attribute?: string;
|
|
3538
4762
|
defaultTheme?: string;
|
|
3539
4763
|
}): string;
|
|
3540
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, AutoGrid, AutoGridProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, Center, CenterProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Columns, ColumnsProps, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandAction, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, CommandScope, CommandStatus, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, DismissableLayer, type DismissableLayerProps, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, Flex, FlexProps, FocusScope, Form, FormConfig, FormProps, FormStore, FuzzyMatch, Grid, GridAlign, GridItem, GridItemProps, GridProps, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, Link, type LinkComponent, type LinkComponentProps, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, type Machine, type MachineConfig, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Presence, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, Resizable, ResizableProps, Responsive, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkProps, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, Slot, type SlotProps, SortDirection, SortState, Spacer, SpacerProps, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, ThemeProvider, type ThemeProviderProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UseClipboardOptions, type UseClipboardReturn, type UseControllableSignalOptions, type UseDisclosureOptions, type UseDisclosureReturn, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VisuallyHidden, VisuallyHiddenProps, batch, cn, composeRefs, computePosition, computed, createForm, createMachine, createScope, createStreamBuffer, dismissAllToasts, effect, fuzzyMatch, fuzzyScore, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, treeViewMessages, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useForm, useId, useMachine, useMediaQuery, usePopover, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useToast, useTocFromRegion, useTypeahead };
|
|
4764
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, AutoGrid, AutoGridProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, Center, CenterProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Columns, ColumnsProps, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandAction, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, CommandScope, CommandStatus, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, DismissableLayer, type DismissableLayerProps, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, Flex, FlexProps, FocusScope, Form, FormConfig, FormProps, FormStore, FuzzyMatch, Grid, GridAlign, GridItem, GridItemProps, GridProps, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, Link, type LinkComponent, type LinkComponentProps, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, type Machine, type MachineConfig, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, PageHeader, PageHeaderProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Presence, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, Resizable, ResizableProps, Responsive, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkProps, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, Slot, type SlotProps, SortDirection, SortState, Spacer, SpacerProps, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, ThemeProvider, type ThemeProviderProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UseClipboardOptions, type UseClipboardReturn, type UseControllableSignalOptions, type UseDisclosureOptions, type UseDisclosureReturn, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VisuallyHidden, VisuallyHiddenProps, applyTheme, batch, cn, composeRefs, computePosition, computed, createForm, createMachine, createScope, createStreamBuffer, dismissAllToasts, effect, fuzzyMatch, fuzzyScore, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, treeViewMessages, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useForm, useId, useMachine, useMediaQuery, usePopover, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useToast, useTocFromRegion, useTypeahead };
|