@cascivo/react 0.17.1 → 1.0.0

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.
Files changed (101) hide show
  1. package/README.md +4 -3
  2. package/dist/action-sheet/action-sheet.js +1 -1
  3. package/dist/breadcrumb/breadcrumb.js +7 -7
  4. package/dist/checkbox/checkbox.js +11 -10
  5. package/dist/color-picker/color-picker.js +81 -77
  6. package/dist/combobox/combobox.js +81 -76
  7. package/dist/command-menu/command-menu.js +104 -104
  8. package/dist/comparison/comparison.js +18 -18
  9. package/dist/data-table/data-table.css +1 -1
  10. package/dist/data-table/data-table.js +148 -121
  11. package/dist/data-table/data-table.module.js +29 -29
  12. package/dist/date-picker/date-picker.js +98 -93
  13. package/dist/date-range-picker/date-range-picker.js +1 -1
  14. package/dist/dock/dock.js +2 -2
  15. package/dist/dropdown/dropdown.js +43 -40
  16. package/dist/editable/editable.js +29 -20
  17. package/dist/fab/fab.js +37 -37
  18. package/dist/field/field.js +24 -17
  19. package/dist/file-uploader/file-uploader.js +24 -23
  20. package/dist/filter/filter.js +11 -11
  21. package/dist/index.d.ts +1302 -85
  22. package/dist/input/input.js +14 -13
  23. package/dist/navigation-menu/navigation-menu.js +9 -9
  24. package/dist/node/action-sheet/action-sheet.js +1 -1
  25. package/dist/node/breadcrumb/breadcrumb.js +7 -7
  26. package/dist/node/checkbox/checkbox.js +11 -10
  27. package/dist/node/color-picker/color-picker.js +81 -77
  28. package/dist/node/combobox/combobox.js +81 -76
  29. package/dist/node/command-menu/command-menu.js +104 -104
  30. package/dist/node/comparison/comparison.js +18 -18
  31. package/dist/node/data-table/data-table.js +148 -121
  32. package/dist/node/data-table/data-table.module.js +29 -29
  33. package/dist/node/date-picker/date-picker.js +98 -93
  34. package/dist/node/date-range-picker/date-range-picker.js +1 -1
  35. package/dist/node/dock/dock.js +2 -2
  36. package/dist/node/dropdown/dropdown.js +43 -40
  37. package/dist/node/editable/editable.js +29 -20
  38. package/dist/node/fab/fab.js +37 -37
  39. package/dist/node/field/field.js +24 -17
  40. package/dist/node/file-uploader/file-uploader.js +24 -23
  41. package/dist/node/filter/filter.js +11 -11
  42. package/dist/node/input/input.js +14 -13
  43. package/dist/node/navigation-menu/navigation-menu.js +9 -9
  44. package/dist/node/number-input/number-input.js +28 -27
  45. package/dist/node/overflow-menu/overflow-menu.js +7 -7
  46. package/dist/node/progress/progress.js +3 -3
  47. package/dist/node/progress-circle/progress-circle.js +8 -8
  48. package/dist/node/progress-indicator/progress-indicator.js +1 -1
  49. package/dist/node/qr-code/qr-code.js +11 -11
  50. package/dist/node/radial-progress/radial-progress.js +9 -9
  51. package/dist/node/radio/radio.js +10 -9
  52. package/dist/node/react/src/index.js +93 -93
  53. package/dist/node/resizable/resizable.js +24 -24
  54. package/dist/node/search/search.js +35 -31
  55. package/dist/node/select/select.js +15 -14
  56. package/dist/node/side-nav/side-nav.js +35 -35
  57. package/dist/node/side-nav/side-nav.module.js +27 -27
  58. package/dist/node/slider/slider.js +13 -12
  59. package/dist/node/spinner/spinner.js +4 -4
  60. package/dist/node/steps/steps.js +10 -10
  61. package/dist/node/structured-list/structured-list.js +14 -14
  62. package/dist/node/swap/swap.js +5 -5
  63. package/dist/node/switcher/switcher.js +5 -5
  64. package/dist/node/tags-input/tags-input.js +20 -16
  65. package/dist/node/textarea/textarea.js +14 -13
  66. package/dist/node/time-picker/time-picker.js +21 -20
  67. package/dist/node/toggle/toggle.js +8 -7
  68. package/dist/node/tree-view/tree-view.js +43 -43
  69. package/dist/node/virtual-list/virtual-list.js +10 -10
  70. package/dist/node/wheel-picker/wheel-picker.js +36 -36
  71. package/dist/number-input/number-input.js +28 -27
  72. package/dist/overflow-menu/overflow-menu.js +7 -7
  73. package/dist/progress/progress.js +3 -3
  74. package/dist/progress-circle/progress-circle.js +8 -8
  75. package/dist/progress-indicator/progress-indicator.js +1 -1
  76. package/dist/qr-code/qr-code.js +11 -11
  77. package/dist/radial-progress/radial-progress.js +9 -9
  78. package/dist/radio/radio.js +10 -9
  79. package/dist/react/src/index.js +93 -93
  80. package/dist/resizable/resizable.js +24 -24
  81. package/dist/search/search.js +35 -31
  82. package/dist/select/select.js +15 -14
  83. package/dist/side-nav/side-nav.css +1 -1
  84. package/dist/side-nav/side-nav.js +35 -35
  85. package/dist/side-nav/side-nav.module.js +27 -27
  86. package/dist/slider/slider.js +13 -12
  87. package/dist/spinner/spinner.js +4 -4
  88. package/dist/steps/steps.js +10 -10
  89. package/dist/structured-list/structured-list.js +14 -14
  90. package/dist/styles.css +2 -2
  91. package/dist/swap/swap.js +5 -5
  92. package/dist/switcher/switcher.js +5 -5
  93. package/dist/tags-input/tags-input.js +20 -16
  94. package/dist/textarea/textarea.js +14 -13
  95. package/dist/time-picker/time-picker.js +21 -20
  96. package/dist/toggle/toggle.js +8 -7
  97. package/dist/tree-view/tree-view.js +43 -43
  98. package/dist/virtual-list/virtual-list.js +10 -10
  99. package/dist/wheel-picker/wheel-picker.js +36 -36
  100. package/package.json +4 -4
  101. package/readme.body.md +4 -3
package/dist/index.d.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  * Quickstart:
5
5
  * pnpm add @cascivo/react @preact/signals-react
6
6
  * // @cascivo/themes is installed with @cascivo/react. Once, in your entry file:
7
- * import '@cascivo/themes/all.css' // tokens + base + light & dark — REQUIRED for color
7
+ * import '@cascivo/themes/light-dark.css' // tokens + base + light & dark — REQUIRED for color
8
+ * // all.css is all TWELVE themes (~2x the CSS) — use it only if you ship a theme picker
8
9
  * // No-bundler / single-file alternative (themes bundled in): '@cascivo/react/styles.css'
9
10
  * import { Button, Card } from '@cascivo/react'
10
11
  *
@@ -21,8 +22,87 @@
21
22
  * Docs: https://cascivo.com/llms.txt — or fully offline, no website needed:
22
23
  * npx -y @cascivo/docs (index; `npx @cascivo/docs <component>` for one doc)
23
24
  */
24
- import { AnchorHTMLAttributes, ButtonHTMLAttributes, FormHTMLAttributes, HTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, LiHTMLAttributes, MouseEvent, ReactElement, ReactNode, RefObject, SelectHTMLAttributes, TextareaHTMLAttributes, TimeHTMLAttributes } from "react";
25
- import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, LinkComponent, LinkComponentProps, Machine, MachineConfig, Portal, Presence, ProgressInput, RovingOrientation, Signal, Slot, SlotProps, SpaceStep, SuspenseBoundary, ThemeProvider, ThemeProviderProps, ToneInput, UseClipboardOptions, UseClipboardReturn, UseControllableSignalOptions, UseDisclosureOptions, UseDisclosureReturn, VisuallyHidden, VisuallyHiddenProps, applyTheme, batch, cn, composeRefs, computePosition, computed, createMachine, createScope, createStreamBuffer, effect, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useId, useMachine, useMediaQuery, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useTypeahead } from "@cascivo/core";
25
+ import {
26
+ AnchorHTMLAttributes,
27
+ ButtonHTMLAttributes,
28
+ FormHTMLAttributes,
29
+ HTMLAttributes,
30
+ ImgHTMLAttributes,
31
+ InputHTMLAttributes,
32
+ LabelHTMLAttributes,
33
+ LiHTMLAttributes,
34
+ MouseEvent,
35
+ ReactElement,
36
+ ReactNode,
37
+ RefObject,
38
+ SelectHTMLAttributes,
39
+ TextareaHTMLAttributes,
40
+ TimeHTMLAttributes,
41
+ } from "react";
42
+ import {
43
+ DismissableLayer,
44
+ DismissableLayerProps,
45
+ ErrorBoundary,
46
+ FocusScope,
47
+ LinkComponent,
48
+ LinkComponentProps,
49
+ Machine,
50
+ MachineConfig,
51
+ Portal,
52
+ Presence,
53
+ ProgressInput,
54
+ RovingOrientation,
55
+ Signal,
56
+ Slot,
57
+ SlotProps,
58
+ SpaceStep,
59
+ SuspenseBoundary,
60
+ ThemeProvider,
61
+ ThemeProviderProps,
62
+ ToneInput,
63
+ UseClipboardOptions,
64
+ UseClipboardReturn,
65
+ UseControllableSignalOptions,
66
+ UseDisclosureOptions,
67
+ UseDisclosureReturn,
68
+ VisuallyHidden,
69
+ VisuallyHiddenProps,
70
+ applyTheme,
71
+ batch,
72
+ cn,
73
+ composeRefs,
74
+ computePosition,
75
+ computed,
76
+ createMachine,
77
+ createScope,
78
+ createStreamBuffer,
79
+ effect,
80
+ getLinkComponent,
81
+ mergeProps,
82
+ setLinkComponent,
83
+ setTheme,
84
+ signal,
85
+ themePreloadScript,
86
+ themeSignal,
87
+ useAnchorPosition,
88
+ useClipboard,
89
+ useComputed,
90
+ useControllableSignal,
91
+ useDisclosure,
92
+ useEffectPropSignal,
93
+ useId,
94
+ useMachine,
95
+ useMediaQuery,
96
+ useRovingFocus,
97
+ useScope,
98
+ useScrollLock,
99
+ useSignal,
100
+ useSignalEffect,
101
+ useSignals,
102
+ useStreamBuffer,
103
+ useTheme,
104
+ useTypeahead,
105
+ } from "@cascivo/core";
26
106
 
27
107
  /**
28
108
  * Button.
@@ -36,7 +116,8 @@ import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, Lin
36
116
  */
37
117
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
38
118
  /**
39
- * Selects the visual style variant.
119
+ * `primary` for the main action, `secondary` for a supporting one, `ghost` for a
120
+ * borderless action in dense UI, `destructive` for anything that deletes.
40
121
  *
41
122
  * @defaultValue `primary`
42
123
  * @see the component manifest
@@ -66,6 +147,20 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
66
147
  */
67
148
  declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
68
149
  interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
150
+ /**
151
+ * Invisible accessible name, for when a visible element outside this component already
152
+ * labels it (a heading in a settings row, a table column header) and `label` would render
153
+ * that text a second time.
154
+ *
155
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
156
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
157
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
158
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
159
+ * is, which is the only thing that interrupts a confident wrong guess.
160
+ *
161
+ * The raw DOM `aria-label` is still accepted and wins over this.
162
+ */
163
+ ariaLabel?: string;
69
164
  label?: string;
70
165
  hint?: string;
71
166
  error?: string;
@@ -81,7 +176,8 @@ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>
81
176
  declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
82
177
  interface CardProps extends HTMLAttributes<HTMLDivElement> {
83
178
  /**
84
- * Selects the visual style variant.
179
+ * `default` draws a 1px border, `outlined` a heavier one, `elevated` drops the border for
180
+ * a shadow.
85
181
  *
86
182
  * @defaultValue `default`
87
183
  * @see the component manifest
@@ -233,16 +329,26 @@ interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
233
329
  * @see the component manifest
234
330
  */
235
331
  label?: string;
332
+ /**
333
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
334
+ *
335
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
336
+ * makes after reading one other component (2026-08-21 report item 1). This component
337
+ * predates the convention and shipped `label`; both work and neither is deprecated.
338
+ */
339
+ ariaLabel?: string;
236
340
  }
