@justanarthur/modo-ui 0.2.0 → 0.3.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 (77) hide show
  1. package/README.md +18 -15
  2. package/dist/blocks/sidebar-app/index.js +6 -6
  3. package/dist/components/{inputs → AI}/input-message/index.js +2 -2
  4. package/dist/components/AI/thinking-indicator/index.js +13 -0
  5. package/dist/components/accordion/index.js +28 -0
  6. package/dist/components/card/index.js +2 -2
  7. package/dist/components/{inputs/input-copy → copy}/index.d.ts +7 -7
  8. package/dist/components/copy/index.js +16 -0
  9. package/dist/components/inputs/checkbox/index.d.ts +62 -0
  10. package/dist/components/inputs/{checkbox-group → checkbox}/index.js +7 -6
  11. package/dist/components/inputs/color-picker/index.js +2 -2
  12. package/dist/components/inputs/combobox/index.d.ts +1 -1
  13. package/dist/components/inputs/combobox/index.js +2 -2
  14. package/dist/components/inputs/date-time/calendar/index.js +3 -3
  15. package/dist/components/inputs/date-time/date-picker/index.js +5 -5
  16. package/dist/components/inputs/date-time/date-range-picker/index.js +4 -4
  17. package/dist/components/inputs/date-time/duration-picker/index.js +4 -4
  18. package/dist/components/inputs/date-time/month-picker/index.js +3 -3
  19. package/dist/components/inputs/date-time/time-picker/index.js +4 -4
  20. package/dist/components/inputs/{radio-group → radio}/index.d.ts +30 -30
  21. package/dist/components/inputs/{radio-group → radio}/index.js +7 -6
  22. package/dist/components/inputs/search/index.js +3 -3
  23. package/dist/components/inputs/select/index.js +2 -2
  24. package/dist/components/inputs/switch/index.d.ts +27 -6
  25. package/dist/components/inputs/switch/index.js +8 -1
  26. package/dist/components/navigation/sidebar/index.js +3 -3
  27. package/dist/components/navigation/tabs/index.js +2 -2
  28. package/dist/components/navigation/tabs-subtle/index.js +2 -2
  29. package/dist/components/overlays/command/index.js +2 -2
  30. package/dist/components/overlays/context-menu/index.js +3 -3
  31. package/dist/components/overlays/dropdown/index.d.ts +2 -2
  32. package/dist/components/overlays/dropdown/index.js +2 -2
  33. package/dist/components/table/index.js +2 -2
  34. package/dist/index.d.ts +807 -774
  35. package/dist/index.js +51 -48
  36. package/dist/primitives/fluid-hover/index.js +2 -2
  37. package/dist/primitives/morph/index.d.ts +2 -2
  38. package/dist/primitives/sizes/index.d.ts +2 -2
  39. package/dist/shared/{components-1rfwbyyc.js → components-1z6tdadk.js} +1 -1
  40. package/dist/shared/{components-7x9kawxv.js → components-27nnvrwe.js} +1 -1
  41. package/dist/shared/{components-njzgqdwy.js → components-2n3whx7z.js} +2 -2
  42. package/dist/shared/{components-v7wtz8hk.js → components-2nhgyh31.js} +3 -3
  43. package/dist/shared/{components-4cnjmgex.js → components-3fbbvq5j.js} +1 -1
  44. package/dist/shared/{components-asr5pg50.js → components-8snj490h.js} +106 -9
  45. package/dist/shared/{components-1xekx2hx.js → components-ar66gnt0.js} +1 -1
  46. package/dist/shared/{components-3wk0w46f.js → components-b3c5et5b.js} +1 -1
  47. package/dist/shared/{components-ez65vtbq.js → components-bshdmf75.js} +2 -2
  48. package/dist/shared/{components-yh3kwdhr.js → components-d6xtjht3.js} +3 -3
  49. package/dist/shared/{components-ytb2tefr.js → components-hyq23phv.js} +39 -20
  50. package/dist/shared/{components-cbxjn9p8.js → components-k809mbn0.js} +2 -2
  51. package/dist/shared/{components-q4daerx0.js → components-mjthm1kf.js} +1 -1
  52. package/dist/shared/{components-ny774h8p.js → components-pbmqctfa.js} +15 -8
  53. package/dist/shared/{components-7ans7ce5.js → components-re6rs21k.js} +2 -2
  54. package/dist/shared/{components-1j9791sn.js → components-s083f38z.js} +5 -5
  55. package/dist/shared/components-ta7shw28.js +19 -0
  56. package/dist/shared/{components-66mv71kx.js → components-xxvdw7k1.js} +1 -1
  57. package/dist/styles.css +1 -1
  58. package/package.json +1 -1
  59. package/dist/components/inputs/checkbox-group/index.d.ts +0 -50
  60. package/dist/components/inputs/input-copy/index.js +0 -16
  61. package/dist/components/navigation/accordion/index.js +0 -28
  62. package/dist/components/thinking-indicator/index.js +0 -13
  63. /package/dist/components/{inputs → AI}/input-message/index.d.ts +0 -0
  64. /package/dist/components/{thinking-indicator → AI/thinking-indicator}/index.d.ts +0 -0
  65. /package/dist/components/{navigation/accordion → accordion}/index.d.ts +0 -0
  66. /package/dist/shared/{components-0ke6xada.js → components-1434p1mh.js} +0 -0
  67. /package/dist/shared/{components-h2dpcwgc.js → components-2dxkv6zm.js} +0 -0
  68. /package/dist/shared/{components-8fpr3s4p.js → components-39vmfq9s.js} +0 -0
  69. /package/dist/shared/{components-3gae8nta.js → components-8ey44d79.js} +0 -0
  70. /package/dist/shared/{components-nh8tma1n.js → components-a86dytt0.js} +0 -0
  71. /package/dist/shared/{components-v6xp325t.js → components-dk0gjr5a.js} +0 -0
  72. /package/dist/shared/{components-62ybc7t2.js → components-frw34b65.js} +0 -0
  73. /package/dist/shared/{components-9jvzzvt1.js → components-gz8zf3ec.js} +0 -0
  74. /package/dist/shared/{components-tqvarbfv.js → components-hw9yk32z.js} +0 -0
  75. /package/dist/shared/{components-apdwtweq.js → components-jbbmdr74.js} +0 -0
  76. /package/dist/shared/{components-3k8xpnpq.js → components-jthe1pwb.js} +0 -0
  77. /package/dist/shared/{components-ca2c898n.js → components-nb87fjy4.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -31,11 +31,370 @@ type Element_12xgc = JSX_1kxb["Element"];
31
31
  * @example {@include ./examples.mdx}
32
32
  */
33
33
  declare function SidebarApp({ defaultOpen, variant, side, openOnHover, contained }: SidebarAppProps): Element_12xgc;
34
- import { VariantProps } from "class-variance-authority";
35
- import { HTMLAttributes } from "react";
36
- import { ClassProp as ClassProp_wz9o0r } from "class-variance-authority/types";
34
+ import { HTMLAttributes, ReactNode, TextareaHTMLAttributes } from "react";
35
+ type SizeVariant = "default" | "compact";
36
+ interface SizeClasses {
37
+ /** The variant these classes belong to — handy for conditionals. */
38
+ variant: SizeVariant;
39
+ /** Bounded control height — buttons, inputs, select triggers, subtle tabs —
40
+ * AND list/menu rows (select options, dropdown, checkbox and radio rows).
41
+ * One token by design: a popup row lines up with the trigger that opened
42
+ * it because they share this height. */
43
+ control: string;
44
+ /** `control` as a number, for consumers that need raw pixels. */
45
+ controlHeight: number;
46
+ /** Tab trigger height inside a padded segmented list. Sized so
47
+ * `segmentPad` + `segmentItem` adds back up to the control height —
48
+ * the segmented control's outer box stays on the same ladder. */
49
+ segmentItem: string;
50
+ /** Padding of the segmented list around its tabs. */
51
+ segmentPad: string;
52
+ /** Body text inside controls. */
53
+ text: string;
54
+ /** Horizontal padding of bounded controls (select trigger, inputs). */
55
+ px: string;
56
+ /** Horizontal padding of list/menu rows, which sit inside a padded popup
57
+ * or group and need less inset than a bounded control. */
58
+ itemPx: string;
59
+ /** Gap between an icon / control glyph and its label, and between
60
+ * neighbouring controls in a row (toolbars, filter bars, button
61
+ * clusters). Density is spacing as much as control height, so the
62
+ * compact step halves it. */
63
+ gap: string;
64
+ /** Glyph size in px: leading/trailing icons inside controls, and the
65
+ * checkbox square / radio circle. */
66
+ icon: number;
67
+ }
68
+ declare const sizeMap: Record<SizeVariant, SizeClasses>;
69
+ /** One role of the type scale: px per ladder step. */
70
+ interface TypeScaleStep {
71
+ default: number;
72
+ compact: number;
73
+ }
74
+ /**
75
+ * Role-based type scale, per ladder step (px values).
76
+ *
77
+ * The default column is the system as shipped; the compact column steps each
78
+ * role down one notch so dense regions read as a smaller sibling of the same
79
+ * hierarchy, not a squeezed copy. `body`, `caption`, and `subtitle` are what
80
+ * the sized components already render through `SizeClasses.text` and their
81
+ * compact conditionals; `display` and `title` are the page-level roles
82
+ * for consumers composing their own screens.
83
+ */
84
+ declare const typeScale: {
85
+ /** Page titles. */
86
+ readonly display: {
87
+ readonly default: 28;
88
+ readonly compact: 24;
89
+ };
90
+ /** Section headings, dialog titles. */
91
+ readonly title: {
92
+ readonly default: 16;
93
+ readonly compact: 15;
94
+ };
95
+ /** Card titles, chat bubbles, emphasized rows. */
96
+ readonly subtitle: {
97
+ readonly default: 14;
98
+ readonly compact: 13;
99
+ };
100
+ /** Control labels and body copy — `SizeClasses.text`. */
101
+ readonly body: {
102
+ readonly default: 13;
103
+ readonly compact: 12;
104
+ };
105
+ /** Secondary text: descriptions, meta rows, errors, eyebrows and group
106
+ * labels (the former overline role — an uppercase or muted caption). */
107
+ readonly caption: {
108
+ readonly default: 12;
109
+ readonly compact: 11;
110
+ };
111
+ };
112
+ type TypeScaleRole = keyof typeof typeScale;
113
+ /** The type scale resolved for the active ladder step (px per role):
114
+ * explicit override > surrounding SizeProvider > "default". */
115
+ declare function useTypeScale(override?: SizeVariant | null): Record<TypeScaleRole, number>;
116
+ interface SizeContextValue {
117
+ size: SizeVariant;
118
+ setSize: (size: SizeVariant) => void;
119
+ classes: SizeClasses;
120
+ }
121
+ /** Resolve the active size variant: explicit prop > provider > "default". */
122
+ declare function useSizeVariant(override?: SizeVariant | null): SizeVariant;
123
+ /** Resolve size classes: explicit prop > provider > "default". */
124
+ declare function useSize(override?: SizeVariant | null): SizeClasses;
125
+ declare function useSizeContext(): SizeContextValue;
37
126
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
38
127
  import { RefAttributes as RefAttributes_miuf56 } from "react";
128
+ import { JSX as JSX_1kxb2 } from "react";
129
+ interface FileThumbnailProps {
130
+ file: File;
131
+ /** Side length of the square thumbnail in pixels. */
132
+ size: number;
133
+ className?: string;
134
+ }
135
+ type Element_12xgc2 = JSX_1kxb2["Element"];
136
+ declare function FileThumbnail({ file, size, className }: FileThumbnailProps): Element_12xgc2;
137
+ type InputMessageStatus = "idle" | "streaming";
138
+ interface InputMessageSlotContext {
139
+ /** Opens the native file picker via the hidden `<input type="file">`.
140
+ * Pass `acceptOverride` (e.g. `"image/*"`) to scope the picker to a
141
+ * subset of the component's accept types just for this invocation. */
142
+ openFilePicker: (acceptOverride?: string) => void;
143
+ /** Currently-attached files. */
144
+ files: File[];
145
+ }
146
+ type InputMessageSlot = ReactNode | ((ctx: InputMessageSlotContext) => ReactNode);
147
+ /** A message held in the queue while the assistant is responding. Carries the
148
+ * trimmed text plus a snapshot of the files attached when it was queued, so
149
+ * double-click-to-edit can restore both. `id` is a stable key minted on enqueue. */
150
+ interface QueuedMessage {
151
+ id: string;
152
+ text: string;
153
+ files: File[];
154
+ }
155
+ interface InputMessageProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
156
+ /** Step on the size ladder (see Sizes). Wins over the surrounding SizeProvider and propagates to the composer's rows, buttons and queued messages. */
157
+ size?: SizeVariant;
158
+ /** Controlled textarea value. Pair with `onValueChange`; omit both for an uncontrolled composer. */
159
+ value?: string;
160
+ /** Initial textarea value for an uncontrolled composer. Defaults to `""`. */
161
+ defaultValue?: string;
162
+ /** Called with the new value on every textarea change. */
163
+ onValueChange?: (value: string) => void;
164
+ /** Fires on Enter (without Shift) or send-button click, and when a queued message auto-dispatches. Receives the trimmed value, the attached files, and — for auto-dispatched queue items — `meta.queuedId`. Skipped when the value is empty and no files are attached. */
165
+ onSend?: (value: string, files: File[], meta?: {
166
+ queuedId?: string;
167
+ }) => void;
168
+ /** Placeholder shown when the value is empty. While a file is dragged over the component (and attachments are enabled) it swaps to "Drop files here to add to chat". Defaults to `"Ask me anything…"`. */
169
+ placeholder?: string;
170
+ /** Content rendered in the bottom-left action area. May be a render-fn that receives `{ openFilePicker, files }` — `openFilePicker(acceptOverride?)` opens the native file picker. */
171
+ leftSlot?: InputMessageSlot;
172
+ /** Content rendered in the bottom-right action area, before the built-in send button. Same render-fn shape as `leftSlot`. */
173
+ rightSlot?: InputMessageSlot;
174
+ /** Disables the textarea, send button, and drag-and-drop. Defaults to `false`. */
175
+ disabled?: boolean;
176
+ /** Minimum visible rows before the textarea grows. Defaults to 1. */
177
+ minRows?: number;
178
+ /** Maximum visible rows before the textarea starts to scroll. Defaults to 8. */
179
+ maxRows?: number;
180
+ /** When true, clicking anywhere on the surrounding container (outside of buttons / links / inputs) focuses the textarea. Defaults to `true`. */
181
+ clickToFocus?: boolean;
182
+ /** Accessible label for the send button. Defaults to `"Send"`. */
183
+ sendLabel?: string;
184
+ /** Controlled list of attached files. Pair with `onFilesChange` to enable drag-and-drop and the file-picker slot helper. */
185
+ files?: File[];
186
+ /** Initial attachments for an uncontrolled composer. Providing it (even as `[]`) enables attachment behavior on its own. */
187
+ defaultFiles?: File[];
188
+ /** Called when files are added (drag-drop or picker) or removed via the preview tile's × button. Duplicate drops of the same file (same name + size + lastModified) are silently de-duplicated. */
189
+ onFilesChange?: (files: File[]) => void;
190
+ /** Accepted MIME types as a comma-separated string. Used by both the file picker and the drag-and-drop filter. Defaults to `"image/png,image/jpeg,application/pdf"`. */
191
+ accept?: string;
192
+ /** Maximum number of attached files. Extra files beyond this limit are dropped. */
193
+ maxFiles?: number;
194
+ /** Side length (in pixels) of each preview tile. Images use object-cover; PDFs render the first page via pdfjs; other types fall back to a centered icon. Defaults to 80. */
195
+ filePreviewSize?: number;
196
+ /** Extra props forwarded to the underlying textarea (value, onChange, onKeyDown, disabled and placeholder are controlled by the component). */
197
+ textareaProps?: Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "onChange" | "onKeyDown" | "disabled" | "placeholder">;
198
+ /** Assistant response state. When `"streaming"`, the send button becomes a Stop control (empty draft) or a Queue action (non-empty draft). On the streaming→idle edge the next queued message auto-dispatches via `onSend`. Leave it and `defaultStatus` undefined for the send-immediately behavior. */
199
+ status?: InputMessageStatus;
200
+ /** Initial status for an uncontrolled composer — the component then owns the streaming flag, and Stop flips it to `"idle"` itself. */
201
+ defaultStatus?: InputMessageStatus;
202
+ /** Called whenever the status changes while it is uncontrolled (currently: the Stop control). */
203
+ onStatusChange?: (status: InputMessageStatus) => void;
204
+ /** Fires when the Stop control is pressed (streaming + empty draft). Halt the current response and set status to `"idle"` — that edge immediately dispatches the next queued message. */
205
+ onStop?: () => void;
206
+ /** Controlled queue of pending messages, rendered as reorderable rows above the textarea. Double-click (or Enter/F2) edits a row back into the composer; the × (or Delete) removes it; drag — or Alt+↑/↓ — reorders. Requires a status. */
207
+ queue?: QueuedMessage[];
208
+ /** Initial queue for an uncontrolled composer. Providing it (even as `[]`) enables the queue on its own, alongside `status` or `defaultStatus`. */
209
+ defaultQueue?: QueuedMessage[];
210
+ /** Called whenever the queue changes — enqueue, edit, delete, reorder, or auto-dispatch. Each QueuedMessage is `{ id, text, files }`. */
211
+ onQueueChange?: (queue: QueuedMessage[]) => void;
212
+ /** Render the built-in reorderable queue rows above the textarea. Set to false to suppress them and render the queue yourself — enqueue and auto-dispatch still run. Defaults to `true`. */
213
+ showQueue?: boolean;
214
+ /** Previously-sent messages, oldest first. With the textarea focused, ArrowUp (caret on the first line) recalls the previous message and walks backward; ArrowDown (caret on the last line) walks forward toward the in-progress draft. Editing or sending exits history mode. Defaults to `[]`. */
215
+ history?: string[];
216
+ /** Suggested prompt rendered as the placeholder (with a Tab keycap) while the draft is empty. Pressing Tab fills it into the composer — it doesn't send. Takes precedence over `placeholder`. */
217
+ placeholderSuggestion?: string;
218
+ /** Suggested prompts listed under the action bar while the draft is empty. ArrowDown moves a highlight into the list (focus stays in the textarea), ArrowUp walks back up and out, Enter or click fills the highlighted prompt. Escape drops the highlight; typing collapses the list. */
219
+ suggestions?: string[];
220
+ /** Extra classes for the composer surface. */
221
+ className?: string;
222
+ }
223
+ /**
224
+ * Chat-style message composer with an auto-resizing textarea, flexible
225
+ * left/right action slots, and a built-in send button on a Surface-2
226
+ * substrate.
227
+ *
228
+ * The textarea grows from `minRows` to `maxRows` and then scrolls, Enter
229
+ * sends while Shift+Enter breaks the line, and the whole panel is one
230
+ * hairline ring that recolours in place for hover, focus and drag instead of
231
+ * layering a second border. Attachments drop anywhere on the composer (or
232
+ * come from `openFilePicker` in a slot) and preview as tiles — images
233
+ * object-cover, PDFs render their first page. `suggestions` open a listbox
234
+ * under the action bar that ↓/↑ walk without moving focus, and
235
+ * `placeholderSuggestion` writes a ghost prompt with a Tab keycap. With a
236
+ * `status` the send button morphs into Stop (empty draft) or Queue (draft
237
+ * typed while streaming); queued rows reorder by drag or Alt+↑/↓, edit back
238
+ * into the composer on double-click, and the head auto-dispatches on the
239
+ * streaming→idle edge.
240
+ *
241
+ * Every controlled prop has an uncontrolled twin — `defaultValue`,
242
+ * `defaultFiles`, `defaultQueue`, `defaultStatus` — so a composer can hold
243
+ * its own draft, attachments and queue with no state in the caller.
244
+ *
245
+ * @example {@include ./examples.mdx}
246
+ */
247
+ declare const InputMessage: ForwardRefExoticComponent_tcubfn<InputMessageProps & RefAttributes_miuf56<HTMLDivElement>>;
248
+ import { HTMLAttributes as HTMLAttributes2 } from "react";
249
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn2 } from "react";
250
+ import { RefAttributes as RefAttributes_miuf562 } from "react";
251
+ interface ThinkingIndicatorProps extends HTMLAttributes2<HTMLDivElement> {
252
+ /** The look: `shimmer` morphs a circle⇄infinity glyph beside a shimmering label (Fluid Functionalism's), `goo` melts three dots into one blob and splits them again beside a plain label. Defaults to `"shimmer"`. */
253
+ variant?: "shimmer" | "goo";
254
+ /** Show the glyph (or, for `goo`, the dots) before the label. Set to `false` for a text-only indicator (e.g. inline before a streamed reply). Defaults to `true`. */
255
+ showIcon?: boolean;
256
+ /** Step on the size ladder. Wins over the surrounding SizeProvider. Defaults to the provider's step, else `"default"`. */
257
+ size?: SizeVariant;
258
+ }
259
+ /**
260
+ * Animated status indicator with morphing SVG and cycling text — the
261
+ * assistant's working state.
262
+ *
263
+ * A glyph that morphs circle to infinity and back sits next to a shimmering
264
+ * label that cycles Thinking, Moonwalking, Planning, Refining, each word
265
+ * swapped on a spring. The row reserves the width of the longest word, so
266
+ * nothing around it shifts while the words change. One static "Thinking…" is
267
+ * announced to screen readers instead of a re-announcement every four
268
+ * seconds, and reduced motion drops both the morph and the cycling for a
269
+ * still glyph and label.
270
+ *
271
+ * `variant="goo"` swaps the glyph for three dots that melt into one blob and
272
+ * split again through the goo filter (see Morph), beside a plain label;
273
+ * reduced motion holds them split.
274
+ *
275
+ * @example {@include ./examples.mdx}
276
+ */
277
+ declare const ThinkingIndicator: ForwardRefExoticComponent_tcubfn2<ThinkingIndicatorProps & RefAttributes_miuf562<HTMLDivElement>>;
278
+ import { ForwardRefExoticComponent, HTMLAttributes as HTMLAttributes3, ReactNode as ReactNode2, RefAttributes } from "react";
279
+ type AccordionGroupSingleProps = {
280
+ /** Whether one or multiple items can be expanded. Defaults to `"single"`. */
281
+ type?: "single";
282
+ /** Controlled expanded value. */
283
+ value?: string;
284
+ /** Initially expanded item value — uncontrolled. */
285
+ defaultValue?: string;
286
+ /** Callback when expanded state changes. */
287
+ onValueChange?: (value: string) => void;
288
+ /** Allow collapsing all items when type is single. Defaults to `true`. */
289
+ collapsible?: boolean;
290
+ };
291
+ type AccordionGroupMultipleProps = {
292
+ /** Whether one or multiple items can be expanded. */
293
+ type: "multiple";
294
+ /** Controlled expanded values. */
295
+ value?: string[];
296
+ /** Initially expanded item values — uncontrolled. */
297
+ defaultValue?: string[];
298
+ /** Callback when expanded state changes. */
299
+ onValueChange?: (value: string[]) => void;
300
+ };
301
+ type AccordionGroupProps = HTMLAttributes3<HTMLDivElement> & {
302
+ children: ReactNode2;
303
+ /** Pins the group's rows to one step of the size ladder (default 36px,
304
+ * compact 28px — see /docs/sizes). Omitted, they follow the surrounding
305
+ * SizeProvider. */
306
+ size?: SizeVariant;
307
+ /** What an open item tints. "item" paints the row and its panel as one
308
+ * block, and holds while it stays open. "trigger" scopes the fill to the
309
+ * row and shows it on hover only, leaving the panel on the page's own
310
+ * surface — the way a sidebar row highlights without colouring its
311
+ * sub-tree. @default "item" */
312
+ highlight?: "trigger" | "item";
313
+ } & (AccordionGroupSingleProps | AccordionGroupMultipleProps);
314
+ declare const AccordionGroup: ForwardRefExoticComponent<AccordionGroupProps & RefAttributes<HTMLDivElement>>;
315
+ interface AccordionProps extends HTMLAttributes3<HTMLDivElement> {
316
+ /** The accordion's items (`Accordion.Item`). */
317
+ children: ReactNode2;
318
+ /** Whether one or multiple items can be expanded. Defaults to `"single"`. */
319
+ type?: "single" | "multiple";
320
+ /** Allow collapsing all items when type is single. Defaults to `true` (Base UI's single mode is always collapsible). */
321
+ collapsible?: boolean;
322
+ /** Initially expanded item value(s) — uncontrolled. A string for `type="single"`, an array for `type="multiple"`. */
323
+ defaultValue?: string | string[];
324
+ /** Controlled expanded value(s). Pair with `onValueChange`. */
325
+ value?: string | string[];
326
+ /** Callback when expanded state changes. Receives a string in single mode, an array in multiple mode. */
327
+ onValueChange?: ((value: string) => void) | ((value: string[]) => void);
328
+ /** What an open item tints: `item` holds a block across the row and its panel, `trigger` scopes it to the row and shows it on hover. Same prop on `Accordion.Group` and on a standalone `Accordion.Item`. Defaults to `"item"`. */
329
+ highlight?: "trigger" | "item";
330
+ /** Pins the accordion's rows to one step of the size ladder (default 36px, compact 28px). Omitted, they follow the surrounding SizeProvider. */
331
+ size?: SizeVariant;
332
+ }
333
+ type AccordionComponent = ForwardRefExoticComponent<AccordionProps & RefAttributes<HTMLDivElement>> & {
334
+ Group: typeof AccordionGroup;
335
+ Item: typeof AccordionItem;
336
+ Trigger: typeof AccordionTrigger;
337
+ Content: typeof AccordionContent;
338
+ };
339
+ /**
340
+ * Collapsible sections with animated expand/collapse and fluid hover in
341
+ * grouped mode.
342
+ *
343
+ * Accordion is the standalone form: every row carries its own hover fill.
344
+ * Accordion.Group takes the same props and adds one magnetic highlight that
345
+ * glides between rows, so give each item inside it an `index`. Built on Base
346
+ * UI Accordion (WAI-ARIA wiring, keyboard navigation, focus management).
347
+ * Uncontrolled through `defaultValue`, controlled through `value` +
348
+ * `onValueChange`.
349
+ *
350
+ * The panel grows out of its row (see Morph): a shape drips from where the
351
+ * row was pressed (its middle, from the keyboard), widens into the whole
352
+ * item, and the content is revealed by a clip from the same shape. Under the
353
+ * default `highlight="item"` that shape is the open tint, melted into the
354
+ * row through a liquid goo neck; closing folds it back into the row. The
355
+ * rows below ride the shape's bottom edge, so nothing jumps.
356
+ *
357
+ * Statics: Accordion.Group (the grouped root: type, collapsible,
358
+ * defaultValue, value, onValueChange, highlight, size), Accordion.Item (value,
359
+ * index, disabled), Accordion.Trigger (the row that toggles its item) and
360
+ * Accordion.Content (the collapsible panel: `effect` — `'goo'` or a plain
361
+ * `'morph'` — and the spring `tier`, `'slow'` or `'moderate'`).
362
+ *
363
+ * @example {@include ./examples.mdx}
364
+ */
365
+ declare const Accordion: AccordionComponent;
366
+ interface AccordionItemProps extends HTMLAttributes3<HTMLDivElement> {
367
+ /** Unique identifier for this item. */
368
+ value: string;
369
+ /** Position index for fluid hover. Required inside `Accordion.Group`, omit for standalone. */
370
+ index?: number;
371
+ /** Whether this item is disabled. Defaults to `false`. */
372
+ disabled?: boolean;
373
+ /** Standalone equivalent of the group's prop: what an open item tints. Ignored inside a group, which decides for all its rows. Defaults to the standalone root's `highlight`, else `"item"`. */
374
+ highlight?: "trigger" | "item";
375
+ /** The item's `Accordion.Trigger` and `Accordion.Content`. */
376
+ children: ReactNode2;
377
+ }
378
+ declare const AccordionItem: ForwardRefExoticComponent<AccordionItemProps & RefAttributes<HTMLDivElement>>;
379
+ interface AccordionTriggerProps extends HTMLAttributes3<HTMLButtonElement> {
380
+ /** Trigger label content. */
381
+ children: ReactNode2;
382
+ }
383
+ declare const AccordionTrigger: ForwardRefExoticComponent<AccordionTriggerProps & RefAttributes<HTMLButtonElement>>;
384
+ interface AccordionContentProps extends HTMLAttributes3<HTMLDivElement> {
385
+ /** Collapsible content. */
386
+ children: ReactNode2;
387
+ /** How the panel grows out of its row (see Morph): `goo` melts the open tint out of the row through a liquid neck, `morph` grows it without one. Defaults to `'goo'`. */
388
+ effect?: "goo" | "morph";
389
+ /** Spring tier the panel opens on; it closes on the tier's faster exit tween. Defaults to `'slow'`. */
390
+ tier?: "moderate" | "slow";
391
+ }
392
+ declare const AccordionContent: ForwardRefExoticComponent<AccordionContentProps & RefAttributes<HTMLDivElement>>;
393
+ import { VariantProps } from "class-variance-authority";
394
+ import { HTMLAttributes as HTMLAttributes4 } from "react";
395
+ import { ClassProp as ClassProp_wz9o0r } from "class-variance-authority/types";
396
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn3 } from "react";
397
+ import { RefAttributes as RefAttributes_miuf563 } from "react";
39
398
  declare const badgeColors: {
40
399
  readonly gray: "var(--badge-gray)";
41
400
  readonly red: "var(--badge-red)";
@@ -65,7 +424,7 @@ type BadgeSizeCanonical = "default" | "compact";
65
424
  * aliases, kept so existing call sites keep compiling. Aliases resolve onto
66
425
  * the canonical ladder (sm → compact; md/lg → default). */
67
426
  type BadgeSize = BadgeSizeCanonical | "sm" | "md" | "lg";
68
- interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color">, Omit<VariantProps<typeof badgeVariants>, "size"> {
427
+ interface BadgeProps extends Omit<HTMLAttributes4<HTMLSpanElement>, "color">, Omit<VariantProps<typeof badgeVariants>, "size"> {
69
428
  /** Visual style. Solid uses a tinted background; dot shows a colored indicator. Defaults to `"solid"`. */
70
429
  variant?: "solid" | "dot";
71
430
  /** Step on the size ladder (see Sizes). Legacy sm/md/lg values resolve as aliases (sm → compact; md/lg → default). Defaults to the surrounding SizeProvider, else `"default"`. */
@@ -88,11 +447,11 @@ interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color">, Omi
88
447
  *
89
448
  * @example {@include ./examples.mdx}
90
449
  */
91
- declare const Badge: ForwardRefExoticComponent_tcubfn<BadgeProps & RefAttributes_miuf56<HTMLSpanElement>>;
450
+ declare const Badge: ForwardRefExoticComponent_tcubfn3<BadgeProps & RefAttributes_miuf563<HTMLSpanElement>>;
92
451
  import { VariantProps as VariantProps2 } from "class-variance-authority";
93
- import { ButtonHTMLAttributes, ReactNode as ReactNode2 } from "react";
94
- import { ComponentType, ReactNode } from "react";
95
- import { JSX as JSX_1kxb2 } from "react";
452
+ import { ButtonHTMLAttributes, ReactNode as ReactNode4 } from "react";
453
+ import { ComponentType, ReactNode as ReactNode3 } from "react";
454
+ import { JSX as JSX_1kxb3 } from "react";
96
455
  interface IconComponentProps {
97
456
  size?: number | string;
98
457
  strokeWidth?: number | string;
@@ -100,18 +459,18 @@ interface IconComponentProps {
100
459
  }
101
460
  type IconComponent = ComponentType<IconComponentProps>;
102
461
  type IconName = "chevron-right" | "chevron-down" | "x" | "copy" | "menu" | "dot" | "monitor" | "sun" | "moon" | "rectangle-horizontal" | "circle" | "square-library" | "clock" | "star" | "settings" | "plus" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-down" | "search" | "loader" | "users" | "lock" | "mail" | "bell" | "shield" | "palette" | "lightbulb" | "rocket" | "heart" | "paintbrush" | "brain" | "globe" | "user" | "image" | "link" | "check" | "rotate-ccw" | "play" | "pause" | "pipette" | "home" | "message-circle" | "inbox" | "pencil" | "scaling" | "skip-forward" | "corner-down-right" | "corner-down-left" | "panel-left" | "panel-left-dashed" | "panel-right" | "panel-right-dashed" | "chevrons-up-down" | "more-horizontal" | "more-vertical" | "calendar" | "folder" | "sliders-horizontal";
103
- type Element_12xgc2 = JSX_1kxb2["Element"];
462
+ type Element_12xgc3 = JSX_1kxb3["Element"];
104
463
  /**
105
464
  * Swap some or all icons for components from another library.
106
465
  * Names left out of `icons` keep their default (Lucide) component.
107
466
  */
108
467
  declare function IconProvider({ children, icons }: {
109
- children: ReactNode;
468
+ children: ReactNode3;
110
469
  icons?: Partial<Record<IconName, IconComponent>>;
111
- }): Element_12xgc2;
470
+ }): Element_12xgc3;
112
471
  import { ClassProp as ClassProp_wz9o0r2 } from "class-variance-authority/types";
113
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn2 } from "react";
114
- import { RefAttributes as RefAttributes_miuf562 } from "react";
472
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn4 } from "react";
473
+ import { RefAttributes as RefAttributes_miuf564 } from "react";
115
474
  declare const buttonVariants: (props?: ({
116
475
  variant?: "primary" | "secondary" | "tertiary" | "ghost" | null | undefined;
117
476
  size?: "default" | "compact" | "icon" | "icon-compact" | null | undefined;
@@ -141,7 +500,7 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, Omit<Vari
141
500
  /** Disables the button. Defaults to `false`. */
142
501
  disabled?: boolean;
143
502
  /** The label. With `size="icon"` / `"icon-compact"`, the icon itself (give the button an `aria-label`). */
144
- children?: ReactNode2;
503
+ children?: ReactNode4;
145
504
  }
146
505
  /**
147
506
  * Versatile button with variants, sizes, loading state, and icon support.
@@ -157,103 +516,12 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, Omit<Vari
157
516
  *
158
517
  * @example {@include ./examples.mdx}
159
518
  */
160
- declare const Button2: ForwardRefExoticComponent_tcubfn2<ButtonProps & RefAttributes_miuf562<HTMLButtonElement>>;
161
- import { ForwardRefExoticComponent, HTMLAttributes as HTMLAttributes2, ReactNode as ReactNode3, RefAttributes } from "react";
162
- type SizeVariant = "default" | "compact";
163
- interface SizeClasses {
164
- /** The variant these classes belong to — handy for conditionals. */
165
- variant: SizeVariant;
166
- /** Bounded control height — buttons, inputs, select triggers, subtle tabs —
167
- * AND list/menu rows (select options, dropdown, checkbox and radio rows).
168
- * One token by design: a popup row lines up with the trigger that opened
169
- * it because they share this height. */
170
- control: string;
171
- /** `control` as a number, for consumers that need raw pixels. */
172
- controlHeight: number;
173
- /** Tab trigger height inside a padded segmented list. Sized so
174
- * `segmentPad` + `segmentItem` adds back up to the control height —
175
- * the segmented control's outer box stays on the same ladder. */
176
- segmentItem: string;
177
- /** Padding of the segmented list around its tabs. */
178
- segmentPad: string;
179
- /** Body text inside controls. */
180
- text: string;
181
- /** Horizontal padding of bounded controls (select trigger, inputs). */
182
- px: string;
183
- /** Horizontal padding of list/menu rows, which sit inside a padded popup
184
- * or group and need less inset than a bounded control. */
185
- itemPx: string;
186
- /** Gap between an icon / control glyph and its label, and between
187
- * neighbouring controls in a row (toolbars, filter bars, button
188
- * clusters). Density is spacing as much as control height, so the
189
- * compact step halves it. */
190
- gap: string;
191
- /** Glyph size in px: leading/trailing icons inside controls, and the
192
- * checkbox square / radio circle. */
193
- icon: number;
194
- }
195
- declare const sizeMap: Record<SizeVariant, SizeClasses>;
196
- /** One role of the type scale: px per ladder step. */
197
- interface TypeScaleStep {
198
- default: number;
199
- compact: number;
200
- }
201
- /**
202
- * Role-based type scale, per ladder step (px values).
203
- *
204
- * The default column is the system as shipped; the compact column steps each
205
- * role down one notch so dense regions read as a smaller sibling of the same
206
- * hierarchy, not a squeezed copy. `body`, `caption`, and `subtitle` are what
207
- * the sized components already render through `SizeClasses.text` and their
208
- * compact conditionals; `display` and `title` are the page-level roles
209
- * for consumers composing their own screens.
210
- */
211
- declare const typeScale: {
212
- /** Page titles. */
213
- readonly display: {
214
- readonly default: 28;
215
- readonly compact: 24;
216
- };
217
- /** Section headings, dialog titles. */
218
- readonly title: {
219
- readonly default: 16;
220
- readonly compact: 15;
221
- };
222
- /** Card titles, chat bubbles, emphasized rows. */
223
- readonly subtitle: {
224
- readonly default: 14;
225
- readonly compact: 13;
226
- };
227
- /** Control labels and body copy — `SizeClasses.text`. */
228
- readonly body: {
229
- readonly default: 13;
230
- readonly compact: 12;
231
- };
232
- /** Secondary text: descriptions, meta rows, errors, eyebrows and group
233
- * labels (the former overline role — an uppercase or muted caption). */
234
- readonly caption: {
235
- readonly default: 12;
236
- readonly compact: 11;
237
- };
238
- };
239
- type TypeScaleRole = keyof typeof typeScale;
240
- /** The type scale resolved for the active ladder step (px per role):
241
- * explicit override > surrounding SizeProvider > "default". */
242
- declare function useTypeScale(override?: SizeVariant | null): Record<TypeScaleRole, number>;
243
- interface SizeContextValue {
244
- size: SizeVariant;
245
- setSize: (size: SizeVariant) => void;
246
- classes: SizeClasses;
247
- }
248
- /** Resolve the active size variant: explicit prop > provider > "default". */
249
- declare function useSizeVariant(override?: SizeVariant | null): SizeVariant;
250
- /** Resolve size classes: explicit prop > provider > "default". */
251
- declare function useSize(override?: SizeVariant | null): SizeClasses;
252
- declare function useSizeContext(): SizeContextValue;
253
- import { JSX as JSX_1kxb3 } from "react";
519
+ declare const Button2: ForwardRefExoticComponent_tcubfn4<ButtonProps & RefAttributes_miuf564<HTMLButtonElement>>;
520
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent2, HTMLAttributes as HTMLAttributes5, ReactNode as ReactNode5, RefAttributes as RefAttributes2 } from "react";
521
+ import { JSX as JSX_1kxb4 } from "react";
254
522
  type CardOrientation = "card" | "inline";
255
523
  type CardBorder = "none" | "outlined";
256
- interface CardGroupProps extends Omit<HTMLAttributes2<HTMLDivElement>, "onDrag"> {
524
+ interface CardGroupProps extends Omit<HTMLAttributes5<HTMLDivElement>, "onDrag"> {
257
525
  /** How each card lays its own content out.
258
526
  * "card" — stacked vertically (media/header on top). "inline" — a
259
527
  * horizontal row (leading media, trailing footer), like a Table row.
@@ -272,10 +540,10 @@ interface CardGroupProps extends Omit<HTMLAttributes2<HTMLDivElement>, "onDrag">
272
540
  /** Enable the magnetic fluid-hover highlight. @default true */
273
541
  fluidHover?: boolean;
274
542
  }
275
- declare const CardGroup: ForwardRefExoticComponent<CardGroupProps & RefAttributes<HTMLDivElement>>;
276
- interface CardProps extends Omit<HTMLAttributes2<HTMLDivElement>, "onClick"> {
543
+ declare const CardGroup: ForwardRefExoticComponent2<CardGroupProps & RefAttributes2<HTMLDivElement>>;
544
+ interface CardProps extends Omit<HTMLAttributes5<HTMLDivElement>, "onClick"> {
277
545
  /** Compositional parts: Card.Image, Card.Media, Card.Header, Card.Content, Card.Footer. */
278
- children?: ReactNode3;
546
+ children?: ReactNode5;
279
547
  /** Makes the whole card a clickable target (stretched button); fluid hover previews it. */
280
548
  onClick?: () => void;
281
549
  /** Makes the whole card a link (stretched anchor). */
@@ -299,7 +567,7 @@ interface CardProps extends Omit<HTMLAttributes2<HTMLDivElement>, "onClick"> {
299
567
  /** Injected by Card.Group — do not set by hand. */
300
568
  index?: number;
301
569
  }
302
- type CardComponent = ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDivElement>> & {
570
+ type CardComponent = ForwardRefExoticComponent2<CardProps & RefAttributes2<HTMLDivElement>> & {
303
571
  Group: typeof CardGroup;
304
572
  Header: typeof CardHeader;
305
573
  Title: typeof CardTitle;
@@ -339,12 +607,12 @@ type CardComponent = ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDiv
339
607
  * @example {@include ./examples.mdx}
340
608
  */
341
609
  declare const Card: CardComponent;
342
- declare const CardHeader: ForwardRefExoticComponent<HTMLAttributes2<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
343
- declare const CardTitle: ForwardRefExoticComponent<HTMLAttributes2<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
344
- declare const CardDescription: ForwardRefExoticComponent<HTMLAttributes2<HTMLParagraphElement> & RefAttributes<HTMLParagraphElement>>;
345
- declare const CardAction: ForwardRefExoticComponent<HTMLAttributes2<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
346
- declare const CardContent: ForwardRefExoticComponent<HTMLAttributes2<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
347
- declare const CardFooter: ForwardRefExoticComponent<HTMLAttributes2<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
610
+ declare const CardHeader: ForwardRefExoticComponent2<HTMLAttributes5<HTMLDivElement> & RefAttributes2<HTMLDivElement>>;
611
+ declare const CardTitle: ForwardRefExoticComponent2<HTMLAttributes5<HTMLSpanElement> & RefAttributes2<HTMLSpanElement>>;
612
+ declare const CardDescription: ForwardRefExoticComponent2<HTMLAttributes5<HTMLParagraphElement> & RefAttributes2<HTMLParagraphElement>>;
613
+ declare const CardAction: ForwardRefExoticComponent2<HTMLAttributes5<HTMLDivElement> & RefAttributes2<HTMLDivElement>>;
614
+ declare const CardContent: ForwardRefExoticComponent2<HTMLAttributes5<HTMLDivElement> & RefAttributes2<HTMLDivElement>>;
615
+ declare const CardFooter: ForwardRefExoticComponent2<HTMLAttributes5<HTMLDivElement> & RefAttributes2<HTMLDivElement>>;
348
616
  type CardLogo = string | [string, string];
349
617
  interface CardMediaProps {
350
618
  logo?: CardLogo;
@@ -353,24 +621,24 @@ interface CardMediaProps {
353
621
  size?: number;
354
622
  className?: string;
355
623
  }
356
- type Element_12xgc3 = JSX_1kxb3["Element"];
357
- declare function CardMedia({ logo, logoAlt, icon: Icon, size, className }: CardMediaProps): Element_12xgc3 | null;
624
+ type Element_12xgc4 = JSX_1kxb4["Element"];
625
+ declare function CardMedia({ logo, logoAlt, icon: Icon, size, className }: CardMediaProps): Element_12xgc4 | null;
358
626
  interface CardImageProps {
359
627
  src: string;
360
628
  alt?: string;
361
629
  className?: string;
362
630
  }
363
- declare function CardImage({ src, alt, className }: CardImageProps): Element_12xgc3;
364
- declare const CardEyebrow: ForwardRefExoticComponent<HTMLAttributes2<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
631
+ declare function CardImage({ src, alt, className }: CardImageProps): Element_12xgc4;
632
+ declare const CardEyebrow: ForwardRefExoticComponent2<HTMLAttributes5<HTMLSpanElement> & RefAttributes2<HTMLSpanElement>>;
365
633
  interface CardFeatureProps {
366
634
  icon?: IconComponent;
367
635
  title: string;
368
636
  description?: string;
369
637
  }
370
- declare function CardFeature({ icon: Icon, title, description }: CardFeatureProps): Element_12xgc3;
638
+ declare function CardFeature({ icon: Icon, title, description }: CardFeatureProps): Element_12xgc4;
371
639
  type CardButtonVariant = "primary" | "secondary" | "ghost" | "link";
372
640
  interface CardButtonProps {
373
- children: React.ReactNode3;
641
+ children: React.ReactNode5;
374
642
  onClick?: () => void;
375
643
  href?: string;
376
644
  variant?: CardButtonVariant;
@@ -380,11 +648,53 @@ interface CardButtonProps {
380
648
  external?: boolean;
381
649
  disabled?: boolean;
382
650
  }
383
- declare function CardButton({ children, onClick, href, variant, icon: Icon, iconPosition, external, disabled }: CardButtonProps): Element_12xgc3;
384
- import { ForwardRefExoticComponent as ForwardRefExoticComponent2, HTMLAttributes as HTMLAttributes3, ReactNode as ReactNode4, RefAttributes as RefAttributes2 } from "react";
385
- interface CheckboxGroupProps extends HTMLAttributes3<HTMLDivElement> {
386
- /** CheckboxGroup.Item children. */
387
- children: ReactNode4;
651
+ declare function CardButton({ children, onClick, href, variant, icon: Icon, iconPosition, external, disabled }: CardButtonProps): Element_12xgc4;
652
+ import { HTMLAttributes as HTMLAttributes6 } from "react";
653
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn5 } from "react";
654
+ import { RefAttributes as RefAttributes_miuf565 } from "react";
655
+ type CopyVariant = "icon" | "button";
656
+ type CopyAlign = "right" | "left";
657
+ interface CopyProps extends Omit<HTMLAttributes6<HTMLDivElement>, "children"> {
658
+ /** The text value to display and copy to clipboard. */
659
+ value: string;
660
+ /** Optional label displayed above the input. */
661
+ label?: string;
662
+ /** Callback fired after the value is successfully copied. */
663
+ onCopy?: () => void;
664
+ /** Disables the input and copy button. Defaults to `false`. */
665
+ disabled?: boolean;
666
+ /** Icon-only with tooltip, or button with visible label. Defaults to `"icon"`. */
667
+ variant?: CopyVariant;
668
+ /** Position of the copy action relative to the value. Defaults to `"right"`. */
669
+ align?: CopyAlign;
670
+ /** Pins the field to one step of the size ladder (default 36px, compact 28px — see Sizes). Omitted, it follows the surrounding SizeProvider. */
671
+ size?: SizeVariant;
672
+ /** Extra classes for the wrapper around the label and the field. */
673
+ className?: string;
674
+ }
675
+ /**
676
+ * Read-only input with a copy-to-clipboard button and animated check
677
+ * feedback.
678
+ *
679
+ * The whole row is the button: click anywhere on it and the value goes to
680
+ * the clipboard, the copy glyph's two sheets melt into a tinted disc (the
681
+ * goo of Morph) behind a check that draws itself, and the tooltip flips to
682
+ * "Copied" for 2 seconds; then the disc splits back into the glyph. The value is monospaced and
683
+ * highlights on hover so it reads as one selectable token rather than a
684
+ * text field, and the async Clipboard API falls back to an off-screen
685
+ * textarea + `execCommand` where it is unavailable (insecure context,
686
+ * permissions policy) — a failure animates a ✕ and says so. `variant`
687
+ * switches between the icon-only affordance (with a tooltip) and a labelled
688
+ * Copy button, `align` moves that action to the leading edge, and the field
689
+ * follows the surrounding SizeProvider unless `size` pins it.
690
+ *
691
+ * @example {@include ./examples.mdx}
692
+ */
693
+ declare const Copy: ForwardRefExoticComponent_tcubfn5<CopyProps & RefAttributes_miuf565<HTMLDivElement>>;
694
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent3, HTMLAttributes as HTMLAttributes7, ReactNode as ReactNode6, RefAttributes as RefAttributes3 } from "react";
695
+ interface CheckboxGroupProps extends HTMLAttributes7<HTMLDivElement> {
696
+ /** `Checkbox` rows. */
697
+ children: ReactNode6;
388
698
  /** Set of checked item indices; drives the merged background across contiguous picks. Controlled — pair it with `onCheckedIndicesChange` (or per-item `onToggle`). */
389
699
  checkedIndices?: Set<number>;
390
700
  /** Checked indices on first render when uncontrolled (a Set or an array). Defaults to none. */
@@ -394,49 +704,61 @@ interface CheckboxGroupProps extends HTMLAttributes3<HTMLDivElement> {
394
704
  /** Pins the group's rows to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
395
705
  size?: SizeVariant;
396
706
  }
397
- type CheckboxGroupComponent = ForwardRefExoticComponent2<CheckboxGroupProps & RefAttributes2<HTMLDivElement>> & {
398
- Item: typeof CheckboxItem;
707
+ declare const CheckboxGroup: ForwardRefExoticComponent3<CheckboxGroupProps & RefAttributes3<HTMLDivElement>>;
708
+ interface CheckboxProps extends HTMLAttributes7<HTMLDivElement> {
709
+ /** Text label for the checkbox. */
710
+ label: string;
711
+ /** Whether the checkbox is checked (controlled). Defaults to the group's checked set inside a `Checkbox.Group`, else its own state. */
712
+ checked?: boolean;
713
+ /** Whether a standalone checkbox starts checked (uncontrolled). Defaults to `false`. */
714
+ defaultChecked?: boolean;
715
+ /** Called with the new state whenever the checkbox is toggled, in a group or not. */
716
+ onCheckedChange?: (checked: boolean) => void;
717
+ /** Called when the checkbox is toggled (a group's `onCheckedIndicesChange` fires too). */
718
+ onToggle?: () => void;
719
+ /** Position within a `Checkbox.Group`: the row's key in `checkedIndices`. Defaults to its order among the group's rows. */
720
+ index?: number;
721
+ /** Pins the checkbox to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider (a group's `size`). */
722
+ size?: SizeVariant;
723
+ }
724
+ type CheckboxComponent = ForwardRefExoticComponent3<CheckboxProps & RefAttributes3<HTMLDivElement>> & {
725
+ Group: typeof CheckboxGroup;
399
726
  };
400
727
  /**
401
- * Checkbox group with merged backgrounds for contiguous selections.
402
- *
403
- * Each row is a `CheckboxGroup.Item` with a stable `index`. Contiguous checked
404
- * rows share one background: a checked row's background grows out of its
405
- * center and melts into its neighbours, an unchecked one pinches off and
406
- * shrinks away (the liquid indicators in Morph). A fluid hover highlight melts
407
- * from row to row, and Arrow Up/Down,
408
- * Home and End move focus while Space or Enter toggles. The checked label
409
- * animates to semibold without shifting its width. The group is uncontrolled
410
- * with `defaultCheckedIndices`, or controlled with `checkedIndices` plus
411
- * `onCheckedIndicesChange` — FF's per-item `checked` / `onToggle` still work
412
- * and override the group state for their row.
728
+ * Checkbox with a self-drawing check, alone or in a group with merged
729
+ * backgrounds for contiguous picks.
730
+ *
731
+ * The whole row is the hit target; Space or Enter toggles it, the check mark
732
+ * draws itself in, and the checked label animates to semibold without
733
+ * shifting its width. A standalone checkbox keeps its own state from
734
+ * `defaultChecked`, or is controlled with `checked`; `onCheckedChange`
735
+ * reports every toggle.
736
+ *
737
+ * In a `Checkbox.Group`, contiguous checked rows share one background: a
738
+ * checked row's background grows out of its center and melts into its
739
+ * neighbours, an unchecked one pinches off and shrinks away (the liquid
740
+ * indicators in Morph). A fluid hover highlight melts from row to row, and
741
+ * Arrow Up/Down, Home and End move focus. The group numbers its rows in
742
+ * order, so they need no `index`; pass one to key a row explicitly.
413
743
  *
414
744
  * Statics:
415
- * - `CheckboxGroup.Item` — one checkbox row: `label`, `index`, and optional
416
- * `checked` / `onToggle`.
745
+ * - `Checkbox.Group` — the list: uncontrolled with `defaultCheckedIndices`
746
+ * (a Set or an array of row indices), or controlled with `checkedIndices`
747
+ * plus `onCheckedIndicesChange`; `size` pins every row to one step of the
748
+ * size ladder. A row's own `checked` / `onToggle` still override the group
749
+ * for that row.
417
750
  *
418
751
  * @example {@include ./examples.mdx}
419
752
  */
420
- declare const CheckboxGroup: CheckboxGroupComponent;
421
- interface CheckboxItemProps extends HTMLAttributes3<HTMLDivElement> {
422
- /** Text label for the checkbox. */
423
- label: string;
424
- /** Position index within the group. */
425
- index: number;
426
- /** Whether this item is checked. Defaults to the group's checked set. */
427
- checked?: boolean;
428
- /** Called when this item is toggled (the group's `onCheckedIndicesChange` fires too). */
429
- onToggle?: () => void;
430
- }
431
- declare const CheckboxItem: ForwardRefExoticComponent2<CheckboxItemProps & RefAttributes2<HTMLDivElement>>;
432
- import { CSSProperties, ForwardRefExoticComponent as ForwardRefExoticComponent3, HTMLAttributes as HTMLAttributes4, ReactNode as ReactNode5, RefAttributes as RefAttributes3, RefObject as RefObject2 } from "react";
433
- import { JSX as JSX_1kxb4 } from "react";
753
+ declare const Checkbox: CheckboxComponent;
754
+ import { CSSProperties, ForwardRefExoticComponent as ForwardRefExoticComponent4, HTMLAttributes as HTMLAttributes8, ReactNode as ReactNode7, RefAttributes as RefAttributes4, RefObject as RefObject2 } from "react";
755
+ import { JSX as JSX_1kxb5 } from "react";
434
756
  type ColorFormat = "hex" | "rgb" | "hsl" | "oklch";
435
- type Element_12xgc4 = JSX_1kxb4["Element"];
757
+ type Element_12xgc5 = JSX_1kxb5["Element"];
436
758
  declare function ColorPickerPortalContainer({ value, children }: {
437
759
  value: HTMLElement | null;
438
- children: ReactNode5;
439
- }): Element_12xgc4;
760
+ children: ReactNode7;
761
+ }): Element_12xgc5;
440
762
  interface ParsedColor {
441
763
  h: number;
442
764
  s: number;
@@ -450,7 +772,7 @@ interface ParsedColor {
450
772
  hsl: string;
451
773
  oklch: string;
452
774
  }
453
- interface ColorPickerProps extends Omit<HTMLAttributes4<HTMLDivElement>, "onChange" | "defaultValue"> {
775
+ interface ColorPickerProps extends Omit<HTMLAttributes8<HTMLDivElement>, "onChange" | "defaultValue"> {
454
776
  /** Controlled color value, in any of the supported formats. Omit it to let the picker keep its own state, seeded from `defaultValue`. */
455
777
  value?: string;
456
778
  /** Initial color when uncontrolled — any CSS color string, named colors included. Defaults to `"#6B97FF"`. */
@@ -505,7 +827,7 @@ interface ColorPickerPopoverProps extends ColorPickerProps {
505
827
  /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'slow'`. */
506
828
  tier?: "moderate" | "slow";
507
829
  }
508
- interface ColorSwatchProps extends Omit<HTMLAttributes4<HTMLButtonElement>, "color"> {
830
+ interface ColorSwatchProps extends Omit<HTMLAttributes8<HTMLButtonElement>, "color"> {
509
831
  /** The swatch color — any CSS color string. */
510
832
  color: string;
511
833
  /** Edge length in pixels. Defaults to `28`. */
@@ -526,9 +848,9 @@ interface ColorTileProps {
526
848
  className?: string;
527
849
  style?: CSSProperties;
528
850
  }
529
- declare function ColorTile({ color, size, className, style }: ColorTileProps): Element_12xgc4;
530
- declare const ColorSwatch: ForwardRefExoticComponent3<ColorSwatchProps & RefAttributes3<HTMLButtonElement>>;
531
- type ColorPickerComponent = ForwardRefExoticComponent3<ColorPickerProps & RefAttributes3<HTMLDivElement>> & {
851
+ declare function ColorTile({ color, size, className, style }: ColorTileProps): Element_12xgc5;
852
+ declare const ColorSwatch: ForwardRefExoticComponent4<ColorSwatchProps & RefAttributes4<HTMLButtonElement>>;
853
+ type ColorPickerComponent = ForwardRefExoticComponent4<ColorPickerProps & RefAttributes4<HTMLDivElement>> & {
532
854
  /** `ColorPickerPopover` — the same panel behind a trigger button. */
533
855
  Popover: typeof ColorPickerPopover;
534
856
  };
@@ -563,9 +885,9 @@ type ColorPickerComponent = ForwardRefExoticComponent3<ColorPickerProps & RefAtt
563
885
  * @example {@include ./examples.mdx}
564
886
  */
565
887
  declare const ColorPicker: ColorPickerComponent;
566
- declare const ColorPickerPopover: ForwardRefExoticComponent3<ColorPickerPopoverProps & RefAttributes3<HTMLDivElement>>;
888
+ declare const ColorPickerPopover: ForwardRefExoticComponent4<ColorPickerPopoverProps & RefAttributes4<HTMLDivElement>>;
567
889
  import { VariantProps as VariantProps3 } from "class-variance-authority";
568
- import { HTMLAttributes as HTMLAttributes5, InputHTMLAttributes as InputHTMLAttributes2, ReactNode as ReactNode6, RefObject as RefObject3 } from "react";
890
+ import { HTMLAttributes as HTMLAttributes9, InputHTMLAttributes as InputHTMLAttributes2, ReactNode as ReactNode8, RefObject as RefObject3 } from "react";
569
891
  import { ClassProp as ClassProp_wz9o0r3 } from "class-variance-authority/types";
570
892
  /**
571
893
  * The ringed box of a text field. It steps from rest to a muted fill when lit
@@ -578,9 +900,9 @@ import { ClassProp as ClassProp_wz9o0r3 } from "class-variance-authority/types";
578
900
  declare const fieldVariants: (props?: ({
579
901
  variant?: "borderless" | "bordered" | null | undefined;
580
902
  } & ClassProp_wz9o0r3) | undefined) => string;
581
- import { JSX as JSX_1kxb5 } from "react";
582
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn3 } from "react";
583
- import { RefAttributes as RefAttributes_miuf563 } from "react";
903
+ import { JSX as JSX_1kxb6 } from "react";
904
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn6 } from "react";
905
+ import { RefAttributes as RefAttributes_miuf566 } from "react";
584
906
  /** An object item: `value` and `label`, plus whatever the rows need. */
585
907
  interface ComboboxItemObject {
586
908
  value: string;
@@ -591,7 +913,7 @@ type ComboboxItemData = string | ComboboxItemObject;
591
913
  type ComboboxValue<Multiple extends boolean> = Multiple extends true ? string[] : string;
592
914
  interface ComboboxProps {
593
915
  /** `Combobox.Input` or `Combobox.Chips`, plus `Combobox.Content`. */
594
- children: ReactNode6;
916
+ children: ReactNode8;
595
917
  /** The options. A string is its own value and label; an object carries `value`, `label`, and whatever your rows need. */
596
918
  items: readonly ComboboxItemData[];
597
919
  /** Any number of picks. Values become `string[]`; use `Combobox.Chips` for the field. Defaults to `false`. */
@@ -607,7 +929,7 @@ interface ComboboxProps {
607
929
  /** Adds a last row that creates the trimmed query whenever no label matches it exactly. Add the item to `items` and return it to select it. */
608
930
  onCreate?: (query: string) => ComboboxItemData | void;
609
931
  /** The create row's label. Defaults to ``(query) => `Create “${query}”` ``. */
610
- createLabel?: (query: string) => ReactNode6;
932
+ createLabel?: (query: string) => ReactNode8;
611
933
  /** Local addition: offer the create row with no callback — the component keeps the items it makes, so nothing outside has to hold the list. Defaults to `false`. */
612
934
  creatable?: boolean;
613
935
  /** Multiple only. Picked items leave the list, so it reads as what is left to add. Deselect from the chips. Defaults to `false`. */
@@ -621,7 +943,7 @@ interface ComboboxProps {
621
943
  /** Pins field and popup to one step of the size ladder (default 36px, compact 28px — see the Sizes primitive). Omitted, both follow the surrounding SizeProvider. */
622
944
  size?: SizeVariant;
623
945
  }
624
- type Element_12xgc5 = JSX_1kxb5["Element"];
946
+ type Element_12xgc6 = JSX_1kxb6["Element"];
625
947
  /**
626
948
  * Type to filter a list. 1 pick, or chips.
627
949
  *
@@ -631,7 +953,7 @@ type Element_12xgc5 = JSX_1kxb5["Element"];
631
953
  * (the input keeps focus while the arrows move a highlight through the rows),
632
954
  * the positioning and the hidden form input stay with Base UI. On top of that
633
955
  * sit the fluid-hover highlight, the merged selection background of
634
- * `CheckboxGroup`, and a list that oozes out of the field and back through the
956
+ * `Checkbox.Group`, and a list that oozes out of the field and back through the
635
957
  * shared morph (see Morph), goo by default. `multiple` turns the picks into a
636
958
  * `string[]` and pairs with `Combobox.Chips`: one chip per pick, Backspace in
637
959
  * an empty field drops the last one. Uncontrolled with `defaultValue`, or
@@ -648,7 +970,7 @@ type Element_12xgc5 = JSX_1kxb5["Element"];
648
970
  *
649
971
  * @example {@include ./examples.mdx}
650
972
  */
651
- declare function Combobox({ children, items, multiple, value, defaultValue, onValueChange, filter, onCreate, createLabel, creatable, hideSelected, disabled, name, required, size }: ComboboxProps): Element_12xgc5;
973
+ declare function Combobox({ children, items, multiple, value, defaultValue, onValueChange, filter, onCreate, createLabel, creatable, hideSelected, disabled, name, required, size }: ComboboxProps): Element_12xgc6;
652
974
  interface ComboboxFieldProps extends Omit<InputHTMLAttributes2<HTMLInputElement>, "size" | "value" | "defaultValue" | "onChange">, VariantProps3<typeof fieldVariants> {
653
975
  /** Framed at rest, or invisible until hovered or focused. Defaults to `"bordered"`. */
654
976
  variant?: "bordered" | "borderless" | null;
@@ -666,14 +988,14 @@ interface ComboboxFieldProps extends Omit<InputHTMLAttributes2<HTMLInputElement>
666
988
  size?: SizeVariant;
667
989
  }
668
990
  type ComboboxInputProps = ComboboxFieldProps;
669
- declare const ComboboxInput: ForwardRefExoticComponent_tcubfn3<ComboboxFieldProps & RefAttributes_miuf563<HTMLInputElement>>;
991
+ declare const ComboboxInput: ForwardRefExoticComponent_tcubfn6<ComboboxFieldProps & RefAttributes_miuf566<HTMLInputElement>>;
670
992
  type ComboboxChipsProps = ComboboxFieldProps;
671
- declare const ComboboxChips: ForwardRefExoticComponent_tcubfn3<ComboboxFieldProps & RefAttributes_miuf563<HTMLInputElement>>;
993
+ declare const ComboboxChips: ForwardRefExoticComponent_tcubfn6<ComboboxFieldProps & RefAttributes_miuf566<HTMLInputElement>>;
672
994
  interface ComboboxContentProps {
673
995
  /** Classes for the popup surface — merged after the radius and max-height. */
674
996
  className?: string;
675
997
  /** `Combobox.Empty` and `Combobox.List`. */
676
- children: ReactNode6;
998
+ children: ReactNode8;
677
999
  /** Side of the field the popup prefers. Defaults to `"bottom"`. */
678
1000
  side?: "top" | "bottom" | "left" | "right";
679
1001
  /** Alignment against the field. Defaults to `"start"`. */
@@ -689,15 +1011,15 @@ interface ComboboxContentProps {
689
1011
  /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
690
1012
  tier?: "moderate" | "slow";
691
1013
  }
692
- declare const ComboboxContent: ForwardRefExoticComponent_tcubfn3<ComboboxContentProps & RefAttributes_miuf563<HTMLDivElement>>;
1014
+ declare const ComboboxContent: ForwardRefExoticComponent_tcubfn6<ComboboxContentProps & RefAttributes_miuf566<HTMLDivElement>>;
693
1015
  interface ComboboxListProps {
694
1016
  /** Classes for the rows' container. */
695
1017
  className?: string;
696
1018
  /** Render one row per matching item: `(item, index) => <Combobox.Item …/>`. Rows get their index from the list. */
697
- children: (item: ComboboxItemData, index: number) => ReactNode6;
1019
+ children: (item: ComboboxItemData, index: number) => ReactNode8;
698
1020
  }
699
- declare const ComboboxList: ForwardRefExoticComponent_tcubfn3<ComboboxListProps & RefAttributes_miuf563<HTMLDivElement>>;
700
- interface ComboboxItemProps extends HTMLAttributes5<HTMLDivElement> {
1021
+ declare const ComboboxList: ForwardRefExoticComponent_tcubfn6<ComboboxListProps & RefAttributes_miuf566<HTMLDivElement>>;
1022
+ interface ComboboxItemProps extends HTMLAttributes9<HTMLDivElement> {
701
1023
  /** Leading icon in the row. */
702
1024
  icon?: IconComponent;
703
1025
  /** The item's value — a string item itself, or an object item's `value`. */
@@ -705,22 +1027,22 @@ interface ComboboxItemProps extends HTMLAttributes5<HTMLDivElement> {
705
1027
  /** Disables the row. Defaults to `false`. */
706
1028
  disabled?: boolean;
707
1029
  /** The row label. */
708
- children?: ReactNode6;
1030
+ children?: ReactNode8;
709
1031
  }
710
- declare const ComboboxItem: ForwardRefExoticComponent_tcubfn3<ComboboxItemProps & RefAttributes_miuf563<HTMLDivElement>>;
711
- interface ComboboxEmptyProps extends HTMLAttributes5<HTMLDivElement> {
1032
+ declare const ComboboxItem: ForwardRefExoticComponent_tcubfn6<ComboboxItemProps & RefAttributes_miuf566<HTMLDivElement>>;
1033
+ interface ComboboxEmptyProps extends HTMLAttributes9<HTMLDivElement> {
712
1034
  /** Shown instead of the children when `hideSelected` has emptied the
713
1035
  * list with nothing typed: every item is a chip already. */
714
- allSelected?: ReactNode6;
1036
+ allSelected?: ReactNode8;
715
1037
  /** Shown when nothing matches the query. */
716
- children?: ReactNode6;
1038
+ children?: ReactNode8;
717
1039
  }
718
- declare const ComboboxEmpty: ForwardRefExoticComponent_tcubfn3<ComboboxEmptyProps & RefAttributes_miuf563<HTMLDivElement>>;
1040
+ declare const ComboboxEmpty: ForwardRefExoticComponent_tcubfn6<ComboboxEmptyProps & RefAttributes_miuf566<HTMLDivElement>>;
719
1041
  import { Locale } from "date-fns";
720
- import { ReactNode as ReactNode7 } from "react";
1042
+ import { ReactNode as ReactNode9 } from "react";
721
1043
  import { DayPickerProps } from "react-day-picker";
722
- import { JSX as JSX_1kxb6 } from "react";
723
- type Element_12xgc6 = JSX_1kxb6["Element"];
1044
+ import { JSX as JSX_1kxb7 } from "react";
1045
+ type Element_12xgc7 = JSX_1kxb7["Element"];
724
1046
  /**
725
1047
  * A calendar that scrolls through the months instead of paging, with month
726
1048
  * and year columns to jump by.
@@ -752,18 +1074,18 @@ declare function Calendar({ locale, size, columnsSide, extraColumns, extraColumn
752
1074
  /** Which side of the days the month and year columns stand on; the month column keeps next to the days. Defaults to `'end'`. */
753
1075
  columnsSide?: "start" | "end";
754
1076
  /** More columns, given the layout's orientation — the date picker's hours and minutes. */
755
- extraColumns?: (orientation: "vertical" | "horizontal") => ReactNode7;
1077
+ extraColumns?: (orientation: "vertical" | "horizontal") => ReactNode9;
756
1078
  /** Which side of the days the extra columns stand on, outside the month and year columns when they share it. Defaults to `'end'`. */
757
1079
  extraColumnsSide?: "start" | "end";
758
1080
  /** Classes for the calendar's box. */
759
1081
  className?: string;
760
- }): Element_12xgc6;
1082
+ }): Element_12xgc7;
761
1083
  type CalendarProps = Parameters<typeof Calendar>[0];
762
1084
  import { Locale as Locale3 } from "date-fns";
763
1085
  import { RefObject as RefObject4 } from "react";
764
1086
  import { Matcher } from "react-day-picker";
765
1087
  type HourCycle = "h11" | "h12" | "h23" | "h24";
766
- import { JSX as JSX_1kxb7 } from "react";
1088
+ import { JSX as JSX_1kxb8 } from "react";
767
1089
  interface DatePickerProps {
768
1090
  /** The picked date (and time, with `withTime`); `null` when empty. */
769
1091
  value?: Date | null;
@@ -816,7 +1138,7 @@ interface DatePickerProps {
816
1138
  /** Classes for the field. */
817
1139
  className?: string;
818
1140
  }
819
- type Element_12xgc7 = JSX_1kxb7["Element"];
1141
+ type Element_12xgc8 = JSX_1kxb8["Element"];
820
1142
  /**
821
1143
  * A date field that opens a scrolling calendar, with an optional time.
822
1144
  *
@@ -838,11 +1160,11 @@ type Element_12xgc7 = JSX_1kxb7["Element"];
838
1160
  *
839
1161
  * @example {@include ./examples.mdx}
840
1162
  */
841
- declare function DatePicker({ value: valueProp, defaultValue, onValueChange, withTime, hourCycle, minuteStep, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, timeColumnsSide, id, from, effect, hideSource, tier, className }: DatePickerProps): Element_12xgc7;
1163
+ declare function DatePicker({ value: valueProp, defaultValue, onValueChange, withTime, hourCycle, minuteStep, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, timeColumnsSide, id, from, effect, hideSource, tier, className }: DatePickerProps): Element_12xgc8;
842
1164
  import { Locale as Locale4 } from "date-fns";
843
1165
  import { RefObject as RefObject5 } from "react";
844
1166
  import { DateRange, Matcher as Matcher2 } from "react-day-picker";
845
- import { JSX as JSX_1kxb8 } from "react";
1167
+ import { JSX as JSX_1kxb9 } from "react";
846
1168
  interface DateRangePickerProps {
847
1169
  /** The picked range, react-day-picker's `{ from, to }`; `null` when empty. */
848
1170
  value?: DateRange | null;
@@ -887,7 +1209,7 @@ interface DateRangePickerProps {
887
1209
  /** Classes for the field. */
888
1210
  className?: string;
889
1211
  }
890
- type Element_12xgc8 = JSX_1kxb8["Element"];
1212
+ type Element_12xgc9 = JSX_1kxb9["Element"];
891
1213
  /**
892
1214
  * A field for a span of days, picked with two clicks on a scrolling calendar.
893
1215
  *
@@ -900,10 +1222,10 @@ type Element_12xgc8 = JSX_1kxb8["Element"];
900
1222
  *
901
1223
  * @example {@include ./examples.mdx}
902
1224
  */
903
- declare function DateRangePicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, id, from: growFrom, effect, hideSource, tier, className }: DateRangePickerProps): Element_12xgc8;
1225
+ declare function DateRangePicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, id, from: growFrom, effect, hideSource, tier, className }: DateRangePickerProps): Element_12xgc9;
904
1226
  import { Duration, Locale as Locale5 } from "date-fns";
905
1227
  import { RefObject as RefObject6 } from "react";
906
- import { JSX as JSX_1kxb9 } from "react";
1228
+ import { JSX as JSX_1kxb10 } from "react";
907
1229
  interface DurationPickerProps {
908
1230
  /** The picked duration, a date-fns `Duration` (`{ hours, minutes }`); `null` when empty. */
909
1231
  value?: Duration | null;
@@ -944,7 +1266,7 @@ interface DurationPickerProps {
944
1266
  /** Classes for the field. */
945
1267
  className?: string;
946
1268
  }
947
- type Element_12xgc9 = JSX_1kxb9["Element"];
1269
+ type Element_12xgc10 = JSX_1kxb10["Element"];
948
1270
  /**
949
1271
  * A field for a length of time, in hours and minutes.
950
1272
  *
@@ -955,10 +1277,10 @@ type Element_12xgc9 = JSX_1kxb9["Element"];
955
1277
  *
956
1278
  * @example {@include ./examples.mdx}
957
1279
  */
958
- declare function DurationPicker({ value: valueProp, defaultValue, onValueChange, maxHours, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: DurationPickerProps): Element_12xgc9;
1280
+ declare function DurationPicker({ value: valueProp, defaultValue, onValueChange, maxHours, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: DurationPickerProps): Element_12xgc10;
959
1281
  import { Locale as Locale6 } from "date-fns";
960
1282
  import { RefObject as RefObject7 } from "react";
961
- import { JSX as JSX_1kxb10 } from "react";
1283
+ import { JSX as JSX_1kxb11 } from "react";
962
1284
  interface MonthPickerProps {
963
1285
  /** The picked month as its first day; `null` when empty. */
964
1286
  value?: Date | null;
@@ -999,7 +1321,7 @@ interface MonthPickerProps {
999
1321
  /** Classes for the field. */
1000
1322
  className?: string;
1001
1323
  }
1002
- type Element_12xgc10 = JSX_1kxb10["Element"];
1324
+ type Element_12xgc11 = JSX_1kxb11["Element"];
1003
1325
  /**
1004
1326
  * A field for a month of a year: a billing period, a card's expiry.
1005
1327
  *
@@ -1010,10 +1332,10 @@ type Element_12xgc10 = JSX_1kxb10["Element"];
1010
1332
  *
1011
1333
  * @example {@include ./examples.mdx}
1012
1334
  */
1013
- declare function MonthPicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, startMonth, endMonth, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: MonthPickerProps): Element_12xgc10;
1335
+ declare function MonthPicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, startMonth, endMonth, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: MonthPickerProps): Element_12xgc11;
1014
1336
  import { Locale as Locale7 } from "date-fns";
1015
1337
  import { RefObject as RefObject8 } from "react";
1016
- import { JSX as JSX_1kxb11 } from "react";
1338
+ import { JSX as JSX_1kxb12 } from "react";
1017
1339
  interface TimePickerProps {
1018
1340
  /** The picked time as `"HH:mm"` on a 24-hour clock (an `<input type="time">`'s value); `null` when empty. */
1019
1341
  value?: string | null;
@@ -1054,7 +1376,7 @@ interface TimePickerProps {
1054
1376
  /** Classes for the field. */
1055
1377
  className?: string;
1056
1378
  }
1057
- type Element_12xgc11 = JSX_1kxb11["Element"];
1379
+ type Element_12xgc12 = JSX_1kxb12["Element"];
1058
1380
  /**
1059
1381
  * A time-of-day field with scrolling hour and minute columns.
1060
1382
  *
@@ -1066,8 +1388,8 @@ type Element_12xgc11 = JSX_1kxb11["Element"];
1066
1388
  *
1067
1389
  * @example {@include ./examples.mdx}
1068
1390
  */
1069
- declare function TimePicker({ value: valueProp, defaultValue, onValueChange, hourCycle, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: TimePickerProps): Element_12xgc11;
1070
- import { ForwardRefExoticComponent as ForwardRefExoticComponent4, HTMLAttributes as HTMLAttributes6, InputHTMLAttributes as InputHTMLAttributes3, LabelHTMLAttributes, ReactNode as ReactNode8, RefAttributes as RefAttributes4 } from "react";
1391
+ declare function TimePicker({ value: valueProp, defaultValue, onValueChange, hourCycle, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: TimePickerProps): Element_12xgc12;
1392
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent5, HTMLAttributes as HTMLAttributes10, InputHTMLAttributes as InputHTMLAttributes3, LabelHTMLAttributes, ReactNode as ReactNode10, RefAttributes as RefAttributes5 } from "react";
1071
1393
  interface InputProps extends Omit<InputHTMLAttributes3<HTMLInputElement>, "onChange" | "value" | "defaultValue" | "size"> {
1072
1394
  /** Placeholder text. */
1073
1395
  placeholder?: string;
@@ -1082,235 +1404,70 @@ interface InputProps extends Omit<InputHTMLAttributes3<HTMLInputElement>, "onCha
1082
1404
  /** Marks the value invalid: the field turns destructive and sets `aria-invalid`. Defaults to `false`. */
1083
1405
  invalid?: boolean;
1084
1406
  /** Disables the input. Defaults to `false`. */
1085
- disabled?: boolean;
1086
- /** Pins the input to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
1087
- size?: SizeVariant;
1088
- /** Classes for the ringed box around the input. */
1089
- className?: string;
1090
- }
1091
- /**
1092
- * Text input with a fluid hover ring.
1093
- *
1094
- * At rest the field is bare text on the page. Hover lifts it onto a muted
1095
- * ground with a hairline ring, focus onto the card ground, and its leading
1096
- * icon thickens. `invalid` turns it destructive. It is uncontrolled with
1097
- * `defaultValue`, or controlled with `value` + `onChange`, and fills the width
1098
- * of its container. Pair it with a `Label` through `htmlFor` / `id`.
1099
- *
1100
- * Also exported from this item:
1101
- * - `Label` — the field label, weight-stable and inset to line up with the
1102
- * input's text: `htmlFor`, `invalid`, `size`.
1103
- * - `InputGroup` — stacks labelled fields and tracks the pointer across them,
1104
- * so the hover glides from field to field: `size` pins every field to one
1105
- * step of the ladder.
1106
- * - `InputGroup.Field` — one labelled Input in a group, wired as a Base UI
1107
- * `Field` (label, control and error message linked for assistive tech):
1108
- * `index` (its position, for the fluid hover), `label`, `labelHidden`,
1109
- * `error` (a message below the input; marks it invalid), plus Input's props.
1110
- *
1111
- * @example {@include ./examples.mdx}
1112
- */
1113
- declare const Input2: ForwardRefExoticComponent4<InputProps & RefAttributes4<HTMLInputElement>>;
1114
- interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1115
- /** Label text. */
1116
- children: ReactNode8;
1117
- /** Turns the label destructive, matching an invalid Input. Defaults to `false`. */
1118
- invalid?: boolean;
1119
- /** Pins the label to one step of the size ladder. Defaults to the surrounding SizeProvider. */
1120
- size?: SizeVariant;
1121
- }
1122
- declare const Label2: ForwardRefExoticComponent4<LabelProps & RefAttributes4<HTMLLabelElement>>;
1123
- interface InputGroupProps extends HTMLAttributes6<HTMLDivElement> {
1124
- /** One or more InputGroup.Field children. */
1125
- children: ReactNode8;
1126
- /** Pins the group's fields to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
1127
- size?: SizeVariant;
1128
- }
1129
- type InputGroupComponent = ForwardRefExoticComponent4<InputGroupProps & RefAttributes4<HTMLDivElement>> & {
1130
- Field: typeof InputField;
1131
- };
1132
- declare const InputGroup: InputGroupComponent;
1133
- interface InputFieldProps extends Omit<InputProps, "invalid" | "size" | "className"> {
1134
- /** Label text above the input. */
1135
- label: string;
1136
- /** Keep the label for assistive tech but don't render it — for inline fields (a toolbar search) where the placeholder carries the meaning. Defaults to `false`. */
1137
- labelHidden?: boolean;
1138
- /** Position index within the group (required for fluid hover). */
1139
- index: number;
1140
- /** Error message shown below the input. */
1141
- error?: string;
1142
- className?: string;
1143
- }
1144
- declare const InputField: ForwardRefExoticComponent4<InputFieldProps & RefAttributes4<HTMLDivElement>>;
1145
- import { HTMLAttributes as HTMLAttributes7 } from "react";
1146
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn4 } from "react";
1147
- import { RefAttributes as RefAttributes_miuf564 } from "react";
1148
- type InputCopyVariant = "icon" | "button";
1149
- type InputCopyAlign = "right" | "left";
1150
- interface InputCopyProps extends Omit<HTMLAttributes7<HTMLDivElement>, "children"> {
1151
- /** The text value to display and copy to clipboard. */
1152
- value: string;
1153
- /** Optional label displayed above the input. */
1154
- label?: string;
1155
- /** Callback fired after the value is successfully copied. */
1156
- onCopy?: () => void;
1157
- /** Disables the input and copy button. Defaults to `false`. */
1158
- disabled?: boolean;
1159
- /** Icon-only with tooltip, or button with visible label. Defaults to `"icon"`. */
1160
- variant?: InputCopyVariant;
1161
- /** Position of the copy action relative to the value. Defaults to `"right"`. */
1162
- align?: InputCopyAlign;
1163
- /** Pins the field to one step of the size ladder (default 36px, compact 28px — see Sizes). Omitted, it follows the surrounding SizeProvider. */
1164
- size?: SizeVariant;
1165
- /** Extra classes for the wrapper around the label and the field. */
1166
- className?: string;
1167
- }
1168
- /**
1169
- * Read-only input with a copy-to-clipboard button and animated check
1170
- * feedback.
1171
- *
1172
- * The whole row is the button: click anywhere on it and the value goes to
1173
- * the clipboard, the copy glyph's two sheets melt into a tinted disc (the
1174
- * goo of Morph) behind a check that draws itself, and the tooltip flips to
1175
- * "Copied" for 2 seconds; then the disc splits back into the glyph. The value is monospaced and
1176
- * highlights on hover so it reads as one selectable token rather than a
1177
- * text field, and the async Clipboard API falls back to an off-screen
1178
- * textarea + `execCommand` where it is unavailable (insecure context,
1179
- * permissions policy) — a failure animates a ✕ and says so. `variant`
1180
- * switches between the icon-only affordance (with a tooltip) and a labelled
1181
- * Copy button, `align` moves that action to the leading edge, and the field
1182
- * follows the surrounding SizeProvider unless `size` pins it.
1183
- *
1184
- * @example {@include ./examples.mdx}
1185
- */
1186
- declare const InputCopy: ForwardRefExoticComponent_tcubfn4<InputCopyProps & RefAttributes_miuf564<HTMLDivElement>>;
1187
- import { HTMLAttributes as HTMLAttributes8, ReactNode as ReactNode9, TextareaHTMLAttributes } from "react";
1188
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn5 } from "react";
1189
- import { RefAttributes as RefAttributes_miuf565 } from "react";
1190
- import { JSX as JSX_1kxb12 } from "react";
1191
- interface FileThumbnailProps {
1192
- file: File;
1193
- /** Side length of the square thumbnail in pixels. */
1194
- size: number;
1195
- className?: string;
1196
- }
1197
- type Element_12xgc12 = JSX_1kxb12["Element"];
1198
- declare function FileThumbnail({ file, size, className }: FileThumbnailProps): Element_12xgc12;
1199
- type InputMessageStatus = "idle" | "streaming";
1200
- interface InputMessageSlotContext {
1201
- /** Opens the native file picker via the hidden `<input type="file">`.
1202
- * Pass `acceptOverride` (e.g. `"image/*"`) to scope the picker to a
1203
- * subset of the component's accept types just for this invocation. */
1204
- openFilePicker: (acceptOverride?: string) => void;
1205
- /** Currently-attached files. */
1206
- files: File[];
1207
- }
1208
- type InputMessageSlot = ReactNode9 | ((ctx: InputMessageSlotContext) => ReactNode9);
1209
- /** A message held in the queue while the assistant is responding. Carries the
1210
- * trimmed text plus a snapshot of the files attached when it was queued, so
1211
- * double-click-to-edit can restore both. `id` is a stable key minted on enqueue. */
1212
- interface QueuedMessage {
1213
- id: string;
1214
- text: string;
1215
- files: File[];
1216
- }
1217
- interface InputMessageProps extends Omit<HTMLAttributes8<HTMLDivElement>, "onChange" | "defaultValue"> {
1218
- /** Step on the size ladder (see Sizes). Wins over the surrounding SizeProvider and propagates to the composer's rows, buttons and queued messages. */
1219
- size?: SizeVariant;
1220
- /** Controlled textarea value. Pair with `onValueChange`; omit both for an uncontrolled composer. */
1221
- value?: string;
1222
- /** Initial textarea value for an uncontrolled composer. Defaults to `""`. */
1223
- defaultValue?: string;
1224
- /** Called with the new value on every textarea change. */
1225
- onValueChange?: (value: string) => void;
1226
- /** Fires on Enter (without Shift) or send-button click, and when a queued message auto-dispatches. Receives the trimmed value, the attached files, and — for auto-dispatched queue items — `meta.queuedId`. Skipped when the value is empty and no files are attached. */
1227
- onSend?: (value: string, files: File[], meta?: {
1228
- queuedId?: string;
1229
- }) => void;
1230
- /** Placeholder shown when the value is empty. While a file is dragged over the component (and attachments are enabled) it swaps to "Drop files here to add to chat". Defaults to `"Ask me anything…"`. */
1231
- placeholder?: string;
1232
- /** Content rendered in the bottom-left action area. May be a render-fn that receives `{ openFilePicker, files }` — `openFilePicker(acceptOverride?)` opens the native file picker. */
1233
- leftSlot?: InputMessageSlot;
1234
- /** Content rendered in the bottom-right action area, before the built-in send button. Same render-fn shape as `leftSlot`. */
1235
- rightSlot?: InputMessageSlot;
1236
- /** Disables the textarea, send button, and drag-and-drop. Defaults to `false`. */
1237
- disabled?: boolean;
1238
- /** Minimum visible rows before the textarea grows. Defaults to 1. */
1239
- minRows?: number;
1240
- /** Maximum visible rows before the textarea starts to scroll. Defaults to 8. */
1241
- maxRows?: number;
1242
- /** When true, clicking anywhere on the surrounding container (outside of buttons / links / inputs) focuses the textarea. Defaults to `true`. */
1243
- clickToFocus?: boolean;
1244
- /** Accessible label for the send button. Defaults to `"Send"`. */
1245
- sendLabel?: string;
1246
- /** Controlled list of attached files. Pair with `onFilesChange` to enable drag-and-drop and the file-picker slot helper. */
1247
- files?: File[];
1248
- /** Initial attachments for an uncontrolled composer. Providing it (even as `[]`) enables attachment behavior on its own. */
1249
- defaultFiles?: File[];
1250
- /** Called when files are added (drag-drop or picker) or removed via the preview tile's × button. Duplicate drops of the same file (same name + size + lastModified) are silently de-duplicated. */
1251
- onFilesChange?: (files: File[]) => void;
1252
- /** Accepted MIME types as a comma-separated string. Used by both the file picker and the drag-and-drop filter. Defaults to `"image/png,image/jpeg,application/pdf"`. */
1253
- accept?: string;
1254
- /** Maximum number of attached files. Extra files beyond this limit are dropped. */
1255
- maxFiles?: number;
1256
- /** Side length (in pixels) of each preview tile. Images use object-cover; PDFs render the first page via pdfjs; other types fall back to a centered icon. Defaults to 80. */
1257
- filePreviewSize?: number;
1258
- /** Extra props forwarded to the underlying textarea (value, onChange, onKeyDown, disabled and placeholder are controlled by the component). */
1259
- textareaProps?: Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "onChange" | "onKeyDown" | "disabled" | "placeholder">;
1260
- /** Assistant response state. When `"streaming"`, the send button becomes a Stop control (empty draft) or a Queue action (non-empty draft). On the streaming→idle edge the next queued message auto-dispatches via `onSend`. Leave it and `defaultStatus` undefined for the send-immediately behavior. */
1261
- status?: InputMessageStatus;
1262
- /** Initial status for an uncontrolled composer — the component then owns the streaming flag, and Stop flips it to `"idle"` itself. */
1263
- defaultStatus?: InputMessageStatus;
1264
- /** Called whenever the status changes while it is uncontrolled (currently: the Stop control). */
1265
- onStatusChange?: (status: InputMessageStatus) => void;
1266
- /** Fires when the Stop control is pressed (streaming + empty draft). Halt the current response and set status to `"idle"` — that edge immediately dispatches the next queued message. */
1267
- onStop?: () => void;
1268
- /** Controlled queue of pending messages, rendered as reorderable rows above the textarea. Double-click (or Enter/F2) edits a row back into the composer; the × (or Delete) removes it; drag — or Alt+↑/↓ — reorders. Requires a status. */
1269
- queue?: QueuedMessage[];
1270
- /** Initial queue for an uncontrolled composer. Providing it (even as `[]`) enables the queue on its own, alongside `status` or `defaultStatus`. */
1271
- defaultQueue?: QueuedMessage[];
1272
- /** Called whenever the queue changes — enqueue, edit, delete, reorder, or auto-dispatch. Each QueuedMessage is `{ id, text, files }`. */
1273
- onQueueChange?: (queue: QueuedMessage[]) => void;
1274
- /** Render the built-in reorderable queue rows above the textarea. Set to false to suppress them and render the queue yourself — enqueue and auto-dispatch still run. Defaults to `true`. */
1275
- showQueue?: boolean;
1276
- /** Previously-sent messages, oldest first. With the textarea focused, ArrowUp (caret on the first line) recalls the previous message and walks backward; ArrowDown (caret on the last line) walks forward toward the in-progress draft. Editing or sending exits history mode. Defaults to `[]`. */
1277
- history?: string[];
1278
- /** Suggested prompt rendered as the placeholder (with a Tab keycap) while the draft is empty. Pressing Tab fills it into the composer — it doesn't send. Takes precedence over `placeholder`. */
1279
- placeholderSuggestion?: string;
1280
- /** Suggested prompts listed under the action bar while the draft is empty. ArrowDown moves a highlight into the list (focus stays in the textarea), ArrowUp walks back up and out, Enter or click fills the highlighted prompt. Escape drops the highlight; typing collapses the list. */
1281
- suggestions?: string[];
1282
- /** Extra classes for the composer surface. */
1283
- className?: string;
1284
- }
1285
- /**
1286
- * Chat-style message composer with an auto-resizing textarea, flexible
1287
- * left/right action slots, and a built-in send button on a Surface-2
1288
- * substrate.
1289
- *
1290
- * The textarea grows from `minRows` to `maxRows` and then scrolls, Enter
1291
- * sends while Shift+Enter breaks the line, and the whole panel is one
1292
- * hairline ring that recolours in place for hover, focus and drag instead of
1293
- * layering a second border. Attachments drop anywhere on the composer (or
1294
- * come from `openFilePicker` in a slot) and preview as tiles — images
1295
- * object-cover, PDFs render their first page. `suggestions` open a listbox
1296
- * under the action bar that ↓/↑ walk without moving focus, and
1297
- * `placeholderSuggestion` writes a ghost prompt with a Tab keycap. With a
1298
- * `status` the send button morphs into Stop (empty draft) or Queue (draft
1299
- * typed while streaming); queued rows reorder by drag or Alt+↑/↓, edit back
1300
- * into the composer on double-click, and the head auto-dispatches on the
1301
- * streaming→idle edge.
1407
+ disabled?: boolean;
1408
+ /** Pins the input to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
1409
+ size?: SizeVariant;
1410
+ /** Classes for the ringed box around the input. */
1411
+ className?: string;
1412
+ }
1413
+ /**
1414
+ * Text input with a fluid hover ring.
1302
1415
  *
1303
- * Every controlled prop has an uncontrolled twin — `defaultValue`,
1304
- * `defaultFiles`, `defaultQueue`, `defaultStatus` — so a composer can hold
1305
- * its own draft, attachments and queue with no state in the caller.
1416
+ * At rest the field is bare text on the page. Hover lifts it onto a muted
1417
+ * ground with a hairline ring, focus onto the card ground, and its leading
1418
+ * icon thickens. `invalid` turns it destructive. It is uncontrolled with
1419
+ * `defaultValue`, or controlled with `value` + `onChange`, and fills the width
1420
+ * of its container. Pair it with a `Label` through `htmlFor` / `id`.
1421
+ *
1422
+ * Also exported from this item:
1423
+ * - `Label` — the field label, weight-stable and inset to line up with the
1424
+ * input's text: `htmlFor`, `invalid`, `size`.
1425
+ * - `InputGroup` — stacks labelled fields and tracks the pointer across them,
1426
+ * so the hover glides from field to field: `size` pins every field to one
1427
+ * step of the ladder.
1428
+ * - `InputGroup.Field` — one labelled Input in a group, wired as a Base UI
1429
+ * `Field` (label, control and error message linked for assistive tech):
1430
+ * `index` (its position, for the fluid hover), `label`, `labelHidden`,
1431
+ * `error` (a message below the input; marks it invalid), plus Input's props.
1306
1432
  *
1307
1433
  * @example {@include ./examples.mdx}
1308
1434
  */
1309
- declare const InputMessage: ForwardRefExoticComponent_tcubfn5<InputMessageProps & RefAttributes_miuf565<HTMLDivElement>>;
1310
- import { ForwardRefExoticComponent as ForwardRefExoticComponent5, HTMLAttributes as HTMLAttributes9, ReactNode as ReactNode10, RefAttributes as RefAttributes5 } from "react";
1311
- interface RadioGroupProps extends Omit<HTMLAttributes9<HTMLDivElement>, "onSelect" | "defaultValue"> {
1312
- /** RadioGroup.Item children. */
1435
+ declare const Input2: ForwardRefExoticComponent5<InputProps & RefAttributes5<HTMLInputElement>>;
1436
+ interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1437
+ /** Label text. */
1438
+ children: ReactNode10;
1439
+ /** Turns the label destructive, matching an invalid Input. Defaults to `false`. */
1440
+ invalid?: boolean;
1441
+ /** Pins the label to one step of the size ladder. Defaults to the surrounding SizeProvider. */
1442
+ size?: SizeVariant;
1443
+ }
1444
+ declare const Label2: ForwardRefExoticComponent5<LabelProps & RefAttributes5<HTMLLabelElement>>;
1445
+ interface InputGroupProps extends HTMLAttributes10<HTMLDivElement> {
1446
+ /** One or more InputGroup.Field children. */
1313
1447
  children: ReactNode10;
1448
+ /** Pins the group's fields to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
1449
+ size?: SizeVariant;
1450
+ }
1451
+ type InputGroupComponent = ForwardRefExoticComponent5<InputGroupProps & RefAttributes5<HTMLDivElement>> & {
1452
+ Field: typeof InputField;
1453
+ };
1454
+ declare const InputGroup: InputGroupComponent;
1455
+ interface InputFieldProps extends Omit<InputProps, "invalid" | "size" | "className"> {
1456
+ /** Label text above the input. */
1457
+ label: string;
1458
+ /** Keep the label for assistive tech but don't render it — for inline fields (a toolbar search) where the placeholder carries the meaning. Defaults to `false`. */
1459
+ labelHidden?: boolean;
1460
+ /** Position index within the group (required for fluid hover). */
1461
+ index: number;
1462
+ /** Error message shown below the input. */
1463
+ error?: string;
1464
+ className?: string;
1465
+ }
1466
+ declare const InputField: ForwardRefExoticComponent5<InputFieldProps & RefAttributes5<HTMLDivElement>>;
1467
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent6, HTMLAttributes as HTMLAttributes11, ReactNode as ReactNode11, RefAttributes as RefAttributes6 } from "react";
1468
+ interface RadioGroupProps extends Omit<HTMLAttributes11<HTMLDivElement>, "onSelect" | "defaultValue"> {
1469
+ /** `Radio` rows. */
1470
+ children: ReactNode11;
1314
1471
  /** Index of the currently selected item. Controlled — pair it with `onSelectedIndexChange` (or per-item `onSelect`). */
1315
1472
  selectedIndex?: number;
1316
1473
  /** Selected index on first render when uncontrolled. Defaults to no selection. */
@@ -1326,35 +1483,12 @@ interface RadioGroupProps extends Omit<HTMLAttributes9<HTMLDivElement>, "onSelec
1326
1483
  /** Pins the group's rows to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
1327
1484
  size?: SizeVariant;
1328
1485
  }
1329
- type RadioGroupComponent = ForwardRefExoticComponent5<RadioGroupProps & RefAttributes5<HTMLDivElement>> & {
1330
- Item: typeof RadioItem;
1331
- };
1332
- /**
1333
- * Radio button group with fluid hover and animated selection.
1334
- *
1335
- * Each row is a `RadioGroup.Item` with a stable `index`. The selected
1336
- * background melts to the chosen row, a fluid hover highlight melts between
1337
- * rows (the liquid indicators in Morph), the dot scales in, and the label animates to semibold without shifting
1338
- * its width. Arrow keys, Home and End move focus and select, with a roving
1339
- * tabindex on the selected row. Select by index — uncontrolled with
1340
- * `defaultSelectedIndex`, controlled with `selectedIndex` +
1341
- * `onSelectedIndexChange` — or by item `value` (`defaultValue` / `value` +
1342
- * `onValueChange`), which also renders Base UI radios for form integration.
1343
- * FF's per-item `selected` / `onSelect` still work and override the group for
1344
- * their row.
1345
- *
1346
- * Statics:
1347
- * - `RadioGroup.Item` — one radio row: `label`, `index`, and optional `value`,
1348
- * `selected`, `onSelect`.
1349
- *
1350
- * @example {@include ./examples.mdx}
1351
- */
1352
- declare const RadioGroup: RadioGroupComponent;
1353
- interface RadioItemProps extends HTMLAttributes9<HTMLDivElement> {
1486
+ declare const RadioGroup: ForwardRefExoticComponent6<RadioGroupProps & RefAttributes6<HTMLDivElement>>;
1487
+ interface RadioProps extends HTMLAttributes11<HTMLDivElement> {
1354
1488
  /** Text label for the radio item. */
1355
1489
  label: string;
1356
- /** Position index within the group. */
1357
- index: number;
1490
+ /** Position within the `Radio.Group`: the row's `selectedIndex`. Defaults to its order among the group's rows. */
1491
+ index?: number;
1358
1492
  /** Whether this item is selected. Defaults to the group's selection. */
1359
1493
  selected?: boolean;
1360
1494
  /** Called when this item is selected (the group's change callbacks fire too). */
@@ -1362,21 +1496,44 @@ interface RadioItemProps extends HTMLAttributes9<HTMLDivElement> {
1362
1496
  /** Optional value forwarded to the underlying Base UI primitive for form integration. */
1363
1497
  value?: string;
1364
1498
  }
1365
- declare const RadioItem: ForwardRefExoticComponent5<RadioItemProps & RefAttributes5<HTMLDivElement>>;
1499
+ type RadioComponent = ForwardRefExoticComponent6<RadioProps & RefAttributes6<HTMLDivElement>> & {
1500
+ Group: typeof RadioGroup;
1501
+ };
1502
+ /**
1503
+ * Radio buttons with fluid hover and animated selection.
1504
+ *
1505
+ * Each `Radio` is one row of a `Radio.Group`. The selected background melts
1506
+ * to the chosen row, a fluid hover highlight melts between rows (the liquid
1507
+ * indicators in Morph), the dot scales in, and the label animates to
1508
+ * semibold without shifting its width. Arrow keys, Home and End move focus
1509
+ * and select, with a roving tabindex on the selected row. The group numbers
1510
+ * its rows in order, so they need no `index`. FF's per-row `selected` /
1511
+ * `onSelect` still work and override the group for their row.
1512
+ *
1513
+ * Statics:
1514
+ * - `Radio.Group` — the list. Select by index — uncontrolled with
1515
+ * `defaultSelectedIndex`, controlled with `selectedIndex` +
1516
+ * `onSelectedIndexChange` — or by row `value` (`defaultValue` / `value` +
1517
+ * `onValueChange`), which also renders Base UI radios for form
1518
+ * integration; `size` pins every row to one step of the size ladder.
1519
+ *
1520
+ * @example {@include ./examples.mdx}
1521
+ */
1522
+ declare const Radio: RadioComponent;
1366
1523
  import { Autocomplete } from "@base-ui/react/autocomplete";
1367
- import { HTMLAttributes as HTMLAttributes10, ReactNode as ReactNode12, RefObject as RefObject9 } from "react";
1368
- import { ButtonHTMLAttributes as ButtonHTMLAttributes2, ReactElement as ReactElement2, ReactNode as ReactNode11 } from "react";
1524
+ import { HTMLAttributes as HTMLAttributes12, ReactNode as ReactNode13, RefObject as RefObject9 } from "react";
1525
+ import { ButtonHTMLAttributes as ButtonHTMLAttributes2, ReactElement as ReactElement2, ReactNode as ReactNode12 } from "react";
1369
1526
  interface SlotProps extends ButtonHTMLAttributes2<HTMLButtonElement> {
1370
1527
  /** The element that becomes the control, e.g. a Button. */
1371
1528
  render?: ReactElement2;
1372
1529
  /** Compose onto the single child instead. Both spellings work in both flavors. Defaults to `false`. */
1373
1530
  asChild?: boolean;
1374
1531
  /** Control content when there is no render element. */
1375
- children?: ReactNode11;
1532
+ children?: ReactNode12;
1376
1533
  }
1377
1534
  import { JSX as JSX_1kxb13 } from "react";
1378
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn6 } from "react";
1379
- import { RefAttributes as RefAttributes_miuf566 } from "react";
1535
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn7 } from "react";
1536
+ import { RefAttributes as RefAttributes_miuf567 } from "react";
1380
1537
  /** One command: the label the query matches, plus what the row shows and does. */
1381
1538
  interface CommandItem {
1382
1539
  label: string;
@@ -1399,10 +1556,10 @@ type CommandListRootProps = Omit<Autocomplete.Root.Props<CommandItem>, "items" |
1399
1556
  type Element_12xgc13 = JSX_1kxb13["Element"];
1400
1557
  /** Base UI's Autocomplete set up for command rows: it matches labels and keywords and hands its highlight to `CommandList`. */
1401
1558
  declare function CommandListRoot({ items,...props }: CommandListRootProps): Element_12xgc13;
1402
- declare function CommandShortcut({ className,...props }: HTMLAttributes10<HTMLElement>): Element_12xgc13;
1559
+ declare function CommandShortcut({ className,...props }: HTMLAttributes12<HTMLElement>): Element_12xgc13;
1403
1560
  interface CommandListProps {
1404
1561
  onPick: (item: CommandItem) => void;
1405
- emptyMessage: ReactNode12;
1562
+ emptyMessage: ReactNode13;
1406
1563
  className?: string;
1407
1564
  }
1408
1565
  /** The filtered rows (grouped or flat) under one fluid highlight, inside a ScrollArea. Goes inside `CommandListRoot`. */
@@ -1413,12 +1570,12 @@ interface CommandPaletteProps {
1413
1570
  /** The search field's placeholder. Defaults to `'Type a command or search…'`. */
1414
1571
  placeholder?: string;
1415
1572
  /** Shown when nothing matches the query. Defaults to `'No results found.'`. */
1416
- emptyMessage?: ReactNode12;
1573
+ emptyMessage?: ReactNode13;
1417
1574
  /** Classes for the palette's box. */
1418
1575
  className?: string;
1419
1576
  }
1420
1577
  declare function CommandPalette({ items, placeholder, emptyMessage, className }: CommandPaletteProps): Element_12xgc13;
1421
- declare const CommandTrigger: ForwardRefExoticComponent_tcubfn6<SlotProps & RefAttributes_miuf566<HTMLButtonElement>>;
1578
+ declare const CommandTrigger: ForwardRefExoticComponent_tcubfn7<SlotProps & RefAttributes_miuf567<HTMLButtonElement>>;
1422
1579
  interface CommandContentProps extends CommandPaletteProps {
1423
1580
  /** Accessible name of the panel. Defaults to `'Command menu'`. */
1424
1581
  label?: string;
@@ -1431,7 +1588,7 @@ interface CommandContentProps extends CommandPaletteProps {
1431
1588
  /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'slow'`. */
1432
1589
  tier?: "moderate" | "slow";
1433
1590
  }
1434
- declare const CommandContent: ForwardRefExoticComponent_tcubfn6<CommandContentProps & RefAttributes_miuf566<HTMLDivElement>>;
1591
+ declare const CommandContent: ForwardRefExoticComponent_tcubfn7<CommandContentProps & RefAttributes_miuf567<HTMLDivElement>>;
1435
1592
  interface CommandProps {
1436
1593
  /** Controlled open state. */
1437
1594
  open?: boolean;
@@ -1442,7 +1599,7 @@ interface CommandProps {
1442
1599
  /** The key that toggles the palette with ⌘ (Ctrl elsewhere); `false` leaves the keyboard alone. Defaults to `'k'`. */
1443
1600
  hotkey?: string | false;
1444
1601
  /** The trigger and the panel: `Command.Trigger` plus a `Command.Content`. */
1445
- children?: ReactNode12;
1602
+ children?: ReactNode13;
1446
1603
  }
1447
1604
  /**
1448
1605
  * A ⌘K command menu: a search field over grouped commands, grown out of
@@ -1541,14 +1698,14 @@ type Element_12xgc14 = JSX_1kxb14["Element"];
1541
1698
  */
1542
1699
  declare function Search2({ variant, placeholder, items, value, defaultValue, onValueChange, onSubmit, expanded, defaultExpanded, onExpandedChange, width, align, shortcut, emptyMessage, effect, tier, className }: SearchProps): Element_12xgc14;
1543
1700
  import { VariantProps as VariantProps4 } from "class-variance-authority";
1544
- import { HTMLAttributes as HTMLAttributes11, ReactNode as ReactNode13 } from "react";
1701
+ import { HTMLAttributes as HTMLAttributes13, ReactNode as ReactNode14 } from "react";
1545
1702
  import { JSX as JSX_1kxb15 } from "react";
1546
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn7 } from "react";
1547
- import { RefAttributes as RefAttributes_miuf567 } from "react";
1703
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn8 } from "react";
1704
+ import { RefAttributes as RefAttributes_miuf568 } from "react";
1548
1705
  import { ClassProp as ClassProp_wz9o0r4 } from "class-variance-authority/types";
1549
1706
  interface SelectProps {
1550
1707
  /** `Select.Trigger` and `Select.Content`. */
1551
- children: ReactNode13;
1708
+ children: ReactNode14;
1552
1709
  /** Controlled selected value. Pair with `onValueChange`. */
1553
1710
  value?: string;
1554
1711
  /** Uncontrolled default value — the select then keeps the selection itself. */
@@ -1590,7 +1747,7 @@ declare function Select({ children, value, defaultValue, onValueChange, disabled
1590
1747
  declare const triggerVariants: (props?: ({
1591
1748
  variant?: "borderless" | "bordered" | null | undefined;
1592
1749
  } & ClassProp_wz9o0r4) | undefined) => string;
1593
- interface SelectTriggerProps extends Omit<HTMLAttributes11<HTMLButtonElement>, "children">, VariantProps4<typeof triggerVariants> {
1750
+ interface SelectTriggerProps extends Omit<HTMLAttributes13<HTMLButtonElement>, "children">, VariantProps4<typeof triggerVariants> {
1594
1751
  /** Visual style of the trigger. Defaults to `"bordered"`. */
1595
1752
  variant?: "bordered" | "borderless";
1596
1753
  /** Optional icon displayed before the value. */
@@ -1604,7 +1761,7 @@ interface SelectTriggerProps extends Omit<HTMLAttributes11<HTMLButtonElement>, "
1604
1761
  /** Extra classes for the trigger button. */
1605
1762
  className?: string;
1606
1763
  }
1607
- declare const SelectTrigger: ForwardRefExoticComponent_tcubfn7<SelectTriggerProps & RefAttributes_miuf567<HTMLButtonElement>>;
1764
+ declare const SelectTrigger: ForwardRefExoticComponent_tcubfn8<SelectTriggerProps & RefAttributes_miuf568<HTMLButtonElement>>;
1608
1765
  interface SelectContentProps {
1609
1766
  /** Where the menu grows from (see Morph): the trigger, the pointer, its own center, a viewport edge, or a ref to any element. Defaults to `'trigger'`. */
1610
1767
  from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | React.RefObject<HTMLElement | null>;
@@ -1617,10 +1774,10 @@ interface SelectContentProps {
1617
1774
  /** Additional classes for the menu container. */
1618
1775
  className?: string;
1619
1776
  /** `Select.Item`, `Select.Group`, `Select.Label`, `Select.Separator`. */
1620
- children: ReactNode13;
1777
+ children: ReactNode14;
1621
1778
  }
1622
- declare const SelectContent: ForwardRefExoticComponent_tcubfn7<SelectContentProps & RefAttributes_miuf567<HTMLDivElement>>;
1623
- interface SelectItemProps extends HTMLAttributes11<HTMLDivElement> {
1779
+ declare const SelectContent: ForwardRefExoticComponent_tcubfn8<SelectContentProps & RefAttributes_miuf568<HTMLDivElement>>;
1780
+ interface SelectItemProps extends HTMLAttributes13<HTMLDivElement> {
1624
1781
  /** Optional icon displayed before the label. */
1625
1782
  icon?: IconComponent;
1626
1783
  /** Position index within the content — what fluid hover measures rows by. */
@@ -1630,21 +1787,21 @@ interface SelectItemProps extends HTMLAttributes11<HTMLDivElement> {
1630
1787
  /** Disables this individual item. Defaults to `false`. */
1631
1788
  disabled?: boolean;
1632
1789
  /** The row label. A string label is also what the trigger shows for this value. */
1633
- children?: ReactNode13;
1790
+ children?: ReactNode14;
1634
1791
  }
1635
- declare const SelectItem: ForwardRefExoticComponent_tcubfn7<SelectItemProps & RefAttributes_miuf567<HTMLDivElement>>;
1636
- declare function SelectGroup({ children, className,...props }: HTMLAttributes11<HTMLDivElement>): Element_12xgc15;
1637
- declare const SelectLabel: ForwardRefExoticComponent_tcubfn7<HTMLAttributes11<HTMLDivElement> & RefAttributes_miuf567<HTMLDivElement>>;
1638
- declare const SelectSeparator: ForwardRefExoticComponent_tcubfn7<HTMLAttributes11<HTMLDivElement> & RefAttributes_miuf567<HTMLDivElement>>;
1639
- import { CSSProperties as CSSProperties2, HTMLAttributes as HTMLAttributes12 } from "react";
1640
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn8 } from "react";
1641
- import { RefAttributes as RefAttributes_miuf568 } from "react";
1792
+ declare const SelectItem: ForwardRefExoticComponent_tcubfn8<SelectItemProps & RefAttributes_miuf568<HTMLDivElement>>;
1793
+ declare function SelectGroup({ children, className,...props }: HTMLAttributes13<HTMLDivElement>): Element_12xgc15;
1794
+ declare const SelectLabel: ForwardRefExoticComponent_tcubfn8<HTMLAttributes13<HTMLDivElement> & RefAttributes_miuf568<HTMLDivElement>>;
1795
+ declare const SelectSeparator: ForwardRefExoticComponent_tcubfn8<HTMLAttributes13<HTMLDivElement> & RefAttributes_miuf568<HTMLDivElement>>;
1796
+ import { CSSProperties as CSSProperties2, HTMLAttributes as HTMLAttributes14 } from "react";
1797
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn9 } from "react";
1798
+ import { RefAttributes as RefAttributes_miuf569 } from "react";
1642
1799
  type SliderValue = number | [number, number];
1643
1800
  type ValuePosition = "left" | "right" | "top" | "bottom" | "tooltip";
1644
1801
  /** Props of the compact engine — the feature-rich design (ranges, discrete
1645
1802
  * step lists, value display) that renders the ladder's compact step. The
1646
1803
  * public <Slider> accepts these plus `variant` and `size`. */
1647
- interface SliderEngineProps extends Omit<HTMLAttributes12<HTMLDivElement>, "onChange" | "defaultValue"> {
1804
+ interface SliderEngineProps extends Omit<HTMLAttributes14<HTMLDivElement>, "onChange" | "defaultValue"> {
1648
1805
  value: SliderValue;
1649
1806
  onChange: (value: SliderValue) => void;
1650
1807
  min?: number;
@@ -1672,7 +1829,7 @@ interface SliderEngineProps extends Omit<HTMLAttributes12<HTMLDivElement>, "onCh
1672
1829
  thumbColor?: string;
1673
1830
  thumbBorderColor?: string;
1674
1831
  }
1675
- interface SliderComfortableProps extends Omit<HTMLAttributes12<HTMLDivElement>, "onChange" | "defaultValue" | "onDrag" | "onDragStart" | "onDragEnd" | "onDragOver" | "onAnimationStart"> {
1832
+ interface SliderComfortableProps extends Omit<HTMLAttributes14<HTMLDivElement>, "onChange" | "defaultValue" | "onDrag" | "onDragStart" | "onDragEnd" | "onDragOver" | "onAnimationStart"> {
1676
1833
  value: number;
1677
1834
  onChange: (value: number) => void;
1678
1835
  min?: number;
@@ -1738,17 +1895,19 @@ interface SliderProps extends Omit<SliderEngineProps, "value" | "onChange"> {
1738
1895
  *
1739
1896
  * @example {@include ./examples.mdx}
1740
1897
  */
1741
- declare const Slider: ForwardRefExoticComponent_tcubfn8<SliderProps & RefAttributes_miuf568<HTMLDivElement>>;
1898
+ declare const Slider: ForwardRefExoticComponent_tcubfn9<SliderProps & RefAttributes_miuf569<HTMLDivElement>>;
1742
1899
  /** @deprecated The comfortable design is now the ladder's default step —
1743
1900
  * render <Slider> (optionally with `variant`) instead. */
1744
- declare const SliderComfortable: ForwardRefExoticComponent_tcubfn8<SliderComfortableProps & RefAttributes_miuf568<HTMLDivElement>>;
1901
+ declare const SliderComfortable: ForwardRefExoticComponent_tcubfn9<SliderComfortableProps & RefAttributes_miuf569<HTMLDivElement>>;
1745
1902
  import { Transition } from "motion/react";
1746
- import { HTMLAttributes as HTMLAttributes13 } from "react";
1747
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn9 } from "react";
1748
- import { RefAttributes as RefAttributes_miuf569 } from "react";
1749
- interface SwitchProps extends HTMLAttributes13<HTMLDivElement> {
1903
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent7, HTMLAttributes as HTMLAttributes15, ReactNode as ReactNode15, RefAttributes as RefAttributes7 } from "react";
1904
+ interface SwitchProps extends HTMLAttributes15<HTMLDivElement> {
1750
1905
  /** Text label displayed next to the switch. */
1751
1906
  label: string;
1907
+ /** Secondary text under the label: what turning the switch on does. With one, the label stays at full contrast. */
1908
+ description?: ReactNode15;
1909
+ /** The side of the label the track sits on; `"end"` pushes it to the row's far edge, as in a settings list (always, inside a `Switch.Group`). Defaults to `"start"`. */
1910
+ trackSide?: "start" | "end";
1752
1911
  /** Whether the switch is on (controlled). Omit it to let the switch keep its own state, seeded from `defaultChecked`. */
1753
1912
  checked?: boolean;
1754
1913
  /** Whether the switch starts on when uncontrolled. Defaults to `false`. */
@@ -1764,6 +1923,9 @@ interface SwitchProps extends HTMLAttributes13<HTMLDivElement> {
1764
1923
  /** Pins the switch to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider, else `"default"`. */
1765
1924
  size?: SizeVariant;
1766
1925
  }
1926
+ type SwitchComponent = ForwardRefExoticComponent7<SwitchProps & RefAttributes7<HTMLDivElement>> & {
1927
+ Group: typeof SwitchGroup;
1928
+ };
1767
1929
  /**
1768
1930
  * Toggle switch with animated thumb and label.
1769
1931
  *
@@ -1778,128 +1940,29 @@ interface SwitchProps extends HTMLAttributes13<HTMLDivElement> {
1778
1940
  * Works controlled (`checked` + `onToggle`, exactly as upstream) or
1779
1941
  * uncontrolled (`defaultChecked`, with `onCheckedChange` reporting each
1780
1942
  * change). `size` pins it to one step of the size ladder; otherwise it
1781
- * follows the surrounding SizeProvider.
1782
- *
1783
- * @example {@include ./examples.mdx}
1784
- */
1785
- declare const Switch: ForwardRefExoticComponent_tcubfn9<SwitchProps & RefAttributes_miuf569<HTMLDivElement>>;
1786
- import { ForwardRefExoticComponent as ForwardRefExoticComponent6, HTMLAttributes as HTMLAttributes14, ReactNode as ReactNode14, RefAttributes as RefAttributes6 } from "react";
1787
- type AccordionGroupSingleProps = {
1788
- /** Whether one or multiple items can be expanded. Defaults to `"single"`. */
1789
- type?: "single";
1790
- /** Controlled expanded value. */
1791
- value?: string;
1792
- /** Initially expanded item value — uncontrolled. */
1793
- defaultValue?: string;
1794
- /** Callback when expanded state changes. */
1795
- onValueChange?: (value: string) => void;
1796
- /** Allow collapsing all items when type is single. Defaults to `true`. */
1797
- collapsible?: boolean;
1798
- };
1799
- type AccordionGroupMultipleProps = {
1800
- /** Whether one or multiple items can be expanded. */
1801
- type: "multiple";
1802
- /** Controlled expanded values. */
1803
- value?: string[];
1804
- /** Initially expanded item values — uncontrolled. */
1805
- defaultValue?: string[];
1806
- /** Callback when expanded state changes. */
1807
- onValueChange?: (value: string[]) => void;
1808
- };
1809
- type AccordionGroupProps = HTMLAttributes14<HTMLDivElement> & {
1810
- children: ReactNode14;
1811
- /** Pins the group's rows to one step of the size ladder (default 36px,
1812
- * compact 28px — see /docs/sizes). Omitted, they follow the surrounding
1813
- * SizeProvider. */
1814
- size?: SizeVariant;
1815
- /** What an open item tints. "item" paints the row and its panel as one
1816
- * block, and holds while it stays open. "trigger" scopes the fill to the
1817
- * row and shows it on hover only, leaving the panel on the page's own
1818
- * surface — the way a sidebar row highlights without colouring its
1819
- * sub-tree. @default "item" */
1820
- highlight?: "trigger" | "item";
1821
- } & (AccordionGroupSingleProps | AccordionGroupMultipleProps);
1822
- declare const AccordionGroup: ForwardRefExoticComponent6<AccordionGroupProps & RefAttributes6<HTMLDivElement>>;
1823
- interface AccordionProps extends HTMLAttributes14<HTMLDivElement> {
1824
- /** The accordion's items (`Accordion.Item`). */
1825
- children: ReactNode14;
1826
- /** Whether one or multiple items can be expanded. Defaults to `"single"`. */
1827
- type?: "single" | "multiple";
1828
- /** Allow collapsing all items when type is single. Defaults to `true` (Base UI's single mode is always collapsible). */
1829
- collapsible?: boolean;
1830
- /** Initially expanded item value(s) — uncontrolled. A string for `type="single"`, an array for `type="multiple"`. */
1831
- defaultValue?: string | string[];
1832
- /** Controlled expanded value(s). Pair with `onValueChange`. */
1833
- value?: string | string[];
1834
- /** Callback when expanded state changes. Receives a string in single mode, an array in multiple mode. */
1835
- onValueChange?: ((value: string) => void) | ((value: string[]) => void);
1836
- /** What an open item tints: `item` holds a block across the row and its panel, `trigger` scopes it to the row and shows it on hover. Same prop on `Accordion.Group` and on a standalone `Accordion.Item`. Defaults to `"item"`. */
1837
- highlight?: "trigger" | "item";
1838
- /** Pins the accordion's rows to one step of the size ladder (default 36px, compact 28px). Omitted, they follow the surrounding SizeProvider. */
1839
- size?: SizeVariant;
1840
- }
1841
- type AccordionComponent = ForwardRefExoticComponent6<AccordionProps & RefAttributes6<HTMLDivElement>> & {
1842
- Group: typeof AccordionGroup;
1843
- Item: typeof AccordionItem;
1844
- Trigger: typeof AccordionTrigger;
1845
- Content: typeof AccordionContent;
1846
- };
1847
- /**
1848
- * Collapsible sections with animated expand/collapse and fluid hover in
1849
- * grouped mode.
1850
- *
1851
- * Accordion is the standalone form: every row carries its own hover fill.
1852
- * Accordion.Group takes the same props and adds one magnetic highlight that
1853
- * glides between rows, so give each item inside it an `index`. Built on Base
1854
- * UI Accordion (WAI-ARIA wiring, keyboard navigation, focus management).
1855
- * Uncontrolled through `defaultValue`, controlled through `value` +
1856
- * `onValueChange`.
1943
+ * follows the surrounding SizeProvider. `description` adds a muted line under
1944
+ * the label and `trackSide="end"` moves the track to the row's far edge.
1857
1945
  *
1858
- * The panel grows out of its row (see Morph): a shape drips from where the
1859
- * row was pressed (its middle, from the keyboard), widens into the whole
1860
- * item, and the content is revealed by a clip from the same shape. Under the
1861
- * default `highlight="item"` that shape is the open tint, melted into the
1862
- * row through a liquid goo neck; closing folds it back into the row. The
1863
- * rows below ride the shape's bottom edge, so nothing jumps.
1864
- *
1865
- * Statics: Accordion.Group (the grouped root: type, collapsible,
1866
- * defaultValue, value, onValueChange, highlight, size), Accordion.Item (value,
1867
- * index, disabled), Accordion.Trigger (the row that toggles its item) and
1868
- * Accordion.Content (the collapsible panel: `effect` — `'goo'` or a plain
1869
- * `'morph'` — and the spring `tier`, `'slow'` or `'moderate'`).
1946
+ * Statics:
1947
+ * - `Switch.Group` — switches as a settings list in one outlined frame: each
1948
+ * `Switch` inside becomes a row with its track at the far edge, hairlines
1949
+ * divide the rows and a fluid hover highlight melts between them, dropping
1950
+ * the hairlines it touches (as in an outlined Card.Group); a disabled row
1951
+ * gets no highlight. Every switch keeps its own state. `size` pins every
1952
+ * row; name the group with `aria-label` or `aria-labelledby`.
1870
1953
  *
1871
1954
  * @example {@include ./examples.mdx}
1872
1955
  */
1873
- declare const Accordion: AccordionComponent;
1874
- interface AccordionItemProps extends HTMLAttributes14<HTMLDivElement> {
1875
- /** Unique identifier for this item. */
1876
- value: string;
1877
- /** Position index for fluid hover. Required inside `Accordion.Group`, omit for standalone. */
1878
- index?: number;
1879
- /** Whether this item is disabled. Defaults to `false`. */
1880
- disabled?: boolean;
1881
- /** Standalone equivalent of the group's prop: what an open item tints. Ignored inside a group, which decides for all its rows. Defaults to the standalone root's `highlight`, else `"item"`. */
1882
- highlight?: "trigger" | "item";
1883
- /** The item's `Accordion.Trigger` and `Accordion.Content`. */
1884
- children: ReactNode14;
1885
- }
1886
- declare const AccordionItem: ForwardRefExoticComponent6<AccordionItemProps & RefAttributes6<HTMLDivElement>>;
1887
- interface AccordionTriggerProps extends HTMLAttributes14<HTMLButtonElement> {
1888
- /** Trigger label content. */
1889
- children: ReactNode14;
1890
- }
1891
- declare const AccordionTrigger: ForwardRefExoticComponent6<AccordionTriggerProps & RefAttributes6<HTMLButtonElement>>;
1892
- interface AccordionContentProps extends HTMLAttributes14<HTMLDivElement> {
1893
- /** Collapsible content. */
1894
- children: ReactNode14;
1895
- /** How the panel grows out of its row (see Morph): `goo` melts the open tint out of the row through a liquid neck, `morph` grows it without one. Defaults to `'goo'`. */
1896
- effect?: "goo" | "morph";
1897
- /** Spring tier the panel opens on; it closes on the tier's faster exit tween. Defaults to `'slow'`. */
1898
- tier?: "moderate" | "slow";
1956
+ declare const Switch: SwitchComponent;
1957
+ interface SwitchGroupProps extends HTMLAttributes15<HTMLFieldSetElement> {
1958
+ /** `Switch` rows. */
1959
+ children: ReactNode15;
1960
+ /** Pins every row to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider. */
1961
+ size?: SizeVariant;
1899
1962
  }
1900
- declare const AccordionContent: ForwardRefExoticComponent6<AccordionContentProps & RefAttributes6<HTMLDivElement>>;
1901
- import { ForwardRefExoticComponent as ForwardRefExoticComponent7, HTMLAttributes as HTMLAttributes17, ReactNode as ReactNode16, RefAttributes as RefAttributes7 } from "react";
1902
- import { HTMLAttributes as HTMLAttributes15, MutableRefObject, ReactElement as ReactElement3 } from "react";
1963
+ declare const SwitchGroup: ForwardRefExoticComponent7<SwitchGroupProps & RefAttributes7<HTMLFieldSetElement>>;
1964
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent8, HTMLAttributes as HTMLAttributes18, ReactNode as ReactNode17, RefAttributes as RefAttributes8 } from "react";
1965
+ import { HTMLAttributes as HTMLAttributes16, MutableRefObject, ReactElement as ReactElement3 } from "react";
1903
1966
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn10 } from "react";
1904
1967
  import { RefAttributes as RefAttributes_miuf5610 } from "react";
1905
1968
  declare const SIDEBAR_COOKIE_NAME = "sidebar_state";
@@ -1953,7 +2016,7 @@ interface SidebarContextValue {
1953
2016
  setIsResizing: React.Dispatch<React.SetStateAction<boolean>>;
1954
2017
  }
1955
2018
  declare function useSidebar(): SidebarContextValue;
1956
- interface SidebarProviderProps extends HTMLAttributes15<HTMLDivElement> {
2019
+ interface SidebarProviderProps extends HTMLAttributes16<HTMLDivElement> {
1957
2020
  defaultOpen?: boolean;
1958
2021
  open?: boolean;
1959
2022
  onOpenChange?: (open: boolean) => void;
@@ -1981,7 +2044,7 @@ type SidebarTriggerProps = ButtonProps;
1981
2044
  * hover (a dashed glyph), and the hover zone reaches its far side when it
1982
2045
  * sits beside the sidebar's edge. */
1983
2046
  declare const SidebarTrigger: ForwardRefExoticComponent_tcubfn10<ButtonProps & RefAttributes_miuf5610<HTMLButtonElement>>;
1984
- interface SidebarRailProps extends HTMLAttributes15<HTMLButtonElement> {
2047
+ interface SidebarRailProps extends HTMLAttributes16<HTMLButtonElement> {
1985
2048
  /** Pin the tooltip open/closed; `undefined` leaves it on hover. */
1986
2049
  tooltipOpen?: boolean;
1987
2050
  }
@@ -1990,11 +2053,11 @@ interface SidebarRailProps extends HTMLAttributes15<HTMLButtonElement> {
1990
2053
  * its tooltip explains both with the toggle keystroke. Hovering it
1991
2054
  * brightens the edge border. */
1992
2055
  declare const SidebarRail: ForwardRefExoticComponent_tcubfn10<SidebarRailProps & RefAttributes_miuf5610<HTMLButtonElement>>;
1993
- type SidebarInsetProps = HTMLAttributes15<HTMLElement>;
2056
+ type SidebarInsetProps = HTMLAttributes16<HTMLElement>;
1994
2057
  declare const SidebarInset: ForwardRefExoticComponent_tcubfn10<SidebarInsetProps & RefAttributes_miuf5610<HTMLElement>>;
1995
2058
  type SidebarInputProps = React.InputHTMLAttributes<HTMLInputElement>;
1996
2059
  declare const SidebarInput: ForwardRefExoticComponent_tcubfn10<SidebarInputProps & RefAttributes_miuf5610<HTMLInputElement>>;
1997
- type SidebarSectionProps = HTMLAttributes15<HTMLDivElement>;
2060
+ type SidebarSectionProps = HTMLAttributes16<HTMLDivElement>;
1998
2061
  declare const SidebarHeader: ForwardRefExoticComponent_tcubfn10<SidebarSectionProps & RefAttributes_miuf5610<HTMLDivElement>>;
1999
2062
  declare const SidebarFooter: ForwardRefExoticComponent_tcubfn10<SidebarSectionProps & RefAttributes_miuf5610<HTMLDivElement>>;
2000
2063
  declare const SidebarSeparator: ForwardRefExoticComponent_tcubfn10<SidebarSectionProps & RefAttributes_miuf5610<HTMLDivElement>>;
@@ -2008,12 +2071,12 @@ interface SidebarGroupProps extends SidebarSectionProps {
2008
2071
  onOpenChange?: (open: boolean) => void;
2009
2072
  }
2010
2073
  declare const SidebarGroup: ForwardRefExoticComponent_tcubfn10<SidebarGroupProps & RefAttributes_miuf5610<HTMLDivElement>>;
2011
- interface SidebarGroupLabelProps extends HTMLAttributes15<HTMLDivElement> {
2074
+ interface SidebarGroupLabelProps extends HTMLAttributes16<HTMLDivElement> {
2012
2075
  render?: ReactElement3;
2013
2076
  asChild?: boolean;
2014
2077
  }
2015
2078
  declare const SidebarGroupLabel: ForwardRefExoticComponent_tcubfn10<SidebarGroupLabelProps & RefAttributes_miuf5610<HTMLDivElement>>;
2016
- interface SidebarGroupActionProps extends HTMLAttributes15<HTMLButtonElement> {
2079
+ interface SidebarGroupActionProps extends HTMLAttributes16<HTMLButtonElement> {
2017
2080
  render?: ReactElement3;
2018
2081
  asChild?: boolean;
2019
2082
  }
@@ -2021,11 +2084,11 @@ declare const SidebarGroupAction: ForwardRefExoticComponent_tcubfn10<SidebarGrou
2021
2084
  /** Header action cluster: 1–3 SidebarGroupActions laid out in a row over the
2022
2085
  * group label's right edge. Use instead of a lone SidebarGroupAction when a
2023
2086
  * section needs several controls. */
2024
- type SidebarGroupActionsProps = HTMLAttributes15<HTMLDivElement>;
2087
+ type SidebarGroupActionsProps = HTMLAttributes16<HTMLDivElement>;
2025
2088
  declare const SidebarGroupActions: ForwardRefExoticComponent_tcubfn10<SidebarGroupActionsProps & RefAttributes_miuf5610<HTMLDivElement>>;
2026
2089
  declare const SidebarGroupContent: ForwardRefExoticComponent_tcubfn10<SidebarSectionProps & RefAttributes_miuf5610<HTMLDivElement>>;
2027
2090
  import { VariantProps as VariantProps5 } from "class-variance-authority";
2028
- import { AnchorHTMLAttributes, ButtonHTMLAttributes as ButtonHTMLAttributes3, HTMLAttributes as HTMLAttributes16, LiHTMLAttributes, ReactElement as ReactElement4 } from "react";
2091
+ import { AnchorHTMLAttributes, ButtonHTMLAttributes as ButtonHTMLAttributes3, HTMLAttributes as HTMLAttributes17, LiHTMLAttributes, ReactElement as ReactElement4 } from "react";
2029
2092
  import { Context as Context_rri5bl2 } from "react";
2030
2093
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn11 } from "react";
2031
2094
  import { RefAttributes as RefAttributes_miuf5611 } from "react";
@@ -2036,7 +2099,7 @@ interface SidebarSelectionValue {
2036
2099
  select: (value: string) => void;
2037
2100
  }
2038
2101
  declare const SidebarSelection: Context_rri5bl2<SidebarSelectionValue | null>;
2039
- interface SidebarMenuProps extends HTMLAttributes16<HTMLUListElement> {
2102
+ interface SidebarMenuProps extends HTMLAttributes17<HTMLUListElement> {
2040
2103
  /** Pins the menu's rows to one step of the size ladder. Omitted, they
2041
2104
  * follow the surrounding SizeProvider. */
2042
2105
  size?: SizeVariant;
@@ -2088,7 +2151,7 @@ interface SidebarMenuActionProps extends ButtonHTMLAttributes3<HTMLButtonElement
2088
2151
  asChild?: boolean;
2089
2152
  }
2090
2153
  declare const SidebarMenuAction: ForwardRefExoticComponent_tcubfn11<SidebarMenuActionProps & RefAttributes_miuf5611<HTMLButtonElement>>;
2091
- interface SidebarMenuActionsProps extends HTMLAttributes16<HTMLDivElement> {
2154
+ interface SidebarMenuActionsProps extends HTMLAttributes17<HTMLDivElement> {
2092
2155
  /** Hide the cluster until the row is hovered or focused. */
2093
2156
  showOnHover?: boolean;
2094
2157
  }
@@ -2096,13 +2159,13 @@ interface SidebarMenuActionsProps extends HTMLAttributes16<HTMLDivElement> {
2096
2159
  * positioning and publishes the whole count to the row, so the button
2097
2160
  * reserves the exact gutter the cluster occupies. */
2098
2161
  declare const SidebarMenuActions: ForwardRefExoticComponent_tcubfn11<SidebarMenuActionsProps & RefAttributes_miuf5611<HTMLDivElement>>;
2099
- type SidebarMenuBadgeProps = HTMLAttributes16<HTMLDivElement>;
2162
+ type SidebarMenuBadgeProps = HTMLAttributes17<HTMLDivElement>;
2100
2163
  declare const SidebarMenuBadge: ForwardRefExoticComponent_tcubfn11<SidebarMenuBadgeProps & RefAttributes_miuf5611<HTMLDivElement>>;
2101
- interface SidebarMenuSkeletonProps extends HTMLAttributes16<HTMLDivElement> {
2164
+ interface SidebarMenuSkeletonProps extends HTMLAttributes17<HTMLDivElement> {
2102
2165
  showIcon?: boolean;
2103
2166
  }
2104
2167
  declare const SidebarMenuSkeleton: ForwardRefExoticComponent_tcubfn11<SidebarMenuSkeletonProps & RefAttributes_miuf5611<HTMLDivElement>>;
2105
- interface SidebarMenuSubProps extends HTMLAttributes16<HTMLUListElement> {
2168
+ interface SidebarMenuSubProps extends HTMLAttributes17<HTMLUListElement> {
2106
2169
  /** Built-in measured-height collapse. Omitted, the sub-menu follows its
2107
2170
  * `collapsible` row's state, or stays visible without one. */
2108
2171
  open?: boolean;
@@ -2118,7 +2181,7 @@ interface SidebarMenuSubButtonProps extends AnchorHTMLAttributes<HTMLAnchorEleme
2118
2181
  asChild?: boolean;
2119
2182
  }
2120
2183
  declare const SidebarMenuSubButton: ForwardRefExoticComponent_tcubfn11<SidebarMenuSubButtonProps & RefAttributes_miuf5611<HTMLAnchorElement>>;
2121
- interface SidebarProps extends Omit<HTMLAttributes17<HTMLDivElement>, "defaultValue" | "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart" | "onAnimationEnd" | "onAnimationIteration"> {
2184
+ interface SidebarProps extends Omit<HTMLAttributes18<HTMLDivElement>, "defaultValue" | "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart" | "onAnimationEnd" | "onAnimationIteration"> {
2122
2185
  /** The edge it sits on; the shortcut key and the rail mirror it. Defaults to `'left'`. */
2123
2186
  side?: "left" | "right";
2124
2187
  /** `'sidebar'` sits flush with an inner border, `'floating'` lifts it onto its own card one surface level up, `'inset'` makes the main region the card. Defaults to `'sidebar'`. */
@@ -2140,9 +2203,9 @@ interface SidebarProps extends Omit<HTMLAttributes17<HTMLDivElement>, "defaultVa
2140
2203
  /** Extra classes for the sidebar column (`h-full` pins it to a bounded frame). */
2141
2204
  className?: string;
2142
2205
  /** The sidebar's parts: `Sidebar.Header`, `Sidebar.Content`, `Sidebar.Footer`. */
2143
- children?: ReactNode16;
2206
+ children?: ReactNode17;
2144
2207
  }
2145
- type SidebarComponent = ForwardRefExoticComponent7<SidebarProps & RefAttributes7<HTMLDivElement>> & {
2208
+ type SidebarComponent = ForwardRefExoticComponent8<SidebarProps & RefAttributes8<HTMLDivElement>> & {
2146
2209
  Provider: typeof SidebarProvider;
2147
2210
  Trigger: typeof SidebarTrigger;
2148
2211
  Rail: typeof SidebarRail;
@@ -2239,12 +2302,12 @@ type SidebarComponent = ForwardRefExoticComponent7<SidebarProps & RefAttributes7
2239
2302
  * @example {@include ./examples.mdx}
2240
2303
  */
2241
2304
  declare const Sidebar: SidebarComponent;
2242
- interface SidebarContentProps extends HTMLAttributes17<HTMLDivElement> {
2305
+ interface SidebarContentProps extends HTMLAttributes18<HTMLDivElement> {
2243
2306
  viewportClassName?: string;
2244
2307
  }
2245
- declare const SidebarContent: ForwardRefExoticComponent7<SidebarContentProps & RefAttributes7<HTMLDivElement>>;
2308
+ declare const SidebarContent: ForwardRefExoticComponent8<SidebarContentProps & RefAttributes8<HTMLDivElement>>;
2246
2309
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
2247
- import { ComponentPropsWithoutRef, ForwardRefExoticComponent as ForwardRefExoticComponent8, ReactNode as ReactNode17, RefAttributes as RefAttributes8 } from "react";
2310
+ import { ComponentPropsWithoutRef, ForwardRefExoticComponent as ForwardRefExoticComponent9, ReactNode as ReactNode18, RefAttributes as RefAttributes9 } from "react";
2248
2311
  import { TabsListProps as TabsListProps_6iqhkk } from "@base-ui/react";
2249
2312
  interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Root>, "onValueChange" | "value" | "defaultValue" | "onSelect"> {
2250
2313
  /** Controlled active tab value. Takes precedence over selectedIndex. */
@@ -2262,9 +2325,9 @@ interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.R
2262
2325
  /** Pins the segmented control to one step of the size ladder (default 36px outer, compact 28px). Defaults to the surrounding SizeProvider. */
2263
2326
  size?: SizeVariant;
2264
2327
  /** Tabs.List and Tabs.Panel children. */
2265
- children?: ReactNode17;
2328
+ children?: ReactNode18;
2266
2329
  }
2267
- type TabsComponent = ForwardRefExoticComponent8<TabsProps & RefAttributes8<HTMLDivElement>> & {
2330
+ type TabsComponent = ForwardRefExoticComponent9<TabsProps & RefAttributes9<HTMLDivElement>> & {
2268
2331
  List: typeof TabsList;
2269
2332
  Item: typeof TabItem;
2270
2333
  Panel: typeof TabPanel;
@@ -2291,7 +2354,7 @@ type TabsComponent = ForwardRefExoticComponent8<TabsProps & RefAttributes8<HTMLD
2291
2354
  */
2292
2355
  declare const Tabs: TabsComponent;
2293
2356
  type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
2294
- declare const TabsList: ForwardRefExoticComponent8<Omit<Omit<TabsListProps_6iqhkk, "ref"> & RefAttributes8<HTMLDivElement>, "ref"> & RefAttributes8<HTMLDivElement>>;
2357
+ declare const TabsList: ForwardRefExoticComponent9<Omit<Omit<TabsListProps_6iqhkk, "ref"> & RefAttributes9<HTMLDivElement>, "ref"> & RefAttributes9<HTMLDivElement>>;
2295
2358
  interface TabItemProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.Tab> {
2296
2359
  value: string;
2297
2360
  icon?: IconComponent;
@@ -2299,15 +2362,15 @@ interface TabItemProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.Tab
2299
2362
  /** @internal Auto-assigned by TabsList. */
2300
2363
  _index?: number;
2301
2364
  }
2302
- declare const TabItem: ForwardRefExoticComponent8<TabItemProps & RefAttributes8<HTMLButtonElement>>;
2365
+ declare const TabItem: ForwardRefExoticComponent9<TabItemProps & RefAttributes9<HTMLButtonElement>>;
2303
2366
  interface TabPanelProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.Panel> {
2304
2367
  value: string;
2305
2368
  }
2306
- declare const TabPanel: ForwardRefExoticComponent8<TabPanelProps & RefAttributes8<HTMLDivElement>>;
2307
- import { ForwardRefExoticComponent as ForwardRefExoticComponent9, HTMLAttributes as HTMLAttributes18, ReactNode as ReactNode18, RefAttributes as RefAttributes9 } from "react";
2308
- interface TabsSubtleProps extends Omit<HTMLAttributes18<HTMLDivElement>, "onSelect"> {
2369
+ declare const TabPanel: ForwardRefExoticComponent9<TabPanelProps & RefAttributes9<HTMLDivElement>>;
2370
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent10, HTMLAttributes as HTMLAttributes19, ReactNode as ReactNode19, RefAttributes as RefAttributes10 } from "react";
2371
+ interface TabsSubtleProps extends Omit<HTMLAttributes19<HTMLDivElement>, "onSelect"> {
2309
2372
  /** TabsSubtle.Item children, and optionally the TabsSubtle.Panel children they select. */
2310
- children: ReactNode18;
2373
+ children: ReactNode19;
2311
2374
  /** Index of the currently selected tab. Controlled — pair it with `onSelect`. */
2312
2375
  selectedIndex?: number;
2313
2376
  /** Selected tab on first render when uncontrolled. Defaults to `0`. */
@@ -2321,7 +2384,7 @@ interface TabsSubtleProps extends Omit<HTMLAttributes18<HTMLDivElement>, "onSele
2321
2384
  /** Pins the tabs to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
2322
2385
  size?: SizeVariant;
2323
2386
  }
2324
- type TabsSubtleComponent = ForwardRefExoticComponent9<TabsSubtleProps & RefAttributes9<HTMLDivElement>> & {
2387
+ type TabsSubtleComponent = ForwardRefExoticComponent10<TabsSubtleProps & RefAttributes10<HTMLDivElement>> & {
2325
2388
  Item: typeof TabsSubtleItem;
2326
2389
  Panel: typeof TabsSubtlePanel;
2327
2390
  };
@@ -2348,7 +2411,7 @@ type TabsSubtleComponent = ForwardRefExoticComponent9<TabsSubtleProps & RefAttri
2348
2411
  * @example {@include ./examples.mdx}
2349
2412
  */
2350
2413
  declare const TabsSubtle: TabsSubtleComponent;
2351
- interface TabsSubtleItemProps extends HTMLAttributes18<HTMLButtonElement> {
2414
+ interface TabsSubtleItemProps extends HTMLAttributes19<HTMLButtonElement> {
2352
2415
  /** Icon displayed in the tab. */
2353
2416
  icon?: IconComponent;
2354
2417
  /** Text label for the tab. */
@@ -2356,8 +2419,8 @@ interface TabsSubtleItemProps extends HTMLAttributes18<HTMLButtonElement> {
2356
2419
  /** Position index within the tab list. */
2357
2420
  index: number;
2358
2421
  }
2359
- declare const TabsSubtleItem: ForwardRefExoticComponent9<TabsSubtleItemProps & RefAttributes9<HTMLButtonElement>>;
2360
- interface TabsSubtlePanelProps extends HTMLAttributes18<HTMLDivElement> {
2422
+ declare const TabsSubtleItem: ForwardRefExoticComponent10<TabsSubtleItemProps & RefAttributes10<HTMLButtonElement>>;
2423
+ interface TabsSubtlePanelProps extends HTMLAttributes19<HTMLDivElement> {
2361
2424
  /** Index of this panel; rendered only when it matches the selected tab. */
2362
2425
  index: number;
2363
2426
  /** Currently selected tab index. Defaults to the enclosing TabsSubtle's selection. */
@@ -2365,11 +2428,11 @@ interface TabsSubtlePanelProps extends HTMLAttributes18<HTMLDivElement> {
2365
2428
  /** Must match the TabsSubtle idPrefix. Defaults to the enclosing TabsSubtle's prefix. */
2366
2429
  idPrefix?: string;
2367
2430
  /** Panel content, only rendered when selected. */
2368
- children: ReactNode18;
2431
+ children: ReactNode19;
2369
2432
  }
2370
- declare const TabsSubtlePanel: ForwardRefExoticComponent9<TabsSubtlePanelProps & RefAttributes9<HTMLDivElement>>;
2371
- import { ReactNode as ReactNode20 } from "react";
2372
- import { HTMLAttributes as HTMLAttributes19, ReactNode as ReactNode19, RefObject as RefObject11 } from "react";
2433
+ declare const TabsSubtlePanel: ForwardRefExoticComponent10<TabsSubtlePanelProps & RefAttributes10<HTMLDivElement>>;
2434
+ import { ReactNode as ReactNode21 } from "react";
2435
+ import { HTMLAttributes as HTMLAttributes20, ReactNode as ReactNode20, RefObject as RefObject11 } from "react";
2373
2436
  /** What opened the overlay: the pressed trigger and the press point. */
2374
2437
  interface MorphOrigin {
2375
2438
  trigger?: HTMLElement;
@@ -2389,7 +2452,7 @@ declare const useDialogState: () => {
2389
2452
  };
2390
2453
  declare const DialogTrigger: ForwardRefExoticComponent_tcubfn12<SlotProps & RefAttributes_miuf5612<HTMLButtonElement>>;
2391
2454
  declare const DialogClose: ForwardRefExoticComponent_tcubfn12<SlotProps & RefAttributes_miuf5612<HTMLButtonElement>>;
2392
- interface DialogContentProps extends HTMLAttributes19<HTMLDivElement> {
2455
+ interface DialogContentProps extends HTMLAttributes20<HTMLDivElement> {
2393
2456
  /** Width: 400, 540, or 880. Compact regions narrow each by 1 notch: 360,
2394
2457
  * 480, 800. `xl` is the canvas for composed layouts — a sidebar beside a
2395
2458
  * panel — which usually pair it with `className="p-0"` and a fixed
@@ -2418,14 +2481,14 @@ interface DialogContentProps extends HTMLAttributes19<HTMLDivElement> {
2418
2481
  /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'slow'`. */
2419
2482
  tier?: "moderate" | "slow";
2420
2483
  /** Dialog content. Everything inside reads the dialog's surface level as its substrate. */
2421
- children?: ReactNode19;
2484
+ children?: ReactNode20;
2422
2485
  }
2423
2486
  declare const DialogContent: ForwardRefExoticComponent_tcubfn12<DialogContentProps & RefAttributes_miuf5612<HTMLDivElement>>;
2424
2487
  type Element_12xgc16 = JSX_1kxb16["Element"];
2425
- declare function DialogHeader({ className,...props }: HTMLAttributes19<HTMLDivElement>): Element_12xgc16;
2426
- declare function DialogFooter({ className,...props }: HTMLAttributes19<HTMLDivElement>): Element_12xgc16;
2427
- declare const DialogTitle: ForwardRefExoticComponent_tcubfn12<HTMLAttributes19<HTMLHeadingElement> & RefAttributes_miuf5612<HTMLHeadingElement>>;
2428
- declare const DialogDescription: ForwardRefExoticComponent_tcubfn12<HTMLAttributes19<HTMLParagraphElement> & RefAttributes_miuf5612<HTMLParagraphElement>>;
2488
+ declare function DialogHeader({ className,...props }: HTMLAttributes20<HTMLDivElement>): Element_12xgc16;
2489
+ declare function DialogFooter({ className,...props }: HTMLAttributes20<HTMLDivElement>): Element_12xgc16;
2490
+ declare const DialogTitle: ForwardRefExoticComponent_tcubfn12<HTMLAttributes20<HTMLHeadingElement> & RefAttributes_miuf5612<HTMLHeadingElement>>;
2491
+ declare const DialogDescription: ForwardRefExoticComponent_tcubfn12<HTMLAttributes20<HTMLParagraphElement> & RefAttributes_miuf5612<HTMLParagraphElement>>;
2429
2492
  interface DialogStateProps {
2430
2493
  open?: boolean;
2431
2494
  defaultOpen?: boolean;
@@ -2436,7 +2499,7 @@ interface DialogStateProps {
2436
2499
  trigger?: Element;
2437
2500
  event?: Event;
2438
2501
  }) => void;
2439
- }) => ReactNode19;
2502
+ }) => ReactNode20;
2440
2503
  }
2441
2504
  /**
2442
2505
  * A dialog's open state, held here (not in Base UI's Root) because the morph
@@ -2454,7 +2517,7 @@ interface DialogProps {
2454
2517
  /** Traps focus and locks page scroll while open. Defaults to `true`. */
2455
2518
  modal?: boolean;
2456
2519
  /** The trigger and the content — `Dialog.Trigger` plus a `Dialog.Content`. */
2457
- children?: ReactNode19;
2520
+ children?: ReactNode20;
2458
2521
  }
2459
2522
  /**
2460
2523
  * 3 widths, grown out of whatever opened them.
@@ -2501,7 +2564,7 @@ interface AlertDialogProps {
2501
2564
  /** Called when the dialog opens or closes. */
2502
2565
  onOpenChange?: (open: boolean) => void;
2503
2566
  /** The trigger and the content — `AlertDialog.Trigger` plus an `AlertDialog.Content`. */
2504
- children?: ReactNode20;
2567
+ children?: ReactNode21;
2505
2568
  }
2506
2569
  type Element_12xgc17 = JSX_1kxb17["Element"];
2507
2570
  /**
@@ -2522,8 +2585,8 @@ type Element_12xgc17 = JSX_1kxb17["Element"];
2522
2585
  * @example {@include ./examples.mdx}
2523
2586
  */
2524
2587
  declare function AlertDialog({ children, open, defaultOpen, onOpenChange }: AlertDialogProps): Element_12xgc17;
2525
- import { ReactNode as ReactNode22, RefObject as RefObject12 } from "react";
2526
- import { HTMLAttributes as HTMLAttributes20, ReactElement as ReactElement5, ReactNode as ReactNode21 } from "react";
2588
+ import { ReactNode as ReactNode23, RefObject as RefObject12 } from "react";
2589
+ import { HTMLAttributes as HTMLAttributes21, ReactElement as ReactElement5, ReactNode as ReactNode22 } from "react";
2527
2590
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn14 } from "react";
2528
2591
  import { RefAttributes as RefAttributes_miuf5614 } from "react";
2529
2592
  /** What MenuItem hands to the popup's primitive wrapper. `element` is the
@@ -2548,7 +2611,7 @@ interface MenuItemRenderOptions {
2548
2611
  * never sees a handler on the render element. */
2549
2612
  onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
2550
2613
  element: ReactElement5;
2551
- children: ReactNode21;
2614
+ children: ReactNode22;
2552
2615
  }
2553
2616
  interface DropdownContextValue {
2554
2617
  registerItem: (index: number, element: HTMLElement | null) => void;
@@ -2578,7 +2641,7 @@ interface DropdownContextValue {
2578
2641
  declare function useDropdown(): DropdownContextValue;
2579
2642
  /** Null-safe context read for callers that render outside a provider. */
2580
2643
  declare function useDropdownMaybe(): DropdownContextValue | null;
2581
- interface MenuItemProps extends HTMLAttributes20<HTMLDivElement> {
2644
+ interface MenuItemProps extends HTMLAttributes21<HTMLDivElement> {
2582
2645
  /** Optional leading icon. When omitted, the row renders text-only with no
2583
2646
  * reserved icon column. */
2584
2647
  icon?: IconComponent;
@@ -2621,7 +2684,7 @@ interface ContextMenuContentProps {
2621
2684
  /** Extra classes for the menu surface — it is 14rem wide by default. */
2622
2685
  className?: string;
2623
2686
  /** `ContextMenu.Item` rows, plus `ContextMenu.Label` and `ContextMenu.Separator`. */
2624
- children?: ReactNode22;
2687
+ children?: ReactNode23;
2625
2688
  }
2626
2689
  declare const ContextMenuContent: ForwardRefExoticComponent_tcubfn15<ContextMenuContentProps & RefAttributes_miuf5615<HTMLDivElement>>;
2627
2690
  interface ContextMenuProps {
@@ -2636,7 +2699,7 @@ interface ContextMenuProps {
2636
2699
  /** Pins the rows to one step of the size ladder (default 36px, compact 28px — see Sizes). Omitted, they follow the surrounding SizeProvider. */
2637
2700
  size?: SizeVariant;
2638
2701
  /** The area and the menu — `ContextMenu.Trigger` plus a `ContextMenu.Content`. */
2639
- children?: ReactNode22;
2702
+ children?: ReactNode23;
2640
2703
  }
2641
2704
  type Element_12xgc18 = JSX_1kxb18["Element"];
2642
2705
  /**
@@ -2667,8 +2730,8 @@ type Element_12xgc18 = JSX_1kxb18["Element"];
2667
2730
  declare function ContextMenu({ open, defaultOpen, onOpenChange, disabled, size, children }: ContextMenuProps): Element_12xgc18;
2668
2731
  import { MenuTriggerProps } from "@base-ui/react/menu";
2669
2732
  import { Menu as Menu2 } from "@base-ui/react/menu";
2670
- import { ComponentProps, ForwardRefExoticComponent as ForwardRefExoticComponent10, HTMLAttributes as HTMLAttributes22, ReactNode as ReactNode23, RefAttributes as RefAttributes10, RefObject as RefObject14 } from "react";
2671
- import { HTMLAttributes as HTMLAttributes21, InputHTMLAttributes as InputHTMLAttributes4 } from "react";
2733
+ import { ComponentProps, ForwardRefExoticComponent as ForwardRefExoticComponent11, HTMLAttributes as HTMLAttributes23, ReactNode as ReactNode24, RefAttributes as RefAttributes11, RefObject as RefObject14 } from "react";
2734
+ import { HTMLAttributes as HTMLAttributes22, InputHTMLAttributes as InputHTMLAttributes4 } from "react";
2672
2735
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn16 } from "react";
2673
2736
  import { RefAttributes as RefAttributes_miuf5616 } from "react";
2674
2737
  interface DropdownSearchProps extends Omit<InputHTMLAttributes4<HTMLInputElement>, "value" | "onChange" | "size" | "defaultValue"> {
@@ -2687,18 +2750,18 @@ interface DropdownSearchProps extends Omit<InputHTMLAttributes4<HTMLInputElement
2687
2750
  autoFocus?: boolean;
2688
2751
  }
2689
2752
  declare const DropdownSearch: ForwardRefExoticComponent_tcubfn16<DropdownSearchProps & RefAttributes_miuf5616<HTMLInputElement>>;
2690
- declare const DropdownEmpty: ForwardRefExoticComponent_tcubfn16<HTMLAttributes21<HTMLDivElement> & RefAttributes_miuf5616<HTMLDivElement>>;
2753
+ declare const DropdownEmpty: ForwardRefExoticComponent_tcubfn16<HTMLAttributes22<HTMLDivElement> & RefAttributes_miuf5616<HTMLDivElement>>;
2691
2754
  import { JSX as JSX_1kxb19 } from "react";
2692
- interface DropdownProps extends HTMLAttributes22<HTMLDivElement> {
2755
+ interface DropdownProps extends HTMLAttributes23<HTMLDivElement> {
2693
2756
  /** `Dropdown.Item` rows, plus `Dropdown.Label` and `Dropdown.Separator`. */
2694
- children: ReactNode23;
2757
+ children: ReactNode24;
2695
2758
  /** The checked row: drives the animated selected background and the rows' radio semantics. */
2696
2759
  checkedIndex?: number;
2697
2760
  /** Uncontrolled twin of `checkedIndex`: the panel owns the selection, so rows need no `checked` or `onSelect` of their own. */
2698
2761
  defaultCheckedIndex?: number;
2699
2762
  /** Called with the newly checked row, or `undefined` when nothing is checked. */
2700
2763
  onCheckedIndexChange?: (index: number | undefined) => void;
2701
- /** Multiple selection: the checked rows. Rows become checkbox items and contiguous runs share one merged background (see CheckboxGroup). */
2764
+ /** Multiple selection: the checked rows. Rows become checkbox items and contiguous runs share one merged background (see Checkbox.Group). */
2702
2765
  checkedIndices?: number[];
2703
2766
  /** Uncontrolled twin of `checkedIndices`: the panel toggles rows itself. */
2704
2767
  defaultCheckedIndices?: number[];
@@ -2709,7 +2772,7 @@ interface DropdownProps extends HTMLAttributes22<HTMLDivElement> {
2709
2772
  /** Extra classes for the panel surface — it is 18rem wide by default. */
2710
2773
  className?: string;
2711
2774
  }
2712
- type DropdownComponent = ForwardRefExoticComponent10<DropdownProps & RefAttributes10<HTMLDivElement>> & {
2775
+ type DropdownComponent = ForwardRefExoticComponent11<DropdownProps & RefAttributes11<HTMLDivElement>> & {
2713
2776
  Menu2: typeof DropdownMenu;
2714
2777
  Trigger: typeof DropdownTrigger;
2715
2778
  Content: typeof DropdownContent;
@@ -2747,7 +2810,7 @@ type DropdownComponent = ForwardRefExoticComponent10<DropdownProps & RefAttribut
2747
2810
  declare const Dropdown: DropdownComponent;
2748
2811
  interface DropdownMenuProps {
2749
2812
  /** `Dropdown.Trigger` and `Dropdown.Content`. */
2750
- children: ReactNode23;
2813
+ children: ReactNode24;
2751
2814
  /** Controlled open state. Pair with `onOpenChange`. */
2752
2815
  open?: boolean;
2753
2816
  /** Initial open state — uncontrolled. Defaults to `false`. */
@@ -2766,7 +2829,7 @@ declare const DropdownTrigger: Menu2.Trigger;
2766
2829
  type MenuPositionerProps = ComponentProps<typeof Menu2.Positioner>;
2767
2830
  interface DropdownContentProps {
2768
2831
  /** `Dropdown.Item` rows, plus `Dropdown.Label`, `Dropdown.Separator`, `Dropdown.Search`, `Dropdown.Empty`. */
2769
- children: ReactNode23;
2832
+ children: ReactNode24;
2770
2833
  /** Extra classes for the popup surface. */
2771
2834
  className?: string;
2772
2835
  /** Index of the checked item. Drives the animated selected background and
@@ -2778,7 +2841,7 @@ interface DropdownContentProps {
2778
2841
  onCheckedIndexChange?: (index: number | undefined) => void;
2779
2842
  /** Multiple selection: the checked rows. Rows become checkbox items that
2780
2843
  * keep the menu open when toggled, and contiguous runs share one merged
2781
- * background (see CheckboxGroup). */
2844
+ * background (see Checkbox.Group). */
2782
2845
  checkedIndices?: number[];
2783
2846
  /** Uncontrolled twin of `checkedIndices`: the popup toggles rows itself. */
2784
2847
  defaultCheckedIndices?: number[];
@@ -2799,10 +2862,10 @@ interface DropdownContentProps {
2799
2862
  /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
2800
2863
  tier?: "moderate" | "slow";
2801
2864
  }
2802
- declare const DropdownContent: ForwardRefExoticComponent10<DropdownContentProps & RefAttributes10<HTMLDivElement>>;
2803
- declare const DropdownLabel: ForwardRefExoticComponent10<HTMLAttributes22<HTMLDivElement> & RefAttributes10<HTMLDivElement>>;
2804
- declare const DropdownSeparator: ForwardRefExoticComponent10<HTMLAttributes22<HTMLDivElement> & RefAttributes10<HTMLDivElement>>;
2805
- import { HTMLAttributes as HTMLAttributes23, ReactNode as ReactNode24, RefObject as RefObject15 } from "react";
2865
+ declare const DropdownContent: ForwardRefExoticComponent11<DropdownContentProps & RefAttributes11<HTMLDivElement>>;
2866
+ declare const DropdownLabel: ForwardRefExoticComponent11<HTMLAttributes23<HTMLDivElement> & RefAttributes11<HTMLDivElement>>;
2867
+ declare const DropdownSeparator: ForwardRefExoticComponent11<HTMLAttributes23<HTMLDivElement> & RefAttributes11<HTMLDivElement>>;
2868
+ import { HTMLAttributes as HTMLAttributes24, ReactNode as ReactNode25, RefObject as RefObject15 } from "react";
2806
2869
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn17 } from "react";
2807
2870
  import { RefAttributes as RefAttributes_miuf5617 } from "react";
2808
2871
  import { JSX as JSX_1kxb20 } from "react";
@@ -2816,7 +2879,7 @@ interface PopoverTriggerProps extends SlotProps {
2816
2879
  }
2817
2880
  declare const PopoverTrigger: ForwardRefExoticComponent_tcubfn17<PopoverTriggerProps & RefAttributes_miuf5617<HTMLButtonElement>>;
2818
2881
  declare const PopoverClose: ForwardRefExoticComponent_tcubfn17<SlotProps & RefAttributes_miuf5617<HTMLButtonElement>>;
2819
- interface PopoverContentProps extends HTMLAttributes23<HTMLDivElement> {
2882
+ interface PopoverContentProps extends HTMLAttributes24<HTMLDivElement> {
2820
2883
  /** Side of the trigger the panel opens on; it flips when there is no room. Defaults to `'bottom'`. */
2821
2884
  side?: "top" | "right" | "bottom" | "left";
2822
2885
  /** Alignment along that side. Defaults to `'center'`, or `'start'` when the panel opens in place (`effect="morph"` with `hideSource`). */
@@ -2836,11 +2899,11 @@ interface PopoverContentProps extends HTMLAttributes23<HTMLDivElement> {
2836
2899
  /** Classes for the panel's content box: padding, width, layout. */
2837
2900
  className?: string;
2838
2901
  /** The panel's content. Everything inside reads the popover's surface level as its substrate. */
2839
- children?: ReactNode24;
2902
+ children?: ReactNode25;
2840
2903
  }
2841
2904
  declare const PopoverContent: ForwardRefExoticComponent_tcubfn17<PopoverContentProps & RefAttributes_miuf5617<HTMLDivElement>>;
2842
- declare const PopoverTitle: ForwardRefExoticComponent_tcubfn17<HTMLAttributes23<HTMLHeadingElement> & RefAttributes_miuf5617<HTMLHeadingElement>>;
2843
- declare const PopoverDescription: ForwardRefExoticComponent_tcubfn17<HTMLAttributes23<HTMLParagraphElement> & RefAttributes_miuf5617<HTMLParagraphElement>>;
2905
+ declare const PopoverTitle: ForwardRefExoticComponent_tcubfn17<HTMLAttributes24<HTMLHeadingElement> & RefAttributes_miuf5617<HTMLHeadingElement>>;
2906
+ declare const PopoverDescription: ForwardRefExoticComponent_tcubfn17<HTMLAttributes24<HTMLParagraphElement> & RefAttributes_miuf5617<HTMLParagraphElement>>;
2844
2907
  interface PopoverProps {
2845
2908
  /** Controlled open state. Pair with `onOpenChange`. */
2846
2909
  open?: boolean;
@@ -2851,7 +2914,7 @@ interface PopoverProps {
2851
2914
  /** Trap focus and block page interaction while open. Defaults to `false`. */
2852
2915
  modal?: boolean;
2853
2916
  /** The trigger and the panel — `Popover.Trigger` plus a `Popover.Content`. */
2854
- children?: ReactNode24;
2917
+ children?: ReactNode25;
2855
2918
  }
2856
2919
  type Element_12xgc20 = JSX_1kxb20["Element"];
2857
2920
  /**
@@ -2879,7 +2942,7 @@ type Element_12xgc20 = JSX_1kxb20["Element"];
2879
2942
  * @example {@include ./examples.mdx}
2880
2943
  */
2881
2944
  declare function Popover2({ open, defaultOpen, onOpenChange, modal, children }: PopoverProps): Element_12xgc20;
2882
- import { AnchorHTMLAttributes as AnchorHTMLAttributes2, HTMLAttributes as HTMLAttributes24, ReactElement as ReactElement6, ReactNode as ReactNode25, RefObject as RefObject16 } from "react";
2945
+ import { AnchorHTMLAttributes as AnchorHTMLAttributes2, HTMLAttributes as HTMLAttributes25, ReactElement as ReactElement6, ReactNode as ReactNode26, RefObject as RefObject16 } from "react";
2883
2946
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn18 } from "react";
2884
2947
  import { RefAttributes as RefAttributes_miuf5618 } from "react";
2885
2948
  import { JSX as JSX_1kxb21 } from "react";
@@ -2893,10 +2956,10 @@ interface PreviewCardTriggerProps extends AnchorHTMLAttributes2<HTMLAnchorElemen
2893
2956
  /** Extra classes for the link. */
2894
2957
  className?: string;
2895
2958
  /** The link's content. */
2896
- children?: ReactNode25;
2959
+ children?: ReactNode26;
2897
2960
  }
2898
2961
  declare const PreviewCardTrigger: ForwardRefExoticComponent_tcubfn18<PreviewCardTriggerProps & RefAttributes_miuf5618<HTMLAnchorElement>>;
2899
- interface PreviewCardContentProps extends HTMLAttributes24<HTMLDivElement> {
2962
+ interface PreviewCardContentProps extends HTMLAttributes25<HTMLDivElement> {
2900
2963
  /** Side of the link the card opens on; it flips when there is no room. Defaults to `'bottom'`. */
2901
2964
  side?: "top" | "right" | "bottom" | "left";
2902
2965
  /** Alignment along that side. Defaults to `'center'`, or `'start'` when the card opens in place (`effect="morph"` with `hideSource`). */
@@ -2916,7 +2979,7 @@ interface PreviewCardContentProps extends HTMLAttributes24<HTMLDivElement> {
2916
2979
  /** Classes for the card's content box: padding, width, layout. */
2917
2980
  className?: string;
2918
2981
  /** The card's content. Everything inside reads the card's surface level as its substrate. */
2919
- children?: ReactNode25;
2982
+ children?: ReactNode26;
2920
2983
  }
2921
2984
  declare const PreviewCardContent: ForwardRefExoticComponent_tcubfn18<PreviewCardContentProps & RefAttributes_miuf5618<HTMLDivElement>>;
2922
2985
  interface PreviewCardProps {
@@ -2927,7 +2990,7 @@ interface PreviewCardProps {
2927
2990
  /** Called when the card opens or closes. */
2928
2991
  onOpenChange?: (open: boolean) => void;
2929
2992
  /** The link and the card — `PreviewCard.Trigger` plus a `PreviewCard.Content`. */
2930
- children?: ReactNode25;
2993
+ children?: ReactNode26;
2931
2994
  }
2932
2995
  type Element_12xgc21 = JSX_1kxb21["Element"];
2933
2996
  /**
@@ -2953,12 +3016,12 @@ type Element_12xgc21 = JSX_1kxb21["Element"];
2953
3016
  * @example {@include ./examples.mdx}
2954
3017
  */
2955
3018
  declare function PreviewCard({ open, defaultOpen, onOpenChange, children }: PreviewCardProps): Element_12xgc21;
2956
- import { HTMLAttributes as HTMLAttributes25, ReactNode as ReactNode26, RefObject as RefObject17 } from "react";
3019
+ import { HTMLAttributes as HTMLAttributes26, ReactNode as ReactNode27, RefObject as RefObject17 } from "react";
2957
3020
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn19 } from "react";
2958
3021
  import { RefAttributes as RefAttributes_miuf5619 } from "react";
2959
3022
  import { JSX as JSX_1kxb22 } from "react";
2960
3023
  type SheetSide = "top" | "right" | "bottom" | "left";
2961
- interface SheetContentProps extends HTMLAttributes25<HTMLDivElement> {
3024
+ interface SheetContentProps extends HTMLAttributes26<HTMLDivElement> {
2962
3025
  /** Where the sheet grows from (see Morph): its own edge, the pressed trigger, the press point, its center, another edge, or a ref to any element. Defaults to the sheet's `side`. */
2963
3026
  from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject17<HTMLElement | null>;
2964
3027
  /** How it grows (see Morph): with the liquid goo neck, a plain morph, a slide or a fade. Defaults to `'goo'`. */
@@ -2972,10 +3035,10 @@ interface SheetContentProps extends HTMLAttributes25<HTMLDivElement> {
2972
3035
  /** Classes for the sheet's content box: padding, layout. */
2973
3036
  className?: string;
2974
3037
  /** The sheet's content. Everything inside reads the sheet's surface level as its substrate. */
2975
- children?: ReactNode26;
3038
+ children?: ReactNode27;
2976
3039
  }
2977
3040
  declare const SheetContent: ForwardRefExoticComponent_tcubfn19<SheetContentProps & RefAttributes_miuf5619<HTMLDivElement>>;
2978
- declare const SheetIndent: ForwardRefExoticComponent_tcubfn19<HTMLAttributes25<HTMLDivElement> & RefAttributes_miuf5619<HTMLDivElement>>;
3041
+ declare const SheetIndent: ForwardRefExoticComponent_tcubfn19<HTMLAttributes26<HTMLDivElement> & RefAttributes_miuf5619<HTMLDivElement>>;
2979
3042
  interface SheetProps {
2980
3043
  /** Controlled open state. */
2981
3044
  open?: boolean;
@@ -2992,7 +3055,7 @@ interface SheetProps {
2992
3055
  /** Traps focus and locks page scroll while open. Defaults to `true`. */
2993
3056
  modal?: boolean;
2994
3057
  /** The trigger and the content — `Sheet.Trigger` plus a `Sheet.Content`. */
2995
- children?: ReactNode26;
3058
+ children?: ReactNode27;
2996
3059
  }
2997
3060
  type Element_12xgc22 = JSX_1kxb22["Element"];
2998
3061
  /**
@@ -3019,7 +3082,7 @@ type Element_12xgc22 = JSX_1kxb22["Element"];
3019
3082
  * @example {@include ./examples.mdx}
3020
3083
  */
3021
3084
  declare function Sheet({ children, open, defaultOpen, onOpenChange, side, snapPoints, defaultSnapPoint, modal }: SheetProps): Element_12xgc22;
3022
- import { ReactNode as ReactNode27 } from "react";
3085
+ import { ReactNode as ReactNode28 } from "react";
3023
3086
  import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn20 } from "react";
3024
3087
  import { RefAttributes as RefAttributes_miuf5620 } from "react";
3025
3088
  import { JSX as JSX_1kxb23 } from "react";
@@ -3086,7 +3149,7 @@ interface ToastProps {
3086
3149
  /** Ms a toast stays; hovering pauses it. Defaults to `6000`. */
3087
3150
  timeout?: number;
3088
3151
  /** The part of the app that can show toasts, with `Toast.Trigger`s or `useToast()`. */
3089
- children?: ReactNode27;
3152
+ children?: ReactNode28;
3090
3153
  }
3091
3154
  type Element_12xgc23 = JSX_1kxb23["Element"];
3092
3155
  /**
@@ -3116,15 +3179,15 @@ type Element_12xgc23 = JSX_1kxb23["Element"];
3116
3179
  * @example {@include ./examples.mdx}
3117
3180
  */
3118
3181
  declare function Toast({ position, limit, timeout, children }: ToastProps): Element_12xgc23;
3119
- import { ReactNode as ReactNode28, RefObject as RefObject18 } from "react";
3182
+ import { ReactNode as ReactNode29, RefObject as RefObject18 } from "react";
3120
3183
  import { JSX as JSX_1kxb24 } from "react";
3121
3184
  type Element_12xgc24 = JSX_1kxb24["Element"];
3122
3185
  declare function TooltipPortalContainer({ value, children }: {
3123
3186
  value: HTMLElement | null;
3124
- children: ReactNode28;
3187
+ children: ReactNode29;
3125
3188
  }): Element_12xgc24;
3126
3189
  interface TooltipProviderProps {
3127
- children: ReactNode28;
3190
+ children: ReactNode29;
3128
3191
  /** Hover delay before tooltips open, in ms. Defaults to 200. */
3129
3192
  delayDuration?: number;
3130
3193
  /** After a tooltip closes, adjacent tooltips opened within this window
@@ -3139,7 +3202,7 @@ declare function TooltipProvider({ children, delayDuration, skipDelayDuration }:
3139
3202
  type TooltipSide = "top" | "right" | "bottom" | "left";
3140
3203
  interface TooltipProps {
3141
3204
  /** The content displayed inside the tooltip. */
3142
- content: ReactNode28;
3205
+ content: ReactNode29;
3143
3206
  /** The trigger element. Must accept a ref. */
3144
3207
  children: React.ReactElement;
3145
3208
  /** Preferred side of the trigger to render the tooltip on. Defaults to `"top"`. */
@@ -3190,15 +3253,15 @@ interface TooltipProps {
3190
3253
  * @example {@include ./examples.mdx}
3191
3254
  */
3192
3255
  declare function Tooltip({ content, children, side, sideOffset, delayDuration, className, contentClassName, forceOpen, onOpenChange: onOpenChangeProp, followCursor, from, effect, tier }: TooltipProps): Element_12xgc24;
3193
- import { ForwardRefExoticComponent as ForwardRefExoticComponent11, HTMLAttributes as HTMLAttributes26, ReactNode as ReactNode29, RefAttributes as RefAttributes11, TdHTMLAttributes, ThHTMLAttributes } from "react";
3194
- interface TableProps extends HTMLAttributes26<HTMLTableElement> {
3256
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent12, HTMLAttributes as HTMLAttributes27, ReactNode as ReactNode30, RefAttributes as RefAttributes12, TdHTMLAttributes, ThHTMLAttributes } from "react";
3257
+ interface TableProps extends HTMLAttributes27<HTMLTableElement> {
3195
3258
  /** `Table.Header` and `Table.Body` children. */
3196
- children: ReactNode29;
3259
+ children: ReactNode30;
3197
3260
  /** Pins the table's rows to one step of the size ladder (default 36px, compact 28px — see Sizes). Defaults to the surrounding SizeProvider, else `"default"`. */
3198
3261
  size?: SizeVariant;
3199
3262
  }
3200
3263
  /** The root plus its compound parts, typed so `<Table.Row>` type-checks. */
3201
- type TableComponent = ForwardRefExoticComponent11<TableProps & RefAttributes11<HTMLTableElement>> & {
3264
+ type TableComponent = ForwardRefExoticComponent12<TableProps & RefAttributes12<HTMLTableElement>> & {
3202
3265
  Header: typeof TableHeader;
3203
3266
  Body: typeof TableBody;
3204
3267
  Row: typeof TableRow;
@@ -3224,50 +3287,20 @@ type TableComponent = ForwardRefExoticComponent11<TableProps & RefAttributes11<H
3224
3287
  * @example {@include ./examples.mdx}
3225
3288
  */
3226
3289
  declare const Table: TableComponent;
3227
- declare const TableHeader: ForwardRefExoticComponent11<HTMLAttributes26<HTMLTableSectionElement> & RefAttributes11<HTMLTableSectionElement>>;
3228
- declare const TableBody: ForwardRefExoticComponent11<HTMLAttributes26<HTMLTableSectionElement> & RefAttributes11<HTMLTableSectionElement>>;
3229
- interface TableRowProps extends HTMLAttributes26<HTMLTableRowElement> {
3290
+ declare const TableHeader: ForwardRefExoticComponent12<HTMLAttributes27<HTMLTableSectionElement> & RefAttributes12<HTMLTableSectionElement>>;
3291
+ declare const TableBody: ForwardRefExoticComponent12<HTMLAttributes27<HTMLTableSectionElement> & RefAttributes12<HTMLTableSectionElement>>;
3292
+ interface TableRowProps extends HTMLAttributes27<HTMLTableRowElement> {
3230
3293
  index?: number;
3231
3294
  }
3232
- declare const TableRow: ForwardRefExoticComponent11<TableRowProps & RefAttributes11<HTMLTableRowElement>>;
3233
- declare const TableHead: ForwardRefExoticComponent11<ThHTMLAttributes<HTMLTableCellElement> & RefAttributes11<HTMLTableCellElement>>;
3234
- declare const TableCell: ForwardRefExoticComponent11<TdHTMLAttributes<HTMLTableCellElement> & RefAttributes11<HTMLTableCellElement>>;
3235
- import { HTMLAttributes as HTMLAttributes27 } from "react";
3236
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn21 } from "react";
3237
- import { RefAttributes as RefAttributes_miuf5621 } from "react";
3238
- interface ThinkingIndicatorProps extends HTMLAttributes27<HTMLDivElement> {
3239
- /** The look: `shimmer` morphs a circle⇄infinity glyph beside a shimmering label (Fluid Functionalism's), `goo` melts three dots into one blob and splits them again beside a plain label. Defaults to `"shimmer"`. */
3240
- variant?: "shimmer" | "goo";
3241
- /** Show the glyph (or, for `goo`, the dots) before the label. Set to `false` for a text-only indicator (e.g. inline before a streamed reply). Defaults to `true`. */
3242
- showIcon?: boolean;
3243
- /** Step on the size ladder. Wins over the surrounding SizeProvider. Defaults to the provider's step, else `"default"`. */
3244
- size?: SizeVariant;
3245
- }
3246
- /**
3247
- * Animated status indicator with morphing SVG and cycling text — the
3248
- * assistant's working state.
3249
- *
3250
- * A glyph that morphs circle to infinity and back sits next to a shimmering
3251
- * label that cycles Thinking, Moonwalking, Planning, Refining, each word
3252
- * swapped on a spring. The row reserves the width of the longest word, so
3253
- * nothing around it shifts while the words change. One static "Thinking…" is
3254
- * announced to screen readers instead of a re-announcement every four
3255
- * seconds, and reduced motion drops both the morph and the cycling for a
3256
- * still glyph and label.
3257
- *
3258
- * `variant="goo"` swaps the glyph for three dots that melt into one blob and
3259
- * split again through the goo filter (see Morph), beside a plain label;
3260
- * reduced motion holds them split.
3261
- *
3262
- * @example {@include ./examples.mdx}
3263
- */
3264
- declare const ThinkingIndicator: ForwardRefExoticComponent_tcubfn21<ThinkingIndicatorProps & RefAttributes_miuf5621<HTMLDivElement>>;
3265
- import { ReactNode as ReactNode30 } from "react";
3295
+ declare const TableRow: ForwardRefExoticComponent12<TableRowProps & RefAttributes12<HTMLTableRowElement>>;
3296
+ declare const TableHead: ForwardRefExoticComponent12<ThHTMLAttributes<HTMLTableCellElement> & RefAttributes12<HTMLTableCellElement>>;
3297
+ declare const TableCell: ForwardRefExoticComponent12<TdHTMLAttributes<HTMLTableCellElement> & RefAttributes12<HTMLTableCellElement>>;
3298
+ import { ReactNode as ReactNode31 } from "react";
3266
3299
  import { JSX as JSX_1kxb25 } from "react";
3267
3300
  type ShapeVariant = "pill" | "rounded";
3268
3301
  type Element_12xgc25 = JSX_1kxb25["Element"];
3269
3302
  declare function ShapeProvider({ children, defaultShape }: {
3270
- children: ReactNode30;
3303
+ children: ReactNode31;
3271
3304
  defaultShape?: ShapeVariant;
3272
3305
  }): Element_12xgc25;
3273
3306
  import { CnFunction } from "cn";
@@ -3294,12 +3327,12 @@ declare function Code({ children, language, className }: {
3294
3327
  /** Extra classes for the frame. */
3295
3328
  className?: string;
3296
3329
  }): Element_12xgc26;
3297
- import { ReactNode as ReactNode31 } from "react";
3330
+ import { ReactNode as ReactNode32 } from "react";
3298
3331
  interface CraftProps {
3299
3332
  /** The naive version: the same interface with the detail missing. */
3300
- bad: ReactNode31;
3333
+ bad: ReactNode32;
3301
3334
  /** The system's version, with the detail in place. */
3302
- good: ReactNode31;
3335
+ good: ReactNode32;
3303
3336
  /** What goes wrong on the bad side, in one line. */
3304
3337
  badNote?: string;
3305
3338
  /** What the good side does instead, in one line. */
@@ -3307,7 +3340,7 @@ interface CraftProps {
3307
3340
  /** Classes for the root grid. */
3308
3341
  className?: string;
3309
3342
  }
3310
- import { ForwardRefExoticComponent as ForwardRefExoticComponent12, HTMLAttributes as HTMLAttributes28, ReactNode as ReactNode32, RefAttributes as RefAttributes12 } from "react";
3343
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent13, HTMLAttributes as HTMLAttributes28, ReactNode as ReactNode33, RefAttributes as RefAttributes13 } from "react";
3311
3344
  import { Transition as Transition2 } from "motion/react";
3312
3345
  import { Dispatch as Dispatch2, MutableRefObject as MutableRefObject2, RefObject as RefObject19, SetStateAction as SetStateAction2 } from "react";
3313
3346
  interface ItemRect {
@@ -3445,7 +3478,7 @@ interface FluidHoverItemProps extends HTMLAttributes28<HTMLButtonElement> {
3445
3478
  /** Skips the row: never lit, never the target of a gap click. It stays registered, so its neighbours keep their indices. Defaults to `false`. */
3446
3479
  disabled?: boolean;
3447
3480
  /** The row's content — a label, or an icon plus text, or (on `xy`) a title over a description. */
3448
- children?: ReactNode32;
3481
+ children?: ReactNode33;
3449
3482
  /** Classes for the row, merged over the per-axis defaults. */
3450
3483
  className?: string;
3451
3484
  }
@@ -3455,7 +3488,7 @@ interface FluidHoverItemProps extends HTMLAttributes28<HTMLButtonElement> {
3455
3488
  * surrounding `FluidHover` for as long as it is mounted; outside one it is
3456
3489
  * just a button.
3457
3490
  */
3458
- declare const FluidHoverItem: ForwardRefExoticComponent12<FluidHoverItemProps & RefAttributes12<HTMLButtonElement>>;
3491
+ declare const FluidHoverItem: ForwardRefExoticComponent13<FluidHoverItemProps & RefAttributes13<HTMLButtonElement>>;
3459
3492
  interface FluidHoverProps extends HTMLAttributes28<HTMLDivElement> {
3460
3493
  /** Which way the list runs: `'y'` for lists, `'x'` for strips, `'xy'` for grids. Defaults to `'y'`, or `'xy'` when `columns` is above 1. */
3461
3494
  axis?: FluidHoverAxis;
@@ -3464,7 +3497,7 @@ interface FluidHoverProps extends HTMLAttributes28<HTMLDivElement> {
3464
3497
  /** Shorthand rows: one `FluidHover.Item` per string, indexed in order. Omit it and pass `FluidHover.Item` children instead. */
3465
3498
  items?: string[];
3466
3499
  /** Renders the content of a shorthand row. Defaults to the string itself. */
3467
- renderItem?: (item: string, index: number) => ReactNode32;
3500
+ renderItem?: (item: string, index: number) => ReactNode33;
3468
3501
  /** Rows to skip: never lit, never the target of a gap click. They stay registered, so their neighbours keep their indices. */
3469
3502
  disabledIndices?: number[];
3470
3503
  /** Whether a click that lands between rows goes to the lit one, so what is lit is what a click hits. `false` leaves empty space inert; `{ maxDistance }` routes only clicks within that many pixels of the lit row. Defaults to `true`. */
@@ -3476,9 +3509,9 @@ interface FluidHoverProps extends HTMLAttributes28<HTMLDivElement> {
3476
3509
  /** Classes for the list container. Padding here is part of the list: a click in it still lands on the lit row. */
3477
3510
  className?: string;
3478
3511
  /** `FluidHover.Item` rows, when `items` is not enough. Direct Item children are indexed in order. */
3479
- children?: ReactNode32;
3512
+ children?: ReactNode33;
3480
3513
  }
3481
- type FluidHoverComponent = ForwardRefExoticComponent12<FluidHoverProps & RefAttributes12<HTMLDivElement>> & {
3514
+ type FluidHoverComponent = ForwardRefExoticComponent13<FluidHoverProps & RefAttributes13<HTMLDivElement>> & {
3482
3515
  Item: typeof FluidHoverItem;
3483
3516
  };
3484
3517
  /**
@@ -3539,8 +3572,8 @@ type FluidHoverComponent = ForwardRefExoticComponent12<FluidHoverProps & RefAttr
3539
3572
  * @example {@include ./examples.mdx}
3540
3573
  */
3541
3574
  declare const FluidHover: FluidHoverComponent;
3575
+ import { ReactNode as ReactNode35 } from "react";
3542
3576
  import { ReactNode as ReactNode34 } from "react";
3543
- import { ReactNode as ReactNode33 } from "react";
3544
3577
  import { JSX as JSX_1kxb29 } from "react";
3545
3578
  interface MorphPartProps {
3546
3579
  /** Pairs the part in the trigger with its twin in the overlay; unique within one overlay. */
@@ -3548,7 +3581,7 @@ interface MorphPartProps {
3548
3581
  /** Classes for the part's box. */
3549
3582
  className?: string;
3550
3583
  /** The part's content: an image, a title. */
3551
- children?: ReactNode33;
3584
+ children?: ReactNode34;
3552
3585
  }
3553
3586
  type Element_12xgc29 = JSX_1kxb29["Element"];
3554
3587
  declare function MorphPart({ id, className, children }: MorphPartProps): Element_12xgc29;
@@ -3573,7 +3606,7 @@ interface MorphProps {
3573
3606
  /** Extra classes for the stage (trigger + panel). */
3574
3607
  className?: string;
3575
3608
  /** The panel's content. */
3576
- children?: ReactNode34;
3609
+ children?: ReactNode35;
3577
3610
  }
3578
3611
  type Element_12xgc30 = JSX_1kxb30["Element"];
3579
3612
  /**
@@ -3626,7 +3659,7 @@ type Element_12xgc30 = JSX_1kxb30["Element"];
3626
3659
  * ## Liquid indicators
3627
3660
  *
3628
3661
  * The same goo moves everything that travels between items: the active tab
3629
- * of Tabs and TabsSubtle, the Switch thumb, RadioGroup's selection and the
3662
+ * of Tabs and TabsSubtle, the Switch thumb, Radio.Group's selection and the
3630
3663
  * fluid hover highlight of every list (Select, Dropdown, Combobox, Card,
3631
3664
  * Accordion, FluidHover). The indicator springs to its new item and leaves
3632
3665
  * a blob behind. The blob lingers for a third of the spring, then follows
@@ -3634,7 +3667,7 @@ type Element_12xgc30 = JSX_1kxb30["Element"];
3634
3667
  * stretched drop that lets go. A long move tears it into a drop and a
3635
3668
  * droplet that catches up and is absorbed.
3636
3669
  *
3637
- * Merged selections (CheckboxGroup, a multiple Dropdown) melt the same way:
3670
+ * Merged selections (Checkbox.Group, a multiple Dropdown) melt the same way:
3638
3671
  * a checked row grows out of its center and flows into its checked
3639
3672
  * neighbours, and an unchecked one pinches off and shrinks away.
3640
3673
  *
@@ -3665,7 +3698,7 @@ type Element_12xgc30 = JSX_1kxb30["Element"];
3665
3698
  * @example {@include ./examples.mdx}
3666
3699
  */
3667
3700
  declare function Morph2({ from, effect, tier, hideSource, open, defaultOpen, onOpenChange, label, className, children }: MorphProps): Element_12xgc30;
3668
- import { ReactNode as ReactNode35 } from "react";
3701
+ import { ReactNode as ReactNode36 } from "react";
3669
3702
  declare const spring: {
3670
3703
  readonly fast: {
3671
3704
  readonly type: "spring";
@@ -3727,7 +3760,7 @@ interface MotionProps {
3727
3760
  /** Extra classes for the wrapper (stage + trigger column). */
3728
3761
  className?: string;
3729
3762
  /** The content that animates in and out. */
3730
- children: ReactNode35;
3763
+ children: ReactNode36;
3731
3764
  }
3732
3765
  type Element_12xgc31 = JSX_1kxb31["Element"];
3733
3766
  /**
@@ -3779,7 +3812,7 @@ type Element_12xgc31 = JSX_1kxb31["Element"];
3779
3812
  * @example {@include ./examples.mdx}
3780
3813
  */
3781
3814
  declare function Motion({ tier, show, defaultShow, onShowChange, sameExit, reducedMotion, className, children }: MotionProps): Element_12xgc31;
3782
- import { ComponentPropsWithoutRef as ComponentPropsWithoutRef2, ForwardRefExoticComponent as ForwardRefExoticComponent13, ReactNode as ReactNode36, RefAttributes as RefAttributes13 } from "react";
3815
+ import { ComponentPropsWithoutRef as ComponentPropsWithoutRef2, ForwardRefExoticComponent as ForwardRefExoticComponent14, ReactNode as ReactNode37, RefAttributes as RefAttributes14 } from "react";
3783
3816
  import { ScrollAreaScrollbarProps as ScrollAreaScrollbarProps_g9nf4s } from "@base-ui/react";
3784
3817
  type Orientation = "vertical" | "horizontal" | "both";
3785
3818
  interface ScrollAreaProps extends ComponentPropsWithoutRef2<"div"> {
@@ -3790,7 +3823,7 @@ interface ScrollAreaProps extends ComponentPropsWithoutRef2<"div"> {
3790
3823
  /** Classes for the outer container — set the height/width constraint here. */
3791
3824
  className?: string;
3792
3825
  /** The scrolling content. Give it an intrinsic size (`w-max`, `whitespace-nowrap`) to overflow horizontally. */
3793
- children?: ReactNode36;
3826
+ children?: ReactNode37;
3794
3827
  }
3795
3828
  interface ScrollAreaStatics {
3796
3829
  /** `ScrollBar` — one scrollbar, for composing a Base UI scroll area by hand. */
@@ -3817,9 +3850,9 @@ interface ScrollAreaStatics {
3817
3850
  *
3818
3851
  * @example {@include ./examples.mdx}
3819
3852
  */
3820
- declare const ScrollArea: ForwardRefExoticComponent13<ScrollAreaProps & RefAttributes13<HTMLDivElement>> & ScrollAreaStatics;
3821
- declare const ScrollBar: ForwardRefExoticComponent13<Omit<Omit<ScrollAreaScrollbarProps_g9nf4s, "ref"> & RefAttributes13<HTMLDivElement>, "ref"> & RefAttributes13<HTMLDivElement>>;
3822
- import { ReactNode as ReactNode37 } from "react";
3853
+ declare const ScrollArea: ForwardRefExoticComponent14<ScrollAreaProps & RefAttributes14<HTMLDivElement>> & ScrollAreaStatics;
3854
+ declare const ScrollBar: ForwardRefExoticComponent14<Omit<Omit<ScrollAreaScrollbarProps_g9nf4s, "ref"> & RefAttributes14<HTMLDivElement>, "ref"> & RefAttributes14<HTMLDivElement>>;
3855
+ import { ReactNode as ReactNode38 } from "react";
3823
3856
  import { JSX as JSX_1kxb32 } from "react";
3824
3857
  type Element_12xgc32 = JSX_1kxb32["Element"];
3825
3858
  /**
@@ -3834,8 +3867,8 @@ type Element_12xgc32 = JSX_1kxb32["Element"];
3834
3867
  * `SizeProvider` and every sized component inside follows — menus included,
3835
3868
  * since React context crosses portals. Precedence is explicit `size` prop on
3836
3869
  * the component > nearest `SizeProvider` > `'default'`. Button, Badge,
3837
- * Select, Tabs, TabsSubtle, Dropdown, CheckboxGroup, RadioGroup, Input,
3838
- * InputGroup, InputCopy, InputMessage, Table, Switch, Slider, Accordion, Card,
3870
+ * Select, Tabs, TabsSubtle, Dropdown, Checkbox, Radio, Input,
3871
+ * InputGroup, Copy, InputMessage, Table, Switch, Slider, Accordion, Card,
3839
3872
  * ColorPicker, ThinkingIndicator, Calendar and the date and time pickers all
3840
3873
  * take that per-component `size`. Type follows the ladder too: compact drops
3841
3874
  * each type role one notch.
@@ -3849,21 +3882,21 @@ type Element_12xgc32 = JSX_1kxb32["Element"];
3849
3882
  */
3850
3883
  declare function SizeProvider({ children, size, defaultSize }: {
3851
3884
  /** The region whose controls follow the step — popups opened from inside it included. */
3852
- children: ReactNode37;
3885
+ children: ReactNode38;
3853
3886
  /** Controlled variant — pins every control in the subtree to one step, overriding internal state. `'default'` is 36px controls, `'compact'` is 28px. */
3854
3887
  size?: "default" | "compact";
3855
3888
  /** Uncontrolled initial variant, switchable via `useSizeContext().setSize`. Defaults to `'default'`. */
3856
3889
  defaultSize?: "default" | "compact";
3857
3890
  }): Element_12xgc32;
3858
- import { ComponentPropsWithoutRef as ComponentPropsWithoutRef3, ForwardRefExoticComponent as ForwardRefExoticComponent14, ReactNode as ReactNode39, RefAttributes as RefAttributes14 } from "react";
3891
+ import { ComponentPropsWithoutRef as ComponentPropsWithoutRef3, ForwardRefExoticComponent as ForwardRefExoticComponent15, ReactNode as ReactNode40, RefAttributes as RefAttributes15 } from "react";
3859
3892
  declare function surfaceClasses(bgLevel: number, shadowLevel?: number): string;
3860
- import { ReactNode as ReactNode38 } from "react";
3893
+ import { ReactNode as ReactNode39 } from "react";
3861
3894
  import { JSX as JSX_1kxb33 } from "react";
3862
3895
  declare function useSurface(): number;
3863
3896
  type Element_12xgc33 = JSX_1kxb33["Element"];
3864
3897
  declare function SurfaceProvider({ value, children }: {
3865
3898
  value: number;
3866
- children: ReactNode38;
3899
+ children: ReactNode39;
3867
3900
  }): Element_12xgc33;
3868
3901
  interface ElevatedProps extends ComponentPropsWithoutRef3<"div"> {
3869
3902
  /**
@@ -3890,7 +3923,7 @@ interface ElevatedProps extends ComponentPropsWithoutRef3<"div"> {
3890
3923
  /** Merged after the surface classes; radius and padding go here. */
3891
3924
  className?: string;
3892
3925
  /** Content of the surface. Everything inside reads this surface's level as its substrate. */
3893
- children?: ReactNode39;
3926
+ children?: ReactNode40;
3894
3927
  }
3895
3928
  interface ElevatedStatics {
3896
3929
  /** `SurfaceProvider` — set the substrate for a subtree by hand. */
@@ -3922,5 +3955,5 @@ interface ElevatedStatics {
3922
3955
  *
3923
3956
  * @example {@include ./examples.mdx}
3924
3957
  */
3925
- declare const Elevated: ForwardRefExoticComponent14<ElevatedProps & RefAttributes14<HTMLDivElement>> & ElevatedStatics;
3926
- export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogContent, AlertDialogProps, Badge, BadgeColor, BadgeProps, BadgeSize, Button2 as Button, ButtonProps, ButtonSize, Calendar, CalendarProps, Card, CardAction, CardButton, CardButtonProps, CardButtonVariant, CardContent, CardDescription, CardEyebrow, CardFeature, CardFooter, CardGroup, CardGroupProps, CardHeader, CardImage, CardLogo, CardMedia, CardProps, CardTitle, CheckboxGroup, CheckboxGroupProps, CheckboxItem, CheckboxItemProps, Code, ColorFormat, ColorPicker, ColorPickerPopover, ColorPickerPopoverProps, ColorPickerPortalContainer, ColorPickerProps, ColorSwatch, ColorSwatchProps, ColorTile, Combobox, ComboboxChips, ComboboxChipsProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemData, ComboboxItemObject, ComboboxItemProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxValue, Command, CommandContent, CommandContentProps, CommandGroup, CommandItem, CommandItems, CommandList, CommandListRoot, CommandPalette, CommandPaletteProps, CommandProps, CommandShortcut, CommandTrigger, ContextMenu, ContextMenuContent, ContextMenuContentProps, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CraftProps, DatePicker, DatePickerProps, DateRangePicker, DateRangePickerProps, Dialog, DialogClose, DialogSlotProps as DialogCloseProps, DialogContent, DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogProps, DialogState, DialogTitle, DialogTrigger, DialogSlotProps as DialogTriggerProps, Dropdown, DropdownContent, DropdownContentProps, DropdownContextValue, DropdownEmpty, DropdownLabel, DropdownMenu, DropdownMenuProps, DropdownProps, DropdownSearch, DropdownSearchProps, DropdownSeparator, DropdownTrigger, DropdownTriggerProps, DurationPicker, DurationPickerProps, Elevated, ElevatedProps, FileThumbnail, FluidHover, FluidHoverAxis, FluidHoverHighlight, FluidHoverHighlightProps, FluidHoverItem, FluidHoverItemProps, FluidHoverProps, IconProvider, Input2 as Input, InputCopy, InputCopyAlign, InputCopyProps, InputCopyVariant, InputFieldProps, InputGroup, InputGroupProps, InputMessage, InputMessageProps, InputMessageSlotContext, InputMessageStatus, InputProps, ItemRect, Label2 as Label, LabelProps, MenuItem2 as MenuItem, MenuItemRenderOptions, MonthPicker, MonthPickerProps, Morph2 as Morph, MorphPart, MorphProps, Motion, MotionProps, ParsedColor, Popover2 as Popover, PopoverClose, PopoverContent, PopoverContentProps, PopoverDescription, PopoverProps, PopoverTitle, PopoverTrigger, PopoverTriggerProps, PreviewCard, PreviewCardContent, PreviewCardContentProps, PreviewCardProps, PreviewCardTrigger, PreviewCardTriggerProps, QueuedMessage, RadioGroup, RadioGroupProps, RadioItem, RadioItemProps, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_KEYBOARD_SHORTCUT_RIGHT, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_WIDTH, SIDEBAR_WIDTH, SIDEBAR_WIDTH_MOBILE, ScrollArea, ScrollAreaProps, ScrollBar, Search2 as Search, SearchProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectProps, SelectSeparator, SelectTrigger, SelectTriggerProps, ShapeProvider, Sheet, SheetContent, SheetContentProps, SheetIndent, SheetProps, SheetSide, Sidebar, SidebarApp, SidebarAppProps, SidebarCollapsible, SidebarContent, SidebarContentProps, SidebarContextValue, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupActionProps, SidebarGroupActions, SidebarGroupContent, SidebarGroupLabel, SidebarGroupLabelProps, SidebarHeader, SidebarInput, SidebarInputProps, SidebarInset, SidebarInsetProps, SidebarMenu, SidebarMenuAction, SidebarMenuActionProps, SidebarMenuActions, SidebarMenuBadge, SidebarMenuBadgeProps, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeleton, SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailProps, SidebarSectionProps, SidebarSelection, SidebarSelectionValue, SidebarSeparator, SidebarSide, SidebarTrigger, SidebarTriggerProps, SidebarVariant, SizeClasses, SizeProvider, SizeVariant, Slider, SliderComfortable, SliderComfortableProps, SliderProps, SliderValue, SpringTier, SurfaceProvider, Switch, SwitchProps, TabItem, TabItemProps, TabPanel, TabPanelProps, Table, TableBody, TableCell, TableHead, TableHeader, TableProps, TableRow, TableRowProps, Tabs, TabsList, TabsListProps, TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtleItemProps, TabsSubtlePanel, TabsSubtlePanelProps, TabsSubtleProps, ThinkingIndicator, ThinkingIndicatorProps, TimePicker, TimePickerProps, Toast, ToastOptions, ToastPosition, ToastProps, ToastTrigger, ToastTriggerProps, ToastType, Tooltip, TooltipPortalContainer, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipSide, TypeScaleRole, TypeScaleStep, UseFluidHoverOptions, UseFluidHoverReturn, ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cn, fieldVariants as comboboxFieldVariants, exitFallbackMs, parseColor, sidebarMenuButtonVariants, sizeMap, spring, surfaceClasses, triggerVariants, typeScale, useDialogState, useDropdown, useDropdownMaybe, useFluidHover, useRegisterFluidHoverItem, useSidebar, useSize, useSizeContext, useSizeVariant, useSurface, useToast, useTypeScale };
3958
+ declare const Elevated: ForwardRefExoticComponent15<ElevatedProps & RefAttributes15<HTMLDivElement>> & ElevatedStatics;
3959
+ export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogContent, AlertDialogProps, Badge, BadgeColor, BadgeProps, BadgeSize, Button2 as Button, ButtonProps, ButtonSize, Calendar, CalendarProps, Card, CardAction, CardButton, CardButtonProps, CardButtonVariant, CardContent, CardDescription, CardEyebrow, CardFeature, CardFooter, CardGroup, CardGroupProps, CardHeader, CardImage, CardLogo, CardMedia, CardProps, CardTitle, Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps, Code, ColorFormat, ColorPicker, ColorPickerPopover, ColorPickerPopoverProps, ColorPickerPortalContainer, ColorPickerProps, ColorSwatch, ColorSwatchProps, ColorTile, Combobox, ComboboxChips, ComboboxChipsProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemData, ComboboxItemObject, ComboboxItemProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxValue, Command, CommandContent, CommandContentProps, CommandGroup, CommandItem, CommandItems, CommandList, CommandListRoot, CommandPalette, CommandPaletteProps, CommandProps, CommandShortcut, CommandTrigger, ContextMenu, ContextMenuContent, ContextMenuContentProps, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, Copy, CopyAlign, CopyProps, CopyVariant, CraftProps, DatePicker, DatePickerProps, DateRangePicker, DateRangePickerProps, Dialog, DialogClose, DialogSlotProps as DialogCloseProps, DialogContent, DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogProps, DialogState, DialogTitle, DialogTrigger, DialogSlotProps as DialogTriggerProps, Dropdown, DropdownContent, DropdownContentProps, DropdownContextValue, DropdownEmpty, DropdownLabel, DropdownMenu, DropdownMenuProps, DropdownProps, DropdownSearch, DropdownSearchProps, DropdownSeparator, DropdownTrigger, DropdownTriggerProps, DurationPicker, DurationPickerProps, Elevated, ElevatedProps, FileThumbnail, FluidHover, FluidHoverAxis, FluidHoverHighlight, FluidHoverHighlightProps, FluidHoverItem, FluidHoverItemProps, FluidHoverProps, IconProvider, Input2 as Input, InputFieldProps, InputGroup, InputGroupProps, InputMessage, InputMessageProps, InputMessageSlotContext, InputMessageStatus, InputProps, ItemRect, Label2 as Label, LabelProps, MenuItem2 as MenuItem, MenuItemRenderOptions, MonthPicker, MonthPickerProps, Morph2 as Morph, MorphPart, MorphProps, Motion, MotionProps, ParsedColor, Popover2 as Popover, PopoverClose, PopoverContent, PopoverContentProps, PopoverDescription, PopoverProps, PopoverTitle, PopoverTrigger, PopoverTriggerProps, PreviewCard, PreviewCardContent, PreviewCardContentProps, PreviewCardProps, PreviewCardTrigger, PreviewCardTriggerProps, QueuedMessage, Radio, RadioGroup, RadioGroupProps, RadioProps, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_KEYBOARD_SHORTCUT_RIGHT, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_WIDTH, SIDEBAR_WIDTH, SIDEBAR_WIDTH_MOBILE, ScrollArea, ScrollAreaProps, ScrollBar, Search2 as Search, SearchProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectProps, SelectSeparator, SelectTrigger, SelectTriggerProps, ShapeProvider, Sheet, SheetContent, SheetContentProps, SheetIndent, SheetProps, SheetSide, Sidebar, SidebarApp, SidebarAppProps, SidebarCollapsible, SidebarContent, SidebarContentProps, SidebarContextValue, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupActionProps, SidebarGroupActions, SidebarGroupContent, SidebarGroupLabel, SidebarGroupLabelProps, SidebarHeader, SidebarInput, SidebarInputProps, SidebarInset, SidebarInsetProps, SidebarMenu, SidebarMenuAction, SidebarMenuActionProps, SidebarMenuActions, SidebarMenuBadge, SidebarMenuBadgeProps, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeleton, SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailProps, SidebarSectionProps, SidebarSelection, SidebarSelectionValue, SidebarSeparator, SidebarSide, SidebarTrigger, SidebarTriggerProps, SidebarVariant, SizeClasses, SizeProvider, SizeVariant, Slider, SliderComfortable, SliderComfortableProps, SliderProps, SliderValue, SpringTier, SurfaceProvider, Switch, SwitchGroup, SwitchGroupProps, SwitchProps, TabItem, TabItemProps, TabPanel, TabPanelProps, Table, TableBody, TableCell, TableHead, TableHeader, TableProps, TableRow, TableRowProps, Tabs, TabsList, TabsListProps, TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtleItemProps, TabsSubtlePanel, TabsSubtlePanelProps, TabsSubtleProps, ThinkingIndicator, ThinkingIndicatorProps, TimePicker, TimePickerProps, Toast, ToastOptions, ToastPosition, ToastProps, ToastTrigger, ToastTriggerProps, ToastType, Tooltip, TooltipPortalContainer, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipSide, TypeScaleRole, TypeScaleStep, UseFluidHoverOptions, UseFluidHoverReturn, ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cn, fieldVariants as comboboxFieldVariants, exitFallbackMs, parseColor, sidebarMenuButtonVariants, sizeMap, spring, surfaceClasses, triggerVariants, typeScale, useDialogState, useDropdown, useDropdownMaybe, useFluidHover, useRegisterFluidHoverItem, useSidebar, useSize, useSizeContext, useSizeVariant, useSurface, useToast, useTypeScale };