@imfusion/web-ui 0.5.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 (152) hide show
  1. package/README.md +60 -0
  2. package/bin/install-skill.js +180 -0
  3. package/dist/assets/vendors/base-ui.d.ts +8 -0
  4. package/dist/breakpoints/index.d.ts +3 -0
  5. package/dist/breakpoints/min-width.d.ts +9 -0
  6. package/dist/breakpoints/registry.d.ts +19 -0
  7. package/dist/code-qBbqAHK-.js +190 -0
  8. package/dist/codegen/gen-breakpoints-css.d.ts +6 -0
  9. package/dist/codegen/gen-css-types.d.ts +1 -0
  10. package/dist/codegen/gen-token-css.d.ts +6 -0
  11. package/dist/codegen/run.d.ts +1 -0
  12. package/dist/components/app-shell/app-shell.d.ts +66 -0
  13. package/dist/components/app-shell/app-shell.meta.d.ts +2 -0
  14. package/dist/components/app-shell/index.d.ts +2 -0
  15. package/dist/components/button/button.d.ts +30 -0
  16. package/dist/components/button/button.meta.d.ts +2 -0
  17. package/dist/components/button/index.d.ts +2 -0
  18. package/dist/components/callout/callout.d.ts +42 -0
  19. package/dist/components/callout/callout.meta.d.ts +2 -0
  20. package/dist/components/callout/index.d.ts +2 -0
  21. package/dist/components/card/card.d.ts +64 -0
  22. package/dist/components/card/card.meta.d.ts +2 -0
  23. package/dist/components/card/index.d.ts +2 -0
  24. package/dist/components/checkbox/checkbox.d.ts +56 -0
  25. package/dist/components/checkbox/checkbox.meta.d.ts +2 -0
  26. package/dist/components/checkbox/index.d.ts +2 -0
  27. package/dist/components/chip/chip.cva.d.ts +12 -0
  28. package/dist/components/chip/chip.d.ts +11 -0
  29. package/dist/components/chip/chip.meta.d.ts +2 -0
  30. package/dist/components/chip/index.d.ts +2 -0
  31. package/dist/components/chip-link/chip-link.d.ts +17 -0
  32. package/dist/components/chip-link/chip-link.meta.d.ts +2 -0
  33. package/dist/components/chip-link/index.d.ts +2 -0
  34. package/dist/components/code/code.d.ts +60 -0
  35. package/dist/components/code/code.meta.d.ts +2 -0
  36. package/dist/components/code/index.d.ts +2 -0
  37. package/dist/components/collapsible/collapsible.d.ts +57 -0
  38. package/dist/components/collapsible/collapsible.meta.d.ts +2 -0
  39. package/dist/components/collapsible/index.d.ts +2 -0
  40. package/dist/components/copy-button/copy-button.d.ts +21 -0
  41. package/dist/components/copy-button/copy-button.meta.d.ts +2 -0
  42. package/dist/components/copy-button/index.d.ts +2 -0
  43. package/dist/components/drawer/drawer.d.ts +191 -0
  44. package/dist/components/drawer/drawer.meta.d.ts +2 -0
  45. package/dist/components/drawer/index.d.ts +2 -0
  46. package/dist/components/input/index.d.ts +2 -0
  47. package/dist/components/input/input.d.ts +25 -0
  48. package/dist/components/input/input.meta.d.ts +2 -0
  49. package/dist/components/logo/imfusion/imfusion.d.ts +16 -0
  50. package/dist/components/logo/imfusion/index.d.ts +1 -0
  51. package/dist/components/logo/index.d.ts +3 -0
  52. package/dist/components/logo/logo.d.ts +15 -0
  53. package/dist/components/logo/logo.meta.d.ts +2 -0
  54. package/dist/components/navigation-menu/index.d.ts +2 -0
  55. package/dist/components/navigation-menu/navigation-menu.d.ts +20 -0
  56. package/dist/components/navigation-menu/navigation-menu.meta.d.ts +2 -0
  57. package/dist/components/navigation-menu/subs/flyout-link.d.ts +24 -0
  58. package/dist/components/navigation-menu/subs/inline-submenu.d.ts +41 -0
  59. package/dist/components/navigation-menu/subs/link.d.ts +64 -0
  60. package/dist/components/navigation-menu/subs/overlay.d.ts +75 -0
  61. package/dist/components/navigation-menu/subs/shared.d.ts +20 -0
  62. package/dist/components/navigation-menu/subs/structure.d.ts +64 -0
  63. package/dist/components/navigation-menu/subs/trigger.d.ts +47 -0
  64. package/dist/components/popover/index.d.ts +2 -0
  65. package/dist/components/popover/popover.d.ts +181 -0
  66. package/dist/components/popover/popover.meta.d.ts +2 -0
  67. package/dist/components/row/index.d.ts +2 -0
  68. package/dist/components/row/row.d.ts +28 -0
  69. package/dist/components/row/row.meta.d.ts +2 -0
  70. package/dist/components/select/index.d.ts +2 -0
  71. package/dist/components/select/select.d.ts +278 -0
  72. package/dist/components/select/select.meta.d.ts +2 -0
  73. package/dist/components/separator/index.d.ts +2 -0
  74. package/dist/components/separator/separator.d.ts +15 -0
  75. package/dist/components/separator/separator.meta.d.ts +2 -0
  76. package/dist/components/slider/index.d.ts +2 -0
  77. package/dist/components/slider/slider.d.ts +111 -0
  78. package/dist/components/slider/slider.meta.d.ts +2 -0
  79. package/dist/components/spinner/index.d.ts +2 -0
  80. package/dist/components/spinner/spinner.d.ts +19 -0
  81. package/dist/components/spinner/spinner.geometry.d.ts +37 -0
  82. package/dist/components/spinner/spinner.meta.d.ts +2 -0
  83. package/dist/components/stack/index.d.ts +2 -0
  84. package/dist/components/stack/stack.d.ts +18 -0
  85. package/dist/components/stack/stack.meta.d.ts +2 -0
  86. package/dist/components/switch/index.d.ts +2 -0
  87. package/dist/components/switch/switch.d.ts +45 -0
  88. package/dist/components/switch/switch.meta.d.ts +2 -0
  89. package/dist/components/table/index.d.ts +2 -0
  90. package/dist/components/table/table.d.ts +66 -0
  91. package/dist/components/table/table.meta.d.ts +2 -0
  92. package/dist/components/tabs/index.d.ts +2 -0
  93. package/dist/components/tabs/tabs.d.ts +91 -0
  94. package/dist/components/tabs/tabs.meta.d.ts +2 -0
  95. package/dist/components/toggle/index.d.ts +2 -0
  96. package/dist/components/toggle/toggle.d.ts +31 -0
  97. package/dist/components/toggle/toggle.meta.d.ts +2 -0
  98. package/dist/components/toggle-group/index.d.ts +2 -0
  99. package/dist/components/toggle-group/toggle-group.d.ts +30 -0
  100. package/dist/components/toggle-group/toggle-group.meta.d.ts +2 -0
  101. package/dist/components/tooltip/index.d.ts +2 -0
  102. package/dist/components/tooltip/tooltip.d.ts +164 -0
  103. package/dist/components/tooltip/tooltip.meta.d.ts +2 -0
  104. package/dist/components/typo/index.d.ts +2 -0
  105. package/dist/components/typo/typo.d.ts +100 -0
  106. package/dist/components/typo/typo.meta.d.ts +2 -0
  107. package/dist/config.d.ts +8 -0
  108. package/dist/docgen/gen-docgen.d.ts +1 -0
  109. package/dist/docgen/gen-docgen.utils.d.ts +13 -0
  110. package/dist/hooks/index.d.ts +5 -0
  111. package/dist/hooks/use-clipboard.d.ts +12 -0
  112. package/dist/hooks/use-color-scheme.d.ts +31 -0
  113. package/dist/hooks/use-media-query.d.ts +13 -0
  114. package/dist/index.d.ts +38 -0
  115. package/dist/index.js +13103 -0
  116. package/dist/integrations/code-highlight/code-highlight.d.ts +21 -0
  117. package/dist/integrations/code-highlight/code-highlight.meta.d.ts +2 -0
  118. package/dist/integrations/code-highlight/highlighter.d.ts +6 -0
  119. package/dist/integrations/code-highlight/index.d.ts +3 -0
  120. package/dist/integrations/code-highlight.js +97 -0
  121. package/dist/integrations/image-display-options/image-display-options-view.d.ts +22 -0
  122. package/dist/integrations/image-display-options/image-display-options-view.utils.d.ts +40 -0
  123. package/dist/integrations/image-display-options/image-display-options.d.ts +29 -0
  124. package/dist/integrations/image-display-options/image-display-options.meta.d.ts +2 -0
  125. package/dist/integrations/image-display-options/index.d.ts +2 -0
  126. package/dist/integrations/image-display-options.js +319 -0
  127. package/dist/llms/gen-llms.d.ts +1 -0
  128. package/dist/meta-B8C51eyL.js +74 -0
  129. package/dist/provider/index.d.ts +1 -0
  130. package/dist/provider/web-ui-provider.d.ts +6 -0
  131. package/dist/style.css +2 -0
  132. package/dist/tabs-DqBFSqq6.js +3789 -0
  133. package/dist/tokens/apply.d.ts +55 -0
  134. package/dist/tokens/control-registry.d.ts +10 -0
  135. package/dist/tokens/token-registry.d.ts +13 -0
  136. package/dist/tokens/types.d.ts +71 -0
  137. package/dist/tokens/use-token-controls.d.ts +36 -0
  138. package/dist/types/docgen.d.ts +17 -0
  139. package/dist/types/meta.d.ts +108 -0
  140. package/dist/types/theme.d.ts +3 -0
  141. package/package.json +139 -0
  142. package/src/docgen/doc.gen.json +4695 -0
  143. package/src/llms/llms.gen.txt +176 -0
  144. package/src/llms/skills/imf-web-ui/SKILL.md +46 -0
  145. package/src/llms/skills/imf-web-ui-components/SKILL.md +100 -0
  146. package/src/llms/skills/imf-web-ui-frontend-patterns/SKILL.md +67 -0
  147. package/src/llms/skills/imf-web-ui-frontend-patterns/references/react-patterns.md +94 -0
  148. package/src/llms/skills/imf-web-ui-setup/SKILL.md +30 -0
  149. package/src/llms/skills/imf-web-ui-ux/SKILL.md +103 -0
  150. package/src/llms/skills/imf-web-ui-ux/references/forms.md +48 -0
  151. package/src/llms/skills/imf-web-ui-ux/references/usability-heuristics.md +29 -0
  152. package/src/llms/skills/imf-web-ui-ux/references/visual-design.md +38 -0