237
341
  declare function Spinner({
238
342
  size,
239
343
  label,
344
+ ariaLabel,
240
345
  className,
241
346
  ...props
242
347
  }: SpinnerProps): import("react").JSX.Element;
243
348
  interface SeparatorProps extends HTMLAttributes<HTMLElement> {
244
349
  /**
245
- * Layout orientation of the component.
350
+ * Direction the rule runs: `horizontal` draws a full-width line, `vertical` a full-height
351
+ * one that stretches to its flex row.
246
352
  *
247
353
  * @defaultValue `horizontal`
248
354
  * @see the component manifest
@@ -264,7 +370,9 @@ declare function Separator({
264
370
  }: SeparatorProps): import("react").JSX.Element;
265
371
  interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
266
372
  /**
267
- * Selects the visual style variant.
373
+ * Severity tone: `default` (neutral), `info`, `success`, `warning` or `destructive`. Sets
374
+ * the icon and the accent colour. Unlike Badge/Tag/Notification this is a private union,
375
+ * not `ToneInput` — the canonical `danger`/`neutral` spellings are not accepted here.
268
376
  *
269
377
  * @defaultValue `default`
270
378
  * @see the component manifest
@@ -430,6 +538,20 @@ declare function Image({
430
538
  ...rest
431
539
  }: ImageProps): import("react").JSX.Element;
432
540
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
541
+ /**
542
+ * Invisible accessible name, for when a visible element outside this component already
543
+ * labels it (a heading in a settings row, a table column header) and `label` would render
544
+ * that text a second time.
545
+ *
546
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
547
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
548
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
549
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
550
+ * is, which is the only thing that interrupts a confident wrong guess.
551
+ *
552
+ * The raw DOM `aria-label` is still accepted and wins over this.
553
+ */
554
+ ariaLabel?: string;
433
555
  label?: string;
434
556
  hint?: string;
435
557
  error?: string;
@@ -471,6 +593,20 @@ interface SelectOption {
471
593
  * `NativeSelect`, spreads onto a real element and inherits that element's event.
472
594
  */
473
595
  interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
596
+ /**
597
+ * Invisible accessible name, for when a visible element outside this component already
598
+ * labels it (a heading in a settings row, a table column header) and `label` would render
599
+ * that text a second time.
600
+ *
601
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
602
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
603
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
604
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
605
+ * is, which is the only thing that interrupts a confident wrong guess.
606
+ *
607
+ * The raw DOM `aria-label` is still accepted and wins over this.
608
+ */
609
+ ariaLabel?: string;
474
610
  label?: string;
475
611
  hint?: string;
476
612
  error?: string;
@@ -486,6 +622,20 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'siz
486
622
  */
487
623
  declare const Select: import("react").ForwardRefExoticComponent<SelectProps & import("react").RefAttributes<HTMLSelectElement>>;
488
624
  interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
625
+ /**
626
+ * Invisible accessible name, for when a visible element outside this component already
627
+ * labels it (a heading in a settings row, a table column header) and `label` would render
628
+ * that text a second time.
629
+ *
630
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
631
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
632
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
633
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
634
+ * is, which is the only thing that interrupts a confident wrong guess.
635
+ *
636
+ * The raw DOM `aria-label` is still accepted and wins over this.
637
+ */
638
+ ariaLabel?: string;
489
639
  label?: string;
490
640
  /**
491
641
  * When true, renders the mixed/indeterminate state.
@@ -504,6 +654,20 @@ interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
504
654
  */
505
655
  declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
506
656
  interface RadioProps extends InputHTMLAttributes<HTMLInputElement> {
657
+ /**
658
+ * Invisible accessible name, for when a visible element outside this component already
659
+ * labels it (a heading in a settings row, a table column header) and `label` would render
660
+ * that text a second time.
661
+ *
662
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
663
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
664
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
665
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
666
+ * is, which is the only thing that interrupts a confident wrong guess.
667
+ *
668
+ * The raw DOM `aria-label` is still accepted and wins over this.
669
+ */
670
+ ariaLabel?: string;
507
671
  label?: string;
508
672
  value: string;
509
673
  }
@@ -535,6 +699,20 @@ declare function RadioGroup({
535
699
  children
536
700
  }: RadioGroupProps): import("react").JSX.Element;
537
701
  interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
702
+ /**
703
+ * Invisible accessible name, for when a visible element outside this component already
704
+ * labels it (a heading in a settings row, a table column header) and `label` would render
705
+ * that text a second time.
706
+ *
707
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
708
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
709
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
710
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
711
+ * is, which is the only thing that interrupts a confident wrong guess.
712
+ *
713
+ * The raw DOM `aria-label` is still accepted and wins over this.
714
+ */
715
+ ariaLabel?: string;
538
716
  checked?: boolean;
539
717
  /**
540
718
  * Whether the control is checked on first render (uncontrolled).
@@ -545,8 +723,6 @@ interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onC
545
723
  defaultChecked?: boolean;
546
724
  /** Called with the new checked state when the switch is toggled. */
547
725
  onValueChange?: (checked: boolean) => void;
548
- /** @deprecated Use `onValueChange` — it receives the same `checked` boolean. */
549
- onChange?: (checked: boolean) => void;
550
726
  /**
551
727
  * Renders a **visible** text label beside the switch that also becomes its
552
728
  * accessible name. When a visible heading already labels the control, omit
@@ -571,6 +747,20 @@ declare const Toggle: import("react").ForwardRefExoticComponent<ToggleProps & im
571
747
  * while this one inherits the underlying element's event.
572
748
  */
573
749
  interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
750
+ /**
751
+ * Invisible accessible name, for when a visible element outside this component already
752
+ * labels it (a heading in a settings row, a table column header) and `label` would render
753
+ * that text a second time.
754
+ *
755
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
756
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
757
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
758
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
759
+ * is, which is the only thing that interrupts a confident wrong guess.
760
+ *
761
+ * The raw DOM `aria-label` is still accepted and wins over this.
762
+ */
763
+ ariaLabel?: string;
574
764
  label?: string;
575
765
  }
576
766
  /**
@@ -583,7 +773,7 @@ declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & im
583
773
  interface TooltipProps {
584
774
  content: ReactNode;
585
775
  /**
586
- * Placement relative to the trigger.
776
+ * Side of the trigger the tip opens on: `top`, `right`, `bottom` or `left`.
587
777
  *
588
778
  * @defaultValue `top`
589
779
  * @see the component manifest
@@ -604,19 +794,35 @@ declare function Tooltip({
604
794
  children,
605
795
  delay
606
796
  }: TooltipProps): import("react").JSX.Element;
607
- interface DropdownItem {
797
+ /** A selectable row in a `Dropdown` menu. */
798
+ interface DropdownMenuItem {
608
799
  label: string;
609
800
  value: string;
610
801
  icon?: ReactNode;
611
802
  disabled?: boolean;
612
- separator?: boolean;
613
803
  }
804
+ /**
805
+ * A horizontal rule between groups of items. Carries no data, takes no `label`/`value`, and
806
+ * is skipped by keyboard navigation and selection.
807
+ */
808
+ interface DropdownSeparatorItem {
809
+ kind: 'separator';
810
+ }
811
+ /**
812
+ * A `Dropdown` entry: either a selectable item or a separator.
813
+ *
814
+ * The union is tagged on `kind` (the catalog convention — `type` is reserved for HTML-ish
815
+ * meanings), so a separator cannot carry data that would be silently discarded.
816
+ */
817
+ type DropdownItem = DropdownMenuItem | DropdownSeparatorItem;
614
818
  interface DropdownProps {
615
819
  trigger: ReactElement;
616
820
  items: DropdownItem[];
617
821
  onSelect?: (value: string) => void;
618
822
  /**
619
- * Placement relative to the trigger.
823
+ * Which trigger edge the menu aligns to. `bottom-start` hangs it from the trigger's start
824
+ * edge, `bottom-end` from its end edge — use `bottom-end` for a trigger near the end of
825
+ * the viewport.
620
826
  *
621
827
  * @defaultValue `bottom-start`
622
828
  * @see the component manifest
@@ -638,7 +844,9 @@ interface ToastOptions {
638
844
  title: string;
639
845
  description?: string;
640
846
  /**
641
- * Selects the visual style variant.
847
+ * Severity tone: `default` (neutral), `success`, `warning` or `destructive`. Sets the icon
848
+ * and the accent colour. Unlike Badge/Tag/Notification this is a private union, not
849
+ * `ToneInput` — the canonical `danger`/`neutral` spellings are not accepted here.
642
850
  *
643
851
  * @defaultValue `default`
644
852
  * @see the component manifest
@@ -767,6 +975,13 @@ declare function AccordionItem({
767
975
  declare const AccordionTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
768
976
  declare function AccordionContent(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
769
977
  interface ActionSheetAction {
978
+ /**
979
+ * Stable identity, used as the React key. Without it the array index (or a repeatable
980
+ * `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
981
+ * defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
982
+ * 2026-08-22.
983
+ */
984
+ id?: string;
770
985
  label: ReactNode;
771
986
  onSelect: () => void;
772
987
  /** Render in the destructive (danger) style. */
@@ -828,8 +1043,12 @@ declare function Kbd({
828
1043
  }: KbdProps): import("react").JSX.Element;
829
1044
  interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
830
1045
  /**
831
- * `standalone` (default) owns its own typography and underlines on hover;
832
- * `inline` inherits the surrounding prose font and is always underlined.
1046
+ * `standalone` uses the system's own type and underlines on hover — for a link that stands
1047
+ * on its own. `inline` inherits the surrounding prose font and stays underlined — for a
1048
+ * link inside a paragraph.
1049
+ *
1050
+ * @defaultValue `standalone`
1051
+ * @see the component manifest
833
1052
  */
834
1053
  variant?: 'standalone' | 'inline';
835
1054
  size?: 'sm' | 'md' | 'lg';
@@ -887,12 +1106,21 @@ interface BreadcrumbProps {
887
1106
  * @see the component manifest
888
1107
  */
889
1108
  ariaLabel?: string;
1109
+ /**
1110
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
1111
+ *
1112
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
1113
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
1114
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
1115
+ */
1116
+ label?: string;
890
1117
  }
891
1118
  declare function Breadcrumb({
892
1119
  items,
893
1120
  maxVisible,
894
1121
  className,
895
- ariaLabel
1122
+ ariaLabel,
1123
+ label
896
1124
  }: BreadcrumbProps): import("react").JSX.Element;
897
1125
  interface TocItem {
898
1126
  /** id of the heading/section this entry links to (without the leading `#`) */
@@ -1045,6 +1273,13 @@ interface SideNavItem {
1045
1273
  }) => ReactNode;
1046
1274
  }
1047
1275
  interface SideNavGroup {
1276
+ /**
1277
+ * Stable identity, used as the React key. Without it the array index (or a repeatable
1278
+ * `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
1279
+ * defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
1280
+ * 2026-08-22.
1281
+ */
1282
+ id?: string;
1048
1283
  label?: string;
1049
1284
  items: SideNavItem[];
1050
1285
  }
@@ -1067,6 +1302,14 @@ interface SideNavProps {
1067
1302
  * @see the component manifest
1068
1303
  */
1069
1304
  ariaLabel?: string;
1305
+ /**
1306
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
1307
+ *
1308
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
1309
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
1310
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
1311
+ */
1312
+ label?: string;
1070
1313
  /**
1071
1314
  * Accessible label for the collapse control.
1072
1315
  *
@@ -1097,6 +1340,8 @@ interface SideNavProps {
1097
1340
  showCollapseToggle?: boolean;
1098
1341
  /** Content rendered above the items, inside the item padding context. */
1099
1342
  header?: ReactNode;
1343
+ /** Content rendered above the collapse toggle, inside the item padding context —
1344
+ * it lines up with the nav items above it, exactly as `header` does. */
1100
1345
  footer?: ReactNode;
1101
1346
  className?: string;
1102
1347
  }
@@ -1107,6 +1352,7 @@ declare function SideNav({
1107
1352
  defaultCollapsed,
1108
1353
  onCollapsedChange,
1109
1354
  ariaLabel,
1355
+ label,
1110
1356
  collapseLabel,
1111
1357
  expandLabel,
1112
1358
  expandOnHover,
@@ -1150,6 +1396,13 @@ declare function Pagination({
1150
1396
  className
1151
1397
  }: PaginationProps): import("react").JSX.Element;
1152
1398
  interface ProgressStep {
1399
+ /**
1400
+ * Stable identity, used as the React key. Without it the array index (or a repeatable
1401
+ * `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
1402
+ * defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
1403
+ * 2026-08-22.
1404
+ */
1405
+ id?: string;
1153
1406
  label: string;
1154
1407
  description?: string;
1155
1408
  }
@@ -1173,9 +1426,12 @@ declare function ProgressIndicator({
1173
1426
  }: ProgressIndicatorProps): import("react").JSX.Element;
1174
1427
  interface TagProps extends HTMLAttributes<HTMLSpanElement> {
1175
1428
  /**
1176
- * Severity tone. Accepts the catalog-wide `Tone` vocabulary
1177
- * (`neutral | info | success | warning | danger`) plus Tag's historical spellings
1178
- * (`default`, `error`, `destructive`).
1429
+ * Severity tone. Accepts the catalog-wide `Tone` vocabulary (`neutral | info | success |
1430
+ * warning | danger`) plus Tag's historical spellings (`default` → neutral,
1431
+ * `error`/`destructive` → danger).
1432
+ *
1433
+ * @defaultValue `default`
1434
+ * @see the component manifest
1179
1435
  */
1180
1436
  variant?: ToneInput;
1181
1437
  size?: 'sm' | 'md';
@@ -1199,7 +1455,8 @@ declare function Tag({
1199
1455
  }: TagProps): import("react").JSX.Element;
1200
1456
  interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
1201
1457
  /**
1202
- * Selects the visual style variant.
1458
+ * Shape of the placeholder: `text` (stacked lines), `circle` (an avatar), `rect` (a
1459
+ * block).
1203
1460
  *
1204
1461
  * @defaultValue `text`
1205
1462
  * @see the component manifest
@@ -1280,17 +1537,16 @@ interface FabAction {
1280
1537
  onSelect: () => void;
1281
1538
  disabled?: boolean;
1282
1539
  }
1283
- interface FabProps {
1540
+ interface FabBaseProps {
1284
1541
  /** The main button icon. */
1285
1542
  children: ReactNode;
1286
- /** Accessible name for the main button (it is icon-only). */
1287
- label: string;
1288
1543
  /** Called on press when there is no speed-dial. Ignored when `actions` is set. */
1289
1544
  onClick?: () => void;
1290
1545
  /** Speed-dial actions revealed above the button when opened. */
1291
1546
  actions?: FabAction[];
1292
1547
  /**
1293
- * Position of the component.
1548
+ * Screen corner the button is pinned to: `bottom-end` or `bottom-start`. Safe-area insets
1549
+ * are honoured either way.
1294
1550
  *
1295
1551
  * @defaultValue `bottom-end`
1296
1552
  * @see the component manifest
@@ -1304,6 +1560,20 @@ interface FabProps {
1304
1560
  onOpenChange?: (open: boolean) => void;
1305
1561
  className?: string;
1306
1562
  }
1563
+ /**
1564
+ * Exactly one of `label` / `ariaLabel` is required — the main button is icon-only, so a
1565
+ * missing accessible name is a bug and stays enforced by the type rather than a dev warning.
1566
+ * `ariaLabel` is the catalog's name for a string nothing paints; `Fab` predates the
1567
+ * convention and shipped `label`, so both work and neither is deprecated. Same shape as
1568
+ * `IconButton`.
1569
+ */
1570
+ type FabProps = FabBaseProps & ({
1571
+ label: string;
1572
+ ariaLabel?: never;
1573
+ } | {
1574
+ ariaLabel: string;
1575
+ label?: never;
1576
+ });
1307
1577
  /**
1308
1578
  * Floating action button anchored to a screen corner. On its own it is a single
1309
1579
  * fixed button; given `actions` it becomes a speed-dial whose main button toggles a
@@ -1313,6 +1583,7 @@ interface FabProps {
1313
1583
  */
1314
1584
  declare function Fab({
1315
1585
  children,
1586
+ ariaLabel,
1316
1587
  label,
1317
1588
  onClick,
1318
1589
  actions,
@@ -1347,7 +1618,8 @@ interface OverflowMenuProps {
1347
1618
  items: OverflowMenuItem[];
1348
1619
  onSelect?: (value: string) => void;
1349
1620
  /**
1350
- * Placement relative to the trigger.
1621
+ * Which trigger edge the menu aligns to. `bottom-end` hangs it from the trigger's end edge
1622
+ * (right in LTR), `bottom-start` from its start edge.
1351
1623
  *
1352
1624
  * @defaultValue `bottom-end`
1353
1625
  * @see the component manifest
@@ -1360,6 +1632,14 @@ interface OverflowMenuProps {
1360
1632
  * @see the component manifest
1361
1633
  */
1362
1634
  ariaLabel?: string;
1635
+ /**
1636
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
1637
+ *
1638
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
1639
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
1640
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
1641
+ */
1642
+ label?: string;
1363
1643
  size?: 'sm' | 'md';
1364
1644
  disabled?: boolean;
1365
1645
  className?: string;
@@ -1369,17 +1649,28 @@ declare function OverflowMenu({
1369
1649
  onSelect,
1370
1650
  placement,
1371
1651
  ariaLabel,
1652
+ label,
1372
1653
  size,
1373
1654
  disabled,
1374
1655
  className
1375
1656
  }: OverflowMenuProps): import("react").JSX.Element;
1376
1657
  interface SearchProps {
1658
+ /**
1659
+ * Wired automatically by a wrapping `Field` — its label id. When present the control is
1660
+ * already named from outside, so the built-in fallback name is not applied.
1661
+ */
1662
+ 'aria-labelledby'?: string;
1663
+ /**
1664
+ * Wired automatically by a wrapping `Field` — the ids of its hint/error text. Forwarded to
1665
+ * the focusable control so the supporting text is announced, not just displayed.
1666
+ */
1667
+ 'aria-describedby'?: string;
1668
+ /** Wired automatically by a wrapping `Field` when it is in an error state. */
1669
+ 'aria-invalid'?: boolean;
1377
1670
  value?: string;
1378
1671
  defaultValue?: string;
1379
1672
  /** Called with the current text on every keystroke. */
1380
1673
  onValueChange?: (value: string) => void;
1381
- /** @deprecated Use `onValueChange` — it receives the same string. */
1382
- onChange?: (value: string) => void;
1383
1674
  onSearch?: (value: string) => void;
1384
1675
  /**
1385
1676
  * Debounce delay (ms) before onSearch fires.
@@ -1406,6 +1697,16 @@ interface SearchProps {
1406
1697
  * @see the component manifest
1407
1698
  */
1408
1699
  label?: string;
1700
+ /**
1701
+ * Invisible accessible name, for when a visible element outside this component already
1702
+ * labels it and `label` would render that text a second time.
1703
+ *
1704
+ * `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
1705
+ * invisible names, so an adopter arriving with that prior writes `label` here and gets the
1706
+ * text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
1707
+ * which it is.
1708
+ */
1709
+ ariaLabel?: string;
1409
1710
  /**
1410
1711
  * When true, disables the control and removes it from the tab order.
1411
1712
  *
@@ -1427,24 +1728,39 @@ declare function Search({
1427
1728
  value,
1428
1729
  defaultValue,
1429
1730
  onValueChange,
1430
- onChange,
1431
1731
  onSearch,
1432
1732
  debounceMs,
1433
1733
  placeholder,
1434
1734
  size,
1435
1735
  label,
1736
+ ariaLabel,
1436
1737
  disabled,
1437
1738
  clearLabel,
1438
1739
  id,
1740
+ 'aria-labelledby': ariaLabelledBy,
1741
+ 'aria-describedby': ariaDescribedBy,
1742
+ 'aria-invalid': ariaInvalid,
1439
1743
  className
1440
1744
  }: SearchProps): import("react").JSX.Element;
1441
1745
  interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'> {
1746
+ /**
1747
+ * Invisible accessible name, for when a visible element outside this component already
1748
+ * labels it (a heading in a settings row, a table column header) and `label` would render
1749
+ * that text a second time.
1750
+ *
1751
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
1752
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
1753
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
1754
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
1755
+ * is, which is the only thing that interrupts a confident wrong guess.
1756
+ *
1757
+ * The raw DOM `aria-label` is still accepted and wins over this.
1758
+ */
1759
+ ariaLabel?: string;
1442
1760
  value?: number | null;
1443
1761
  defaultValue?: number;
1444
1762
  /** Called with the new numeric value (or null when cleared). */
1445
1763
  onValueChange?: (value: number | null) => void;
1446
- /** @deprecated Use `onValueChange` — it receives the same `number | null`. */
1447
- onChange?: (value: number | null) => void;
1448
1764
  min?: number;
1449
1765
  max?: number;
1450
1766
  /**
@@ -1503,6 +1819,11 @@ interface Column<Row> {
1503
1819
  * dropped. Leave at least one free-form column unsized unless you specifically want
1504
1820
  * page-stable widths.
1505
1821
  *
1822
+ * You do not have to get this right by arithmetic: the table **measures** its own overflow
1823
+ * and warns in dev with the real `scrollWidth`/`clientWidth` and the sized columns to
1824
+ * change. In production a scrolling shadow marks the cut edge. The rules of thumb below are
1825
+ * a starting point, not something to compute against a container width you cannot see.
1826
+ *
1506
1827
  * ⚠ **"Leave one unsized" is necessary, not sufficient.** The leftover width is split
1507
1828
  * between the unsized columns by `table-layout: auto`, which weighs them by content — so
1508
1829
  * if the sized columns nearly fill the table, what remains can be narrower than the
@@ -1599,7 +1920,16 @@ interface DataTableProps<Row> {
1599
1920
  */
1600
1921
  loading?: boolean;
1601
1922
  emptyState?: ReactNode;
1923
+ /** Visible caption above the table; it also becomes the table's accessible name. */
1602
1924
  title?: string;
1925
+ /**
1926
+ * Invisible accessible name for the `<table>`, used when there is no visible `title`.
1927
+ *
1928
+ * A table with neither is an unnamed landmark for a screen reader — a real WCAG 1.3.1 /
1929
+ * 4.1.2 gap, and until 0.19 there was no way to fix it without rendering a caption you did
1930
+ * not want. Dev-warns when both are absent.
1931
+ */
1932
+ ariaLabel?: string;
1603
1933
  description?: string;
1604
1934
  labels?: DataTableLabels;
1605
1935
  className?: string;
@@ -1651,6 +1981,7 @@ declare function DataTable<Row>({
1651
1981
  loading,
1652
1982
  emptyState,
1653
1983
  title,
1984
+ ariaLabel,
1654
1985
  description,
1655
1986
  labels,
1656
1987
  className,
@@ -1735,12 +2066,20 @@ interface CommandMenuProps {
1735
2066
  */
1736
2067
  hotkey?: boolean;
1737
2068
  /**
1738
- * Text label for the control.
2069
+ * Accessible name for the command dialog. Not rendered — screen readers only.
1739
2070
  *
1740
2071
  * @defaultValue `Command menu`
1741
2072
  * @see the component manifest
1742
2073
  */
1743
2074
  label?: string;
2075
+ /**
2076
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
2077
+ *
2078
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
2079
+ * makes after reading one other component (2026-08-21 report item 1). This component
2080
+ * predates the convention and shipped `label`; both work and neither is deprecated.
2081
+ */
2082
+ ariaLabel?: string;
1744
2083
  /**
1745
2084
  * Shows a loading spinner in place of the empty state (for async items)
1746
2085
  *
@@ -1782,6 +2121,7 @@ declare function CommandMenu({
1782
2121
  emptyLabel,
1783
2122
  hotkey,
1784
2123
  label,
2124
+ ariaLabel,
1785
2125
  loading,
1786
2126
  onQueryChange,
1787
2127
  scopes,
@@ -1874,13 +2214,24 @@ interface ComboboxLabels {
1874
2214
  search?: string;
1875
2215
  }
1876
2216
  interface ComboboxProps {
2217
+ /**
2218
+ * Wired automatically by a wrapping `Field` — its label id. Forwarded to the focusable
2219
+ * control so the Field's label names it.
2220
+ */
2221
+ 'aria-labelledby'?: string;
2222
+ /**
2223
+ * Wired automatically by a wrapping `Field` — the ids of its hint/error text. **Merged**
2224
+ * with this component's own `hint`/`error` ids rather than replacing them, so both are
2225
+ * announced.
2226
+ */
2227
+ 'aria-describedby'?: string;
2228
+ /** Wired automatically by a wrapping `Field` when it is in an error state. */
2229
+ 'aria-invalid'?: boolean;
1877
2230
  options: ComboboxOption[];
1878
2231
  value?: string;
1879
2232
  defaultValue?: string;
1880
2233
  /** Called with the selected option value (or undefined when cleared). */
1881
2234
  onValueChange?: (value: string | undefined) => void;
1882
- /** @deprecated Use `onValueChange` — it receives the same `string | undefined`. */
1883
- onChange?: (value: string | undefined) => void;
1884
2235
  /**
1885
2236
  * When true, shows a control to clear the selected value.
1886
2237
  *
@@ -1896,6 +2247,16 @@ interface ComboboxProps {
1896
2247
  */
1897
2248
  searchable?: boolean;
1898
2249
  label?: string;
2250
+ /**
2251
+ * Invisible accessible name, for when a visible element outside this component already
2252
+ * labels it and `label` would render that text a second time.
2253
+ *
2254
+ * `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
2255
+ * invisible names, so an adopter arriving with that prior writes `label` here and gets the
2256
+ * text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
2257
+ * which it is.
2258
+ */
2259
+ ariaLabel?: string;
1899
2260
  hint?: string;
1900
2261
  error?: string;
1901
2262
  size?: 'sm' | 'md' | 'lg';
@@ -1909,17 +2270,20 @@ declare function Combobox({
1909
2270
  value,
1910
2271
  defaultValue,
1911
2272
  onValueChange,
1912
- onChange,
1913
2273
  clearable,
1914
2274
  searchable,
1915
2275
  label,
2276
+ ariaLabel,
1916
2277
  hint,
1917
2278
  error,
1918
2279
  size,
1919
2280
  disabled,
1920
2281
  labels,
1921
2282
  className,
1922
- id
2283
+ id,
2284
+ 'aria-labelledby': ariaLabelledBy,
2285
+ 'aria-describedby': ariaDescribedBy,
2286
+ 'aria-invalid': ariaInvalid
1923
2287
  }: ComboboxProps): import("react").JSX.Element;
1924
2288
  interface DatePickerLabels {
1925
2289
  placeholder?: string;
@@ -1928,12 +2292,23 @@ interface DatePickerLabels {
1928
2292
  clear?: string;
1929
2293
  }
1930
2294
  interface DatePickerProps {
2295
+ /**
2296
+ * Wired automatically by a wrapping `Field` — its label id. Forwarded to the focusable
2297
+ * control so the Field's label names it.
2298
+ */
2299
+ 'aria-labelledby'?: string;
2300
+ /**
2301
+ * Wired automatically by a wrapping `Field` — the ids of its hint/error text. **Merged**
2302
+ * with this component's own `hint`/`error` ids rather than replacing them, so both are
2303
+ * announced.
2304
+ */
2305
+ 'aria-describedby'?: string;
2306
+ /** Wired automatically by a wrapping `Field` when it is in an error state. */
2307
+ 'aria-invalid'?: boolean;
1931
2308
  value?: string;
1932
2309
  defaultValue?: string;
1933
2310
  /** Called with the selected ISO date string (or undefined when cleared). */
1934
2311
  onValueChange?: (value: string | undefined) => void;
1935
- /** @deprecated Use `onValueChange` — it receives the same ISO `string | undefined`. */
1936
- onChange?: (value: string | undefined) => void;
1937
2312
  min?: string;
1938
2313
  max?: string;
1939
2314
  /**
@@ -1944,6 +2319,16 @@ interface DatePickerProps {
1944
2319
  */
1945
2320
  clearable?: boolean;
1946
2321
  label?: string;
2322
+ /**
2323
+ * Invisible accessible name, for when a visible element outside this component already
2324
+ * labels it and `label` would render that text a second time.
2325
+ *
2326
+ * `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
2327
+ * invisible names, so an adopter arriving with that prior writes `label` here and gets the
2328
+ * text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
2329
+ * which it is.
2330
+ */
2331
+ ariaLabel?: string;
1947
2332
  hint?: string;
1948
2333
  error?: string;
1949
2334
  /**
@@ -1968,18 +2353,21 @@ declare function DatePicker({
1968
2353
  value,
1969
2354
  defaultValue,
1970
2355
  onValueChange,
1971
- onChange,
1972
2356
  min,
1973
2357
  max,
1974
2358
  clearable,
1975
2359
  label,
2360
+ ariaLabel,
1976
2361
  hint,
1977
2362
  error,
1978
2363
  size,
1979
2364
  disabled,
1980
2365
  labels,
1981
2366
  className,
1982
- id
2367
+ id,
2368
+ 'aria-labelledby': ariaLabelledBy,
2369
+ 'aria-describedby': ariaDescribedBy,
2370
+ 'aria-invalid': ariaInvalid
1983
2371
  }: DatePickerProps): import("react").JSX.Element;
1984
2372
  interface UploaderFile {
1985
2373
  id: string;
@@ -2017,6 +2405,16 @@ interface FileUploaderProps {
2017
2405
  maxSize?: number;
2018
2406
  onRejected?: (files: File[], reason: 'size' | 'type') => void;
2019
2407
  label?: string;
2408
+ /**
2409
+ * Invisible accessible name, for when a visible element outside this component already
2410
+ * labels it and `label` would render that text a second time.
2411
+ *
2412
+ * `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
2413
+ * invisible names, so an adopter arriving with that prior writes `label` here and gets the
2414
+ * text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
2415
+ * which it is.
2416
+ */
2417
+ ariaLabel?: string;
2020
2418
  hint?: string;
2021
2419
  labels?: FileUploaderLabels;
2022
2420
  /**
@@ -2037,18 +2435,31 @@ declare function FileUploader({
2037
2435
  maxSize,
2038
2436
  onRejected,
2039
2437
  label,
2438
+ ariaLabel,
2040
2439
  hint,
2041
2440
  labels,
2042
2441
  disabled,
2043
2442
  className
2044
2443
  }: FileUploaderProps): import("react").JSX.Element;
2045
2444
  interface TimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'> {
2445
+ /**
2446
+ * Invisible accessible name, for when a visible element outside this component already
2447
+ * labels it (a heading in a settings row, a table column header) and `label` would render
2448
+ * that text a second time.
2449
+ *
2450
+ * `label` on this component is **visible** — it is painted next to the control. The catalog
2451
+ * splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
2452
+ * names, so an adopter arriving with that prior writes `label` here and gets the text twice
2453
+ * (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
2454
+ * is, which is the only thing that interrupts a confident wrong guess.
2455
+ *
2456
+ * The raw DOM `aria-label` is still accepted and wins over this.
2457
+ */
2458
+ ariaLabel?: string;
2046
2459
  value?: string;
2047
2460
  defaultValue?: string;
2048
2461
  /** Called with the new `HH:MM` time string when the value changes. */
2049
2462
  onValueChange?: (value: string) => void;
2050
- /** @deprecated Use `onValueChange` — it receives the same time string. */
2051
- onChange?: (value: string) => void;
2052
2463
  min?: string;
2053
2464
  max?: string;
2054
2465
  step?: number;
@@ -2159,7 +2570,8 @@ interface AlertDialogProps {
2159
2570
  onCancel: () => void;
2160
2571
  labels?: AlertDialogLabels;
2161
2572
  /**
2162
- * Selects the visual style variant.
2573
+ * `destructive` styles the confirm button as a danger action; `default` styles it as the
2574
+ * primary action. Use `destructive` for anything that deletes.
2163
2575
  *
2164
2576
  * @defaultValue `default`
2165
2577
  * @see the component manifest
@@ -2182,7 +2594,8 @@ interface SheetProps {
2182
2594
  title?: ReactNode;
2183
2595
  children: ReactNode;
2184
2596
  /**
2185
- * Edge the component is anchored to.
2597
+ * Edge the sheet slides in from: `end` (the inline end — right in LTR), `start`, `top` or
2598
+ * `bottom`.
2186
2599
  *
2187
2600
  * @defaultValue `end`
2188
2601
  * @see the component manifest
@@ -2283,7 +2696,8 @@ interface ComparisonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
2283
2696
  defaultPosition?: number;
2284
2697
  onPositionChange?: (position: number) => void;
2285
2698
  /**
2286
- * Layout orientation of the component.
2699
+ * Axis you drag along. `horizontal` splits the two images left and right with a vertical
2700
+ * divider; `vertical` splits them top and bottom with a horizontal one.
2287
2701
  *
2288
2702
  * @defaultValue `horizontal`
2289
2703
  * @see the component manifest
@@ -2296,8 +2710,16 @@ interface ComparisonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
2296
2710
  * @see the component manifest
2297
2711
  */
2298
2712
  keyboardStep?: number;
2299
- /** Accessible label for the divider slider. */
2713
+ /** Accessible name for the divider slider — **not rendered**. */
2300
2714
  label?: string;
2715
+ /**
2716
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
2717
+ *
2718
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
2719
+ * makes after reading one other component (2026-08-21 report item 1). This component
2720
+ * predates the convention and shipped `label`; both work and neither is deprecated.
2721
+ */
2722
+ ariaLabel?: string;
2301
2723
  }
2302
2724
  declare function Comparison({
2303
2725
  after,
@@ -2308,6 +2730,7 @@ declare function Comparison({
2308
2730
  orientation,
2309
2731
  keyboardStep,
2310
2732
  label,
2733
+ ariaLabel,
2311
2734
  className,
2312
2735
  ...props
2313
2736
  }: ComparisonProps): import("react").JSX.Element;
@@ -2419,6 +2842,28 @@ interface TagsInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'
2419
2842
  * @see the component manifest
2420
2843
  */
2421
2844
  disabled?: boolean;
2845
+ /**
2846
+ * Id for the **inner text input** — the focusable control, so a `<label for>` names the
2847
+ * thing that actually takes focus. `Field` supplies this automatically.
2848
+ *
2849
+ * Naming is unaffected by this: the built-in name is dropped only when something actually
2850
+ * names the control (an `ariaLabel`/`label` prop, or the `aria-labelledby` a `Field`
2851
+ * supplies), so a standalone `<TagsInput id="x"/>` keeps its built-in name.
2852
+ */
2853
+ id?: string;
2854
+ /**
2855
+ * Invisible accessible name for the tag entry field. Use when no visible label names it.
2856
+ *
2857
+ * Inside a `Field` you do not need this — the Field's label is wired through automatically.
2858
+ */
2859
+ ariaLabel?: string;
2860
+ /**
2861
+ * Alias of `ariaLabel` — the same invisible accessible name under the other spelling. Not
2862
+ * rendered. `ariaLabel` is the catalog convention and stays preferred; `label` is the guess
2863
+ * an adopter makes when they have not read the convention, and an unaccepted guess costs a
2864
+ * compile cycle for nothing.
2865
+ */
2866
+ label?: string;
2422
2867
  }
2423
2868
  declare function TagsInput({
2424
2869
  value,
@@ -2428,6 +2873,12 @@ declare function TagsInput({
2428
2873
  max,
2429
2874
  disabled,
2430
2875
  className,
2876
+ id,
2877
+ ariaLabel,
2878
+ label,
2879
+ 'aria-labelledby': ariaLabelledBy,
2880
+ 'aria-describedby': ariaDescribedBy,
2881
+ 'aria-invalid': ariaInvalid,
2431
2882
  ...props
2432
2883
  }: TagsInputProps): import("react").JSX.Element;
2433
2884
  interface OtpInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
@@ -2569,6 +3020,18 @@ interface EditableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>
2569
3020
  */
2570
3021
  submitOnBlur?: boolean;
2571
3022
  onCancel?: () => void;
3023
+ /**
3024
+ * Id for the **focusable control** — the preview button when idle, the text input while
3025
+ * editing — rather than the wrapper, so a `<label for>` names what actually takes focus.
3026
+ * `Field` supplies this automatically.
3027
+ */
3028
+ id?: string;
3029
+ /** Wired automatically by a wrapping `Field` — its label id. */
3030
+ 'aria-labelledby'?: string;
3031
+ /** Wired automatically by a wrapping `Field` — the ids of its hint/error text. */
3032
+ 'aria-describedby'?: string;
3033
+ /** Wired automatically by a wrapping `Field` when it is in an error state. */
3034
+ 'aria-invalid'?: boolean;
2572
3035
  }
2573
3036
  declare function Editable({
2574
3037
  value,
@@ -2578,6 +3041,10 @@ declare function Editable({
2578
3041
  submitOnBlur,
2579
3042
  onCancel,
2580
3043
  className,
3044
+ id,
3045
+ 'aria-labelledby': ariaLabelledBy,
3046
+ 'aria-describedby': ariaDescribedBy,
3047
+ 'aria-invalid': ariaInvalid,
2581
3048
  ...props
2582
3049
  }: EditableProps): import("react").JSX.Element;
2583
3050
  interface RadioCardGroupProps {
@@ -2732,17 +3199,34 @@ type SwitcherEntry = SwitcherLink | {
2732
3199
  interface SwitcherProps {
2733
3200
  items: SwitcherEntry[];
2734
3201
  /**
2735
- * Text label for the control.
3202
+ * Accessible name for the switcher list. Not rendered — screen readers only.
2736
3203
  *
2737
3204
  * @defaultValue `Switch application`
2738
3205
  * @see the component manifest
2739
3206
  */
2740
3207
  label?: string;
3208
+ /**
3209
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
3210
+ *
3211
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
3212
+ * makes after reading one other component (2026-08-21 report item 1). This component
3213
+ * predates the convention and shipped `label`; both work and neither is deprecated.
3214
+ */
3215
+ ariaLabel?: string;
2741
3216
  className?: string | undefined;
2742
3217
  }
3218
+ /**
3219
+ * An **always-visible** list of apps/workspaces. Every entry renders at once and stays on
3220
+ * screen — despite the name, nothing collapses and there is no trigger.
3221
+ *
3222
+ * For the shape most consoles want — one row showing the current workspace, a menu on click
3223
+ * — use `Dropdown`. An adopter picked `Switcher` from its name for a Vercel-style team
3224
+ * switcher and got both teams stacked permanently in the sidebar (2026-08-21 report item 5).
3225
+ */
2743
3226
  declare function Switcher({
2744
3227
  items,
2745
3228
  label,
3229
+ ariaLabel,
2746
3230
  className
2747
3231
  }: SwitcherProps): import("react").JSX.Element;
2748
3232
  interface CheckboxCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'title' | 'onChange'> {
@@ -2894,7 +3378,8 @@ interface ProgressProps {
2894
3378
  /** 0–100. Omit for indeterminate state. */
2895
3379
  value?: number;
2896
3380
  /**
2897
- * Selects the visual style variant.
3381
+ * Colour of the fill: `primary` (the accent) or a severity tone — `info`, `success`,
3382
+ * `warning`, `error`.
2898
3383
  *
2899
3384
  * @defaultValue `primary`
2900
3385
  * @see the component manifest
@@ -2908,6 +3393,14 @@ interface ProgressProps {
2908
3393
  * flip on every component.
2909
3394
  */
2910
3395
  ariaLabel?: string;
3396
+ /**
3397
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
3398
+ *
3399
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
3400
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
3401
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
3402
+ */
3403
+ label?: string;
2911
3404
  /** DOM-spelled alias of {@link ariaLabel}. */
2912
3405
  'aria-label'?: string;
2913
3406
  'aria-describedby'?: string;
@@ -2919,6 +3412,7 @@ declare function Progress({
2919
3412
  size,
2920
3413
  className,
2921
3414
  ariaLabel,
3415
+ label,
2922
3416
  ...aria
2923
3417
  }: ProgressProps): import("react").JSX.Element;
2924
3418
  interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
@@ -2941,6 +3435,14 @@ interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
2941
3435
  showValue?: boolean;
2942
3436
  /** Accessible name for the progressbar. */
2943
3437
  label?: string;
3438
+ /**
3439
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
3440
+ *
3441
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
3442
+ * makes after reading one other component (2026-08-21 report item 1). This component
3443
+ * predates the convention and shipped `label`; both work and neither is deprecated.
3444
+ */
3445
+ ariaLabel?: string;
2944
3446
  }
2945
3447
  declare function ProgressCircle({
2946
3448
  value,
@@ -2948,6 +3450,7 @@ declare function ProgressCircle({
2948
3450
  size,
2949
3451
  showValue,
2950
3452
  label,
3453
+ ariaLabel,
2951
3454
  className,
2952
3455
  ...props
2953
3456
  }: ProgressCircleProps): import("react").JSX.Element;
@@ -2972,7 +3475,8 @@ declare function Heading({
2972
3475
  }: HeadingProps): import("react").JSX.Element;
2973
3476
  interface TextProps extends HTMLAttributes<HTMLElement> {
2974
3477
  /**
2975
- * The HTML element to render as.
3478
+ * `p` for a paragraph, `span` for inline text, `div` for a block that imposes no semantics
3479
+ * of its own.
2976
3480
  *
2977
3481
  * @defaultValue `p`
2978
3482
  * @see the component manifest
@@ -2981,7 +3485,8 @@ interface TextProps extends HTMLAttributes<HTMLElement> {
2981
3485
  size?: 'sm' | 'md' | 'lg';
2982
3486
  weight?: 'normal' | 'medium' | 'semibold';
2983
3487
  /**
2984
- * When true, renders in a muted/subtle color.
3488
+ * When true, renders in a muted/subtle color. `Text` has no `tone` prop: `tone` is the
3489
+ * severity vocabulary (Status, Badge, Timeline, SideNav); text emphasis is `muted`.
2985
3490
  *
2986
3491
  * @defaultValue `false`
2987
3492
  * @see the component manifest
@@ -3023,7 +3528,8 @@ declare function Blockquote({
3023
3528
  }: BlockquoteProps): import("react").JSX.Element;
3024
3529
  interface ListProps extends HTMLAttributes<HTMLElement> {
3025
3530
  /**
3026
- * The HTML element to render as.
3531
+ * `ul` for an unordered list, `ol` for a numbered one. Changes the element and its marker,
3532
+ * not the styling.
3027
3533
  *
3028
3534
  * @defaultValue `ul`
3029
3535
  * @see the component manifest
@@ -3200,8 +3706,17 @@ interface QrCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
3200
3706
  * @see the component manifest
3201
3707
  */
3202
3708
  background?: string;
3203
- /** Accessible label. Defaults to the i18n built-in "QR code". */
3709
+ /** Accessible name for the QR image — **not rendered**. Defaults to the i18n built-in
3710
+ * "QR code". */
3204
3711
  label?: string;
3712
+ /**
3713
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
3714
+ *
3715
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
3716
+ * makes after reading one other component (2026-08-21 report item 1). This component
3717
+ * predates the convention and shipped `label`; both work and neither is deprecated.
3718
+ */
3719
+ ariaLabel?: string;
3205
3720
  }
3206
3721
  declare function QrCode({
3207
3722
  value,
@@ -3211,6 +3726,7 @@ declare function QrCode({
3211
3726
  fill,
3212
3727
  background,
3213
3728
  label,
3729
+ ariaLabel,
3214
3730
  className,
3215
3731
  style,
3216
3732
  ...props
@@ -3279,8 +3795,18 @@ declare function Label({
3279
3795
  interface FieldProps {
3280
3796
  /** Label text for the control. */
3281
3797
  label?: ReactNode;
3282
- /** Helper text describing the control, wired via aria-describedby. */
3798
+ /**
3799
+ * Helper text under the control, wired via `aria-describedby`.
3800
+ *
3801
+ * `hint` is the same thing under the name the eight form controls use (`Input.hint`,
3802
+ * `Select.hint`, …); `Field` predates that split and shipped `description`, which is the
3803
+ * catalog's word for the body text of a *feedback* component (`Alert`, `Notification`).
3804
+ * Both work here and neither is deprecated (2026-08-21 report item 4). When both are
3805
+ * passed, `description` wins.
3806
+ */
3283
3807
  description?: ReactNode;
3808
+ /** Alias of `description` — the name the form controls use for the same text. */
3809
+ hint?: ReactNode;
3284
3810
  /** Error message; sets aria-invalid on the control and is announced via role="alert". */
3285
3811
  error?: ReactNode;
3286
3812
  /**
@@ -3302,6 +3828,7 @@ interface FieldProps {
3302
3828
  /** The single form control element. */
3303
3829
  children: ReactElement<{
3304
3830
  id?: string;
3831
+ 'aria-labelledby'?: string;
3305
3832
  'aria-describedby'?: string;
3306
3833
  'aria-invalid'?: boolean;
3307
3834
  disabled?: boolean;
@@ -3311,6 +3838,7 @@ interface FieldProps {
3311
3838
  declare function Field({
3312
3839
  label,
3313
3840
  description,
3841
+ hint,
3314
3842
  error,
3315
3843
  required,
3316
3844
  disabled,
@@ -3335,8 +3863,6 @@ interface FilterProps {
3335
3863
  defaultValue?: string[];
3336
3864
  /** Called with the selected values whenever the selection changes. */
3337
3865
  onValueChange?: (selected: string[]) => void;
3338
- /** @deprecated Use `onValueChange` — it receives the same `string[]`. */
3339
- onChange?: (selected: string[]) => void;
3340
3866
  /**
3341
3867
  * Allow multiple items to be selected simultaneously
3342
3868
  *
@@ -3345,7 +3871,17 @@ interface FilterProps {
3345
3871
  */
3346
3872
  multi?: boolean;
3347
3873
  /**
3348
- * Selects the visual style variant.
3874
+ * Alias of `multi` — the HTML spelling, accepted because it is the guess.
3875
+ *
3876
+ * `multiple` is what `<select multiple>` and `<input multiple>` are called, so an adopter
3877
+ * reaches for it first and pays a compile cycle on a prop whose doc comment they never see:
3878
+ * you cannot read the documentation of a prop you do not know exists (2026-08-22 report
3879
+ * item 14). `multi` stays canonical.
3880
+ */
3881
+ multiple?: boolean;
3882
+ /**
3883
+ * `pill` fills the selected chip with the accent colour; `outline` marks it with an accent
3884
+ * border and text instead, leaving the fill transparent.
3349
3885
  *
3350
3886
  * @defaultValue `pill`
3351
3887
  * @see the component manifest
@@ -3358,6 +3894,14 @@ interface FilterProps {
3358
3894
  * flip on every component.
3359
3895
  */
3360
3896
  ariaLabel?: string;
3897
+ /**
3898
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
3899
+ *
3900
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
3901
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
3902
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
3903
+ */
3904
+ label?: string;
3361
3905
  /** DOM-spelled alias of {@link ariaLabel}. */
3362
3906
  'aria-label'?: string;
3363
3907
  className?: string;
@@ -3367,11 +3911,12 @@ declare function Filter({
3367
3911
  value,
3368
3912
  defaultValue,
3369
3913
  onValueChange,
3370
- onChange,
3371
3914
  multi,
3915
+ multiple,
3372
3916
  variant,
3373
3917
  className,
3374
3918
  ariaLabel,
3919
+ label,
3375
3920
  ...aria
3376
3921
  }: FilterProps): import("react").JSX.Element;
3377
3922
  interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
@@ -3380,7 +3925,8 @@ interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3380
3925
  icon?: ReactNode;
3381
3926
  size?: 'sm' | 'md' | 'lg';
3382
3927
  /**
3383
- * Selects the visual style variant.
3928
+ * `ghost` is transparent until hover, `outline` adds a border, `filled` gives the button a
3929
+ * solid surface.
3384
3930
  *
3385
3931
  * @defaultValue `ghost`
3386
3932
  * @see the component manifest
@@ -3411,7 +3957,8 @@ type IconButtonProps = IconButtonBaseProps & ({
3411
3957
  declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
3412
3958
  interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
3413
3959
  /**
3414
- * Layout orientation of the component.
3960
+ * Axis the buttons flow along: `horizontal` puts them in a row, `vertical` stacks them in
3961
+ * a column. The seams between them are collapsed either way.
3415
3962
  *
3416
3963
  * @defaultValue `horizontal`
3417
3964
  * @see the component manifest
@@ -3453,7 +4000,8 @@ interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChang
3453
4000
  onValueChange?: (value: string | string[]) => void;
3454
4001
  items: ToggleGroupItem[];
3455
4002
  /**
3456
- * Layout orientation of the component.
4003
+ * Axis the options flow along: `horizontal` for a segmented row, `vertical` for a stacked
4004
+ * column.
3457
4005
  *
3458
4006
  * @defaultValue `horizontal`
3459
4007
  * @see the component manifest
@@ -3486,9 +4034,12 @@ interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'
3486
4034
  title: ReactNode;
3487
4035
  description?: ReactNode;
3488
4036
  /**
3489
- * Severity tone. Accepts the catalog-wide `Tone` vocabulary
3490
- * (`neutral | info | success | warning | danger`) plus Notification's historical
3491
- * spellings (`error`, `destructive`).
4037
+ * Severity tone. Accepts the catalog-wide `Tone` vocabulary (`neutral | info | success |
4038
+ * warning | danger`) plus Notification's historical spellings (`error`, `destructive` →
4039
+ * danger).
4040
+ *
4041
+ * @defaultValue `info`
4042
+ * @see the component manifest
3492
4043
  */
3493
4044
  variant?: ToneInput;
3494
4045
  /**
@@ -3711,9 +4262,18 @@ interface NavigationMenuProps {
3711
4262
  * `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
3712
4263
  */
3713
4264
  ariaLabel?: string;
4265
+ /**
4266
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
4267
+ *
4268
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
4269
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
4270
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
4271
+ */
4272
+ label?: string;
3714
4273
  'aria-label'?: string;
3715
4274
  /**
3716
- * Layout orientation of the component.
4275
+ * Which arrow keys move focus, and the axis the items lay out on: `horizontal`
4276
+ * (Left/Right), `vertical` (Up/Down), or `both` (all four).
3717
4277
  *
3718
4278
  * @defaultValue `horizontal`
3719
4279
  * @see the component manifest
@@ -3725,6 +4285,7 @@ declare function NavigationMenu({
3725
4285
  items,
3726
4286
  'aria-label': ariaLabelDom,
3727
4287
  ariaLabel,
4288
+ label,
3728
4289
  orientation,
3729
4290
  className
3730
4291
  }: NavigationMenuProps): import("react").JSX.Element;
@@ -3749,6 +4310,14 @@ interface TreeViewProps {
3749
4310
  * `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
3750
4311
  */
3751
4312
  ariaLabel?: string;
4313
+ /**
4314
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
4315
+ *
4316
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
4317
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
4318
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
4319
+ */
4320
+ label?: string;
3752
4321
  'aria-label'?: string;
3753
4322
  }
3754
4323
  declare function TreeView({
@@ -3762,7 +4331,8 @@ declare function TreeView({
3762
4331
  onExpandedChange,
3763
4332
  className,
3764
4333
  'aria-label': ariaLabelDom,
3765
- ariaLabel
4334
+ ariaLabel,
4335
+ label
3766
4336
  }: TreeViewProps): import("react").JSX.Element;
3767
4337
  declare const treeViewMessages: {
3768
4338
  loading: () => string;
@@ -3805,6 +4375,14 @@ interface StructuredListProps {
3805
4375
  * flip on every component.
3806
4376
  */
3807
4377
  ariaLabel?: string;
4378
+ /**
4379
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
4380
+ *
4381
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
4382
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
4383
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
4384
+ */
4385
+ label?: string;
3808
4386
  /** DOM-spelled alias of {@link ariaLabel}. */
3809
4387
  'aria-label'?: string;
3810
4388
  }
@@ -3840,7 +4418,13 @@ interface DataListItem {
3840
4418
  interface DataListProps extends HTMLAttributes<HTMLDListElement> {
3841
4419
  items: DataListItem[];
3842
4420
  /**
3843
- * Layout orientation of the component.
4421
+ * Where each **value** sits relative to its own label — not the axis of the list.
4422
+ *
4423
+ * `'horizontal'` puts the value beside its label; `'vertical'` puts it underneath. Items
4424
+ * are stacked vertically either way, which is the part the name does not say: an adopter
4425
+ * read `orientation="vertical"` as "lay the items out vertically" and got a very tall
4426
+ * block from six rows (2026-08-21 report item 9). In a summary card, prefer
4427
+ * `'horizontal'`.
3844
4428
  *
3845
4429
  * @defaultValue `horizontal`
3846
4430
  * @see the component manifest
@@ -3896,7 +4480,8 @@ interface TimelineItem {
3896
4480
  interface TimelineProps extends HTMLAttributes<HTMLOListElement> {
3897
4481
  items: TimelineItem[];
3898
4482
  /**
3899
- * Layout orientation of the component.
4483
+ * Axis the entries flow along: `vertical` stacks them down the page (the usual reading
4484
+ * order), `horizontal` runs them across.
3900
4485
  *
3901
4486
  * @defaultValue `vertical`
3902
4487
  * @see the component manifest
@@ -3919,7 +4504,8 @@ interface ItemProps extends HTMLAttributes<HTMLDivElement> {
3919
4504
  */
3920
4505
  asChild?: boolean;
3921
4506
  /**
3922
- * Selects the visual style variant.
4507
+ * `muted` gives the row a subtle background — for a selected or highlighted item;
4508
+ * `default` leaves it transparent.
3923
4509
  *
3924
4510
  * @defaultValue `default`
3925
4511
  * @see the component manifest
@@ -4035,6 +4621,13 @@ interface DateRange {
4035
4621
  end: Date;
4036
4622
  }
4037
4623
  interface DateRangePreset {
4624
+ /**
4625
+ * Stable identity, used as the React key. Without it the array index (or a repeatable
4626
+ * `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
4627
+ * defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
4628
+ * 2026-08-22.
4629
+ */
4630
+ id?: string;
4038
4631
  label: string;
4039
4632
  range: DateRange;
4040
4633
  }
@@ -4095,6 +4688,20 @@ interface ColorPickerLabels {
4095
4688
  eyedropper?: string;
4096
4689
  }
4097
4690
  interface ColorPickerProps {
4691
+ /**
4692
+ * Wired automatically by a wrapping `Field` — its label id. Forwarded to the text input so
4693
+ * the Field's label names it; the built-in fallback name is then not applied.
4694
+ */
4695
+ 'aria-labelledby'?: string;
4696
+ /**
4697
+ * Wired automatically by a wrapping `Field` — the ids of its hint/error text. Forwarded to
4698
+ * the text input so the supporting text is announced, not just displayed.
4699
+ */
4700
+ 'aria-describedby'?: string;
4701
+ /** Wired automatically by a wrapping `Field` when it is in an error state. */
4702
+ 'aria-invalid'?: boolean;
4703
+ /** Id for the focusable text input. `Field` supplies this automatically. */
4704
+ id?: string;
4098
4705
  value?: string;
4099
4706
  /**
4100
4707
  * The initial value when uncontrolled.
@@ -4107,6 +4714,16 @@ interface ColorPickerProps {
4107
4714
  presets?: string[];
4108
4715
  alpha?: boolean;
4109
4716
  label?: string;
4717
+ /**
4718
+ * Invisible accessible name, for when a visible element outside this component already
4719
+ * labels it and `label` would render that text a second time.
4720
+ *
4721
+ * `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
4722
+ * invisible names, so an adopter arriving with that prior writes `label` here and gets the
4723
+ * text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
4724
+ * which it is.
4725
+ */
4726
+ ariaLabel?: string;
4110
4727
  /**
4111
4728
  * When true, disables the control and removes it from the tab order.
4112
4729
  *
@@ -4125,10 +4742,15 @@ declare function ColorPicker({
4125
4742
  presets,
4126
4743
  alpha,
4127
4744
  label,
4745
+ ariaLabel,
4128
4746
  disabled,
4129
4747
  size,
4130
4748
  className,
4131
- labels
4749
+ labels,
4750
+ id,
4751
+ 'aria-labelledby': ariaLabelledBy,
4752
+ 'aria-describedby': ariaDescribedBy,
4753
+ 'aria-invalid': ariaInvalid
4132
4754
  }: ColorPickerProps): import("react").JSX.Element;
4133
4755
  interface CarouselLabels {
4134
4756
  region?: string;
@@ -4170,7 +4792,8 @@ declare function Carousel({
4170
4792
  interface ResizableProps {
4171
4793
  children: ReactNode;
4172
4794
  /**
4173
- * Layout orientation of the component.
4795
+ * Axis the panes are split along. `horizontal` puts them side by side with a handle you
4796
+ * drag left and right; `vertical` stacks them with a handle you drag up and down.
4174
4797
  *
4175
4798
  * @defaultValue `horizontal`
4176
4799
  * @see the component manifest
@@ -4201,6 +4824,14 @@ interface ResizableProps {
4201
4824
  onRatioChange?: (ratio: number) => void;
4202
4825
  className?: string;
4203
4826
  label?: string;
4827
+ /**
4828
+ * Alias of `label` — the same invisible accessible name under the catalog's own spelling.
4829
+ *
4830
+ * `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
4831
+ * makes after reading one other component (2026-08-21 report item 1). This component
4832
+ * predates the convention and shipped `label`; both work and neither is deprecated.
4833
+ */
4834
+ ariaLabel?: string;
4204
4835
  }
4205
4836
  declare function Resizable({
4206
4837
  children,
@@ -4211,7 +4842,8 @@ declare function Resizable({
4211
4842
  maxRatio,
4212
4843
  onRatioChange,
4213
4844
  className,
4214
- label
4845
+ label,
4846
+ ariaLabel
4215
4847
  }: ResizableProps): import("react").JSX.Element;
4216
4848
  interface DockItem {
4217
4849
  /**
@@ -4235,12 +4867,21 @@ interface DockProps {
4235
4867
  className?: string;
4236
4868
  /** Accessible label for the nav landmark */
4237
4869
  ariaLabel?: string;
4870
+ /**
4871
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
4872
+ *
4873
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
4874
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
4875
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
4876
+ */
4877
+ label?: string;
4238
4878
  }
4239
4879
  declare function Dock({
4240
4880
  items,
4241
4881
  activeIndex,
4242
4882
  className,
4243
- ariaLabel
4883
+ ariaLabel,
4884
+ label
4244
4885
  }: DockProps): import("react").JSX.Element;
4245
4886
  interface LargeTitleHeaderProps {
4246
4887
  /** The page title. Rendered as the large heading and mirrored in the collapsed bar. */
@@ -4390,6 +5031,14 @@ interface VirtualListProps<Item> {
4390
5031
  overscan?: number;
4391
5032
  /** Accessible label for the list; defaults to none, so label it when standalone. */
4392
5033
  ariaLabel?: string;
5034
+ /**
5035
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
5036
+ *
5037
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
5038
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
5039
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
5040
+ */
5041
+ label?: string;
4393
5042
  className?: string;
4394
5043
  }
4395
5044
  /**
@@ -4408,6 +5057,7 @@ declare function VirtualList<Item>({
4408
5057
  renderItem,
4409
5058
  overscan,
4410
5059
  ariaLabel,
5060
+ label,
4411
5061
  className
4412
5062
  }: VirtualListProps<Item>): import("react").JSX.Element;
4413
5063
  interface WheelPickerOption {
@@ -4433,6 +5083,14 @@ interface WheelPickerProps {
4433
5083
  */
4434
5084
  itemHeight?: number;
4435
5085
  ariaLabel?: string;
5086
+ /**
5087
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
5088
+ *
5089
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
5090
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
5091
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
5092
+ */
5093
+ label?: string;
4436
5094
  className?: string;
4437
5095
  }
4438
5096
  /**
@@ -4453,6 +5111,7 @@ declare function WheelPicker({
4453
5111
  visibleCount,
4454
5112
  itemHeight,
4455
5113
  ariaLabel,
5114
+ label,
4456
5115
  className
4457
5116
  }: WheelPickerProps): import("react").JSX.Element;
4458
5117
  interface DrawerProps {
@@ -4612,11 +5271,23 @@ declare function CodeSnippet({
4612
5271
  type StepState = 'pending' | 'active' | 'complete' | 'error';
4613
5272
  interface Step {
4614
5273
  label: string;
4615
- /** Accepts `StepState` plus Timeline's `current` / `upcoming` aliases. */
4616
- state?: ProgressInput;
5274
+ /**
5275
+ * Stable identity for the step, used as its React key.
5276
+ *
5277
+ * Every other config-item type in the catalog (`TimelineItem`, `SideNavItem`,
5278
+ * `DataListItem`, `BreadcrumbItem`) carries one; `Step` was missed because the sweep that
5279
+ * added them looked for a `label` **and an `href`** (2026-08-22 report item 10). Without it
5280
+ * the index is the key, so reordering or inserting a step re-uses the wrong DOM node.
5281
+ */
5282
+ id?: string;
5283
+ /**
5284
+ * Step status. `StepState` is the canonical enum; `ProgressInput` additionally accepts
5285
+ * Timeline's `current` / `upcoming` aliases so one status value drives both components.
5286
+ */
5287
+ state?: StepState | ProgressInput;
4617
5288
  }
4618
- interface StepsProps {
4619
- steps: Step[];
5289
+ /** Props shared by both spellings of the collection. */
5290
+ interface StepsBaseProps {
4620
5291
  /**
4621
5292
  * Index of the currently active step (0-based)
4622
5293
  *
@@ -4628,13 +5299,40 @@ interface StepsProps {
4628
5299
  className?: string;
4629
5300
  /** Accessible label for the steps list */
4630
5301
  ariaLabel?: string;
5302
+ /**
5303
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
5304
+ *
5305
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
5306
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
5307
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
5308
+ */
5309
+ label?: string;
4631
5310
  }
5311
+ /**
5312
+ * The collection, under either spelling — exactly one is required.
5313
+ *
5314
+ * `steps` is the domain word and stays canonical. `items` is accepted because the catalog's
5315
+ * published data-prop vocabulary says a config-driven collection is `items`, and an adopter
5316
+ * who followed that rule hit a type error on the one component the rule named wrongly
5317
+ * (2026-08-22 report item 10). The XOR keeps "pass neither" and "pass both" compile errors
5318
+ * rather than silent no-ops, the same shape `Menubar` uses for its name props.
5319
+ */
5320
+ type StepsCollection = {
5321
+ steps: Step[];
5322
+ items?: never;
5323
+ } | {
5324
+ items: Step[];
5325
+ steps?: never;
5326
+ };
5327
+ type StepsProps = StepsBaseProps & StepsCollection;
4632
5328
  declare function Steps({
4633
5329
  steps,
5330
+ items,
4634
5331
  activeStep: controlledActiveStep,
4635
5332
  orientation,
4636
5333
  className,
4637
- ariaLabel
5334
+ ariaLabel,
5335
+ label
4638
5336
  }: StepsProps): import("react").JSX.Element;
4639
5337
  interface TileProps {
4640
5338
  /** Identifies this tile within a group. */
@@ -4681,7 +5379,8 @@ interface IndicatorProps {
4681
5379
  children: React.ReactNode;
4682
5380
  overlay: React.ReactNode;
4683
5381
  /**
4684
- * Placement relative to the trigger.
5382
+ * Corner of the wrapped element the dot or count sits on: `top-end`, `top-start`,
5383
+ * `bottom-start` or `bottom-end`.
4685
5384
  *
4686
5385
  * @defaultValue `top-end`
4687
5386
  * @see the component manifest
@@ -4699,7 +5398,8 @@ type JoinOrientation = 'horizontal' | 'vertical';
4699
5398
  interface JoinProps {
4700
5399
  children: React.ReactNode;
4701
5400
  /**
4702
- * Layout orientation of the component.
5401
+ * Axis the joined children flow along: `horizontal` for a row, `vertical` for a column.
5402
+ * Inner corners are squared off either way.
4703
5403
  *
4704
5404
  * @defaultValue `horizontal`
4705
5405
  * @see the component manifest
@@ -4808,7 +5508,8 @@ type ChatBubbleSide = 'start' | 'end';
4808
5508
  interface ChatBubbleProps {
4809
5509
  children: React.ReactNode;
4810
5510
  /**
4811
- * Edge the component is anchored to.
5511
+ * Which side of the thread the bubble sits on: `start` for an incoming message (avatar
5512
+ * first), `end` for an outgoing one (right-aligned, avatar last).
4812
5513
  *
4813
5514
  * @defaultValue `start`
4814
5515
  * @see the component manifest
@@ -4833,7 +5534,8 @@ interface RadialProgressProps {
4833
5534
  value: number;
4834
5535
  size?: RadialProgressSize;
4835
5536
  /**
4836
- * Selects the visual style variant.
5537
+ * Colour of the ring: `primary` (the accent) or a severity tone — `info`, `success`,
5538
+ * `warning`, `error`.
4837
5539
  *
4838
5540
  * @defaultValue `primary`
4839
5541
  * @see the component manifest
@@ -4845,6 +5547,14 @@ interface RadialProgressProps {
4845
5547
  * `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
4846
5548
  */
4847
5549
  ariaLabel?: string;
5550
+ /**
5551
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
5552
+ *
5553
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
5554
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
5555
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
5556
+ */
5557
+ label?: string;
4848
5558
  'aria-label'?: string;
4849
5559
  className?: string;
4850
5560
  }
@@ -4855,6 +5565,7 @@ declare function RadialProgress({
4855
5565
  children,
4856
5566
  className,
4857
5567
  ariaLabel,
5568
+ label: labelProp,
4858
5569
  ...aria
4859
5570
  }: RadialProgressProps): import("react").JSX.Element;
4860
5571
  type SwapMode = 'rotate' | 'flip';
@@ -4870,14 +5581,20 @@ interface SwapProps {
4870
5581
  checked?: boolean;
4871
5582
  /** Called with the new checked state when the swap is toggled. */
4872
5583
  onValueChange?: (checked: boolean) => void;
4873
- /** @deprecated Use `onValueChange` — it receives the same `checked` boolean. */
4874
- onChange?: (checked: boolean) => void;
4875
5584
  mode?: SwapMode;
4876
5585
  /**
4877
5586
  * Invisible accessible name. The catalog convention (see the item-identity table in
4878
5587
  * `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
4879
5588
  */
4880
5589
  ariaLabel?: string;
5590
+ /**
5591
+ * Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
5592
+ *
5593
+ * `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
5594
+ * adopter makes when they have not read the convention, and an unaccepted guess costs a
5595
+ * compile cycle for nothing (2026-08-21 report item 1). Pass either.
5596
+ */
5597
+ label?: string;
4881
5598
  'aria-label'?: string;
4882
5599
  className?: string;
4883
5600
  }
@@ -4886,10 +5603,10 @@ declare function Swap({
4886
5603
  off,
4887
5604
  checked,
4888
5605
  onValueChange,
4889
- onChange,
4890
5606
  mode,
4891
5607
  className,
4892
5608
  ariaLabel,
5609
+ label,
4893
5610
  ...aria
4894
5611
  }: SwapProps): import("react").JSX.Element;
4895
5612
  interface SwipeAction {
@@ -5129,4 +5846,504 @@ declare function PageHeader({
5129
5846
  actions,
5130
5847
  className
5131
5848
  }: PageHeaderProps): import("react").JSX.Element;
5132
- 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, InfiniteScroll, InfiniteScrollProps, 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, LargeTitleHeader, LargeTitleHeaderProps, 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, MenubarBaseProps, 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, ReorderItem, ReorderList, ReorderListProps, 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, VirtualList, VirtualListProps, VisuallyHidden, VisuallyHiddenProps, WheelPicker, WheelPickerOption, WheelPickerProps, 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 };
5849
+ export {
5850
+ Accordion,
5851
+ AccordionContent,
5852
+ AccordionItem,
5853
+ AccordionItemProps,
5854
+ AccordionProps,
5855
+ AccordionTrigger,
5856
+ ActionSheet,
5857
+ ActionSheetAction,
5858
+ ActionSheetProps,
5859
+ Alert,
5860
+ AlertDialog,
5861
+ AlertDialogLabels,
5862
+ AlertDialogProps,
5863
+ AlertProps,
5864
+ AppShell,
5865
+ AppShellProps,
5866
+ AspectRatio,
5867
+ AspectRatioProps,
5868
+ AutoGrid,
5869
+ AutoGridProps,
5870
+ Avatar,
5871
+ AvatarGroup,
5872
+ AvatarGroupLabels,
5873
+ AvatarGroupProps,
5874
+ AvatarProps,
5875
+ Badge,
5876
+ BadgeProps,
5877
+ Blockquote,
5878
+ BlockquoteProps,
5879
+ BottomSheet,
5880
+ BottomSheetProps,
5881
+ Breadcrumb,
5882
+ BreadcrumbItem,
5883
+ BreadcrumbProps,
5884
+ Button,
5885
+ ButtonGroup,
5886
+ ButtonGroupProps,
5887
+ ButtonProps,
5888
+ Calendar,
5889
+ CalendarLabels,
5890
+ CalendarProps,
5891
+ Card,
5892
+ CardContent,
5893
+ CardContentProps,
5894
+ CardFooter,
5895
+ CardFooterProps,
5896
+ CardHeader,
5897
+ CardHeaderProps,
5898
+ CardProps,
5899
+ CardTitle,
5900
+ CardTitleProps,
5901
+ Carousel,
5902
+ CarouselLabels,
5903
+ CarouselProps,
5904
+ Center,
5905
+ CenterProps,
5906
+ ChatBubble,
5907
+ ChatBubbleProps,
5908
+ ChatBubbleSide,
5909
+ Checkbox,
5910
+ CheckboxCard,
5911
+ CheckboxCardProps,
5912
+ CheckboxProps,
5913
+ Code,
5914
+ type CodeLang,
5915
+ CodeProps,
5916
+ CodeSnippet,
5917
+ CodeSnippetProps,
5918
+ Collapsible,
5919
+ CollapsibleProps,
5920
+ ColorPicker,
5921
+ ColorPickerLabels,
5922
+ ColorPickerProps,
5923
+ Column,
5924
+ Columns,
5925
+ ColumnsProps,
5926
+ Combobox,
5927
+ ComboboxLabels,
5928
+ ComboboxOption,
5929
+ ComboboxProps,
5930
+ CommandAction,
5931
+ CommandGroup,
5932
+ CommandItem,
5933
+ CommandMenu,
5934
+ CommandMenuProps,
5935
+ CommandPage,
5936
+ CommandScope,
5937
+ CommandStatus,
5938
+ Comparison,
5939
+ ComparisonProps,
5940
+ ContainedList,
5941
+ ContainedListItem,
5942
+ ContainedListItemProps,
5943
+ ContainedListProps,
5944
+ ContextMenu,
5945
+ ContextMenuItem,
5946
+ ContextMenuItemProps,
5947
+ ContextMenuProps,
5948
+ CopyButton,
5949
+ CopyButtonProps,
5950
+ DataList,
5951
+ DataListItem,
5952
+ DataListProps,
5953
+ DataTable,
5954
+ DataTableLabels,
5955
+ DataTableProps,
5956
+ DatePicker,
5957
+ DatePickerLabels,
5958
+ DatePickerProps,
5959
+ DateRange,
5960
+ DateRangePicker,
5961
+ DateRangePickerLabels,
5962
+ DateRangePickerProps,
5963
+ DateRangePreset,
5964
+ DismissableLayer,
5965
+ type DismissableLayerProps,
5966
+ Dock,
5967
+ DockItem,
5968
+ DockProps,
5969
+ Drawer,
5970
+ DrawerProps,
5971
+ Dropdown,
5972
+ DropdownItem,
5973
+ DropdownMenuItem,
5974
+ DropdownProps,
5975
+ DropdownSeparatorItem,
5976
+ Editable,
5977
+ EditableProps,
5978
+ EmptyState,
5979
+ EmptyStateProps,
5980
+ ErrorBoundary,
5981
+ Fab,
5982
+ FabAction,
5983
+ FabProps,
5984
+ Field,
5985
+ FieldProps,
5986
+ FileUploader,
5987
+ FileUploaderLabels,
5988
+ FileUploaderProps,
5989
+ Filter,
5990
+ FilterOption,
5991
+ FilterProps,
5992
+ FilterVariant,
5993
+ Flex,
5994
+ FlexProps,
5995
+ FocusScope,
5996
+ Form,
5997
+ FormConfig,
5998
+ FormProps,
5999
+ FormStore,
6000
+ FuzzyMatch,
6001
+ Grid,
6002
+ GridAlign,
6003
+ GridItem,
6004
+ GridItemProps,
6005
+ GridProps,
6006
+ Header,
6007
+ HeaderLabels,
6008
+ HeaderLink,
6009
+ HeaderPanel,
6010
+ HeaderPanelLabels,
6011
+ HeaderPanelProps,
6012
+ HeaderProps,
6013
+ Heading,
6014
+ HeadingLevel,
6015
+ HeadingProps,
6016
+ HeadingSize,
6017
+ HoverCard,
6018
+ HoverCardContent,
6019
+ HoverCardContentProps,
6020
+ HoverCardProps,
6021
+ HoverCardTrigger,
6022
+ HoverCardTriggerProps,
6023
+ IconButton,
6024
+ IconButtonProps,
6025
+ Image,
6026
+ ImageProps,
6027
+ Indicator,
6028
+ IndicatorPlacement,
6029
+ IndicatorProps,
6030
+ InfiniteScroll,
6031
+ InfiniteScrollProps,
6032
+ InlineLoading,
6033
+ InlineLoadingProps,
6034
+ InlineLoadingStatus,
6035
+ Input,
6036
+ InputGroup,
6037
+ InputGroupAddon,
6038
+ type InputGroupAddonProps,
6039
+ type InputGroupProps,
6040
+ InputProps,
6041
+ Item,
6042
+ ItemActions,
6043
+ ItemActionsProps,
6044
+ ItemContent,
6045
+ ItemContentProps,
6046
+ ItemDescription,
6047
+ ItemDescriptionProps,
6048
+ ItemMedia,
6049
+ ItemMediaProps,
6050
+ ItemProps,
6051
+ ItemTitle,
6052
+ ItemTitleProps,
6053
+ Join,
6054
+ JoinOrientation,
6055
+ JoinProps,
6056
+ Kbd,
6057
+ KbdProps,
6058
+ Label,
6059
+ LabelProps,
6060
+ LargeTitleHeader,
6061
+ LargeTitleHeaderProps,
6062
+ Link,
6063
+ type LinkComponent,
6064
+ type LinkComponentProps,
6065
+ LinkProps,
6066
+ List,
6067
+ ListItem,
6068
+ ListItemProps,
6069
+ ListProps,
6070
+ LogLevel,
6071
+ LogLine,
6072
+ LogViewer,
6073
+ LogViewerLabels,
6074
+ LogViewerProps,
6075
+ type Machine,
6076
+ type MachineConfig,
6077
+ Menu,
6078
+ MenuButton,
6079
+ MenuButtonItem,
6080
+ MenuButtonProps,
6081
+ MenuItem,
6082
+ MenuItemProps,
6083
+ MenuProps,
6084
+ MenuSeparator,
6085
+ MenuTrigger,
6086
+ MenuTriggerProps,
6087
+ Menubar,
6088
+ MenubarBaseProps,
6089
+ MenubarItem,
6090
+ MenubarMenu,
6091
+ MenubarProps,
6092
+ Modal,
6093
+ ModalProps,
6094
+ MultiSelect,
6095
+ MultiSelectLabels,
6096
+ MultiSelectOption,
6097
+ MultiSelectProps,
6098
+ NativeSelect,
6099
+ NativeSelectOption,
6100
+ NativeSelectProps,
6101
+ NavigationMenu,
6102
+ NavigationMenuItem,
6103
+ NavigationMenuProps,
6104
+ Notification,
6105
+ NotificationProps,
6106
+ NotificationVariant,
6107
+ NumberInput,
6108
+ NumberInputProps,
6109
+ OtpInput,
6110
+ OtpInputProps,
6111
+ OverflowMenu,
6112
+ OverflowMenuItem,
6113
+ OverflowMenuProps,
6114
+ PageHeader,
6115
+ PageHeaderProps,
6116
+ Pagination,
6117
+ PaginationLabels,
6118
+ PaginationProps,
6119
+ PasswordInput,
6120
+ PasswordInputLabels,
6121
+ PasswordInputProps,
6122
+ Popover,
6123
+ PopoverContent,
6124
+ PopoverContentProps,
6125
+ PopoverProps,
6126
+ PopoverTrigger,
6127
+ PopoverTriggerProps,
6128
+ Portal,
6129
+ Presence,
6130
+ Progress,
6131
+ ProgressBar,
6132
+ ProgressBarProps,
6133
+ ProgressCircle,
6134
+ ProgressCircleProps,
6135
+ ProgressIndicator,
6136
+ ProgressIndicatorProps,
6137
+ ProgressProps,
6138
+ ProgressSize,
6139
+ ProgressStep,
6140
+ ProgressVariant,
6141
+ Prose,
6142
+ ProseProps,
6143
+ PullToRefresh,
6144
+ PullToRefreshProps,
6145
+ QrCode,
6146
+ QrCodeProps,
6147
+ RadialProgress,
6148
+ RadialProgressProps,
6149
+ RadialProgressSize,
6150
+ RadialProgressVariant,
6151
+ Radio,
6152
+ RadioCard,
6153
+ RadioCardGroup,
6154
+ RadioCardGroupProps,
6155
+ RadioCardProps,
6156
+ RadioGroup,
6157
+ RadioGroupProps,
6158
+ RadioProps,
6159
+ RatingGroup,
6160
+ RatingGroupLabels,
6161
+ RatingGroupProps,
6162
+ RelativeTime,
6163
+ RelativeTimeProps,
6164
+ ReorderItem,
6165
+ ReorderList,
6166
+ ReorderListProps,
6167
+ Resizable,
6168
+ ResizableProps,
6169
+ Responsive,
6170
+ ScrollArea,
6171
+ ScrollAreaProps,
6172
+ Search,
6173
+ SearchProps,
6174
+ SegmentedControl,
6175
+ SegmentedControlOption,
6176
+ SegmentedControlProps,
6177
+ Select,
6178
+ SelectOption,
6179
+ SelectProps,
6180
+ Separator,
6181
+ SeparatorProps,
6182
+ Sheet,
6183
+ SheetProps,
6184
+ ShellHeader,
6185
+ ShellHeaderAction,
6186
+ ShellHeaderBrand,
6187
+ ShellHeaderLabels,
6188
+ ShellHeaderNavItem,
6189
+ ShellHeaderNavLink,
6190
+ ShellHeaderNavMenu,
6191
+ ShellHeaderNavMenuItem,
6192
+ ShellHeaderProps,
6193
+ SideNav,
6194
+ SideNavGroup,
6195
+ SideNavItem,
6196
+ SideNavLinkProps,
6197
+ SideNavLinkSubItem,
6198
+ SideNavProps,
6199
+ SideNavSubItem,
6200
+ SideNavTone,
6201
+ Skeleton,
6202
+ SkeletonProps,
6203
+ SkipNavLink,
6204
+ SkipNavLinkProps,
6205
+ SkipNavTarget,
6206
+ SkipNavTargetProps,
6207
+ Slider,
6208
+ SliderProps,
6209
+ Slot,
6210
+ type SlotProps,
6211
+ SortDirection,
6212
+ SortState,
6213
+ Spacer,
6214
+ SpacerProps,
6215
+ Spinner,
6216
+ SpinnerProps,
6217
+ Stack,
6218
+ StackProps,
6219
+ type StandardSchemaV1,
6220
+ Stat,
6221
+ StatProps,
6222
+ Status,
6223
+ StatusProps,
6224
+ Step,
6225
+ StepState,
6226
+ Steps,
6227
+ StepsProps,
6228
+ StructuredList,
6229
+ StructuredListItem,
6230
+ StructuredListProps,
6231
+ SuspenseBoundary,
6232
+ Swap,
6233
+ SwapMode,
6234
+ SwapProps,
6235
+ SwipeAction,
6236
+ SwipeItem,
6237
+ SwipeItemProps,
6238
+ Toggle as Switch,
6239
+ Toggle,
6240
+ type ToggleProps as SwitchProps,
6241
+ ToggleProps,
6242
+ Switcher,
6243
+ SwitcherEntry,
6244
+ SwitcherLink,
6245
+ SwitcherProps,
6246
+ Tabs,
6247
+ TabsContent,
6248
+ TabsContentProps,
6249
+ TabsList,
6250
+ TabsProps,
6251
+ TabsTrigger,
6252
+ TabsTriggerProps,
6253
+ Tag,
6254
+ TagProps,
6255
+ TagsInput,
6256
+ TagsInputProps,
6257
+ Text,
6258
+ TextProps,
6259
+ Textarea,
6260
+ TextareaProps,
6261
+ ThemeProvider,
6262
+ type ThemeProviderProps,
6263
+ Tile,
6264
+ TileProps,
6265
+ TimePicker,
6266
+ TimePickerProps,
6267
+ Timeline,
6268
+ TimelineItem,
6269
+ TimelineProps,
6270
+ ToastOptions,
6271
+ ToastProvider,
6272
+ ToastVariant,
6273
+ Toc,
6274
+ TocItem,
6275
+ TocProps,
6276
+ ToggleGroup,
6277
+ ToggleGroupItem,
6278
+ ToggleGroupProps,
6279
+ Toggletip,
6280
+ ToggletipPlacement,
6281
+ ToggletipProps,
6282
+ Tooltip,
6283
+ TooltipProps,
6284
+ TreeNode,
6285
+ TreeView,
6286
+ TreeViewProps,
6287
+ UploaderFile,
6288
+ type UseClipboardOptions,
6289
+ type UseClipboardReturn,
6290
+ type UseControllableSignalOptions,
6291
+ type UseDisclosureOptions,
6292
+ type UseDisclosureReturn,
6293
+ type UsePopoverOptions,
6294
+ type UsePopoverReturn,
6295
+ type UseTocFromRegionOptions,
6296
+ User,
6297
+ UserProps,
6298
+ VirtualList,
6299
+ VirtualListProps,
6300
+ VisuallyHidden,
6301
+ VisuallyHiddenProps,
6302
+ WheelPicker,
6303
+ WheelPickerOption,
6304
+ WheelPickerProps,
6305
+ applyTheme,
6306
+ batch,
6307
+ cn,
6308
+ composeRefs,
6309
+ computePosition,
6310
+ computed,
6311
+ createForm,
6312
+ createMachine,
6313
+ createScope,
6314
+ createStreamBuffer,
6315
+ dismissAllToasts,
6316
+ effect,
6317
+ fuzzyMatch,
6318
+ fuzzyScore,
6319
+ getLinkComponent,
6320
+ mergeProps,
6321
+ setLinkComponent,
6322
+ setTheme,
6323
+ signal,
6324
+ themePreloadScript,
6325
+ themeSignal,
6326
+ treeViewMessages,
6327
+ useAnchorPosition,
6328
+ useClipboard,
6329
+ useComputed,
6330
+ useControllableSignal,
6331
+ useDisclosure,
6332
+ useEffectPropSignal,
6333
+ useForm,
6334
+ useId,
6335
+ useMachine,
6336
+ useMediaQuery,
6337
+ usePopover,
6338
+ useRovingFocus,
6339
+ useScope,
6340
+ useScrollLock,
6341
+ useSignal,
6342
+ useSignalEffect,
6343
+ useSignals,
6344
+ useStreamBuffer,
6345
+ useTheme,
6346
+ useToast,
6347
+ useTocFromRegion,
6348
+ useTypeahead,
6349
+ };