@@ -0,0 +1,4695 @@
1
+ {
2
+ "app-shell": {
3
+ "root": {
4
+ "name": "AppShell.Root",
5
+ "description": "AppShell — application layout shell.\n\nThe classic dashboard frame: a fixed header, collapsible navbar/aside\nsidebars, an optional footer, and a scrolling main content area. Also called\nan app layout, application frame, dashboard shell, or sidebar layout.\n\nComposed of seven sub-components used with dot-notation: `AppShell.Root` wraps\n`AppShell.Header`, `AppShell.Navbar`, `AppShell.Aside`, `AppShell.Footer`,\n`AppShell.Main`, and (inside a sidebar) `AppShell.Section`.\n\nSizing is CSS-driven — override the `--imf-ui-appshell-*` custom properties\nrather than passing dimension props. Below the responsive breakpoints the\nnavbar (`md`) and aside (`lg`) become sliding overlays toggled via the `open`\nprop; the consumer wires that to a burger button.\n\nCopied and adapted from Mantine's AppShell; no upstream runtime dependency.\nMIT licensed (see Mantine repo).",
6
+ "props": []
7
+ },
8
+ "subComponents": [
9
+ {
10
+ "name": "AppShell.Aside",
11
+ "description": "",
12
+ "props": [
13
+ {
14
+ "name": "open",
15
+ "required": false,
16
+ "type": "boolean",
17
+ "defaultValue": null,
18
+ "description": "Whether the mobile overlay is open. Ignored above the `lg` breakpoint, where the aside is always visible."
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "name": "AppShell.Footer",
24
+ "description": "",
25
+ "props": []
26
+ },
27
+ {
28
+ "name": "AppShell.Header",
29
+ "description": "",
30
+ "props": []
31
+ },
32
+ {
33
+ "name": "AppShell.Main",
34
+ "description": "",
35
+ "props": []
36
+ },
37
+ {
38
+ "name": "AppShell.Navbar",
39
+ "description": "",
40
+ "props": [
41
+ {
42
+ "name": "open",
43
+ "required": false,
44
+ "type": "boolean",
45
+ "defaultValue": null,
46
+ "description": "Whether the mobile overlay is open. Ignored above the `md` breakpoint, where the navbar is always visible."
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "name": "AppShell.Section",
52
+ "description": "",
53
+ "props": [
54
+ {
55
+ "name": "grow",
56
+ "required": false,
57
+ "type": "boolean",
58
+ "defaultValue": null,
59
+ "description": "If set, the section expands to fill the remaining space in its sidebar."
60
+ }
61
+ ]
62
+ }
63
+ ]
64
+ },
65
+ "button": {
66
+ "root": {
67
+ "name": "Button",
68
+ "description": "Button component",
69
+ "props": [
70
+ {
71
+ "name": "chamfer",
72
+ "required": false,
73
+ "type": "boolean | null",
74
+ "defaultValue": "size === \"hero\"",
75
+ "description": ""
76
+ },
77
+ {
78
+ "name": "className",
79
+ "required": false,
80
+ "type": "string | ((state: ButtonState) => string)",
81
+ "defaultValue": null,
82
+ "description": ""
83
+ },
84
+ {
85
+ "name": "endIcon",
86
+ "required": false,
87
+ "type": "ReactNode",
88
+ "defaultValue": null,
89
+ "description": "Trailing slot — typically an icon. When present, the label aligns left and the icon pins right."
90
+ },
91
+ {
92
+ "name": "focusableWhenDisabled",
93
+ "required": false,
94
+ "type": "boolean",
95
+ "defaultValue": "false",
96
+ "description": ""
97
+ },
98
+ {
99
+ "name": "nativeButton",
100
+ "required": false,
101
+ "type": "boolean",
102
+ "defaultValue": "true",
103
+ "description": ""
104
+ },
105
+ {
106
+ "name": "radius",
107
+ "required": false,
108
+ "type": "\"sm\" | \"md\" | \"lg\" | \"none\" | \"round\" | null",
109
+ "defaultValue": "none",
110
+ "description": ""
111
+ },
112
+ {
113
+ "name": "render",
114
+ "required": false,
115
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, ButtonState>",
116
+ "defaultValue": null,
117
+ "description": ""
118
+ },
119
+ {
120
+ "name": "size",
121
+ "required": false,
122
+ "type": "\"sm\" | \"md\" | \"lg\" | \"hero\" | null",
123
+ "defaultValue": "md",
124
+ "description": ""
125
+ },
126
+ {
127
+ "name": "startIcon",
128
+ "required": false,
129
+ "type": "ReactNode",
130
+ "defaultValue": null,
131
+ "description": "Leading slot — typically a label. When present, the label aligns right and the icon pins left."
132
+ },
133
+ {
134
+ "name": "style",
135
+ "required": false,
136
+ "type": "| CSSProperties\n| ((state: ButtonState) => CSSProperties)",
137
+ "defaultValue": null,
138
+ "description": ""
139
+ },
140
+ {
141
+ "name": "variant",
142
+ "required": false,
143
+ "type": "| \"primary\"\n| \"secondary\"\n| \"positive\"\n| \"negative\"\n| \"outline\"\n| \"ghost\"\n| null",
144
+ "defaultValue": "primary",
145
+ "description": ""
146
+ }
147
+ ]
148
+ },
149
+ "subComponents": []
150
+ },
151
+ "callout": {
152
+ "root": {
153
+ "name": "Callout.Root",
154
+ "description": "Callout.Root — the banner container. Sets the `variant` (which tints the\nsurface and colours the icon and text) and lays out a leading `Callout.Icon`\nbeside a text region of `Callout.Title` / `Callout.Description`. `maxWidth`\ncaps the banner so it reads as a block region rather than stretching full\ncontainer width. A persistent element in the content flow — not a transient\nToast, not a modal Alert Dialog.",
155
+ "props": [
156
+ {
157
+ "name": "maxWidth",
158
+ "required": false,
159
+ "type": "\"sm\" | \"md\" | \"lg\" | \"full\" | null",
160
+ "defaultValue": "md",
161
+ "description": ""
162
+ },
163
+ {
164
+ "name": "variant",
165
+ "required": false,
166
+ "type": "| \"info\"\n| \"positive\"\n| \"warning\"\n| \"negative\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
167
+ "defaultValue": "info",
168
+ "description": ""
169
+ }
170
+ ]
171
+ },
172
+ "subComponents": [
173
+ {
174
+ "name": "Callout.Description",
175
+ "description": "Callout.Description — the message body, set in the editorial (grotesk) body voice.",
176
+ "props": []
177
+ },
178
+ {
179
+ "name": "Callout.Icon",
180
+ "description": "Callout.Icon — the leading status glyph. With no children it renders the\nvariant's default lucide icon; pass a custom icon as children to override.\n`aria-hidden` (the variant is conveyed by copy, not the glyph) and inherits\nthe status colour via `currentColor`.",
181
+ "props": []
182
+ },
183
+ {
184
+ "name": "Callout.Title",
185
+ "description": "Callout.Title — an optional short heading, set in the semi-mono UPPERCASE technical voice.",
186
+ "props": []
187
+ }
188
+ ]
189
+ },
190
+ "card": {
191
+ "root": {
192
+ "name": "Card.Root",
193
+ "description": "Card.Root — a surface container composed of slots: an optional `Card.Image`\n(bleeds edge-to-edge, no padding), then `Card.Header` / `Card.Content` /\n`Card.Footer`. `density` sets one scale that drives both each slot's padding\nand the gap between slots. `variant` picks the look — neutral tonal surfaces\n(`main`/`support`/`minor`) carry a hairline border; coloured intent fills\n(`primary`/`brand`) flip to contrast text and drop the border. `shadow` and\n`radius` layer on top. Also called a panel, tile, or paper.\n\nThe image is always the first entry in the stack, so `orientation` just\nswitches the stack between a column and a row without reordering slots.\n\nThe ImFusion brand ships flat (`shadow=\"none\"`), but the shadow scale is a\nfirst-class opt-in axis for third-party consumers. `shadow` picks the elevation\nlevel only — how hard or spread that shadow reads is a global lighting decision,\nowned by the `--imf-ui-shadow-hardness` / `--imf-ui-shadow-spread` tokens.",
194
+ "props": [
195
+ {
196
+ "name": "density",
197
+ "required": false,
198
+ "type": "\"compact\" | \"comfortable\" | \"spacious\" | null",
199
+ "defaultValue": "comfortable",
200
+ "description": ""
201
+ },
202
+ {
203
+ "name": "orientation",
204
+ "required": false,
205
+ "type": "\"vertical\" | \"horizontal\" | null",
206
+ "defaultValue": "vertical",
207
+ "description": ""
208
+ },
209
+ {
210
+ "name": "radius",
211
+ "required": false,
212
+ "type": "\"brand\" | \"sm\" | \"md\" | \"lg\" | null",
213
+ "defaultValue": "brand",
214
+ "description": ""
215
+ },
216
+ {
217
+ "name": "shadow",
218
+ "required": false,
219
+ "type": "\"none\" | \"sm\" | \"md\" | \"lg\" | null",
220
+ "defaultValue": "lg",
221
+ "description": ""
222
+ },
223
+ {
224
+ "name": "variant",
225
+ "required": false,
226
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"primary\"\n| \"brand\"\n| null",
227
+ "defaultValue": "main",
228
+ "description": ""
229
+ },
230
+ {
231
+ "name": "withBorder",
232
+ "required": false,
233
+ "type": "boolean",
234
+ "defaultValue": "true",
235
+ "description": ""
236
+ }
237
+ ]
238
+ },
239
+ "subComponents": [
240
+ {
241
+ "name": "Card.Content",
242
+ "description": "Card.Content — the padded main body of the card.",
243
+ "props": []
244
+ },
245
+ {
246
+ "name": "Card.Footer",
247
+ "description": "Card.Footer — the padded action region at the bottom. Its background inherits\nthe card fill by default; override `background` in `style` for a distinct\naction bar.",
248
+ "props": []
249
+ },
250
+ {
251
+ "name": "Card.Header",
252
+ "description": "Card.Header — the padded title region at the top of the card body.",
253
+ "props": []
254
+ },
255
+ {
256
+ "name": "Card.Image",
257
+ "description": "Card.Image — an edge-to-edge media slot. Has no padding, so the image bleeds\nto the card edges. Always place it first among the slots.",
258
+ "props": []
259
+ }
260
+ ]
261
+ },
262
+ "checkbox": {
263
+ "root": {
264
+ "name": "Checkbox.Root",
265
+ "description": "Checkbox.Root — binary form control; renders a `<span>` plus a hidden `<input>`.",
266
+ "props": [
267
+ {
268
+ "name": "checked",
269
+ "required": false,
270
+ "type": "boolean",
271
+ "defaultValue": null,
272
+ "description": ""
273
+ },
274
+ {
275
+ "name": "className",
276
+ "required": false,
277
+ "type": "string | ((state: CheckboxRootState) => string)",
278
+ "defaultValue": null,
279
+ "description": ""
280
+ },
281
+ {
282
+ "name": "disabled",
283
+ "required": false,
284
+ "type": "boolean",
285
+ "defaultValue": "false",
286
+ "description": ""
287
+ },
288
+ {
289
+ "name": "form",
290
+ "required": false,
291
+ "type": "string",
292
+ "defaultValue": null,
293
+ "description": ""
294
+ },
295
+ {
296
+ "name": "indeterminate",
297
+ "required": false,
298
+ "type": "boolean",
299
+ "defaultValue": "false",
300
+ "description": ""
301
+ },
302
+ {
303
+ "name": "inputRef",
304
+ "required": false,
305
+ "type": "Ref<HTMLInputElement>",
306
+ "defaultValue": null,
307
+ "description": ""
308
+ },
309
+ {
310
+ "name": "name",
311
+ "required": false,
312
+ "type": "string",
313
+ "defaultValue": null,
314
+ "description": ""
315
+ },
316
+ {
317
+ "name": "nativeButton",
318
+ "required": false,
319
+ "type": "boolean",
320
+ "defaultValue": "false",
321
+ "description": ""
322
+ },
323
+ {
324
+ "name": "onCheckedChange",
325
+ "required": false,
326
+ "type": "(\n checked: boolean,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
327
+ "defaultValue": null,
328
+ "description": ""
329
+ },
330
+ {
331
+ "name": "parent",
332
+ "required": false,
333
+ "type": "boolean",
334
+ "defaultValue": "false",
335
+ "description": ""
336
+ },
337
+ {
338
+ "name": "readOnly",
339
+ "required": false,
340
+ "type": "boolean",
341
+ "defaultValue": "false",
342
+ "description": ""
343
+ },
344
+ {
345
+ "name": "render",
346
+ "required": false,
347
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CheckboxRootState>",
348
+ "defaultValue": null,
349
+ "description": ""
350
+ },
351
+ {
352
+ "name": "required",
353
+ "required": false,
354
+ "type": "boolean",
355
+ "defaultValue": "false",
356
+ "description": ""
357
+ },
358
+ {
359
+ "name": "style",
360
+ "required": false,
361
+ "type": "| CSSProperties\n| ((state: CheckboxRootState) => CSSProperties)",
362
+ "defaultValue": null,
363
+ "description": ""
364
+ },
365
+ {
366
+ "name": "uncheckedValue",
367
+ "required": false,
368
+ "type": "string",
369
+ "defaultValue": null,
370
+ "description": ""
371
+ },
372
+ {
373
+ "name": "value",
374
+ "required": false,
375
+ "type": "string",
376
+ "defaultValue": null,
377
+ "description": ""
378
+ }
379
+ ]
380
+ },
381
+ "subComponents": [
382
+ {
383
+ "name": "Checkbox.Indicator",
384
+ "description": "Checkbox.Indicator — shows the checked / indeterminate mark. Ships brand\nicons by default (check, and a minus while `indeterminate`); pass children\nto replace them.",
385
+ "props": [
386
+ {
387
+ "name": "className",
388
+ "required": false,
389
+ "type": "| string\n| ((state: CheckboxIndicatorState) => string)",
390
+ "defaultValue": null,
391
+ "description": ""
392
+ },
393
+ {
394
+ "name": "keepMounted",
395
+ "required": false,
396
+ "type": "boolean",
397
+ "defaultValue": "false",
398
+ "description": ""
399
+ },
400
+ {
401
+ "name": "render",
402
+ "required": false,
403
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CheckboxIndicatorState>",
404
+ "defaultValue": null,
405
+ "description": ""
406
+ },
407
+ {
408
+ "name": "style",
409
+ "required": false,
410
+ "type": "| CSSProperties\n| ((state: CheckboxIndicatorState) => CSSProperties)",
411
+ "defaultValue": null,
412
+ "description": ""
413
+ }
414
+ ]
415
+ }
416
+ ]
417
+ },
418
+ "chip": {
419
+ "root": {
420
+ "name": "Chip",
421
+ "description": "Chip — compact inline label for status or category.\nNot based on any upstream component.",
422
+ "props": [
423
+ {
424
+ "name": "appearance",
425
+ "required": false,
426
+ "type": "\"outline\" | \"solid\" | \"subtle\" | null",
427
+ "defaultValue": "outline",
428
+ "description": ""
429
+ },
430
+ {
431
+ "name": "inline",
432
+ "required": false,
433
+ "type": "boolean | null",
434
+ "defaultValue": "false",
435
+ "description": ""
436
+ },
437
+ {
438
+ "name": "variant",
439
+ "required": false,
440
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
441
+ "defaultValue": "minor",
442
+ "description": ""
443
+ }
444
+ ]
445
+ },
446
+ "subComponents": []
447
+ },
448
+ "chip-link": {
449
+ "root": {
450
+ "name": "ChipLink",
451
+ "description": "ChipLink — anchor styled as a Chip. Reuses Chip's shared variants so the\nvariant and appearance axes stay aligned, and auto-appends a directional icon\n(Lucide `ArrowUpRight` for external, `ArrowRight` for internal).",
452
+ "props": [
453
+ {
454
+ "name": "appearance",
455
+ "required": false,
456
+ "type": "\"outline\" | \"solid\" | \"subtle\" | null",
457
+ "defaultValue": "subtle",
458
+ "description": ""
459
+ },
460
+ {
461
+ "name": "inline",
462
+ "required": false,
463
+ "type": "boolean | null",
464
+ "defaultValue": "false",
465
+ "description": ""
466
+ },
467
+ {
468
+ "name": "kind",
469
+ "required": false,
470
+ "type": "ChipLinkKind",
471
+ "defaultValue": "external",
472
+ "description": "Link target scope. `\"external\"` (default) opens in a new tab with a diagonal `ArrowUpRight` icon; `\"internal\"` stays in the current tab with a horizontal `ArrowRight` icon."
473
+ },
474
+ {
475
+ "name": "variant",
476
+ "required": false,
477
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
478
+ "defaultValue": "info",
479
+ "description": ""
480
+ }
481
+ ]
482
+ },
483
+ "subComponents": []
484
+ },
485
+ "code": {
486
+ "root": {
487
+ "name": "Code",
488
+ "description": "",
489
+ "props": []
490
+ },
491
+ "subComponents": [
492
+ {
493
+ "name": "Code.Block",
494
+ "description": "Code.Block — a fenced code block on a flat brand surface, with an optional\nchamfered language notch (top-left) and a copy button (top-right). The\nsurface follows the global corner-radius token when a preset opts in.\nDumb: styling only — syntax coloring arrives pre-rendered through the\n`highlighted` slot (the code-highlight integration supplies it). Children\nmust be a string so the copy button has clean text to copy.",
495
+ "props": [
496
+ {
497
+ "name": "children",
498
+ "required": true,
499
+ "type": "string",
500
+ "defaultValue": null,
501
+ "description": "The code to display, as a raw string — also the value copied by the copy button."
502
+ },
503
+ {
504
+ "name": "hideCopy",
505
+ "required": false,
506
+ "type": "boolean",
507
+ "defaultValue": "false",
508
+ "description": "Hide the copy button."
509
+ },
510
+ {
511
+ "name": "highlighted",
512
+ "required": false,
513
+ "type": "ReactNode",
514
+ "defaultValue": null,
515
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
516
+ },
517
+ {
518
+ "name": "language",
519
+ "required": false,
520
+ "type": "string",
521
+ "defaultValue": null,
522
+ "description": "Language label shown in the corner notch. Omit to hide the notch."
523
+ }
524
+ ]
525
+ },
526
+ {
527
+ "name": "Code.Inline",
528
+ "description": "Code.Inline — an inline code fragment (a `<code>` chip) for use inside running\ntext. Dumb: styling only — syntax coloring arrives pre-rendered through the\n`highlighted` slot (the code-highlight integration supplies it). `Typo.InlineCode`\nrenders this under the hood so inline-code chrome is defined in one place.\nChildren must be a string so an opted-in copy button has clean text to copy.",
529
+ "props": [
530
+ {
531
+ "name": "children",
532
+ "required": true,
533
+ "type": "string",
534
+ "defaultValue": null,
535
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
536
+ },
537
+ {
538
+ "name": "copyable",
539
+ "required": false,
540
+ "type": "boolean",
541
+ "defaultValue": "false",
542
+ "description": "Show a small copy button on the right, behind a hairline separator."
543
+ },
544
+ {
545
+ "name": "highlighted",
546
+ "required": false,
547
+ "type": "ReactNode",
548
+ "defaultValue": null,
549
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
550
+ }
551
+ ]
552
+ },
553
+ {
554
+ "name": "Code.InlineLink",
555
+ "description": "Code.InlineLink — the inline-code chip rendered as a link: the same hairline\nbox, with a directional arrow behind the separator instead of a copy button.\nSibling of `Code.Inline`, sharing its chip visual (`.inline`) — never both a\ncopy button and a link on the same chip. Mirrors `ChipLink`'s shape (anchor\nis the chip root, trailing icon nudges on hover, `data-kind` picks the icon).",
556
+ "props": [
557
+ {
558
+ "name": "children",
559
+ "required": true,
560
+ "type": "string",
561
+ "defaultValue": null,
562
+ "description": "The link text, as a raw string, rendered as a code fragment."
563
+ },
564
+ {
565
+ "name": "kind",
566
+ "required": false,
567
+ "type": "CodeInlineLinkKind",
568
+ "defaultValue": "external",
569
+ "description": "Link target scope. `\"external\"` (default) opens in a new tab with a diagonal `ArrowUpRight` icon; `\"internal\"` stays in the current tab with a horizontal `ArrowRight` icon."
570
+ }
571
+ ]
572
+ }
573
+ ]
574
+ },
575
+ "collapsible": {
576
+ "root": {
577
+ "name": "Collapsible.Root",
578
+ "description": "Collapsible.Root — container that manages open/closed state for a trigger–panel pair.",
579
+ "props": [
580
+ {
581
+ "name": "className",
582
+ "required": false,
583
+ "type": "| string\n| ((state: CollapsibleRootState) => string)",
584
+ "defaultValue": null,
585
+ "description": ""
586
+ },
587
+ {
588
+ "name": "defaultOpen",
589
+ "required": false,
590
+ "type": "boolean",
591
+ "defaultValue": "false",
592
+ "description": ""
593
+ },
594
+ {
595
+ "name": "disabled",
596
+ "required": false,
597
+ "type": "boolean",
598
+ "defaultValue": "false",
599
+ "description": ""
600
+ },
601
+ {
602
+ "name": "onOpenChange",
603
+ "required": false,
604
+ "type": "(\n open: boolean,\n eventDetails: CollapsibleRootChangeEventDetails\n) => void",
605
+ "defaultValue": null,
606
+ "description": ""
607
+ },
608
+ {
609
+ "name": "open",
610
+ "required": false,
611
+ "type": "boolean",
612
+ "defaultValue": null,
613
+ "description": ""
614
+ },
615
+ {
616
+ "name": "render",
617
+ "required": false,
618
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CollapsibleRootState>",
619
+ "defaultValue": null,
620
+ "description": ""
621
+ },
622
+ {
623
+ "name": "style",
624
+ "required": false,
625
+ "type": "| CSSProperties\n| ((state: CollapsibleRootState) => CSSProperties)",
626
+ "defaultValue": null,
627
+ "description": ""
628
+ },
629
+ {
630
+ "name": "variant",
631
+ "required": false,
632
+ "type": "\"default\" | \"solid\" | null",
633
+ "defaultValue": "default",
634
+ "description": ""
635
+ }
636
+ ]
637
+ },
638
+ "subComponents": [
639
+ {
640
+ "name": "Collapsible.Panel",
641
+ "description": "Collapsible.Panel — region that expands and collapses when the trigger is activated.",
642
+ "props": [
643
+ {
644
+ "name": "className",
645
+ "required": false,
646
+ "type": "| string\n| ((state: CollapsiblePanelState) => string)",
647
+ "defaultValue": null,
648
+ "description": ""
649
+ },
650
+ {
651
+ "name": "hiddenUntilFound",
652
+ "required": false,
653
+ "type": "boolean",
654
+ "defaultValue": "false",
655
+ "description": ""
656
+ },
657
+ {
658
+ "name": "keepMounted",
659
+ "required": false,
660
+ "type": "boolean",
661
+ "defaultValue": "false",
662
+ "description": ""
663
+ },
664
+ {
665
+ "name": "render",
666
+ "required": false,
667
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CollapsiblePanelState>",
668
+ "defaultValue": null,
669
+ "description": ""
670
+ },
671
+ {
672
+ "name": "style",
673
+ "required": false,
674
+ "type": "| CSSProperties\n| ((state: CollapsiblePanelState) => CSSProperties)",
675
+ "defaultValue": null,
676
+ "description": ""
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "name": "Collapsible.Trigger",
682
+ "description": "Collapsible.Trigger — button that toggles the panel open and closed.",
683
+ "props": [
684
+ {
685
+ "name": "className",
686
+ "required": false,
687
+ "type": "| string\n| ((state: CollapsibleTriggerState) => string)",
688
+ "defaultValue": null,
689
+ "description": ""
690
+ },
691
+ {
692
+ "name": "nativeButton",
693
+ "required": false,
694
+ "type": "boolean",
695
+ "defaultValue": "true",
696
+ "description": ""
697
+ },
698
+ {
699
+ "name": "render",
700
+ "required": false,
701
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, CollapsibleTriggerState>",
702
+ "defaultValue": null,
703
+ "description": ""
704
+ },
705
+ {
706
+ "name": "style",
707
+ "required": false,
708
+ "type": "| CSSProperties\n| ((state: CollapsibleTriggerState) => CSSProperties)",
709
+ "defaultValue": null,
710
+ "description": ""
711
+ }
712
+ ]
713
+ }
714
+ ]
715
+ },
716
+ "copy-button": {
717
+ "root": {
718
+ "name": "CopyButton",
719
+ "description": "CopyButton — a Button that copies `value` to the clipboard and shows a\ntransient confirmation (Copy → Check). Composes Button rather than rendering\nits own element, so all Button variants and native attributes pass through.",
720
+ "props": [
721
+ {
722
+ "name": "chamfer",
723
+ "required": false,
724
+ "type": "boolean | null",
725
+ "defaultValue": null,
726
+ "description": ""
727
+ },
728
+ {
729
+ "name": "className",
730
+ "required": false,
731
+ "type": "string | ((state: ButtonState) => string)",
732
+ "defaultValue": null,
733
+ "description": ""
734
+ },
735
+ {
736
+ "name": "copiedLabel",
737
+ "required": false,
738
+ "type": "string",
739
+ "defaultValue": "Copied",
740
+ "description": "Accessible label shown briefly after a successful copy."
741
+ },
742
+ {
743
+ "name": "endIcon",
744
+ "required": false,
745
+ "type": "ReactNode",
746
+ "defaultValue": null,
747
+ "description": "Trailing slot — typically an icon. When present, the label aligns left and the icon pins right."
748
+ },
749
+ {
750
+ "name": "focusableWhenDisabled",
751
+ "required": false,
752
+ "type": "boolean",
753
+ "defaultValue": "false",
754
+ "description": ""
755
+ },
756
+ {
757
+ "name": "label",
758
+ "required": false,
759
+ "type": "string",
760
+ "defaultValue": "Copy",
761
+ "description": "Accessible label in the idle state."
762
+ },
763
+ {
764
+ "name": "nativeButton",
765
+ "required": false,
766
+ "type": "boolean",
767
+ "defaultValue": "true",
768
+ "description": ""
769
+ },
770
+ {
771
+ "name": "radius",
772
+ "required": false,
773
+ "type": "\"sm\" | \"md\" | \"lg\" | \"none\" | \"round\" | null",
774
+ "defaultValue": null,
775
+ "description": ""
776
+ },
777
+ {
778
+ "name": "render",
779
+ "required": false,
780
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, ButtonState>",
781
+ "defaultValue": null,
782
+ "description": ""
783
+ },
784
+ {
785
+ "name": "size",
786
+ "required": false,
787
+ "type": "\"sm\" | \"md\" | \"lg\" | \"hero\" | null",
788
+ "defaultValue": "sm",
789
+ "description": ""
790
+ },
791
+ {
792
+ "name": "startIcon",
793
+ "required": false,
794
+ "type": "ReactNode",
795
+ "defaultValue": null,
796
+ "description": "Leading slot — typically a label. When present, the label aligns right and the icon pins left."
797
+ },
798
+ {
799
+ "name": "style",
800
+ "required": false,
801
+ "type": "| CSSProperties\n| ((state: ButtonState) => CSSProperties)",
802
+ "defaultValue": null,
803
+ "description": ""
804
+ },
805
+ {
806
+ "name": "variant",
807
+ "required": false,
808
+ "type": "| \"primary\"\n| \"secondary\"\n| \"positive\"\n| \"negative\"\n| \"outline\"\n| \"ghost\"\n| null",
809
+ "defaultValue": "secondary",
810
+ "description": "Variant to use for the button."
811
+ }
812
+ ]
813
+ },
814
+ "subComponents": []
815
+ },
816
+ "drawer": {
817
+ "root": {
818
+ "name": "Drawer.Root",
819
+ "description": "Drawer.Root — container that manages open/closed state and gesture interaction.",
820
+ "props": [
821
+ {
822
+ "name": "borderColor",
823
+ "required": false,
824
+ "type": "BorderColor",
825
+ "defaultValue": "primary",
826
+ "description": "Colour of the border on the panel's open edge. Inherited by Drawer.Popup;\na Popup-level prop overrides it."
827
+ },
828
+ {
829
+ "name": "borderStyle",
830
+ "required": false,
831
+ "type": "BorderStyle",
832
+ "defaultValue": "solid",
833
+ "description": "Stroke style of the border on the panel's open edge. Inherited by\nDrawer.Popup; a Popup-level prop overrides it."
834
+ },
835
+ {
836
+ "name": "defaultOpen",
837
+ "required": false,
838
+ "type": "boolean",
839
+ "defaultValue": "false",
840
+ "description": ""
841
+ },
842
+ {
843
+ "name": "disablePointerDismissal",
844
+ "required": false,
845
+ "type": "boolean",
846
+ "defaultValue": "false",
847
+ "description": ""
848
+ },
849
+ {
850
+ "name": "modal",
851
+ "required": false,
852
+ "type": "boolean | \"trap-focus\"",
853
+ "defaultValue": "true",
854
+ "description": ""
855
+ },
856
+ {
857
+ "name": "onOpenChange",
858
+ "required": false,
859
+ "type": "(\n open: boolean,\n eventDetails: DrawerRootChangeEventDetails\n) => void",
860
+ "defaultValue": null,
861
+ "description": ""
862
+ },
863
+ {
864
+ "name": "onOpenChangeComplete",
865
+ "required": false,
866
+ "type": "(open: boolean) => void",
867
+ "defaultValue": null,
868
+ "description": ""
869
+ },
870
+ {
871
+ "name": "onSnapPointChange",
872
+ "required": false,
873
+ "type": "(\n snapPoint: DrawerSnapPoint | null,\n eventDetails: DrawerRootSnapPointChangeEventDetails\n) => void",
874
+ "defaultValue": null,
875
+ "description": ""
876
+ },
877
+ {
878
+ "name": "open",
879
+ "required": false,
880
+ "type": "boolean",
881
+ "defaultValue": null,
882
+ "description": ""
883
+ },
884
+ {
885
+ "name": "snapPoint",
886
+ "required": false,
887
+ "type": "DrawerSnapPoint | null",
888
+ "defaultValue": null,
889
+ "description": ""
890
+ },
891
+ {
892
+ "name": "snapPoints",
893
+ "required": false,
894
+ "type": "DrawerSnapPoint[]",
895
+ "defaultValue": null,
896
+ "description": ""
897
+ },
898
+ {
899
+ "name": "snapToSequentialPoints",
900
+ "required": false,
901
+ "type": "boolean",
902
+ "defaultValue": "false",
903
+ "description": ""
904
+ },
905
+ {
906
+ "name": "swipeDirection",
907
+ "required": false,
908
+ "type": "SwipeDirection",
909
+ "defaultValue": "'down'",
910
+ "description": ""
911
+ }
912
+ ]
913
+ },
914
+ "subComponents": [
915
+ {
916
+ "name": "Drawer.Backdrop",
917
+ "description": "Drawer.Backdrop — semi-transparent overlay that dims the page content behind the drawer.",
918
+ "props": [
919
+ {
920
+ "name": "className",
921
+ "required": false,
922
+ "type": "string | ((state: DrawerBackdropState) => string)",
923
+ "defaultValue": null,
924
+ "description": ""
925
+ },
926
+ {
927
+ "name": "render",
928
+ "required": false,
929
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerBackdropState>",
930
+ "defaultValue": null,
931
+ "description": ""
932
+ }
933
+ ]
934
+ },
935
+ {
936
+ "name": "Drawer.Close",
937
+ "description": "Drawer.Close — button that closes the drawer.",
938
+ "props": [
939
+ {
940
+ "name": "className",
941
+ "required": false,
942
+ "type": "string | ((state: DrawerCloseState) => string)",
943
+ "defaultValue": null,
944
+ "description": ""
945
+ },
946
+ {
947
+ "name": "nativeButton",
948
+ "required": false,
949
+ "type": "boolean",
950
+ "defaultValue": "true",
951
+ "description": ""
952
+ },
953
+ {
954
+ "name": "render",
955
+ "required": false,
956
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerCloseState>",
957
+ "defaultValue": null,
958
+ "description": ""
959
+ }
960
+ ]
961
+ },
962
+ {
963
+ "name": "Drawer.Content",
964
+ "description": "Drawer.Content — scrollable content wrapper inside the popup.",
965
+ "props": [
966
+ {
967
+ "name": "className",
968
+ "required": false,
969
+ "type": "string | ((state: DrawerContentState) => string)",
970
+ "defaultValue": null,
971
+ "description": ""
972
+ },
973
+ {
974
+ "name": "render",
975
+ "required": false,
976
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerContentState>",
977
+ "defaultValue": null,
978
+ "description": ""
979
+ }
980
+ ]
981
+ },
982
+ {
983
+ "name": "Drawer.Description",
984
+ "description": "Drawer.Description — supplementary paragraph describing the drawer's purpose for screen readers.",
985
+ "props": [
986
+ {
987
+ "name": "render",
988
+ "required": false,
989
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerDescriptionState>",
990
+ "defaultValue": null,
991
+ "description": ""
992
+ }
993
+ ]
994
+ },
995
+ {
996
+ "name": "Drawer.Indent",
997
+ "description": "Drawer.Indent — wraps app content that scales and lifts when a drawer opens. Receives `data-active` from Base UI; use `--drawer-swipe-progress` in CSS to drive the animation.",
998
+ "props": [
999
+ {
1000
+ "name": "className",
1001
+ "required": false,
1002
+ "type": "string | ((state: DrawerIndentState) => string)",
1003
+ "defaultValue": null,
1004
+ "description": ""
1005
+ },
1006
+ {
1007
+ "name": "render",
1008
+ "required": false,
1009
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerIndentState>",
1010
+ "defaultValue": null,
1011
+ "description": ""
1012
+ }
1013
+ ]
1014
+ },
1015
+ {
1016
+ "name": "Drawer.IndentBackground",
1017
+ "description": "Drawer.IndentBackground — background layer placed behind Drawer.Indent. Styled to reveal a dark surface as the app content scales away.",
1018
+ "props": [
1019
+ {
1020
+ "name": "className",
1021
+ "required": false,
1022
+ "type": "| string\n| ((state: DrawerIndentBackgroundState) => string)",
1023
+ "defaultValue": null,
1024
+ "description": ""
1025
+ },
1026
+ {
1027
+ "name": "render",
1028
+ "required": false,
1029
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n DrawerIndentBackgroundState\n >",
1030
+ "defaultValue": null,
1031
+ "description": ""
1032
+ }
1033
+ ]
1034
+ },
1035
+ {
1036
+ "name": "Drawer.Popup",
1037
+ "description": "Drawer.Popup — the visible panel surface. Positioning is driven automatically by the nearest Drawer.Root's swipeDirection.",
1038
+ "props": [
1039
+ {
1040
+ "name": "borderColor",
1041
+ "required": false,
1042
+ "type": "BorderColor",
1043
+ "defaultValue": null,
1044
+ "description": "Colour of the border on the open edge. Overrides the value inherited from\nDrawer.Root; defaults to it when unset."
1045
+ },
1046
+ {
1047
+ "name": "borderStyle",
1048
+ "required": false,
1049
+ "type": "BorderStyle",
1050
+ "defaultValue": null,
1051
+ "description": "Stroke style of the border on the open edge. Overrides the value inherited\nfrom Drawer.Root; defaults to it when unset."
1052
+ },
1053
+ {
1054
+ "name": "className",
1055
+ "required": false,
1056
+ "type": "string | ((state: DrawerPopupState) => string)",
1057
+ "defaultValue": null,
1058
+ "description": ""
1059
+ },
1060
+ {
1061
+ "name": "finalFocus",
1062
+ "required": false,
1063
+ "type": "| boolean\n| RefObject<HTMLElement | null>\n| ((\n closeType: InteractionType\n ) => boolean | void | HTMLElement | null)",
1064
+ "defaultValue": null,
1065
+ "description": ""
1066
+ },
1067
+ {
1068
+ "name": "initialFocus",
1069
+ "required": false,
1070
+ "type": "| boolean\n| RefObject<HTMLElement | null>\n| ((\n openType: InteractionType\n ) => boolean | void | HTMLElement | null)",
1071
+ "defaultValue": null,
1072
+ "description": ""
1073
+ },
1074
+ {
1075
+ "name": "render",
1076
+ "required": false,
1077
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerPopupState>",
1078
+ "defaultValue": null,
1079
+ "description": ""
1080
+ }
1081
+ ]
1082
+ },
1083
+ {
1084
+ "name": "Drawer.Portal",
1085
+ "description": "Drawer.Portal — renders backdrop and popup in a portal outside the main document flow.",
1086
+ "props": [
1087
+ {
1088
+ "name": "container",
1089
+ "required": false,
1090
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
1091
+ "defaultValue": null,
1092
+ "description": ""
1093
+ }
1094
+ ]
1095
+ },
1096
+ {
1097
+ "name": "Drawer.Provider",
1098
+ "description": "Drawer.Provider — shared context for coordinating indent/background effects across multiple drawers. Required ancestor for Drawer.Indent and Drawer.IndentBackground.",
1099
+ "props": []
1100
+ },
1101
+ {
1102
+ "name": "Drawer.SwipeArea",
1103
+ "description": "Drawer.SwipeArea — invisible fixed region that listens for swipe gestures to open the drawer. Position and size it at the screen edge relevant to the swipeDirection.",
1104
+ "props": [
1105
+ {
1106
+ "name": "className",
1107
+ "required": false,
1108
+ "type": "| string\n| ((state: DrawerSwipeAreaState) => string)",
1109
+ "defaultValue": null,
1110
+ "description": ""
1111
+ },
1112
+ {
1113
+ "name": "disabled",
1114
+ "required": false,
1115
+ "type": "boolean",
1116
+ "defaultValue": "false",
1117
+ "description": ""
1118
+ },
1119
+ {
1120
+ "name": "render",
1121
+ "required": false,
1122
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerSwipeAreaState>",
1123
+ "defaultValue": null,
1124
+ "description": ""
1125
+ },
1126
+ {
1127
+ "name": "swipeDirection",
1128
+ "required": false,
1129
+ "type": "SwipeDirection",
1130
+ "defaultValue": null,
1131
+ "description": ""
1132
+ }
1133
+ ]
1134
+ },
1135
+ {
1136
+ "name": "Drawer.Title",
1137
+ "description": "Drawer.Title — semantic heading for the drawer for screen readers.",
1138
+ "props": [
1139
+ {
1140
+ "name": "render",
1141
+ "required": false,
1142
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerTitleState>",
1143
+ "defaultValue": null,
1144
+ "description": ""
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "name": "Drawer.Trigger",
1150
+ "description": "Drawer.Trigger — button that opens the drawer.",
1151
+ "props": [
1152
+ {
1153
+ "name": "className",
1154
+ "required": false,
1155
+ "type": "string | ((state: DrawerTriggerState) => string)",
1156
+ "defaultValue": null,
1157
+ "description": ""
1158
+ },
1159
+ {
1160
+ "name": "nativeButton",
1161
+ "required": false,
1162
+ "type": "boolean",
1163
+ "defaultValue": "true",
1164
+ "description": ""
1165
+ },
1166
+ {
1167
+ "name": "render",
1168
+ "required": false,
1169
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerTriggerState>",
1170
+ "defaultValue": null,
1171
+ "description": ""
1172
+ }
1173
+ ]
1174
+ },
1175
+ {
1176
+ "name": "Drawer.Viewport",
1177
+ "description": "Drawer.Viewport — full-screen container that positions the popup.",
1178
+ "props": [
1179
+ {
1180
+ "name": "className",
1181
+ "required": false,
1182
+ "type": "string | ((state: DrawerViewportState) => string)",
1183
+ "defaultValue": null,
1184
+ "description": ""
1185
+ },
1186
+ {
1187
+ "name": "render",
1188
+ "required": false,
1189
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, DrawerViewportState>",
1190
+ "defaultValue": null,
1191
+ "description": ""
1192
+ }
1193
+ ]
1194
+ }
1195
+ ]
1196
+ },
1197
+ "input": {
1198
+ "root": {
1199
+ "name": "Input",
1200
+ "description": "Single-line text input. Also called a text field or input field.\nWraps Base UI Input for controlled/uncontrolled state, form integration,\nand Field context awareness (valid/invalid/dirty/touched/filled/focused).",
1201
+ "props": [
1202
+ {
1203
+ "name": "className",
1204
+ "required": false,
1205
+ "type": "string | ((state: InputState) => string)",
1206
+ "defaultValue": null,
1207
+ "description": ""
1208
+ },
1209
+ {
1210
+ "name": "onValueChange",
1211
+ "required": false,
1212
+ "type": "(\n value: string,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
1213
+ "defaultValue": null,
1214
+ "description": ""
1215
+ },
1216
+ {
1217
+ "name": "render",
1218
+ "required": false,
1219
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, InputState>",
1220
+ "defaultValue": null,
1221
+ "description": ""
1222
+ },
1223
+ {
1224
+ "name": "size",
1225
+ "required": false,
1226
+ "type": "\"sm\" | \"md\" | \"lg\" | null",
1227
+ "defaultValue": "md",
1228
+ "description": ""
1229
+ },
1230
+ {
1231
+ "name": "style",
1232
+ "required": false,
1233
+ "type": "| CSSProperties\n| ((state: InputState) => CSSProperties)",
1234
+ "defaultValue": null,
1235
+ "description": ""
1236
+ },
1237
+ {
1238
+ "name": "variant",
1239
+ "required": false,
1240
+ "type": "\"outline\" | \"filled\" | \"ghost\" | null",
1241
+ "defaultValue": "outline",
1242
+ "description": ""
1243
+ }
1244
+ ]
1245
+ },
1246
+ "subComponents": []
1247
+ },
1248
+ "logo": {
1249
+ "root": {
1250
+ "name": "Logo",
1251
+ "description": "",
1252
+ "props": [
1253
+ {
1254
+ "name": "alt",
1255
+ "required": true,
1256
+ "type": "string",
1257
+ "defaultValue": null,
1258
+ "description": ""
1259
+ },
1260
+ {
1261
+ "name": "height",
1262
+ "required": false,
1263
+ "type": "string | number",
1264
+ "defaultValue": null,
1265
+ "description": "Explicit height — overrides `size` variant when set."
1266
+ },
1267
+ {
1268
+ "name": "size",
1269
+ "required": false,
1270
+ "type": "| \"xs\"\n| \"sm\"\n| \"md\"\n| \"lg\"\n| \"xl\"\n| \"hero\"\n| \"fit\"\n| null",
1271
+ "defaultValue": "md",
1272
+ "description": ""
1273
+ },
1274
+ {
1275
+ "name": "src",
1276
+ "required": true,
1277
+ "type": "ReactNode",
1278
+ "defaultValue": null,
1279
+ "description": "Logo source — an image URL or an inline SVG node. Required; this primitive carries no brand default (see `ImFusionLogo` for our own mark)."
1280
+ },
1281
+ {
1282
+ "name": "variant",
1283
+ "required": false,
1284
+ "type": "| \"inherit\"\n| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| null",
1285
+ "defaultValue": "brand",
1286
+ "description": ""
1287
+ }
1288
+ ]
1289
+ },
1290
+ "subComponents": []
1291
+ },
1292
+ "navigation-menu": {
1293
+ "root": {
1294
+ "name": "NavigationMenu.Root",
1295
+ "description": "NavigationMenu.Root — groups all parts and manages which item is open.\nRenders a `<nav>`.",
1296
+ "props": [
1297
+ {
1298
+ "name": "className",
1299
+ "required": false,
1300
+ "type": "| string\n| ((state: NavigationMenuRootState) => string)",
1301
+ "defaultValue": null,
1302
+ "description": ""
1303
+ },
1304
+ {
1305
+ "name": "orientation",
1306
+ "required": false,
1307
+ "type": "Orientation",
1308
+ "defaultValue": "horizontal",
1309
+ "description": "Layout of the menu. `horizontal` is a top nav bar; `vertical` stacks the\nwhole menu into a side rail with flyouts opening to the side."
1310
+ },
1311
+ {
1312
+ "name": "render",
1313
+ "required": false,
1314
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuRootState>",
1315
+ "defaultValue": null,
1316
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
1317
+ },
1318
+ {
1319
+ "name": "style",
1320
+ "required": false,
1321
+ "type": "| CSSProperties\n| ((state: NavigationMenuRootState) => CSSProperties)",
1322
+ "defaultValue": null,
1323
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
1324
+ }
1325
+ ]
1326
+ },
1327
+ "subComponents": [
1328
+ {
1329
+ "name": "NavigationMenu.Arrow",
1330
+ "description": "NavigationMenu.Arrow — a pointer anchored to the popup edge. Receives data-side for orientation. Renders a `<div>`.",
1331
+ "props": [
1332
+ {
1333
+ "name": "className",
1334
+ "required": false,
1335
+ "type": "| string\n| ((state: NavigationMenuArrowState) => string)",
1336
+ "defaultValue": null,
1337
+ "description": ""
1338
+ },
1339
+ {
1340
+ "name": "render",
1341
+ "required": false,
1342
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuArrowState>",
1343
+ "defaultValue": null,
1344
+ "description": ""
1345
+ }
1346
+ ]
1347
+ },
1348
+ {
1349
+ "name": "NavigationMenu.Backdrop",
1350
+ "description": "NavigationMenu.Backdrop — overlay beneath the popup. Receives data-open/data-closed for transitions. Renders a `<div>`.",
1351
+ "props": [
1352
+ {
1353
+ "name": "className",
1354
+ "required": false,
1355
+ "type": "| string\n| ((state: NavigationMenuBackdropState) => string)",
1356
+ "defaultValue": null,
1357
+ "description": ""
1358
+ },
1359
+ {
1360
+ "name": "render",
1361
+ "required": false,
1362
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuBackdropState\n >",
1363
+ "defaultValue": null,
1364
+ "description": ""
1365
+ }
1366
+ ]
1367
+ },
1368
+ {
1369
+ "name": "NavigationMenu.Content",
1370
+ "description": "NavigationMenu.Content — an item's flyout body; moved into the shared Popup when active. Renders a `<div>`.",
1371
+ "props": [
1372
+ {
1373
+ "name": "className",
1374
+ "required": false,
1375
+ "type": "| string\n| ((state: NavigationMenuContentState) => string)",
1376
+ "defaultValue": null,
1377
+ "description": ""
1378
+ },
1379
+ {
1380
+ "name": "keepMounted",
1381
+ "required": false,
1382
+ "type": "boolean",
1383
+ "defaultValue": "false",
1384
+ "description": ""
1385
+ },
1386
+ {
1387
+ "name": "render",
1388
+ "required": false,
1389
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuContentState\n >",
1390
+ "defaultValue": null,
1391
+ "description": ""
1392
+ }
1393
+ ]
1394
+ },
1395
+ {
1396
+ "name": "NavigationMenu.FlyoutLink",
1397
+ "description": "NavigationMenu.FlyoutLink — a quiet text link inside a flyout `Content`, the\nlightweight alternative to a `LinkCard` when a card is too heavy. Renders an\n`<a>`. A trailing `ArrowRight` slides in on hover/focus and the label nudges to\nmeet it; the current page is marked in primary. When a custom `render` is\nsupplied the icon is omitted — the consumer's element owns its content.",
1398
+ "props": [
1399
+ {
1400
+ "name": "active",
1401
+ "required": false,
1402
+ "type": "boolean",
1403
+ "defaultValue": "false",
1404
+ "description": "Marks the link as the current page — renders it in full primary colour."
1405
+ },
1406
+ {
1407
+ "name": "className",
1408
+ "required": false,
1409
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
1410
+ "defaultValue": null,
1411
+ "description": ""
1412
+ },
1413
+ {
1414
+ "name": "closeOnClick",
1415
+ "required": false,
1416
+ "type": "boolean",
1417
+ "defaultValue": "false",
1418
+ "description": ""
1419
+ },
1420
+ {
1421
+ "name": "render",
1422
+ "required": false,
1423
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
1424
+ "defaultValue": null,
1425
+ "description": ""
1426
+ }
1427
+ ]
1428
+ },
1429
+ {
1430
+ "name": "NavigationMenu.Icon",
1431
+ "description": "NavigationMenu.Icon — a chevron/marker that rotates when its trigger is open. Renders a `<span>`.",
1432
+ "props": [
1433
+ {
1434
+ "name": "className",
1435
+ "required": false,
1436
+ "type": "| string\n| ((state: NavigationMenuIconState) => string)",
1437
+ "defaultValue": null,
1438
+ "description": ""
1439
+ },
1440
+ {
1441
+ "name": "render",
1442
+ "required": false,
1443
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuIconState>",
1444
+ "defaultValue": null,
1445
+ "description": ""
1446
+ }
1447
+ ]
1448
+ },
1449
+ {
1450
+ "name": "NavigationMenu.InlineSubmenu",
1451
+ "description": "NavigationMenu.InlineSubmenu — a master/detail submenu that stays inside one\nflyout: a category rail beside (or, on narrow viewports, above) its detail.\n\nA curated partial over the namespace's own primitives (a nested vertical\n`Root` without a `Portal`, plus the rail/detail layout). Drop it directly\ninside a `NavigationMenu.Content`. It bakes in Base UI's viewport\nresponsiveness: the nested Root flips `orientation` at `md` via `useMediaQuery`\nand the CSS flips the rail from a horizontal tab strip to a side rail at the\nsame breakpoint — no work for the consumer, no container queries.",
1452
+ "props": [
1453
+ {
1454
+ "name": "defaultValue",
1455
+ "required": false,
1456
+ "type": "string",
1457
+ "defaultValue": null,
1458
+ "description": "Which category is open initially (uncontrolled)."
1459
+ },
1460
+ {
1461
+ "name": "items",
1462
+ "required": true,
1463
+ "type": "readonly InlineSubmenuItem[]",
1464
+ "defaultValue": null,
1465
+ "description": "The categories: each is a rail entry with its detail pane."
1466
+ }
1467
+ ]
1468
+ },
1469
+ {
1470
+ "name": "NavigationMenu.InlineSubmenuItem",
1471
+ "description": "One category in an `InlineSubmenu` — a rail entry plus its detail pane.",
1472
+ "props": []
1473
+ },
1474
+ {
1475
+ "name": "NavigationMenu.Item",
1476
+ "description": "NavigationMenu.Item — a single item in the list. Renders a `<li>`.",
1477
+ "props": [
1478
+ {
1479
+ "name": "className",
1480
+ "required": false,
1481
+ "type": "| string\n| ((state: NavigationMenuItemState) => string)",
1482
+ "defaultValue": null,
1483
+ "description": ""
1484
+ },
1485
+ {
1486
+ "name": "render",
1487
+ "required": false,
1488
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuItemState>",
1489
+ "defaultValue": null,
1490
+ "description": ""
1491
+ }
1492
+ ]
1493
+ },
1494
+ {
1495
+ "name": "NavigationMenu.Link",
1496
+ "description": "NavigationMenu.Link — a top-strip (rail) link: a peer of `Trigger` for a\nsection that navigates directly instead of opening a flyout. Renders an `<a>`.\nFor a link inside a flyout, use `NavigationMenu.FlyoutLink`.\n\nA trailing `ArrowRight` slides in on hover/focus. When a custom `render` is\nsupplied the icon is omitted — the consumer's element owns its content.",
1497
+ "props": [
1498
+ {
1499
+ "name": "active",
1500
+ "required": false,
1501
+ "type": "boolean",
1502
+ "defaultValue": "false",
1503
+ "description": "Marks the link as the current page — renders it in full primary colour."
1504
+ },
1505
+ {
1506
+ "name": "className",
1507
+ "required": false,
1508
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
1509
+ "defaultValue": null,
1510
+ "description": ""
1511
+ },
1512
+ {
1513
+ "name": "closeOnClick",
1514
+ "required": false,
1515
+ "type": "boolean",
1516
+ "defaultValue": "false",
1517
+ "description": ""
1518
+ },
1519
+ {
1520
+ "name": "render",
1521
+ "required": false,
1522
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
1523
+ "defaultValue": null,
1524
+ "description": ""
1525
+ }
1526
+ ]
1527
+ },
1528
+ {
1529
+ "name": "NavigationMenu.LinkCard",
1530
+ "description": "NavigationMenu.LinkCard — a rich flyout entry (optional image + title +\ndescription) for the bigger menus. Built on the `Card` primitive (like\n`ChipLink` is built on `Chip`): it composes `Card.Root`/`Image`/`Header`/\n`Content` for the surface and layout, and adds the nav-specific state — a\nthick primary bar along the card's bottom edge on hover and when active. Use\nwhere a plain `NavigationMenu.FlyoutLink` is too sparse.",
1531
+ "props": [
1532
+ {
1533
+ "name": "active",
1534
+ "required": false,
1535
+ "type": "boolean",
1536
+ "defaultValue": "false",
1537
+ "description": "Marks the card as the current page."
1538
+ },
1539
+ {
1540
+ "name": "className",
1541
+ "required": false,
1542
+ "type": "| string\n| ((state: NavigationMenuLinkState) => string)",
1543
+ "defaultValue": null,
1544
+ "description": ""
1545
+ },
1546
+ {
1547
+ "name": "closeOnClick",
1548
+ "required": false,
1549
+ "type": "boolean",
1550
+ "defaultValue": "false",
1551
+ "description": ""
1552
+ },
1553
+ {
1554
+ "name": "description",
1555
+ "required": false,
1556
+ "type": "ReactNode",
1557
+ "defaultValue": null,
1558
+ "description": "Supporting line beneath the title."
1559
+ },
1560
+ {
1561
+ "name": "image",
1562
+ "required": false,
1563
+ "type": "string",
1564
+ "defaultValue": null,
1565
+ "description": "Optional media — renders an edge-to-edge image above the text."
1566
+ },
1567
+ {
1568
+ "name": "imageAlt",
1569
+ "required": false,
1570
+ "type": "string",
1571
+ "defaultValue": "",
1572
+ "description": "Alt text for `image`."
1573
+ },
1574
+ {
1575
+ "name": "render",
1576
+ "required": false,
1577
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuLinkState>",
1578
+ "defaultValue": null,
1579
+ "description": ""
1580
+ },
1581
+ {
1582
+ "name": "title",
1583
+ "required": true,
1584
+ "type": "ReactNode",
1585
+ "defaultValue": null,
1586
+ "description": "Card heading — the link label."
1587
+ }
1588
+ ]
1589
+ },
1590
+ {
1591
+ "name": "NavigationMenu.LinkList",
1592
+ "description": "NavigationMenu.LinkList — a reset `<ul>` that lays out a flyout's `LinkCard`s\n(a responsive two-column grid that collapses to one column on narrow flyouts).\nOwns the flyout list layout so consumers wrap each card in an `<li>` and add no\nlayout styling of their own. Renders a `<ul>`.",
1593
+ "props": []
1594
+ },
1595
+ {
1596
+ "name": "NavigationMenu.List",
1597
+ "description": "NavigationMenu.List — the strip of items. Renders a `<ul>`.",
1598
+ "props": [
1599
+ {
1600
+ "name": "className",
1601
+ "required": false,
1602
+ "type": "| string\n| ((state: NavigationMenuListState) => string)",
1603
+ "defaultValue": null,
1604
+ "description": ""
1605
+ },
1606
+ {
1607
+ "name": "render",
1608
+ "required": false,
1609
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuListState>",
1610
+ "defaultValue": null,
1611
+ "description": ""
1612
+ }
1613
+ ]
1614
+ },
1615
+ {
1616
+ "name": "NavigationMenu.Popup",
1617
+ "description": "NavigationMenu.Popup — the shared flyout surface holding the active Content. Renders a `<nav>`.",
1618
+ "props": [
1619
+ {
1620
+ "name": "className",
1621
+ "required": false,
1622
+ "type": "| string\n| ((state: NavigationMenuPopupState) => string)",
1623
+ "defaultValue": null,
1624
+ "description": ""
1625
+ },
1626
+ {
1627
+ "name": "render",
1628
+ "required": false,
1629
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, NavigationMenuPopupState>",
1630
+ "defaultValue": null,
1631
+ "description": ""
1632
+ }
1633
+ ]
1634
+ },
1635
+ {
1636
+ "name": "NavigationMenu.Portal",
1637
+ "description": "NavigationMenu.Portal — renders the positioner outside the main document flow.",
1638
+ "props": [
1639
+ {
1640
+ "name": "container",
1641
+ "required": false,
1642
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
1643
+ "defaultValue": null,
1644
+ "description": ""
1645
+ },
1646
+ {
1647
+ "name": "keepMounted",
1648
+ "required": false,
1649
+ "type": "boolean",
1650
+ "defaultValue": "false",
1651
+ "description": ""
1652
+ }
1653
+ ]
1654
+ },
1655
+ {
1656
+ "name": "NavigationMenu.Positioner",
1657
+ "description": "NavigationMenu.Positioner — anchors the popup to the active trigger.\nDefaults to `align=\"start\"` (DESIGN.md §5) so the flyout reads as anchored to\nthe trigger edge rather than centered. Renders a `<div>`.",
1658
+ "props": [
1659
+ {
1660
+ "name": "align",
1661
+ "required": false,
1662
+ "type": "Align",
1663
+ "defaultValue": "start",
1664
+ "description": ""
1665
+ },
1666
+ {
1667
+ "name": "alignOffset",
1668
+ "required": false,
1669
+ "type": "number | OffsetFunction",
1670
+ "defaultValue": "0",
1671
+ "description": ""
1672
+ },
1673
+ {
1674
+ "name": "anchor",
1675
+ "required": false,
1676
+ "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
1677
+ "defaultValue": null,
1678
+ "description": ""
1679
+ },
1680
+ {
1681
+ "name": "arrowPadding",
1682
+ "required": false,
1683
+ "type": "number",
1684
+ "defaultValue": "5",
1685
+ "description": ""
1686
+ },
1687
+ {
1688
+ "name": "className",
1689
+ "required": false,
1690
+ "type": "| string\n| ((state: NavigationMenuPositionerState) => string)",
1691
+ "defaultValue": null,
1692
+ "description": ""
1693
+ },
1694
+ {
1695
+ "name": "collisionAvoidance",
1696
+ "required": false,
1697
+ "type": "CollisionAvoidance",
1698
+ "defaultValue": null,
1699
+ "description": ""
1700
+ },
1701
+ {
1702
+ "name": "collisionBoundary",
1703
+ "required": false,
1704
+ "type": "Boundary",
1705
+ "defaultValue": "'clipping-ancestors'",
1706
+ "description": ""
1707
+ },
1708
+ {
1709
+ "name": "collisionPadding",
1710
+ "required": false,
1711
+ "type": "Padding",
1712
+ "defaultValue": "5",
1713
+ "description": ""
1714
+ },
1715
+ {
1716
+ "name": "disableAnchorTracking",
1717
+ "required": false,
1718
+ "type": "boolean",
1719
+ "defaultValue": "false",
1720
+ "description": ""
1721
+ },
1722
+ {
1723
+ "name": "positionMethod",
1724
+ "required": false,
1725
+ "type": "\"absolute\" | \"fixed\"",
1726
+ "defaultValue": "'absolute'",
1727
+ "description": ""
1728
+ },
1729
+ {
1730
+ "name": "render",
1731
+ "required": false,
1732
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuPositionerState\n >",
1733
+ "defaultValue": null,
1734
+ "description": ""
1735
+ },
1736
+ {
1737
+ "name": "side",
1738
+ "required": false,
1739
+ "type": "Side",
1740
+ "defaultValue": "'bottom'",
1741
+ "description": ""
1742
+ },
1743
+ {
1744
+ "name": "sideOffset",
1745
+ "required": false,
1746
+ "type": "number | OffsetFunction",
1747
+ "defaultValue": "0",
1748
+ "description": ""
1749
+ },
1750
+ {
1751
+ "name": "sticky",
1752
+ "required": false,
1753
+ "type": "boolean",
1754
+ "defaultValue": "false",
1755
+ "description": ""
1756
+ }
1757
+ ]
1758
+ },
1759
+ {
1760
+ "name": "NavigationMenu.Trigger",
1761
+ "description": "NavigationMenu.Trigger — opens an item's flyout on hover or click. Renders a\n`<button>`. Ships a built-in `ChevronDown` (rotates when open) so consumers\ndon't hand-author an indicator; pass `hideChevron` to supply a custom `Icon`,\nand `nested` when the trigger opens a submenu from inside another flyout.",
1762
+ "props": [
1763
+ {
1764
+ "name": "active",
1765
+ "required": false,
1766
+ "type": "boolean",
1767
+ "defaultValue": "false",
1768
+ "description": "Marks this section as the current page so it shows the active treatment even\nwhen its flyout is closed — the \"active trail\" anchor for a nav where the\nopen section isn't the current one. Base UI's Trigger has no active state of\nits own, so this stamps `data-active`."
1769
+ },
1770
+ {
1771
+ "name": "className",
1772
+ "required": false,
1773
+ "type": "| string\n| ((state: NavigationMenuTriggerState) => string)",
1774
+ "defaultValue": null,
1775
+ "description": ""
1776
+ },
1777
+ {
1778
+ "name": "hideChevron",
1779
+ "required": false,
1780
+ "type": "boolean",
1781
+ "defaultValue": "false",
1782
+ "description": "Suppresses the built-in chevron. Use when supplying a custom `Icon` (e.g. a\n`ChevronRight` for a side-opening nested trigger)."
1783
+ },
1784
+ {
1785
+ "name": "nativeButton",
1786
+ "required": false,
1787
+ "type": "boolean",
1788
+ "defaultValue": "true",
1789
+ "description": ""
1790
+ },
1791
+ {
1792
+ "name": "nested",
1793
+ "required": false,
1794
+ "type": "boolean",
1795
+ "defaultValue": "false",
1796
+ "description": "Marks a trigger that lives inside a flyout (a nested submenu opener) so it\nsizes to its label instead of filling the row like a top-strip trigger."
1797
+ },
1798
+ {
1799
+ "name": "render",
1800
+ "required": false,
1801
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuTriggerState\n >",
1802
+ "defaultValue": null,
1803
+ "description": ""
1804
+ }
1805
+ ]
1806
+ },
1807
+ {
1808
+ "name": "NavigationMenu.Viewport",
1809
+ "description": "NavigationMenu.Viewport — clips the current content for direction-aware transitions. Renders a `<div>`.",
1810
+ "props": [
1811
+ {
1812
+ "name": "className",
1813
+ "required": false,
1814
+ "type": "| string\n| ((state: NavigationMenuViewportState) => string)",
1815
+ "defaultValue": null,
1816
+ "description": ""
1817
+ },
1818
+ {
1819
+ "name": "render",
1820
+ "required": false,
1821
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n NavigationMenuViewportState\n >",
1822
+ "defaultValue": null,
1823
+ "description": ""
1824
+ }
1825
+ ]
1826
+ }
1827
+ ]
1828
+ },
1829
+ "popover": {
1830
+ "root": {
1831
+ "name": "Popover.Root",
1832
+ "description": "Popover.Root — container that manages open/closed state and positioning context.",
1833
+ "props": []
1834
+ },
1835
+ "subComponents": [
1836
+ {
1837
+ "name": "Popover.Arrow",
1838
+ "description": "Popover.Arrow — visual pointer arrow anchored to the popup edge. Receives data-side for orientation.",
1839
+ "props": [
1840
+ {
1841
+ "name": "className",
1842
+ "required": false,
1843
+ "type": "string | ((state: PopoverArrowState) => string)",
1844
+ "defaultValue": null,
1845
+ "description": ""
1846
+ },
1847
+ {
1848
+ "name": "render",
1849
+ "required": false,
1850
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverArrowState>",
1851
+ "defaultValue": null,
1852
+ "description": ""
1853
+ }
1854
+ ]
1855
+ },
1856
+ {
1857
+ "name": "Popover.Backdrop",
1858
+ "description": "Popover.Backdrop — overlay beneath the popover. Receives data-open/data-closed for transitions.",
1859
+ "props": [
1860
+ {
1861
+ "name": "className",
1862
+ "required": false,
1863
+ "type": "| string\n| ((state: PopoverBackdropState) => string)",
1864
+ "defaultValue": null,
1865
+ "description": ""
1866
+ },
1867
+ {
1868
+ "name": "render",
1869
+ "required": false,
1870
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverBackdropState>",
1871
+ "defaultValue": null,
1872
+ "description": ""
1873
+ }
1874
+ ]
1875
+ },
1876
+ {
1877
+ "name": "Popover.Close",
1878
+ "description": "Popover.Close — button that dismisses the popover.",
1879
+ "props": [
1880
+ {
1881
+ "name": "className",
1882
+ "required": false,
1883
+ "type": "string | ((state: PopoverCloseState) => string)",
1884
+ "defaultValue": null,
1885
+ "description": ""
1886
+ },
1887
+ {
1888
+ "name": "nativeButton",
1889
+ "required": false,
1890
+ "type": "boolean",
1891
+ "defaultValue": "true",
1892
+ "description": ""
1893
+ },
1894
+ {
1895
+ "name": "render",
1896
+ "required": false,
1897
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverCloseState>",
1898
+ "defaultValue": null,
1899
+ "description": ""
1900
+ }
1901
+ ]
1902
+ },
1903
+ {
1904
+ "name": "Popover.Description",
1905
+ "description": "Popover.Description — supplementary paragraph for the popover's accessible description.",
1906
+ "props": [
1907
+ {
1908
+ "name": "render",
1909
+ "required": false,
1910
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverDescriptionState>",
1911
+ "defaultValue": null,
1912
+ "description": ""
1913
+ }
1914
+ ]
1915
+ },
1916
+ {
1917
+ "name": "Popover.Eyebrow",
1918
+ "description": "Popover.Eyebrow — small uppercase label above Title, for a category or kicker (e.g. \"Glossary definition\").",
1919
+ "props": []
1920
+ },
1921
+ {
1922
+ "name": "Popover.Inline",
1923
+ "description": "Popover.Inline — pre-composed inline annotation. Wraps the full\nRoot → Trigger(inline, openOnHover) → Portal → Positioner → Popup\npattern into a single component for annotating terms in running prose.",
1924
+ "props": [
1925
+ {
1926
+ "name": "children",
1927
+ "required": false,
1928
+ "type": "ReactNode",
1929
+ "defaultValue": null,
1930
+ "description": "Description or body content inside the popup."
1931
+ },
1932
+ {
1933
+ "name": "delay",
1934
+ "required": false,
1935
+ "type": "number",
1936
+ "defaultValue": "150",
1937
+ "description": "Hover delay in ms before the popover opens."
1938
+ },
1939
+ {
1940
+ "name": "side",
1941
+ "required": false,
1942
+ "type": "Side",
1943
+ "defaultValue": "top",
1944
+ "description": "Which side of the trigger the popup appears on."
1945
+ },
1946
+ {
1947
+ "name": "sideOffset",
1948
+ "required": false,
1949
+ "type": "number",
1950
+ "defaultValue": "6",
1951
+ "description": "Gap between trigger and popup in px."
1952
+ },
1953
+ {
1954
+ "name": "title",
1955
+ "required": false,
1956
+ "type": "ReactNode",
1957
+ "defaultValue": null,
1958
+ "description": "Optional heading shown at the top of the popup."
1959
+ },
1960
+ {
1961
+ "name": "trigger",
1962
+ "required": true,
1963
+ "type": "ReactNode",
1964
+ "defaultValue": null,
1965
+ "description": "The annotated text rendered as the trigger."
1966
+ }
1967
+ ]
1968
+ },
1969
+ {
1970
+ "name": "Popover.Popup",
1971
+ "description": "Popover.Popup — the visible surface of the popover. Token-mapped background, border, and shadow.",
1972
+ "props": [
1973
+ {
1974
+ "name": "className",
1975
+ "required": false,
1976
+ "type": "string | ((state: PopoverPopupState) => string)",
1977
+ "defaultValue": null,
1978
+ "description": ""
1979
+ },
1980
+ {
1981
+ "name": "render",
1982
+ "required": false,
1983
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverPopupState>",
1984
+ "defaultValue": null,
1985
+ "description": ""
1986
+ },
1987
+ {
1988
+ "name": "variant",
1989
+ "required": false,
1990
+ "type": "| \"ghost\"\n| \"outline\"\n| \"primary\"\n| \"secondary\"\n| \"positive\"\n| \"negative\"",
1991
+ "defaultValue": null,
1992
+ "description": "Match to the Trigger variant to tint the popup border accordingly."
1993
+ }
1994
+ ]
1995
+ },
1996
+ {
1997
+ "name": "Popover.Portal",
1998
+ "description": "Popover.Portal — renders the positioner in a portal outside the main document flow.",
1999
+ "props": [
2000
+ {
2001
+ "name": "container",
2002
+ "required": false,
2003
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
2004
+ "defaultValue": null,
2005
+ "description": ""
2006
+ },
2007
+ {
2008
+ "name": "keepMounted",
2009
+ "required": false,
2010
+ "type": "boolean",
2011
+ "defaultValue": "false",
2012
+ "description": ""
2013
+ }
2014
+ ]
2015
+ },
2016
+ {
2017
+ "name": "Popover.Positioner",
2018
+ "description": "Popover.Positioner — positions the popup relative to the trigger via floating-point layout.",
2019
+ "props": [
2020
+ {
2021
+ "name": "align",
2022
+ "required": false,
2023
+ "type": "Align",
2024
+ "defaultValue": "'center'",
2025
+ "description": ""
2026
+ },
2027
+ {
2028
+ "name": "alignOffset",
2029
+ "required": false,
2030
+ "type": "number | OffsetFunction",
2031
+ "defaultValue": "0",
2032
+ "description": ""
2033
+ },
2034
+ {
2035
+ "name": "anchor",
2036
+ "required": false,
2037
+ "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
2038
+ "defaultValue": null,
2039
+ "description": ""
2040
+ },
2041
+ {
2042
+ "name": "arrowPadding",
2043
+ "required": false,
2044
+ "type": "number",
2045
+ "defaultValue": "5",
2046
+ "description": ""
2047
+ },
2048
+ {
2049
+ "name": "className",
2050
+ "required": false,
2051
+ "type": "| string\n| ((state: PopoverPositionerState) => string)",
2052
+ "defaultValue": null,
2053
+ "description": ""
2054
+ },
2055
+ {
2056
+ "name": "collisionAvoidance",
2057
+ "required": false,
2058
+ "type": "CollisionAvoidance",
2059
+ "defaultValue": null,
2060
+ "description": ""
2061
+ },
2062
+ {
2063
+ "name": "collisionBoundary",
2064
+ "required": false,
2065
+ "type": "Boundary",
2066
+ "defaultValue": "'clipping-ancestors'",
2067
+ "description": ""
2068
+ },
2069
+ {
2070
+ "name": "collisionPadding",
2071
+ "required": false,
2072
+ "type": "Padding",
2073
+ "defaultValue": "5",
2074
+ "description": ""
2075
+ },
2076
+ {
2077
+ "name": "disableAnchorTracking",
2078
+ "required": false,
2079
+ "type": "boolean",
2080
+ "defaultValue": "false",
2081
+ "description": ""
2082
+ },
2083
+ {
2084
+ "name": "render",
2085
+ "required": false,
2086
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverPositionerState>",
2087
+ "defaultValue": null,
2088
+ "description": ""
2089
+ },
2090
+ {
2091
+ "name": "side",
2092
+ "required": false,
2093
+ "type": "Side",
2094
+ "defaultValue": "'bottom'",
2095
+ "description": ""
2096
+ },
2097
+ {
2098
+ "name": "sideOffset",
2099
+ "required": false,
2100
+ "type": "number | OffsetFunction",
2101
+ "defaultValue": "0",
2102
+ "description": ""
2103
+ },
2104
+ {
2105
+ "name": "sticky",
2106
+ "required": false,
2107
+ "type": "boolean",
2108
+ "defaultValue": "false",
2109
+ "description": ""
2110
+ }
2111
+ ]
2112
+ },
2113
+ {
2114
+ "name": "Popover.Title",
2115
+ "description": "Popover.Title — semantic heading for the popover's accessible name.",
2116
+ "props": [
2117
+ {
2118
+ "name": "render",
2119
+ "required": false,
2120
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverTitleState>",
2121
+ "defaultValue": null,
2122
+ "description": ""
2123
+ }
2124
+ ]
2125
+ },
2126
+ {
2127
+ "name": "Popover.Trigger",
2128
+ "description": "Popover.Trigger — button that opens the popover.",
2129
+ "props": [
2130
+ {
2131
+ "name": "className",
2132
+ "required": false,
2133
+ "type": "string | ((state: PopoverTriggerState) => string)",
2134
+ "defaultValue": null,
2135
+ "description": ""
2136
+ },
2137
+ {
2138
+ "name": "closeDelay",
2139
+ "required": false,
2140
+ "type": "number",
2141
+ "defaultValue": "0",
2142
+ "description": ""
2143
+ },
2144
+ {
2145
+ "name": "delay",
2146
+ "required": false,
2147
+ "type": "number",
2148
+ "defaultValue": "300",
2149
+ "description": ""
2150
+ },
2151
+ {
2152
+ "name": "handle",
2153
+ "required": false,
2154
+ "type": "PopoverHandle<unknown>",
2155
+ "defaultValue": null,
2156
+ "description": ""
2157
+ },
2158
+ {
2159
+ "name": "inline",
2160
+ "required": false,
2161
+ "type": "boolean",
2162
+ "defaultValue": "false",
2163
+ "description": ""
2164
+ },
2165
+ {
2166
+ "name": "nativeButton",
2167
+ "required": false,
2168
+ "type": "boolean",
2169
+ "defaultValue": "true",
2170
+ "description": ""
2171
+ },
2172
+ {
2173
+ "name": "openOnHover",
2174
+ "required": false,
2175
+ "type": "boolean",
2176
+ "defaultValue": "false",
2177
+ "description": ""
2178
+ },
2179
+ {
2180
+ "name": "payload",
2181
+ "required": false,
2182
+ "type": "unknown",
2183
+ "defaultValue": null,
2184
+ "description": ""
2185
+ },
2186
+ {
2187
+ "name": "render",
2188
+ "required": false,
2189
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverTriggerState>",
2190
+ "defaultValue": null,
2191
+ "description": ""
2192
+ },
2193
+ {
2194
+ "name": "variant",
2195
+ "required": false,
2196
+ "type": "| \"ghost\"\n| \"outline\"\n| \"primary\"\n| \"secondary\"\n| \"positive\"\n| \"negative\"",
2197
+ "defaultValue": "ghost",
2198
+ "description": ""
2199
+ }
2200
+ ]
2201
+ },
2202
+ {
2203
+ "name": "Popover.Viewport",
2204
+ "description": "Popover.Viewport — content wrapper that supports direction-aware animations.",
2205
+ "props": [
2206
+ {
2207
+ "name": "className",
2208
+ "required": false,
2209
+ "type": "| string\n| ((state: PopoverViewportState) => string)",
2210
+ "defaultValue": null,
2211
+ "description": ""
2212
+ },
2213
+ {
2214
+ "name": "render",
2215
+ "required": false,
2216
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, PopoverViewportState>",
2217
+ "defaultValue": null,
2218
+ "description": ""
2219
+ }
2220
+ ]
2221
+ }
2222
+ ]
2223
+ },
2224
+ "row": {
2225
+ "root": {
2226
+ "name": "Row",
2227
+ "description": "Row — horizontal layout primitive.\n\nCopied and adapted from Mantine's Group; no upstream runtime\ndependency. Pure row flex container with token-driven gap and constrained\nalign/justify unions.",
2228
+ "props": [
2229
+ {
2230
+ "name": "align",
2231
+ "required": false,
2232
+ "type": "\"start\" | \"center\" | \"end\" | \"stretch\"",
2233
+ "defaultValue": "stretch",
2234
+ "description": "Cross-axis alignment. Sets both `align-items` (item alignment within a\nrow) and `align-content` (row distribution when `wrap` is on). `\"stretch\"`\nkeeps rows packed together via `align-content: flex-start` while items\nfill their row height."
2235
+ },
2236
+ {
2237
+ "name": "gap",
2238
+ "required": false,
2239
+ "type": "| \"1\"\n| \"2\"\n| \"3\"\n| \"4\"\n| \"5\"\n| \"6\"\n| \"7\"\n| \"8\"\n| \"9\"\n| \"10\"\n| null",
2240
+ "defaultValue": "2",
2241
+ "description": ""
2242
+ },
2243
+ {
2244
+ "name": "justify",
2245
+ "required": false,
2246
+ "type": "| \"start\"\n| \"center\"\n| \"end\"\n| \"between\"\n| \"around\"\n| \"evenly\"\n| null",
2247
+ "defaultValue": "start",
2248
+ "description": ""
2249
+ },
2250
+ {
2251
+ "name": "wrap",
2252
+ "required": false,
2253
+ "type": "boolean | null",
2254
+ "defaultValue": "false",
2255
+ "description": ""
2256
+ }
2257
+ ]
2258
+ },
2259
+ "subComponents": []
2260
+ },
2261
+ "select": {
2262
+ "root": {
2263
+ "name": "Select.Root",
2264
+ "description": "Select.Root — accessible select / listbox primitive.\n\nRenders a thin wrapper div so that a sibling Select.Label stacks above the\nSelect.Trigger regardless of the parent's layout. Select.Portal is unaffected\n(it renders to document.body).",
2265
+ "props": [
2266
+ {
2267
+ "name": "actionsRef",
2268
+ "required": false,
2269
+ "type": "RefObject<SelectRootActions | null>",
2270
+ "defaultValue": null,
2271
+ "description": ""
2272
+ },
2273
+ {
2274
+ "name": "autoComplete",
2275
+ "required": false,
2276
+ "type": "string",
2277
+ "defaultValue": null,
2278
+ "description": ""
2279
+ },
2280
+ {
2281
+ "name": "className",
2282
+ "required": false,
2283
+ "type": "string",
2284
+ "defaultValue": null,
2285
+ "description": ""
2286
+ },
2287
+ {
2288
+ "name": "defaultOpen",
2289
+ "required": false,
2290
+ "type": "boolean",
2291
+ "defaultValue": "false",
2292
+ "description": ""
2293
+ },
2294
+ {
2295
+ "name": "defaultValue",
2296
+ "required": false,
2297
+ "type": "unknown",
2298
+ "defaultValue": null,
2299
+ "description": ""
2300
+ },
2301
+ {
2302
+ "name": "disabled",
2303
+ "required": false,
2304
+ "type": "boolean",
2305
+ "defaultValue": "false",
2306
+ "description": ""
2307
+ },
2308
+ {
2309
+ "name": "form",
2310
+ "required": false,
2311
+ "type": "string",
2312
+ "defaultValue": null,
2313
+ "description": ""
2314
+ },
2315
+ {
2316
+ "name": "highlightItemOnHover",
2317
+ "required": false,
2318
+ "type": "boolean",
2319
+ "defaultValue": "true",
2320
+ "description": ""
2321
+ },
2322
+ {
2323
+ "name": "id",
2324
+ "required": false,
2325
+ "type": "string",
2326
+ "defaultValue": null,
2327
+ "description": ""
2328
+ },
2329
+ {
2330
+ "name": "inputRef",
2331
+ "required": false,
2332
+ "type": "Ref<HTMLInputElement>",
2333
+ "defaultValue": null,
2334
+ "description": ""
2335
+ },
2336
+ {
2337
+ "name": "isItemEqualToValue",
2338
+ "required": false,
2339
+ "type": "(itemValue: unknown, value: unknown) => boolean",
2340
+ "defaultValue": null,
2341
+ "description": ""
2342
+ },
2343
+ {
2344
+ "name": "items",
2345
+ "required": false,
2346
+ "type": "| Record<string, ReactNode>\n| readonly { label: ReactNode; value: any }[]\n| readonly Group<any>[]",
2347
+ "defaultValue": null,
2348
+ "description": ""
2349
+ },
2350
+ {
2351
+ "name": "itemToStringLabel",
2352
+ "required": false,
2353
+ "type": "(itemValue: unknown) => string",
2354
+ "defaultValue": null,
2355
+ "description": ""
2356
+ },
2357
+ {
2358
+ "name": "itemToStringValue",
2359
+ "required": false,
2360
+ "type": "(itemValue: unknown) => string",
2361
+ "defaultValue": null,
2362
+ "description": ""
2363
+ },
2364
+ {
2365
+ "name": "modal",
2366
+ "required": false,
2367
+ "type": "boolean",
2368
+ "defaultValue": "true",
2369
+ "description": ""
2370
+ },
2371
+ {
2372
+ "name": "multiple",
2373
+ "required": false,
2374
+ "type": "boolean",
2375
+ "defaultValue": "false",
2376
+ "description": ""
2377
+ },
2378
+ {
2379
+ "name": "name",
2380
+ "required": false,
2381
+ "type": "string",
2382
+ "defaultValue": null,
2383
+ "description": ""
2384
+ },
2385
+ {
2386
+ "name": "onOpenChange",
2387
+ "required": false,
2388
+ "type": "(\n open: boolean,\n eventDetails: SelectRootChangeEventDetails\n) => void",
2389
+ "defaultValue": null,
2390
+ "description": ""
2391
+ },
2392
+ {
2393
+ "name": "onOpenChangeComplete",
2394
+ "required": false,
2395
+ "type": "(open: boolean) => void",
2396
+ "defaultValue": null,
2397
+ "description": ""
2398
+ },
2399
+ {
2400
+ "name": "onValueChange",
2401
+ "required": false,
2402
+ "type": "(\n value: unknown,\n eventDetails: SelectRootChangeEventDetails\n) => void",
2403
+ "defaultValue": null,
2404
+ "description": ""
2405
+ },
2406
+ {
2407
+ "name": "open",
2408
+ "required": false,
2409
+ "type": "boolean",
2410
+ "defaultValue": null,
2411
+ "description": ""
2412
+ },
2413
+ {
2414
+ "name": "readOnly",
2415
+ "required": false,
2416
+ "type": "boolean",
2417
+ "defaultValue": "false",
2418
+ "description": ""
2419
+ },
2420
+ {
2421
+ "name": "required",
2422
+ "required": false,
2423
+ "type": "boolean",
2424
+ "defaultValue": "false",
2425
+ "description": ""
2426
+ },
2427
+ {
2428
+ "name": "style",
2429
+ "required": false,
2430
+ "type": "CSSProperties",
2431
+ "defaultValue": null,
2432
+ "description": ""
2433
+ },
2434
+ {
2435
+ "name": "value",
2436
+ "required": false,
2437
+ "type": "unknown",
2438
+ "defaultValue": null,
2439
+ "description": ""
2440
+ }
2441
+ ]
2442
+ },
2443
+ "subComponents": [
2444
+ {
2445
+ "name": "Select.Arrow",
2446
+ "description": "Select.Arrow — pointer arrow attached to the popup.",
2447
+ "props": [
2448
+ {
2449
+ "name": "className",
2450
+ "required": false,
2451
+ "type": "string | ((state: SelectArrowState) => string)",
2452
+ "defaultValue": null,
2453
+ "description": ""
2454
+ },
2455
+ {
2456
+ "name": "render",
2457
+ "required": false,
2458
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectArrowState>",
2459
+ "defaultValue": null,
2460
+ "description": ""
2461
+ },
2462
+ {
2463
+ "name": "style",
2464
+ "required": false,
2465
+ "type": "| CSSProperties\n| ((state: SelectArrowState) => CSSProperties)",
2466
+ "defaultValue": null,
2467
+ "description": ""
2468
+ }
2469
+ ]
2470
+ },
2471
+ {
2472
+ "name": "Select.Backdrop",
2473
+ "description": "Select.Backdrop — overlay behind the popup (visible only in modal mode).",
2474
+ "props": [
2475
+ {
2476
+ "name": "className",
2477
+ "required": false,
2478
+ "type": "string | ((state: SelectBackdropState) => string)",
2479
+ "defaultValue": null,
2480
+ "description": ""
2481
+ },
2482
+ {
2483
+ "name": "render",
2484
+ "required": false,
2485
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectBackdropState>",
2486
+ "defaultValue": null,
2487
+ "description": ""
2488
+ },
2489
+ {
2490
+ "name": "style",
2491
+ "required": false,
2492
+ "type": "| CSSProperties\n| ((state: SelectBackdropState) => CSSProperties)",
2493
+ "defaultValue": null,
2494
+ "description": ""
2495
+ }
2496
+ ]
2497
+ },
2498
+ {
2499
+ "name": "Select.Group",
2500
+ "description": "Select.Group — wrapper around a grouped set of items.",
2501
+ "props": [
2502
+ {
2503
+ "name": "className",
2504
+ "required": false,
2505
+ "type": "string | ((state: SelectGroupState) => string)",
2506
+ "defaultValue": null,
2507
+ "description": ""
2508
+ },
2509
+ {
2510
+ "name": "render",
2511
+ "required": false,
2512
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectGroupState>",
2513
+ "defaultValue": null,
2514
+ "description": ""
2515
+ },
2516
+ {
2517
+ "name": "style",
2518
+ "required": false,
2519
+ "type": "| CSSProperties\n| ((state: SelectGroupState) => CSSProperties)",
2520
+ "defaultValue": null,
2521
+ "description": ""
2522
+ }
2523
+ ]
2524
+ },
2525
+ {
2526
+ "name": "Select.GroupLabel",
2527
+ "description": "Select.GroupLabel — heading for a Select.Group.",
2528
+ "props": [
2529
+ {
2530
+ "name": "className",
2531
+ "required": false,
2532
+ "type": "| string\n| ((state: SelectGroupLabelState) => string)",
2533
+ "defaultValue": null,
2534
+ "description": ""
2535
+ },
2536
+ {
2537
+ "name": "render",
2538
+ "required": false,
2539
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectGroupLabelState>",
2540
+ "defaultValue": null,
2541
+ "description": ""
2542
+ },
2543
+ {
2544
+ "name": "style",
2545
+ "required": false,
2546
+ "type": "| CSSProperties\n| ((state: SelectGroupLabelState) => CSSProperties)",
2547
+ "defaultValue": null,
2548
+ "description": ""
2549
+ }
2550
+ ]
2551
+ },
2552
+ {
2553
+ "name": "Select.Icon",
2554
+ "description": "Select.Icon — visual indicator (chevron) next to the value.",
2555
+ "props": [
2556
+ {
2557
+ "name": "className",
2558
+ "required": false,
2559
+ "type": "string | ((state: SelectIconState) => string)",
2560
+ "defaultValue": null,
2561
+ "description": ""
2562
+ },
2563
+ {
2564
+ "name": "render",
2565
+ "required": false,
2566
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectIconState>",
2567
+ "defaultValue": null,
2568
+ "description": ""
2569
+ },
2570
+ {
2571
+ "name": "style",
2572
+ "required": false,
2573
+ "type": "| CSSProperties\n| ((state: SelectIconState) => CSSProperties)",
2574
+ "defaultValue": null,
2575
+ "description": ""
2576
+ }
2577
+ ]
2578
+ },
2579
+ {
2580
+ "name": "Select.Item",
2581
+ "description": "Select.Item — individual selectable option.",
2582
+ "props": [
2583
+ {
2584
+ "name": "className",
2585
+ "required": false,
2586
+ "type": "string | ((state: SelectItemState) => string)",
2587
+ "defaultValue": null,
2588
+ "description": ""
2589
+ },
2590
+ {
2591
+ "name": "disabled",
2592
+ "required": false,
2593
+ "type": "boolean",
2594
+ "defaultValue": "false",
2595
+ "description": ""
2596
+ },
2597
+ {
2598
+ "name": "render",
2599
+ "required": false,
2600
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectItemState>",
2601
+ "defaultValue": null,
2602
+ "description": ""
2603
+ },
2604
+ {
2605
+ "name": "style",
2606
+ "required": false,
2607
+ "type": "| CSSProperties\n| ((state: SelectItemState) => CSSProperties)",
2608
+ "defaultValue": null,
2609
+ "description": ""
2610
+ },
2611
+ {
2612
+ "name": "value",
2613
+ "required": true,
2614
+ "type": "any",
2615
+ "defaultValue": null,
2616
+ "description": ""
2617
+ }
2618
+ ]
2619
+ },
2620
+ {
2621
+ "name": "Select.ItemIndicator",
2622
+ "description": "Select.ItemIndicator — visual marker (e.g. checkmark) inside the selected item.",
2623
+ "props": [
2624
+ {
2625
+ "name": "className",
2626
+ "required": false,
2627
+ "type": "| string\n| ((state: SelectItemIndicatorState) => string)",
2628
+ "defaultValue": null,
2629
+ "description": ""
2630
+ },
2631
+ {
2632
+ "name": "render",
2633
+ "required": false,
2634
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectItemIndicatorState>",
2635
+ "defaultValue": null,
2636
+ "description": ""
2637
+ },
2638
+ {
2639
+ "name": "style",
2640
+ "required": false,
2641
+ "type": "| CSSProperties\n| ((state: SelectItemIndicatorState) => CSSProperties)",
2642
+ "defaultValue": null,
2643
+ "description": ""
2644
+ }
2645
+ ]
2646
+ },
2647
+ {
2648
+ "name": "Select.ItemText",
2649
+ "description": "Select.ItemText — text label for an item.",
2650
+ "props": [
2651
+ {
2652
+ "name": "className",
2653
+ "required": false,
2654
+ "type": "string | ((state: SelectItemTextState) => string)",
2655
+ "defaultValue": null,
2656
+ "description": ""
2657
+ },
2658
+ {
2659
+ "name": "render",
2660
+ "required": false,
2661
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectItemTextState>",
2662
+ "defaultValue": null,
2663
+ "description": ""
2664
+ },
2665
+ {
2666
+ "name": "style",
2667
+ "required": false,
2668
+ "type": "| CSSProperties\n| ((state: SelectItemTextState) => CSSProperties)",
2669
+ "defaultValue": null,
2670
+ "description": ""
2671
+ }
2672
+ ]
2673
+ },
2674
+ {
2675
+ "name": "Select.Label",
2676
+ "description": "Select.Label — visible label for the trigger.",
2677
+ "props": [
2678
+ {
2679
+ "name": "className",
2680
+ "required": false,
2681
+ "type": "string | ((state: FieldRootState) => string)",
2682
+ "defaultValue": null,
2683
+ "description": ""
2684
+ },
2685
+ {
2686
+ "name": "render",
2687
+ "required": false,
2688
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldRootState>",
2689
+ "defaultValue": null,
2690
+ "description": ""
2691
+ },
2692
+ {
2693
+ "name": "style",
2694
+ "required": false,
2695
+ "type": "| CSSProperties\n| ((state: FieldRootState) => CSSProperties)",
2696
+ "defaultValue": null,
2697
+ "description": ""
2698
+ }
2699
+ ]
2700
+ },
2701
+ {
2702
+ "name": "Select.List",
2703
+ "description": "Select.List — items container.",
2704
+ "props": [
2705
+ {
2706
+ "name": "className",
2707
+ "required": false,
2708
+ "type": "string | ((state: SelectListState) => string)",
2709
+ "defaultValue": null,
2710
+ "description": ""
2711
+ },
2712
+ {
2713
+ "name": "render",
2714
+ "required": false,
2715
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectListState>",
2716
+ "defaultValue": null,
2717
+ "description": ""
2718
+ },
2719
+ {
2720
+ "name": "style",
2721
+ "required": false,
2722
+ "type": "| CSSProperties\n| ((state: SelectListState) => CSSProperties)",
2723
+ "defaultValue": null,
2724
+ "description": ""
2725
+ }
2726
+ ]
2727
+ },
2728
+ {
2729
+ "name": "Select.Popup",
2730
+ "description": "Select.Popup — dropdown surface.",
2731
+ "props": [
2732
+ {
2733
+ "name": "className",
2734
+ "required": false,
2735
+ "type": "string | ((state: SelectPopupState) => string)",
2736
+ "defaultValue": null,
2737
+ "description": ""
2738
+ },
2739
+ {
2740
+ "name": "render",
2741
+ "required": false,
2742
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectPopupState>",
2743
+ "defaultValue": null,
2744
+ "description": ""
2745
+ },
2746
+ {
2747
+ "name": "style",
2748
+ "required": false,
2749
+ "type": "| CSSProperties\n| ((state: SelectPopupState) => CSSProperties)",
2750
+ "defaultValue": null,
2751
+ "description": ""
2752
+ }
2753
+ ]
2754
+ },
2755
+ {
2756
+ "name": "Select.Portal",
2757
+ "description": "Select.Portal — portals the popup tree to document.body (or a custom container).",
2758
+ "props": [
2759
+ {
2760
+ "name": "className",
2761
+ "required": false,
2762
+ "type": "string | ((state: SelectPortalState) => string)",
2763
+ "defaultValue": null,
2764
+ "description": ""
2765
+ },
2766
+ {
2767
+ "name": "container",
2768
+ "required": false,
2769
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
2770
+ "defaultValue": null,
2771
+ "description": ""
2772
+ },
2773
+ {
2774
+ "name": "render",
2775
+ "required": false,
2776
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectPortalState>",
2777
+ "defaultValue": null,
2778
+ "description": ""
2779
+ },
2780
+ {
2781
+ "name": "style",
2782
+ "required": false,
2783
+ "type": "| CSSProperties\n| ((state: SelectPortalState) => CSSProperties)",
2784
+ "defaultValue": null,
2785
+ "description": ""
2786
+ }
2787
+ ]
2788
+ },
2789
+ {
2790
+ "name": "Select.Positioner",
2791
+ "description": "Select.Positioner — positions the popup relative to the trigger.",
2792
+ "props": [
2793
+ {
2794
+ "name": "align",
2795
+ "required": false,
2796
+ "type": "Align",
2797
+ "defaultValue": "start",
2798
+ "description": ""
2799
+ },
2800
+ {
2801
+ "name": "alignItemWithTrigger",
2802
+ "required": false,
2803
+ "type": "boolean",
2804
+ "defaultValue": "false",
2805
+ "description": ""
2806
+ },
2807
+ {
2808
+ "name": "alignOffset",
2809
+ "required": false,
2810
+ "type": "number | OffsetFunction",
2811
+ "defaultValue": "0",
2812
+ "description": ""
2813
+ },
2814
+ {
2815
+ "name": "className",
2816
+ "required": false,
2817
+ "type": "| string\n| ((state: SelectPositionerState) => string)",
2818
+ "defaultValue": null,
2819
+ "description": ""
2820
+ },
2821
+ {
2822
+ "name": "collisionAvoidance",
2823
+ "required": false,
2824
+ "type": "CollisionAvoidance",
2825
+ "defaultValue": "{ fallbackAxisSide: 'none' }",
2826
+ "description": ""
2827
+ },
2828
+ {
2829
+ "name": "collisionBoundary",
2830
+ "required": false,
2831
+ "type": "Boundary",
2832
+ "defaultValue": "'clipping-ancestors'",
2833
+ "description": ""
2834
+ },
2835
+ {
2836
+ "name": "collisionPadding",
2837
+ "required": false,
2838
+ "type": "Padding",
2839
+ "defaultValue": "5",
2840
+ "description": ""
2841
+ },
2842
+ {
2843
+ "name": "disableAnchorTracking",
2844
+ "required": false,
2845
+ "type": "boolean",
2846
+ "defaultValue": "false",
2847
+ "description": ""
2848
+ },
2849
+ {
2850
+ "name": "render",
2851
+ "required": false,
2852
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectPositionerState>",
2853
+ "defaultValue": null,
2854
+ "description": ""
2855
+ },
2856
+ {
2857
+ "name": "side",
2858
+ "required": false,
2859
+ "type": "Side",
2860
+ "defaultValue": "bottom",
2861
+ "description": ""
2862
+ },
2863
+ {
2864
+ "name": "sideOffset",
2865
+ "required": false,
2866
+ "type": "number | OffsetFunction",
2867
+ "defaultValue": "0",
2868
+ "description": ""
2869
+ },
2870
+ {
2871
+ "name": "style",
2872
+ "required": false,
2873
+ "type": "| CSSProperties\n| ((state: SelectPositionerState) => CSSProperties)",
2874
+ "defaultValue": null,
2875
+ "description": ""
2876
+ }
2877
+ ]
2878
+ },
2879
+ {
2880
+ "name": "Select.ScrollDownArrow",
2881
+ "description": "Select.ScrollDownArrow — indicator that more items exist below.",
2882
+ "props": [
2883
+ {
2884
+ "name": "className",
2885
+ "required": false,
2886
+ "type": "| string\n| ((state: SelectScrollDownArrowState) => string)",
2887
+ "defaultValue": null,
2888
+ "description": ""
2889
+ },
2890
+ {
2891
+ "name": "render",
2892
+ "required": false,
2893
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<\n HTMLProps,\n SelectScrollDownArrowState\n >",
2894
+ "defaultValue": null,
2895
+ "description": ""
2896
+ },
2897
+ {
2898
+ "name": "style",
2899
+ "required": false,
2900
+ "type": "| CSSProperties\n| ((state: SelectScrollDownArrowState) => CSSProperties)",
2901
+ "defaultValue": null,
2902
+ "description": ""
2903
+ }
2904
+ ]
2905
+ },
2906
+ {
2907
+ "name": "Select.ScrollUpArrow",
2908
+ "description": "Select.ScrollUpArrow — indicator that more items exist above.",
2909
+ "props": [
2910
+ {
2911
+ "name": "className",
2912
+ "required": false,
2913
+ "type": "| string\n| ((state: SelectScrollUpArrowState) => string)",
2914
+ "defaultValue": null,
2915
+ "description": ""
2916
+ },
2917
+ {
2918
+ "name": "render",
2919
+ "required": false,
2920
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectScrollUpArrowState>",
2921
+ "defaultValue": null,
2922
+ "description": ""
2923
+ },
2924
+ {
2925
+ "name": "style",
2926
+ "required": false,
2927
+ "type": "| CSSProperties\n| ((state: SelectScrollUpArrowState) => CSSProperties)",
2928
+ "defaultValue": null,
2929
+ "description": ""
2930
+ }
2931
+ ]
2932
+ },
2933
+ {
2934
+ "name": "Select.Separator",
2935
+ "description": "Select.Separator — thin divider between items.",
2936
+ "props": [
2937
+ {
2938
+ "name": "className",
2939
+ "required": false,
2940
+ "type": "string | ((state: SeparatorState) => string)",
2941
+ "defaultValue": null,
2942
+ "description": ""
2943
+ },
2944
+ {
2945
+ "name": "render",
2946
+ "required": false,
2947
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SeparatorState>",
2948
+ "defaultValue": null,
2949
+ "description": ""
2950
+ },
2951
+ {
2952
+ "name": "style",
2953
+ "required": false,
2954
+ "type": "| CSSProperties\n| ((state: SeparatorState) => CSSProperties)",
2955
+ "defaultValue": null,
2956
+ "description": ""
2957
+ }
2958
+ ]
2959
+ },
2960
+ {
2961
+ "name": "Select.Trigger",
2962
+ "description": "Select.Trigger — button that opens the popup.",
2963
+ "props": [
2964
+ {
2965
+ "name": "className",
2966
+ "required": false,
2967
+ "type": "string | ((state: SelectTriggerState) => string)",
2968
+ "defaultValue": null,
2969
+ "description": ""
2970
+ },
2971
+ {
2972
+ "name": "nativeButton",
2973
+ "required": false,
2974
+ "type": "boolean",
2975
+ "defaultValue": "true",
2976
+ "description": ""
2977
+ },
2978
+ {
2979
+ "name": "render",
2980
+ "required": false,
2981
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectTriggerState>",
2982
+ "defaultValue": null,
2983
+ "description": ""
2984
+ },
2985
+ {
2986
+ "name": "style",
2987
+ "required": false,
2988
+ "type": "| CSSProperties\n| ((state: SelectTriggerState) => CSSProperties)",
2989
+ "defaultValue": null,
2990
+ "description": ""
2991
+ }
2992
+ ]
2993
+ },
2994
+ {
2995
+ "name": "Select.Value",
2996
+ "description": "Select.Value — renders the currently-selected value (or placeholder).",
2997
+ "props": [
2998
+ {
2999
+ "name": "className",
3000
+ "required": false,
3001
+ "type": "string | ((state: SelectValueState) => string)",
3002
+ "defaultValue": null,
3003
+ "description": ""
3004
+ },
3005
+ {
3006
+ "name": "placeholder",
3007
+ "required": false,
3008
+ "type": "ReactNode",
3009
+ "defaultValue": null,
3010
+ "description": ""
3011
+ },
3012
+ {
3013
+ "name": "render",
3014
+ "required": false,
3015
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SelectValueState>",
3016
+ "defaultValue": null,
3017
+ "description": ""
3018
+ },
3019
+ {
3020
+ "name": "style",
3021
+ "required": false,
3022
+ "type": "| CSSProperties\n| ((state: SelectValueState) => CSSProperties)",
3023
+ "defaultValue": null,
3024
+ "description": ""
3025
+ }
3026
+ ]
3027
+ }
3028
+ ]
3029
+ },
3030
+ "separator": {
3031
+ "root": {
3032
+ "name": "Separator",
3033
+ "description": "Separator — visual divider between content sections.",
3034
+ "props": [
3035
+ {
3036
+ "name": "orientation",
3037
+ "required": false,
3038
+ "type": "\"horizontal\" | \"vertical\"",
3039
+ "defaultValue": "horizontal",
3040
+ "description": ""
3041
+ },
3042
+ {
3043
+ "name": "variant",
3044
+ "required": false,
3045
+ "type": "\"solid\" | \"dashed\" | \"dotted\" | null",
3046
+ "defaultValue": "solid",
3047
+ "description": ""
3048
+ }
3049
+ ]
3050
+ },
3051
+ "subComponents": []
3052
+ },
3053
+ "slider": {
3054
+ "root": {
3055
+ "name": "Slider.Root",
3056
+ "description": "Slider.Root — value selector along a continuous or stepped track.",
3057
+ "props": [
3058
+ {
3059
+ "name": "className",
3060
+ "required": false,
3061
+ "type": "string | ((state: SliderRootState) => string)",
3062
+ "defaultValue": null,
3063
+ "description": ""
3064
+ },
3065
+ {
3066
+ "name": "defaultValue",
3067
+ "required": false,
3068
+ "type": "number | number[]",
3069
+ "defaultValue": null,
3070
+ "description": ""
3071
+ },
3072
+ {
3073
+ "name": "disabled",
3074
+ "required": false,
3075
+ "type": "boolean",
3076
+ "defaultValue": "false",
3077
+ "description": ""
3078
+ },
3079
+ {
3080
+ "name": "form",
3081
+ "required": false,
3082
+ "type": "string",
3083
+ "defaultValue": null,
3084
+ "description": ""
3085
+ },
3086
+ {
3087
+ "name": "format",
3088
+ "required": false,
3089
+ "type": "NumberFormatOptions",
3090
+ "defaultValue": null,
3091
+ "description": ""
3092
+ },
3093
+ {
3094
+ "name": "largeStep",
3095
+ "required": false,
3096
+ "type": "number",
3097
+ "defaultValue": "10",
3098
+ "description": ""
3099
+ },
3100
+ {
3101
+ "name": "locale",
3102
+ "required": false,
3103
+ "type": "LocalesArgument",
3104
+ "defaultValue": null,
3105
+ "description": ""
3106
+ },
3107
+ {
3108
+ "name": "max",
3109
+ "required": false,
3110
+ "type": "number",
3111
+ "defaultValue": "100",
3112
+ "description": ""
3113
+ },
3114
+ {
3115
+ "name": "min",
3116
+ "required": false,
3117
+ "type": "number",
3118
+ "defaultValue": "0",
3119
+ "description": ""
3120
+ },
3121
+ {
3122
+ "name": "minStepsBetweenValues",
3123
+ "required": false,
3124
+ "type": "number",
3125
+ "defaultValue": "0",
3126
+ "description": ""
3127
+ },
3128
+ {
3129
+ "name": "name",
3130
+ "required": false,
3131
+ "type": "string",
3132
+ "defaultValue": null,
3133
+ "description": ""
3134
+ },
3135
+ {
3136
+ "name": "onValueChange",
3137
+ "required": false,
3138
+ "type": "(\n value: number | readonly number[],\n eventDetails: SliderRootChangeEventDetails\n) => void",
3139
+ "defaultValue": null,
3140
+ "description": ""
3141
+ },
3142
+ {
3143
+ "name": "onValueCommitted",
3144
+ "required": false,
3145
+ "type": "(\n value: number | readonly number[],\n eventDetails: SliderRootCommitEventDetails\n) => void",
3146
+ "defaultValue": null,
3147
+ "description": ""
3148
+ },
3149
+ {
3150
+ "name": "orientation",
3151
+ "required": false,
3152
+ "type": "\"horizontal\" | \"vertical\"",
3153
+ "defaultValue": "horizontal",
3154
+ "description": ""
3155
+ },
3156
+ {
3157
+ "name": "render",
3158
+ "required": false,
3159
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderRootState>",
3160
+ "defaultValue": null,
3161
+ "description": ""
3162
+ },
3163
+ {
3164
+ "name": "step",
3165
+ "required": false,
3166
+ "type": "number",
3167
+ "defaultValue": "1",
3168
+ "description": ""
3169
+ },
3170
+ {
3171
+ "name": "style",
3172
+ "required": false,
3173
+ "type": "| CSSProperties\n| ((state: SliderRootState) => CSSProperties)",
3174
+ "defaultValue": null,
3175
+ "description": ""
3176
+ },
3177
+ {
3178
+ "name": "thumbAlignment",
3179
+ "required": false,
3180
+ "type": "\"center\" | \"edge\" | \"edge-client-only\"",
3181
+ "defaultValue": "edge",
3182
+ "description": ""
3183
+ },
3184
+ {
3185
+ "name": "thumbCollisionBehavior",
3186
+ "required": false,
3187
+ "type": "\"none\" | \"push\" | \"swap\"",
3188
+ "defaultValue": "push",
3189
+ "description": ""
3190
+ },
3191
+ {
3192
+ "name": "value",
3193
+ "required": false,
3194
+ "type": "number | number[]",
3195
+ "defaultValue": null,
3196
+ "description": ""
3197
+ }
3198
+ ]
3199
+ },
3200
+ "subComponents": [
3201
+ {
3202
+ "name": "Slider.Control",
3203
+ "description": "Slider.Control — interactive container for track + thumb.",
3204
+ "props": [
3205
+ {
3206
+ "name": "className",
3207
+ "required": false,
3208
+ "type": "string | ((state: SliderControlState) => string)",
3209
+ "defaultValue": null,
3210
+ "description": ""
3211
+ },
3212
+ {
3213
+ "name": "render",
3214
+ "required": false,
3215
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderControlState>",
3216
+ "defaultValue": null,
3217
+ "description": ""
3218
+ },
3219
+ {
3220
+ "name": "style",
3221
+ "required": false,
3222
+ "type": "| CSSProperties\n| ((state: SliderControlState) => CSSProperties)",
3223
+ "defaultValue": null,
3224
+ "description": ""
3225
+ }
3226
+ ]
3227
+ },
3228
+ {
3229
+ "name": "Slider.Indicator",
3230
+ "description": "Slider.Indicator — filled portion of the track.",
3231
+ "props": [
3232
+ {
3233
+ "name": "className",
3234
+ "required": false,
3235
+ "type": "| string\n| ((state: SliderIndicatorState) => string)",
3236
+ "defaultValue": null,
3237
+ "description": ""
3238
+ },
3239
+ {
3240
+ "name": "render",
3241
+ "required": false,
3242
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderIndicatorState>",
3243
+ "defaultValue": null,
3244
+ "description": ""
3245
+ },
3246
+ {
3247
+ "name": "style",
3248
+ "required": false,
3249
+ "type": "| CSSProperties\n| ((state: SliderIndicatorState) => CSSProperties)",
3250
+ "defaultValue": null,
3251
+ "description": ""
3252
+ }
3253
+ ]
3254
+ },
3255
+ {
3256
+ "name": "Slider.Label",
3257
+ "description": "Slider.Label — accessible label for the slider.",
3258
+ "props": [
3259
+ {
3260
+ "name": "className",
3261
+ "required": false,
3262
+ "type": "string | ((state: SliderRootState) => string)",
3263
+ "defaultValue": null,
3264
+ "description": ""
3265
+ },
3266
+ {
3267
+ "name": "render",
3268
+ "required": false,
3269
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderRootState>",
3270
+ "defaultValue": null,
3271
+ "description": ""
3272
+ },
3273
+ {
3274
+ "name": "style",
3275
+ "required": false,
3276
+ "type": "| CSSProperties\n| ((state: SliderRootState) => CSSProperties)",
3277
+ "defaultValue": null,
3278
+ "description": ""
3279
+ }
3280
+ ]
3281
+ },
3282
+ {
3283
+ "name": "Slider.Thumb",
3284
+ "description": "Slider.Thumb — draggable handle.",
3285
+ "props": [
3286
+ {
3287
+ "name": "className",
3288
+ "required": false,
3289
+ "type": "string | ((state: SliderThumbState) => string)",
3290
+ "defaultValue": null,
3291
+ "description": ""
3292
+ },
3293
+ {
3294
+ "name": "disabled",
3295
+ "required": false,
3296
+ "type": "boolean",
3297
+ "defaultValue": "false",
3298
+ "description": ""
3299
+ },
3300
+ {
3301
+ "name": "getAriaLabel",
3302
+ "required": false,
3303
+ "type": "((index: number) => string) | null",
3304
+ "defaultValue": null,
3305
+ "description": ""
3306
+ },
3307
+ {
3308
+ "name": "getAriaValueText",
3309
+ "required": false,
3310
+ "type": "| ((\n formattedValue: string,\n value: number,\n index: number\n ) => string)\n| null",
3311
+ "defaultValue": null,
3312
+ "description": ""
3313
+ },
3314
+ {
3315
+ "name": "index",
3316
+ "required": false,
3317
+ "type": "number",
3318
+ "defaultValue": null,
3319
+ "description": ""
3320
+ },
3321
+ {
3322
+ "name": "inputRef",
3323
+ "required": false,
3324
+ "type": "Ref<HTMLInputElement>",
3325
+ "defaultValue": null,
3326
+ "description": ""
3327
+ },
3328
+ {
3329
+ "name": "onBlur",
3330
+ "required": false,
3331
+ "type": "FocusEventHandler<HTMLInputElement>",
3332
+ "defaultValue": null,
3333
+ "description": ""
3334
+ },
3335
+ {
3336
+ "name": "onFocus",
3337
+ "required": false,
3338
+ "type": "FocusEventHandler<HTMLInputElement>",
3339
+ "defaultValue": null,
3340
+ "description": ""
3341
+ },
3342
+ {
3343
+ "name": "render",
3344
+ "required": false,
3345
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderThumbState>",
3346
+ "defaultValue": null,
3347
+ "description": ""
3348
+ },
3349
+ {
3350
+ "name": "style",
3351
+ "required": false,
3352
+ "type": "| CSSProperties\n| ((state: SliderThumbState) => CSSProperties)",
3353
+ "defaultValue": null,
3354
+ "description": ""
3355
+ }
3356
+ ]
3357
+ },
3358
+ {
3359
+ "name": "Slider.Track",
3360
+ "description": "Slider.Track — the static rail.",
3361
+ "props": [
3362
+ {
3363
+ "name": "className",
3364
+ "required": false,
3365
+ "type": "string | ((state: SliderTrackState) => string)",
3366
+ "defaultValue": null,
3367
+ "description": ""
3368
+ },
3369
+ {
3370
+ "name": "render",
3371
+ "required": false,
3372
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderTrackState>",
3373
+ "defaultValue": null,
3374
+ "description": ""
3375
+ },
3376
+ {
3377
+ "name": "style",
3378
+ "required": false,
3379
+ "type": "| CSSProperties\n| ((state: SliderTrackState) => CSSProperties)",
3380
+ "defaultValue": null,
3381
+ "description": ""
3382
+ }
3383
+ ]
3384
+ },
3385
+ {
3386
+ "name": "Slider.Value",
3387
+ "description": "Slider.Value — live numeric readout.",
3388
+ "props": [
3389
+ {
3390
+ "name": "className",
3391
+ "required": false,
3392
+ "type": "string | ((state: SliderValueState) => string)",
3393
+ "defaultValue": null,
3394
+ "description": ""
3395
+ },
3396
+ {
3397
+ "name": "render",
3398
+ "required": false,
3399
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SliderValueState>",
3400
+ "defaultValue": null,
3401
+ "description": ""
3402
+ },
3403
+ {
3404
+ "name": "style",
3405
+ "required": false,
3406
+ "type": "| CSSProperties\n| ((state: SliderValueState) => CSSProperties)",
3407
+ "defaultValue": null,
3408
+ "description": ""
3409
+ }
3410
+ ]
3411
+ }
3412
+ ]
3413
+ },
3414
+ "spinner": {
3415
+ "root": {
3416
+ "name": "Spinner",
3417
+ "description": "Loading indicator built from the animated ImFusion glyph — two filled bands\nand an empty diagonal channel that continuously rotates, breathes, and sways.\n\nThe motion is a live per-frame morph of the two paths (the channel geometry is\nrecomputed each frame in {@link frameGeometry}), driven by a single\n`requestAnimationFrame` loop that rewrites the two `d` attributes directly —\nno React re-render per frame. The loop pauses while the tab is hidden.",
3418
+ "props": [
3419
+ {
3420
+ "name": "label",
3421
+ "required": false,
3422
+ "type": "string",
3423
+ "defaultValue": "Loading",
3424
+ "description": "Accessible label announced by assistive tech."
3425
+ },
3426
+ {
3427
+ "name": "size",
3428
+ "required": false,
3429
+ "type": "\"sm\" | \"md\" | \"lg\" | null",
3430
+ "defaultValue": "md",
3431
+ "description": ""
3432
+ }
3433
+ ]
3434
+ },
3435
+ "subComponents": []
3436
+ },
3437
+ "stack": {
3438
+ "root": {
3439
+ "name": "Stack",
3440
+ "description": "Stack — vertical layout primitive.\n\nCopied and adapted from Mantine's Stack; no upstream runtime\ndependency. Pure column flex container with token-driven gap and constrained\nalign/justify unions.",
3441
+ "props": [
3442
+ {
3443
+ "name": "align",
3444
+ "required": false,
3445
+ "type": "\"start\" | \"center\" | \"end\" | \"stretch\" | null",
3446
+ "defaultValue": "stretch",
3447
+ "description": ""
3448
+ },
3449
+ {
3450
+ "name": "gap",
3451
+ "required": false,
3452
+ "type": "| \"1\"\n| \"2\"\n| \"3\"\n| \"4\"\n| \"5\"\n| \"6\"\n| \"7\"\n| \"8\"\n| \"9\"\n| \"10\"\n| null",
3453
+ "defaultValue": "4",
3454
+ "description": ""
3455
+ },
3456
+ {
3457
+ "name": "justify",
3458
+ "required": false,
3459
+ "type": "| \"start\"\n| \"center\"\n| \"end\"\n| \"between\"\n| \"around\"\n| \"evenly\"\n| null",
3460
+ "defaultValue": "start",
3461
+ "description": ""
3462
+ }
3463
+ ]
3464
+ },
3465
+ "subComponents": []
3466
+ },
3467
+ "switch": {
3468
+ "root": {
3469
+ "name": "Switch.Root",
3470
+ "description": "Switch.Root — toggleable on/off control.",
3471
+ "props": [
3472
+ {
3473
+ "name": "checked",
3474
+ "required": false,
3475
+ "type": "boolean",
3476
+ "defaultValue": null,
3477
+ "description": ""
3478
+ },
3479
+ {
3480
+ "name": "className",
3481
+ "required": false,
3482
+ "type": "string | ((state: SwitchRootState) => string)",
3483
+ "defaultValue": null,
3484
+ "description": ""
3485
+ },
3486
+ {
3487
+ "name": "disabled",
3488
+ "required": false,
3489
+ "type": "boolean",
3490
+ "defaultValue": "false",
3491
+ "description": ""
3492
+ },
3493
+ {
3494
+ "name": "form",
3495
+ "required": false,
3496
+ "type": "string",
3497
+ "defaultValue": null,
3498
+ "description": ""
3499
+ },
3500
+ {
3501
+ "name": "inputRef",
3502
+ "required": false,
3503
+ "type": "Ref<HTMLInputElement>",
3504
+ "defaultValue": null,
3505
+ "description": ""
3506
+ },
3507
+ {
3508
+ "name": "name",
3509
+ "required": false,
3510
+ "type": "string",
3511
+ "defaultValue": null,
3512
+ "description": ""
3513
+ },
3514
+ {
3515
+ "name": "nativeButton",
3516
+ "required": false,
3517
+ "type": "boolean",
3518
+ "defaultValue": "false",
3519
+ "description": ""
3520
+ },
3521
+ {
3522
+ "name": "onCheckedChange",
3523
+ "required": false,
3524
+ "type": "(\n checked: boolean,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
3525
+ "defaultValue": null,
3526
+ "description": ""
3527
+ },
3528
+ {
3529
+ "name": "readOnly",
3530
+ "required": false,
3531
+ "type": "boolean",
3532
+ "defaultValue": "false",
3533
+ "description": ""
3534
+ },
3535
+ {
3536
+ "name": "render",
3537
+ "required": false,
3538
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SwitchRootState>",
3539
+ "defaultValue": null,
3540
+ "description": ""
3541
+ },
3542
+ {
3543
+ "name": "required",
3544
+ "required": false,
3545
+ "type": "boolean",
3546
+ "defaultValue": "false",
3547
+ "description": ""
3548
+ },
3549
+ {
3550
+ "name": "style",
3551
+ "required": false,
3552
+ "type": "| CSSProperties\n| ((state: SwitchRootState) => CSSProperties)",
3553
+ "defaultValue": null,
3554
+ "description": ""
3555
+ },
3556
+ {
3557
+ "name": "uncheckedValue",
3558
+ "required": false,
3559
+ "type": "string",
3560
+ "defaultValue": null,
3561
+ "description": ""
3562
+ },
3563
+ {
3564
+ "name": "value",
3565
+ "required": false,
3566
+ "type": "string",
3567
+ "defaultValue": null,
3568
+ "description": ""
3569
+ }
3570
+ ]
3571
+ },
3572
+ "subComponents": [
3573
+ {
3574
+ "name": "Switch.Thumb",
3575
+ "description": "Switch.Thumb — the movable indicator inside the track.",
3576
+ "props": [
3577
+ {
3578
+ "name": "className",
3579
+ "required": false,
3580
+ "type": "string | ((state: SwitchThumbState) => string)",
3581
+ "defaultValue": null,
3582
+ "description": ""
3583
+ },
3584
+ {
3585
+ "name": "render",
3586
+ "required": false,
3587
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, SwitchThumbState>",
3588
+ "defaultValue": null,
3589
+ "description": ""
3590
+ },
3591
+ {
3592
+ "name": "style",
3593
+ "required": false,
3594
+ "type": "| CSSProperties\n| ((state: SwitchThumbState) => CSSProperties)",
3595
+ "defaultValue": null,
3596
+ "description": ""
3597
+ }
3598
+ ]
3599
+ }
3600
+ ]
3601
+ },
3602
+ "table": {
3603
+ "root": {
3604
+ "name": "Table.Root",
3605
+ "description": "Table.Root — the `<table>` element.",
3606
+ "props": []
3607
+ },
3608
+ "subComponents": [
3609
+ {
3610
+ "name": "Table.Body",
3611
+ "description": "Table.Body — the `<tbody>` section.",
3612
+ "props": []
3613
+ },
3614
+ {
3615
+ "name": "Table.Cell",
3616
+ "description": "Table.Cell — a `<td>` data cell.",
3617
+ "props": []
3618
+ },
3619
+ {
3620
+ "name": "Table.Header",
3621
+ "description": "Table.Header — the `<thead>` section.",
3622
+ "props": []
3623
+ },
3624
+ {
3625
+ "name": "Table.HeaderButton",
3626
+ "description": "Table.HeaderButton — inline action button for header cells. Generic by\ndesign: sorting toggles, filter toggles, column menus all render through it\nrather than each inventing a button. Icon/indicator goes in `children`.",
3627
+ "props": []
3628
+ },
3629
+ {
3630
+ "name": "Table.HeaderCell",
3631
+ "description": "Table.HeaderCell — a `<th>` header cell.",
3632
+ "props": []
3633
+ },
3634
+ {
3635
+ "name": "Table.Row",
3636
+ "description": "Table.Row — a `<tr>` in header or body.",
3637
+ "props": []
3638
+ },
3639
+ {
3640
+ "name": "Table.SortableHeaderCell",
3641
+ "description": "Table.SortableHeaderCell — a partial: a header cell whose label is a sort\ntoggle, pre-composing HeaderCell + HeaderButton so the `aria-sort` state and\ndirection indicator don't get re-derived per consumer app. Headless-upstream-\nagnostic: feed it `sortDirection` and `onToggle` (e.g. from a TanStack\ncolumn). Omit `onToggle` and it renders a plain non-sortable header cell.",
3642
+ "props": [
3643
+ {
3644
+ "name": "sortDirection",
3645
+ "required": true,
3646
+ "type": "SortDirection",
3647
+ "defaultValue": null,
3648
+ "description": "Current sort state. `false` renders the affordance in its unsorted rest state."
3649
+ }
3650
+ ]
3651
+ }
3652
+ ]
3653
+ },
3654
+ "tabs": {
3655
+ "root": {
3656
+ "name": "Tabs.Root",
3657
+ "description": "Tabs.Root — container that manages the active tab value and orientation context.",
3658
+ "props": [
3659
+ {
3660
+ "name": "className",
3661
+ "required": false,
3662
+ "type": "string | ((state: TabsRootState) => string)",
3663
+ "defaultValue": null,
3664
+ "description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
3665
+ },
3666
+ {
3667
+ "name": "render",
3668
+ "required": false,
3669
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TabsRootState>",
3670
+ "defaultValue": null,
3671
+ "description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
3672
+ },
3673
+ {
3674
+ "name": "style",
3675
+ "required": false,
3676
+ "type": "| CSSProperties\n| ((state: TabsRootState) => CSSProperties)",
3677
+ "defaultValue": null,
3678
+ "description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
3679
+ }
3680
+ ]
3681
+ },
3682
+ "subComponents": [
3683
+ {
3684
+ "name": "Tabs.Indicator",
3685
+ "description": "Tabs.Indicator — the bordered box marking the active tab, overlapping the\nshared hairline border to visually fuse the active tab with the panel\nframe beneath it. Positioned via the `--active-tab-*` CSS custom\nproperties Base UI writes onto it; render once per Tabs.List, after the\nTabs.Tab list.",
3686
+ "props": [
3687
+ {
3688
+ "name": "className",
3689
+ "required": false,
3690
+ "type": "string | ((state: TabsIndicatorState) => string)",
3691
+ "defaultValue": null,
3692
+ "description": ""
3693
+ },
3694
+ {
3695
+ "name": "render",
3696
+ "required": false,
3697
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TabsIndicatorState>",
3698
+ "defaultValue": null,
3699
+ "description": ""
3700
+ },
3701
+ {
3702
+ "name": "renderBeforeHydration",
3703
+ "required": false,
3704
+ "type": "boolean",
3705
+ "defaultValue": "false",
3706
+ "description": ""
3707
+ }
3708
+ ]
3709
+ },
3710
+ {
3711
+ "name": "Tabs.List",
3712
+ "description": "Tabs.List — the strip of Tabs.Tab triggers, plus the sliding Tabs.Indicator.",
3713
+ "props": [
3714
+ {
3715
+ "name": "activateOnFocus",
3716
+ "required": false,
3717
+ "type": "boolean",
3718
+ "defaultValue": "false",
3719
+ "description": ""
3720
+ },
3721
+ {
3722
+ "name": "className",
3723
+ "required": false,
3724
+ "type": "string | ((state: TabsListState) => string)",
3725
+ "defaultValue": null,
3726
+ "description": ""
3727
+ },
3728
+ {
3729
+ "name": "fill",
3730
+ "required": false,
3731
+ "type": "boolean",
3732
+ "defaultValue": "false",
3733
+ "description": "Give every tab an equal share of the list's length (equal width when\nhorizontal). When vertical, this only takes effect if the list is stretched\nto a definite height."
3734
+ },
3735
+ {
3736
+ "name": "loopFocus",
3737
+ "required": false,
3738
+ "type": "boolean",
3739
+ "defaultValue": "true",
3740
+ "description": ""
3741
+ },
3742
+ {
3743
+ "name": "render",
3744
+ "required": false,
3745
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TabsListState>",
3746
+ "defaultValue": null,
3747
+ "description": ""
3748
+ }
3749
+ ]
3750
+ },
3751
+ {
3752
+ "name": "Tabs.Panel",
3753
+ "description": "Tabs.Panel — the content shown for a matching Tabs.Tab value.",
3754
+ "props": [
3755
+ {
3756
+ "name": "className",
3757
+ "required": false,
3758
+ "type": "string | ((state: TabsPanelState) => string)",
3759
+ "defaultValue": null,
3760
+ "description": ""
3761
+ },
3762
+ {
3763
+ "name": "keepMounted",
3764
+ "required": false,
3765
+ "type": "boolean",
3766
+ "defaultValue": "false",
3767
+ "description": ""
3768
+ },
3769
+ {
3770
+ "name": "render",
3771
+ "required": false,
3772
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TabsPanelState>",
3773
+ "defaultValue": null,
3774
+ "description": ""
3775
+ },
3776
+ {
3777
+ "name": "value",
3778
+ "required": true,
3779
+ "type": "any",
3780
+ "defaultValue": null,
3781
+ "description": ""
3782
+ }
3783
+ ]
3784
+ },
3785
+ {
3786
+ "name": "Tabs.PanelViewport",
3787
+ "description": "Tabs.PanelViewport — the shared frame Tabs.Panel elements render inside.\nNo Base UI equivalent exists (upstream leaves this as a plain wrapper div\nin its own reference); we surface it as a named part since its hairline\nborder is what Tabs.Indicator visually fuses into.",
3788
+ "props": []
3789
+ },
3790
+ {
3791
+ "name": "Tabs.Tab",
3792
+ "description": "Tabs.Tab — a single trigger. Reads `data-active`/`data-disabled` from Base UI for all visual state.",
3793
+ "props": [
3794
+ {
3795
+ "name": "className",
3796
+ "required": false,
3797
+ "type": "string | ((state: TabsTabState) => string)",
3798
+ "defaultValue": null,
3799
+ "description": ""
3800
+ },
3801
+ {
3802
+ "name": "disabled",
3803
+ "required": false,
3804
+ "type": "boolean",
3805
+ "defaultValue": null,
3806
+ "description": ""
3807
+ },
3808
+ {
3809
+ "name": "nativeButton",
3810
+ "required": false,
3811
+ "type": "boolean",
3812
+ "defaultValue": "true",
3813
+ "description": ""
3814
+ },
3815
+ {
3816
+ "name": "render",
3817
+ "required": false,
3818
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TabsTabState>",
3819
+ "defaultValue": null,
3820
+ "description": ""
3821
+ },
3822
+ {
3823
+ "name": "value",
3824
+ "required": true,
3825
+ "type": "any",
3826
+ "defaultValue": null,
3827
+ "description": ""
3828
+ }
3829
+ ]
3830
+ }
3831
+ ]
3832
+ },
3833
+ "toggle": {
3834
+ "root": {
3835
+ "name": "Toggle",
3836
+ "description": "Toggle - a two-state button. Use standalone for a\nsingle on/off action (bold, mute), or compose several inside a `ToggleGroup`\nto build a segmented control.",
3837
+ "props": [
3838
+ {
3839
+ "name": "className",
3840
+ "required": false,
3841
+ "type": "string | ((state: ToggleState) => string)",
3842
+ "defaultValue": null,
3843
+ "description": ""
3844
+ },
3845
+ {
3846
+ "name": "defaultPressed",
3847
+ "required": false,
3848
+ "type": "boolean",
3849
+ "defaultValue": "false",
3850
+ "description": ""
3851
+ },
3852
+ {
3853
+ "name": "disabled",
3854
+ "required": false,
3855
+ "type": "boolean",
3856
+ "defaultValue": "false",
3857
+ "description": ""
3858
+ },
3859
+ {
3860
+ "name": "nativeButton",
3861
+ "required": false,
3862
+ "type": "boolean",
3863
+ "defaultValue": "true",
3864
+ "description": ""
3865
+ },
3866
+ {
3867
+ "name": "onPressedChange",
3868
+ "required": false,
3869
+ "type": "(\n pressed: boolean,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
3870
+ "defaultValue": null,
3871
+ "description": ""
3872
+ },
3873
+ {
3874
+ "name": "pressed",
3875
+ "required": false,
3876
+ "type": "boolean",
3877
+ "defaultValue": null,
3878
+ "description": "Whether the toggle is pressed."
3879
+ },
3880
+ {
3881
+ "name": "render",
3882
+ "required": false,
3883
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, ToggleState>",
3884
+ "defaultValue": null,
3885
+ "description": ""
3886
+ },
3887
+ {
3888
+ "name": "style",
3889
+ "required": false,
3890
+ "type": "| CSSProperties\n| ((state: ToggleState) => CSSProperties)",
3891
+ "defaultValue": null,
3892
+ "description": ""
3893
+ },
3894
+ {
3895
+ "name": "value",
3896
+ "required": false,
3897
+ "type": "string",
3898
+ "defaultValue": null,
3899
+ "description": "Identifies the toggle within a `ToggleGroup`: the value contributed to the\ngroup's value array. Optional for a standalone toggle."
3900
+ }
3901
+ ]
3902
+ },
3903
+ "subComponents": []
3904
+ },
3905
+ "toggle-group": {
3906
+ "root": {
3907
+ "name": "ToggleGroup",
3908
+ "description": "ToggleGroup - a set of connected `Toggle`s sharing one value. Single-select by\ndefault (a segmented control); set `multiple` for multi-select. Compose one\n`Toggle` per segment, each with a `value`.",
3909
+ "props": [
3910
+ {
3911
+ "name": "className",
3912
+ "required": false,
3913
+ "type": "string | ((state: ToggleGroupState) => string)",
3914
+ "defaultValue": null,
3915
+ "description": ""
3916
+ },
3917
+ {
3918
+ "name": "defaultValue",
3919
+ "required": false,
3920
+ "type": "readonly string[]",
3921
+ "defaultValue": null,
3922
+ "description": "Values of the initially pressed items (uncontrolled)."
3923
+ },
3924
+ {
3925
+ "name": "disabled",
3926
+ "required": false,
3927
+ "type": "boolean",
3928
+ "defaultValue": "false",
3929
+ "description": ""
3930
+ },
3931
+ {
3932
+ "name": "loopFocus",
3933
+ "required": false,
3934
+ "type": "boolean",
3935
+ "defaultValue": "true",
3936
+ "description": ""
3937
+ },
3938
+ {
3939
+ "name": "multiple",
3940
+ "required": false,
3941
+ "type": "boolean",
3942
+ "defaultValue": "false",
3943
+ "description": ""
3944
+ },
3945
+ {
3946
+ "name": "onValueChange",
3947
+ "required": false,
3948
+ "type": "(\n groupValue: string[],\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
3949
+ "defaultValue": null,
3950
+ "description": ""
3951
+ },
3952
+ {
3953
+ "name": "orientation",
3954
+ "required": false,
3955
+ "type": "Orientation",
3956
+ "defaultValue": "horizontal",
3957
+ "description": ""
3958
+ },
3959
+ {
3960
+ "name": "render",
3961
+ "required": false,
3962
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, ToggleGroupState>",
3963
+ "defaultValue": null,
3964
+ "description": ""
3965
+ },
3966
+ {
3967
+ "name": "style",
3968
+ "required": false,
3969
+ "type": "| CSSProperties\n| ((state: ToggleGroupState) => CSSProperties)",
3970
+ "defaultValue": null,
3971
+ "description": ""
3972
+ },
3973
+ {
3974
+ "name": "value",
3975
+ "required": false,
3976
+ "type": "readonly string[]",
3977
+ "defaultValue": null,
3978
+ "description": "Values of the currently pressed items (controlled). Always an array, even in single-select."
3979
+ }
3980
+ ]
3981
+ },
3982
+ "subComponents": []
3983
+ },
3984
+ "tooltip": {
3985
+ "root": {
3986
+ "name": "Tooltip.Root",
3987
+ "description": "Tooltip.Root — container that manages open/closed state and positioning context.",
3988
+ "props": []
3989
+ },
3990
+ "subComponents": [
3991
+ {
3992
+ "name": "Tooltip.Arrow",
3993
+ "description": "Tooltip.Arrow — visual pointer arrow anchored to the popup edge. Receives data-side for orientation.",
3994
+ "props": [
3995
+ {
3996
+ "name": "className",
3997
+ "required": false,
3998
+ "type": "string | ((state: TooltipArrowState) => string)",
3999
+ "defaultValue": null,
4000
+ "description": ""
4001
+ },
4002
+ {
4003
+ "name": "render",
4004
+ "required": false,
4005
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TooltipArrowState>",
4006
+ "defaultValue": null,
4007
+ "description": ""
4008
+ }
4009
+ ]
4010
+ },
4011
+ {
4012
+ "name": "Tooltip.Inline",
4013
+ "description": "Tooltip.Inline — pre-composed inline annotation. Wraps the full\nRoot → Trigger(inline) → Portal → Positioner → Popup pattern into a single\ncomponent for annotating terms in running prose.",
4014
+ "props": [
4015
+ {
4016
+ "name": "children",
4017
+ "required": false,
4018
+ "type": "ReactNode",
4019
+ "defaultValue": null,
4020
+ "description": "Tooltip body content shown in the popup."
4021
+ },
4022
+ {
4023
+ "name": "delay",
4024
+ "required": false,
4025
+ "type": "number",
4026
+ "defaultValue": "150",
4027
+ "description": "Hover delay in ms before the tooltip opens."
4028
+ },
4029
+ {
4030
+ "name": "side",
4031
+ "required": false,
4032
+ "type": "Side",
4033
+ "defaultValue": "top",
4034
+ "description": "Which side of the trigger the popup appears on."
4035
+ },
4036
+ {
4037
+ "name": "sideOffset",
4038
+ "required": false,
4039
+ "type": "number",
4040
+ "defaultValue": "13",
4041
+ "description": "Gap between trigger and popup in px."
4042
+ },
4043
+ {
4044
+ "name": "trigger",
4045
+ "required": true,
4046
+ "type": "ReactNode",
4047
+ "defaultValue": null,
4048
+ "description": "The annotated text rendered as the trigger."
4049
+ }
4050
+ ]
4051
+ },
4052
+ {
4053
+ "name": "Tooltip.Popup",
4054
+ "description": "Tooltip.Popup — the visible label surface. Token-mapped background and border, flat by brand default.",
4055
+ "props": [
4056
+ {
4057
+ "name": "className",
4058
+ "required": false,
4059
+ "type": "string | ((state: TooltipPopupState) => string)",
4060
+ "defaultValue": null,
4061
+ "description": ""
4062
+ },
4063
+ {
4064
+ "name": "render",
4065
+ "required": false,
4066
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TooltipPopupState>",
4067
+ "defaultValue": null,
4068
+ "description": ""
4069
+ },
4070
+ {
4071
+ "name": "variant",
4072
+ "required": false,
4073
+ "type": "\"primary\" | \"secondary\" | \"positive\" | \"negative\"",
4074
+ "defaultValue": null,
4075
+ "description": "Match to the Trigger variant to tint the popup border accordingly."
4076
+ }
4077
+ ]
4078
+ },
4079
+ {
4080
+ "name": "Tooltip.Portal",
4081
+ "description": "Tooltip.Portal — renders the positioner in a portal outside the main document flow.",
4082
+ "props": [
4083
+ {
4084
+ "name": "container",
4085
+ "required": false,
4086
+ "type": "| HTMLElement\n| ShadowRoot\n| RefObject<HTMLElement | ShadowRoot | null>\n| null",
4087
+ "defaultValue": null,
4088
+ "description": ""
4089
+ },
4090
+ {
4091
+ "name": "keepMounted",
4092
+ "required": false,
4093
+ "type": "boolean",
4094
+ "defaultValue": "false",
4095
+ "description": ""
4096
+ }
4097
+ ]
4098
+ },
4099
+ {
4100
+ "name": "Tooltip.Positioner",
4101
+ "description": "Tooltip.Positioner — positions the popup relative to the trigger via\nfloating-point layout.\n\n`sideOffset` defaults to `--arrow-size` (tooltip.module.css) + 4px — enough\ngap for the arrow to bridge with a few px of breathing room past its tip,\nrather than landing flush on the trigger. Keep the two in sync if either\nchanges.",
4102
+ "props": [
4103
+ {
4104
+ "name": "align",
4105
+ "required": false,
4106
+ "type": "Align",
4107
+ "defaultValue": "'center'",
4108
+ "description": ""
4109
+ },
4110
+ {
4111
+ "name": "alignOffset",
4112
+ "required": false,
4113
+ "type": "number | OffsetFunction",
4114
+ "defaultValue": "0",
4115
+ "description": ""
4116
+ },
4117
+ {
4118
+ "name": "anchor",
4119
+ "required": false,
4120
+ "type": "| Element\n| VirtualElement\n| RefObject<Element | null>\n| (() => Element | VirtualElement | null)\n| null",
4121
+ "defaultValue": null,
4122
+ "description": ""
4123
+ },
4124
+ {
4125
+ "name": "arrowPadding",
4126
+ "required": false,
4127
+ "type": "number",
4128
+ "defaultValue": "5",
4129
+ "description": ""
4130
+ },
4131
+ {
4132
+ "name": "className",
4133
+ "required": false,
4134
+ "type": "| string\n| ((state: TooltipPositionerState) => string)",
4135
+ "defaultValue": null,
4136
+ "description": ""
4137
+ },
4138
+ {
4139
+ "name": "collisionAvoidance",
4140
+ "required": false,
4141
+ "type": "CollisionAvoidance",
4142
+ "defaultValue": null,
4143
+ "description": ""
4144
+ },
4145
+ {
4146
+ "name": "collisionBoundary",
4147
+ "required": false,
4148
+ "type": "Boundary",
4149
+ "defaultValue": "'clipping-ancestors'",
4150
+ "description": ""
4151
+ },
4152
+ {
4153
+ "name": "collisionPadding",
4154
+ "required": false,
4155
+ "type": "Padding",
4156
+ "defaultValue": "5",
4157
+ "description": ""
4158
+ },
4159
+ {
4160
+ "name": "disableAnchorTracking",
4161
+ "required": false,
4162
+ "type": "boolean",
4163
+ "defaultValue": "false",
4164
+ "description": ""
4165
+ },
4166
+ {
4167
+ "name": "render",
4168
+ "required": false,
4169
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TooltipPositionerState>",
4170
+ "defaultValue": null,
4171
+ "description": ""
4172
+ },
4173
+ {
4174
+ "name": "side",
4175
+ "required": false,
4176
+ "type": "Side",
4177
+ "defaultValue": "'top'",
4178
+ "description": ""
4179
+ },
4180
+ {
4181
+ "name": "sideOffset",
4182
+ "required": false,
4183
+ "type": "number | OffsetFunction",
4184
+ "defaultValue": "13",
4185
+ "description": ""
4186
+ },
4187
+ {
4188
+ "name": "sticky",
4189
+ "required": false,
4190
+ "type": "boolean",
4191
+ "defaultValue": "false",
4192
+ "description": ""
4193
+ }
4194
+ ]
4195
+ },
4196
+ {
4197
+ "name": "Tooltip.Provider",
4198
+ "description": "Tooltip.Provider — shares open/close delay across a group of tooltips so\nmoving between neighbouring triggers feels instant. Renders no DOM element.",
4199
+ "props": [
4200
+ {
4201
+ "name": "closeDelay",
4202
+ "required": false,
4203
+ "type": "number",
4204
+ "defaultValue": "undefined",
4205
+ "description": ""
4206
+ },
4207
+ {
4208
+ "name": "delay",
4209
+ "required": false,
4210
+ "type": "number",
4211
+ "defaultValue": "undefined",
4212
+ "description": ""
4213
+ },
4214
+ {
4215
+ "name": "timeout",
4216
+ "required": false,
4217
+ "type": "number",
4218
+ "defaultValue": "400",
4219
+ "description": ""
4220
+ }
4221
+ ]
4222
+ },
4223
+ {
4224
+ "name": "Tooltip.Trigger",
4225
+ "description": "Tooltip.Trigger — element that reveals the tooltip on hover or focus.",
4226
+ "props": [
4227
+ {
4228
+ "name": "className",
4229
+ "required": false,
4230
+ "type": "string | ((state: TooltipTriggerState) => string)",
4231
+ "defaultValue": null,
4232
+ "description": ""
4233
+ },
4234
+ {
4235
+ "name": "closeDelay",
4236
+ "required": false,
4237
+ "type": "number",
4238
+ "defaultValue": "0",
4239
+ "description": ""
4240
+ },
4241
+ {
4242
+ "name": "delay",
4243
+ "required": false,
4244
+ "type": "number",
4245
+ "defaultValue": "250",
4246
+ "description": "Milliseconds to wait before opening on hover. Defaults to a snappier value\nthan Base UI's 600ms — a deliberate imf default per \"make the correct\nchoice the easy one\". Grouped triggers under a `Tooltip.Provider` open\ninstantly after the first regardless of this value."
4247
+ },
4248
+ {
4249
+ "name": "handle",
4250
+ "required": false,
4251
+ "type": "TooltipHandle<unknown>",
4252
+ "defaultValue": null,
4253
+ "description": ""
4254
+ },
4255
+ {
4256
+ "name": "inline",
4257
+ "required": false,
4258
+ "type": "boolean",
4259
+ "defaultValue": "false",
4260
+ "description": ""
4261
+ },
4262
+ {
4263
+ "name": "payload",
4264
+ "required": false,
4265
+ "type": "unknown",
4266
+ "defaultValue": null,
4267
+ "description": ""
4268
+ },
4269
+ {
4270
+ "name": "render",
4271
+ "required": false,
4272
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TooltipTriggerState>",
4273
+ "defaultValue": null,
4274
+ "description": ""
4275
+ },
4276
+ {
4277
+ "name": "variant",
4278
+ "required": false,
4279
+ "type": "\"primary\" | \"secondary\" | \"positive\" | \"negative\"",
4280
+ "defaultValue": "secondary",
4281
+ "description": ""
4282
+ }
4283
+ ]
4284
+ },
4285
+ {
4286
+ "name": "Tooltip.Viewport",
4287
+ "description": "Tooltip.Viewport — content wrapper that supports direction-aware animations when content swaps.",
4288
+ "props": [
4289
+ {
4290
+ "name": "className",
4291
+ "required": false,
4292
+ "type": "| string\n| ((state: TooltipViewportState) => string)",
4293
+ "defaultValue": null,
4294
+ "description": ""
4295
+ },
4296
+ {
4297
+ "name": "render",
4298
+ "required": false,
4299
+ "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, TooltipViewportState>",
4300
+ "defaultValue": null,
4301
+ "description": ""
4302
+ }
4303
+ ]
4304
+ }
4305
+ ]
4306
+ },
4307
+ "typo": {
4308
+ "root": {
4309
+ "name": "Typo",
4310
+ "description": "",
4311
+ "props": []
4312
+ },
4313
+ "subComponents": [
4314
+ {
4315
+ "name": "Typo.Blockquote",
4316
+ "description": "Typo.Blockquote — pulled quotation.",
4317
+ "props": [
4318
+ {
4319
+ "name": "spacing",
4320
+ "required": false,
4321
+ "type": "\"default\" | \"none\" | null",
4322
+ "defaultValue": "default",
4323
+ "description": ""
4324
+ },
4325
+ {
4326
+ "name": "variant",
4327
+ "required": false,
4328
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4329
+ "defaultValue": "support",
4330
+ "description": ""
4331
+ }
4332
+ ]
4333
+ },
4334
+ {
4335
+ "name": "Typo.Detail",
4336
+ "description": "Typo.Detail — compact UI text, between Small (12px) and P (16px).",
4337
+ "props": [
4338
+ {
4339
+ "name": "variant",
4340
+ "required": false,
4341
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4342
+ "defaultValue": "main",
4343
+ "description": ""
4344
+ }
4345
+ ]
4346
+ },
4347
+ {
4348
+ "name": "Typo.H1",
4349
+ "description": "Typo.H1 — top-level page heading.",
4350
+ "props": [
4351
+ {
4352
+ "name": "spacing",
4353
+ "required": false,
4354
+ "type": "\"default\" | \"none\" | null",
4355
+ "defaultValue": "default",
4356
+ "description": ""
4357
+ },
4358
+ {
4359
+ "name": "variant",
4360
+ "required": false,
4361
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4362
+ "defaultValue": "main",
4363
+ "description": ""
4364
+ }
4365
+ ]
4366
+ },
4367
+ {
4368
+ "name": "Typo.H2",
4369
+ "description": "Typo.H2 — section heading.",
4370
+ "props": [
4371
+ {
4372
+ "name": "spacing",
4373
+ "required": false,
4374
+ "type": "\"default\" | \"none\" | null",
4375
+ "defaultValue": "default",
4376
+ "description": ""
4377
+ },
4378
+ {
4379
+ "name": "variant",
4380
+ "required": false,
4381
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4382
+ "defaultValue": "main",
4383
+ "description": ""
4384
+ }
4385
+ ]
4386
+ },
4387
+ {
4388
+ "name": "Typo.H3",
4389
+ "description": "Typo.H3 — sub-section heading.",
4390
+ "props": [
4391
+ {
4392
+ "name": "spacing",
4393
+ "required": false,
4394
+ "type": "\"default\" | \"none\" | null",
4395
+ "defaultValue": "default",
4396
+ "description": ""
4397
+ },
4398
+ {
4399
+ "name": "variant",
4400
+ "required": false,
4401
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4402
+ "defaultValue": "main",
4403
+ "description": ""
4404
+ }
4405
+ ]
4406
+ },
4407
+ {
4408
+ "name": "Typo.H4",
4409
+ "description": "Typo.H4 — minor heading.",
4410
+ "props": [
4411
+ {
4412
+ "name": "spacing",
4413
+ "required": false,
4414
+ "type": "\"default\" | \"none\" | null",
4415
+ "defaultValue": "default",
4416
+ "description": ""
4417
+ },
4418
+ {
4419
+ "name": "variant",
4420
+ "required": false,
4421
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4422
+ "defaultValue": "main",
4423
+ "description": ""
4424
+ }
4425
+ ]
4426
+ },
4427
+ {
4428
+ "name": "Typo.Highlight",
4429
+ "description": "Typo.Highlight — inline mark/highlight.",
4430
+ "props": [
4431
+ {
4432
+ "name": "variant",
4433
+ "required": false,
4434
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4435
+ "defaultValue": "oncolor",
4436
+ "description": ""
4437
+ }
4438
+ ]
4439
+ },
4440
+ {
4441
+ "name": "Typo.InlineCode",
4442
+ "description": "Typo.InlineCode — inline code fragment. Thin wrapper over `Code.Inline`, which\nowns the inline-code styling; the rendered `<code>` carries the `Code.Inline`\nidentity. Unlike other Typo members it has no color-`variant` axis — inline\ncode is a fixed neutral chip.",
4443
+ "props": [
4444
+ {
4445
+ "name": "children",
4446
+ "required": true,
4447
+ "type": "string",
4448
+ "defaultValue": null,
4449
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
4450
+ },
4451
+ {
4452
+ "name": "copyable",
4453
+ "required": false,
4454
+ "type": "boolean",
4455
+ "defaultValue": "false",
4456
+ "description": "Show a small copy button on the right, behind a hairline separator."
4457
+ },
4458
+ {
4459
+ "name": "highlighted",
4460
+ "required": false,
4461
+ "type": "ReactNode",
4462
+ "defaultValue": null,
4463
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
4464
+ }
4465
+ ]
4466
+ },
4467
+ {
4468
+ "name": "Typo.Lead",
4469
+ "description": "Typo.Lead — emphasised intro paragraph.",
4470
+ "props": [
4471
+ {
4472
+ "name": "spacing",
4473
+ "required": false,
4474
+ "type": "\"default\" | \"none\" | null",
4475
+ "defaultValue": "default",
4476
+ "description": ""
4477
+ },
4478
+ {
4479
+ "name": "variant",
4480
+ "required": false,
4481
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4482
+ "defaultValue": "main",
4483
+ "description": ""
4484
+ }
4485
+ ]
4486
+ },
4487
+ {
4488
+ "name": "Typo.Link",
4489
+ "description": "Typo.Link — inline anchor. Auto-appends a directional icon (Lucide `ArrowUpRight` for external, `ArrowRight` for internal), mirroring ChipLink's affordance for prose links.",
4490
+ "props": [
4491
+ {
4492
+ "name": "kind",
4493
+ "required": false,
4494
+ "type": "TypoLinkKind",
4495
+ "defaultValue": "external",
4496
+ "description": "Link target scope. `\"external\"` (default) opens in a new tab with a diagonal `ArrowUpRight` icon; `\"internal\"` stays in the current tab with a horizontal `ArrowRight` icon."
4497
+ },
4498
+ {
4499
+ "name": "variant",
4500
+ "required": false,
4501
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4502
+ "defaultValue": "main",
4503
+ "description": ""
4504
+ }
4505
+ ]
4506
+ },
4507
+ {
4508
+ "name": "Typo.OrderedList",
4509
+ "description": "Typo.OrderedList — numbered list.",
4510
+ "props": [
4511
+ {
4512
+ "name": "spacing",
4513
+ "required": false,
4514
+ "type": "\"default\" | \"none\" | null",
4515
+ "defaultValue": "default",
4516
+ "description": ""
4517
+ },
4518
+ {
4519
+ "name": "variant",
4520
+ "required": false,
4521
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4522
+ "defaultValue": "main",
4523
+ "description": ""
4524
+ }
4525
+ ]
4526
+ },
4527
+ {
4528
+ "name": "Typo.P",
4529
+ "description": "Typo.P — body paragraph.",
4530
+ "props": [
4531
+ {
4532
+ "name": "spacing",
4533
+ "required": false,
4534
+ "type": "\"default\" | \"none\" | null",
4535
+ "defaultValue": "default",
4536
+ "description": ""
4537
+ },
4538
+ {
4539
+ "name": "variant",
4540
+ "required": false,
4541
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4542
+ "defaultValue": "main",
4543
+ "description": ""
4544
+ }
4545
+ ]
4546
+ },
4547
+ {
4548
+ "name": "Typo.Small",
4549
+ "description": "Typo.Small — fine print.",
4550
+ "props": [
4551
+ {
4552
+ "name": "variant",
4553
+ "required": false,
4554
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4555
+ "defaultValue": "minor",
4556
+ "description": ""
4557
+ }
4558
+ ]
4559
+ },
4560
+ {
4561
+ "name": "Typo.UnorderedList",
4562
+ "description": "Typo.UnorderedList — bulleted list.",
4563
+ "props": [
4564
+ {
4565
+ "name": "spacing",
4566
+ "required": false,
4567
+ "type": "\"default\" | \"none\" | null",
4568
+ "defaultValue": "default",
4569
+ "description": ""
4570
+ },
4571
+ {
4572
+ "name": "variant",
4573
+ "required": false,
4574
+ "type": "| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"negative\"\n| \"positive\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
4575
+ "defaultValue": "main",
4576
+ "description": ""
4577
+ }
4578
+ ]
4579
+ }
4580
+ ]
4581
+ },
4582
+ "code-highlight": {
4583
+ "root": {
4584
+ "name": "CodeHighlight",
4585
+ "description": "",
4586
+ "props": []
4587
+ },
4588
+ "subComponents": [
4589
+ {
4590
+ "name": "CodeHighlight.Block",
4591
+ "description": "Code.Block — the core `Code.Block` with TanStack Highlight tokens filling its `highlighted` slot.",
4592
+ "props": [
4593
+ {
4594
+ "name": "children",
4595
+ "required": true,
4596
+ "type": "string",
4597
+ "defaultValue": null,
4598
+ "description": "The code to display, as a raw string — also the value copied by the copy button."
4599
+ },
4600
+ {
4601
+ "name": "hideCopy",
4602
+ "required": false,
4603
+ "type": "boolean",
4604
+ "defaultValue": "false",
4605
+ "description": "Hide the copy button."
4606
+ },
4607
+ {
4608
+ "name": "language",
4609
+ "required": false,
4610
+ "type": "SupportedLanguage",
4611
+ "defaultValue": null,
4612
+ "description": "Language of `children`: grammar for tokenization and label for the corner notch. Omit to hide the notch and skip highlighting."
4613
+ }
4614
+ ]
4615
+ },
4616
+ {
4617
+ "name": "CodeHighlight.Inline",
4618
+ "description": "Code.Inline — the core `Code.Inline` with TanStack Highlight tokens filling its `highlighted` slot.",
4619
+ "props": [
4620
+ {
4621
+ "name": "children",
4622
+ "required": true,
4623
+ "type": "string",
4624
+ "defaultValue": null,
4625
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
4626
+ },
4627
+ {
4628
+ "name": "copyable",
4629
+ "required": false,
4630
+ "type": "boolean",
4631
+ "defaultValue": "false",
4632
+ "description": "Show a small copy button on the right, behind a hairline separator."
4633
+ },
4634
+ {
4635
+ "name": "language",
4636
+ "required": false,
4637
+ "type": "SupportedLanguage",
4638
+ "defaultValue": null,
4639
+ "description": "Grammar used to tokenize the fragment. Purely visual — the chip shows no language label. Omit for plain text."
4640
+ }
4641
+ ]
4642
+ },
4643
+ {
4644
+ "name": "CodeHighlight.InlineLink",
4645
+ "description": "Code.InlineLink — the inline-code chip rendered as a link: the same hairline\nbox, with a directional arrow behind the separator instead of a copy button.\nSibling of `Code.Inline`, sharing its chip visual (`.inline`) — never both a\ncopy button and a link on the same chip. Mirrors `ChipLink`'s shape (anchor\nis the chip root, trailing icon nudges on hover, `data-kind` picks the icon).",
4646
+ "props": [
4647
+ {
4648
+ "name": "children",
4649
+ "required": true,
4650
+ "type": "string",
4651
+ "defaultValue": null,
4652
+ "description": "The link text, as a raw string, rendered as a code fragment."
4653
+ },
4654
+ {
4655
+ "name": "kind",
4656
+ "required": false,
4657
+ "type": "CodeInlineLinkKind",
4658
+ "defaultValue": "external",
4659
+ "description": "Link target scope. `\"external\"` (default) opens in a new tab with a diagonal `ArrowUpRight` icon; `\"internal\"` stays in the current tab with a horizontal `ArrowRight` icon."
4660
+ }
4661
+ ]
4662
+ }
4663
+ ]
4664
+ },
4665
+ "image-display-options": {
4666
+ "root": {
4667
+ "name": "ImageDisplayOptions",
4668
+ "description": "ImageDisplayOptions - a panel or toolbar of controls bound to an image\ndataset's display options.\n\nMust render inside an `ImFusionProvider`.",
4669
+ "props": [
4670
+ {
4671
+ "name": "data",
4672
+ "required": true,
4673
+ "type": "SharedImageSet",
4674
+ "defaultValue": null,
4675
+ "description": "The dataset whose display options are edited."
4676
+ },
4677
+ {
4678
+ "name": "ranges",
4679
+ "required": false,
4680
+ "type": "Partial<\n Record<\"window\" | \"level\" | \"gamma\", SliderRange>\n>",
4681
+ "defaultValue": null,
4682
+ "description": "Override individual slider bounds.\nMerged over the defaults, which are driven from the dataset's intensity domain."
4683
+ },
4684
+ {
4685
+ "name": "variant",
4686
+ "required": false,
4687
+ "type": "Variant",
4688
+ "defaultValue": "default",
4689
+ "description": "Layout: a stacked card (`default`), a horizontal row with side tabs\n(`horizontal`), or a flat compact row (`horizontal-compact`)."
4690
+ }
4691
+ ]
4692
+ },
4693
+ "subComponents": []
4694
+ }
4695
+ }