prime-ui-kit 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/README.md +41 -41
  2. package/dist/chunks/chunk-DB2Y3XXA.js +12437 -0
  3. package/dist/chunks/chunk-KCQFOORX.js +379 -0
  4. package/dist/chunks/chunk-NHOWNIAR.js +3239 -0
  5. package/dist/color-picker.d.ts +7 -0
  6. package/dist/color-picker.js +9 -0
  7. package/dist/components/accordion/Accordion.d.ts +44 -32
  8. package/dist/components/avatar/Avatar.d.ts +36 -53
  9. package/dist/components/badge/Badge.d.ts +50 -13
  10. package/dist/components/badge/edgeIcons.d.ts +13 -0
  11. package/dist/components/badge/tier.d.ts +0 -1
  12. package/dist/components/banner/Banner.d.ts +29 -60
  13. package/dist/components/breadcrumb/Breadcrumb.d.ts +11 -23
  14. package/dist/components/button/Button.d.ts +22 -36
  15. package/dist/components/button-group/ButtonGroup.d.ts +17 -17
  16. package/dist/components/card/Card.d.ts +75 -202
  17. package/dist/components/checkbox/Checkbox.d.ts +37 -38
  18. package/dist/components/code-block/CodeBlock.d.ts +5 -13
  19. package/dist/components/color-picker/ColorPicker.d.ts +76 -52
  20. package/dist/components/color-picker/ColorPresets.d.ts +18 -30
  21. package/dist/components/color-swatches/ColorSwatches.d.ts +40 -0
  22. package/dist/components/command-menu/CommandMenu.d.ts +138 -78
  23. package/dist/components/crossfade/Crossfade.d.ts +14 -0
  24. package/dist/components/data-table/DataTable.d.ts +30 -81
  25. package/dist/components/data-table/Footer.d.ts +16 -0
  26. package/dist/components/data-table/Head.d.ts +21 -0
  27. package/dist/components/data-table/Row.d.ts +56 -0
  28. package/dist/components/data-table/StateRows.d.ts +18 -0
  29. package/dist/components/data-table/rows.d.ts +60 -0
  30. package/dist/components/data-table/types.d.ts +35 -0
  31. package/dist/components/data-table/useColumnHover.d.ts +9 -0
  32. package/dist/components/data-table/useFrozenColumns.d.ts +16 -0
  33. package/dist/components/data-table/useInfiniteRows.d.ts +24 -0
  34. package/dist/components/data-table/useRowSelection.d.ts +35 -0
  35. package/dist/components/datepicker/Datepicker.d.ts +9 -126
  36. package/dist/components/datepicker/DatepickerPanel.d.ts +113 -0
  37. package/dist/components/datepicker/datepickerModel.d.ts +16 -22
  38. package/dist/components/datepicker/panelLayout.d.ts +50 -0
  39. package/dist/components/digit-input/DigitInput.d.ts +24 -19
  40. package/dist/components/divider/Divider.d.ts +7 -15
  41. package/dist/components/dnd/Dnd.d.ts +135 -0
  42. package/dist/components/dnd/DragOverlay.d.ts +6 -0
  43. package/dist/components/dnd/autoScroll.d.ts +5 -0
  44. package/dist/components/dnd/context.d.ts +5 -0
  45. package/dist/components/dnd/dragSession.d.ts +93 -0
  46. package/dist/components/dnd/geometry.d.ts +30 -0
  47. package/dist/components/dnd/labels.d.ts +18 -0
  48. package/dist/components/dnd/store.d.ts +9 -0
  49. package/dist/components/dnd/useDragSource.d.ts +36 -0
  50. package/dist/components/dnd/useDropTarget.d.ts +39 -0
  51. package/dist/components/dnd/useFlipList.d.ts +11 -0
  52. package/dist/components/dnd/useSortableList.d.ts +62 -0
  53. package/dist/components/drawer/Drawer.d.ts +8 -19
  54. package/dist/components/dropdown/Dropdown.d.ts +63 -86
  55. package/dist/components/empty-page/EmptyPage.d.ts +48 -48
  56. package/dist/components/example-frame/ExampleFrame.d.ts +20 -27
  57. package/dist/components/file-upload/FileUpload.d.ts +79 -134
  58. package/dist/components/hint/Hint.d.ts +10 -11
  59. package/dist/components/index.d.ts +54 -42
  60. package/dist/components/input/Input.d.ts +35 -37
  61. package/dist/components/kbd/Kbd.d.ts +6 -12
  62. package/dist/components/label/Label.d.ts +18 -15
  63. package/dist/components/link-button/LinkButton.d.ts +14 -15
  64. package/dist/components/login-form/LoginForm.d.ts +115 -0
  65. package/dist/components/modal/DialogParts.d.ts +57 -16
  66. package/dist/components/modal/Modal.d.ts +7 -21
  67. package/dist/components/native-select/NativeSelect.d.ts +28 -0
  68. package/dist/components/notification/Notification.d.ts +50 -16
  69. package/dist/components/notification/NotificationStore.d.ts +2 -6
  70. package/dist/components/page-content/PageContent.d.ts +43 -52
  71. package/dist/components/pagination/Pagination.d.ts +11 -23
  72. package/dist/components/popover/Popover.d.ts +62 -26
  73. package/dist/components/progress-bar/ProgressBar.d.ts +17 -13
  74. package/dist/components/progress-circle/ProgressCircle.d.ts +14 -15
  75. package/dist/components/radio/Radio.d.ts +46 -54
  76. package/dist/components/scroll-container/ScrollContainer.d.ts +10 -13
  77. package/dist/components/segmented-control/SegmentedControl.d.ts +15 -27
  78. package/dist/components/select/Select.d.ts +54 -135
  79. package/dist/components/select/SelectItem.d.ts +68 -0
  80. package/dist/components/select/selectContext.d.ts +61 -0
  81. package/dist/components/skeleton/Skeleton.d.ts +22 -0
  82. package/dist/components/slider/Slider.d.ts +24 -16
  83. package/dist/components/smart-filter/SmartFilter.d.ts +105 -0
  84. package/dist/components/smart-filter/model.d.ts +33 -0
  85. package/dist/components/spinner/Spinner.d.ts +22 -0
  86. package/dist/components/stepper/Stepper.d.ts +32 -42
  87. package/dist/components/switch/Switch.d.ts +19 -37
  88. package/dist/components/tabs/Tabs.d.ts +62 -38
  89. package/dist/components/tag-select/TagOptionMenu.d.ts +29 -0
  90. package/dist/components/tag-select/TagSelect.d.ts +15 -16
  91. package/dist/components/tag-select/useChipOverflow.d.ts +19 -0
  92. package/dist/components/textarea/Textarea.d.ts +16 -31
  93. package/dist/components/thumbnail/Thumbnail.d.ts +41 -0
  94. package/dist/components/timeline/Timeline.d.ts +46 -61
  95. package/dist/components/tooltip/Tooltip.d.ts +21 -17
  96. package/dist/components/typography/Typography.d.ts +5 -21
  97. package/dist/hooks/useControllableState.d.ts +0 -1
  98. package/dist/hooks/useEnterConfirm.d.ts +15 -0
  99. package/dist/hooks/useImageStatus.d.ts +19 -0
  100. package/dist/hooks/useInertSiblings.d.ts +9 -0
  101. package/dist/hooks/useMergedRefs.d.ts +6 -2
  102. package/dist/hooks/useModalLayer.d.ts +22 -0
  103. package/dist/hooks/usePosition.d.ts +46 -40
  104. package/dist/hooks/usePresence.d.ts +0 -1
  105. package/dist/hooks/useScrollLock.d.ts +3 -5
  106. package/dist/hooks/useStateSwap.d.ts +8 -0
  107. package/dist/icons/Icon.d.ts +24 -7
  108. package/dist/icons/index.d.ts +2 -44
  109. package/dist/icons/registry.d.ts +85 -0
  110. package/dist/index.css +5990 -6891
  111. package/dist/index.d.ts +0 -1
  112. package/dist/index.js +98 -13830
  113. package/dist/internal/AnchorRectContext.d.ts +12 -0
  114. package/dist/internal/ChoiceField.d.ts +34 -0
  115. package/dist/internal/ControlSizeContext.d.ts +6 -2
  116. package/dist/internal/FieldFrame.d.ts +47 -8
  117. package/dist/internal/HighlightMatch.d.ts +13 -0
  118. package/dist/internal/MenuGroup.d.ts +8 -0
  119. package/dist/internal/Portal.d.ts +0 -1
  120. package/dist/internal/VisuallyHidden.d.ts +11 -0
  121. package/dist/internal/context.d.ts +0 -1
  122. package/dist/internal/cx.d.ts +0 -1
  123. package/dist/internal/data-attributes.d.ts +0 -1
  124. package/dist/internal/fieldClasses.d.ts +9 -0
  125. package/dist/internal/formatLabel.d.ts +6 -0
  126. package/dist/internal/highlightTsxHtml.d.ts +1 -2
  127. package/dist/internal/iconBox.d.ts +9 -0
  128. package/dist/internal/iconLayout.d.ts +15 -0
  129. package/dist/internal/imageSlot.d.ts +29 -0
  130. package/dist/internal/layoutPxFromPrimitives.d.ts +2 -3
  131. package/dist/internal/listbox.d.ts +40 -0
  132. package/dist/internal/mergeRefs.d.ts +4 -2
  133. package/dist/internal/overlay/FloatingPanel.d.ts +34 -0
  134. package/dist/internal/overlay/focus.d.ts +14 -0
  135. package/dist/internal/overlay/layerStack.d.ts +41 -0
  136. package/dist/internal/overlay/useFloatingLayer.d.ts +60 -0
  137. package/dist/internal/polymorphic.d.ts +9 -0
  138. package/dist/internal/progressSegments.d.ts +63 -0
  139. package/dist/internal/rovingFocus.d.ts +18 -0
  140. package/dist/internal/scrollAncestors.d.ts +1 -2
  141. package/dist/internal/slot.d.ts +11 -5
  142. package/dist/internal/states.d.ts +3 -2
  143. package/dist/internal/swatch.d.ts +56 -0
  144. package/dist/layout/app-shell/AppShell.d.ts +41 -21
  145. package/dist/layout/index.d.ts +1 -2
  146. package/dist/layout/sidebar/Sidebar.d.ts +206 -35
  147. package/dist/theme/applyTheme.d.ts +0 -1
  148. package/dist/tokens/naming.d.ts +6 -0
  149. package/dist/tokens/primitives.d.ts +22 -80
  150. package/dist/tokens/semantic.d.ts +66 -25
  151. package/dist/tokens/themes/dark.d.ts +3 -1
  152. package/package.json +29 -24
  153. package/src/components/accordion/COMPONENT.md +90 -100
  154. package/src/components/accordion/examples/collapsible.tsx +27 -0
  155. package/src/components/accordion/examples/controlled.tsx +36 -0
  156. package/src/components/accordion/examples/examples.module.css +6 -39
  157. package/src/components/accordion/examples/multiple.tsx +31 -0
  158. package/src/components/accordion/examples/overview.tsx +39 -0
  159. package/src/components/accordion/examples/sizes.tsx +14 -25
  160. package/src/components/accordion/examples/states.tsx +23 -48
  161. package/src/components/accordion/examples/variants.tsx +35 -0
  162. package/src/components/accordion/examples/with-icon.tsx +47 -0
  163. package/src/components/avatar/COMPONENT.md +88 -153
  164. package/src/components/avatar/examples/examples.module.css +6 -44
  165. package/src/components/avatar/examples/overview.tsx +18 -0
  166. package/src/components/avatar/examples/presence.tsx +20 -17
  167. package/src/components/avatar/examples/sizes.tsx +8 -10
  168. package/src/components/avatar/examples/src-from-state.tsx +4 -5
  169. package/src/components/avatar/examples/states.tsx +17 -27
  170. package/src/components/avatar/examples/team-group.tsx +21 -0
  171. package/src/components/avatar/examples/variants.tsx +40 -0
  172. package/src/components/badge/COMPONENT.md +113 -122
  173. package/src/components/{tag → badge}/examples/applied-filters.tsx +10 -11
  174. package/src/components/badge/examples/examples.module.css +14 -59
  175. package/src/components/badge/examples/filter-values.tsx +39 -0
  176. package/src/components/badge/examples/in-controls.tsx +14 -26
  177. package/src/components/badge/examples/overview.tsx +13 -0
  178. package/src/components/badge/examples/sizes.tsx +8 -10
  179. package/src/components/badge/examples/states.tsx +35 -29
  180. package/src/components/badge/examples/variants.tsx +27 -36
  181. package/src/components/badge/examples/with-icon.tsx +50 -0
  182. package/src/components/banner/COMPONENT.md +88 -93
  183. package/src/components/banner/examples/dismissible.tsx +38 -0
  184. package/src/components/banner/examples/examples.module.css +6 -22
  185. package/src/components/banner/examples/narrow.tsx +23 -0
  186. package/src/components/banner/examples/overview.tsx +18 -0
  187. package/src/components/banner/examples/page-strip.tsx +53 -0
  188. package/src/components/banner/examples/sizes.tsx +22 -21
  189. package/src/components/banner/examples/structure.tsx +45 -0
  190. package/src/components/banner/examples/variants.tsx +28 -55
  191. package/src/components/breadcrumb/COMPONENT.md +55 -59
  192. package/src/components/breadcrumb/examples/ellipsis.tsx +12 -0
  193. package/src/components/breadcrumb/examples/examples.module.css +3 -52
  194. package/src/components/breadcrumb/examples/overflow.tsx +26 -0
  195. package/src/components/breadcrumb/examples/overview.tsx +12 -0
  196. package/src/components/breadcrumb/examples/sizes.tsx +11 -14
  197. package/src/components/breadcrumb/examples/with-icon.tsx +14 -0
  198. package/src/components/button/COMPONENT.md +65 -66
  199. package/src/components/button/examples/as-child.tsx +8 -32
  200. package/src/components/button/examples/examples.module.css +18 -76
  201. package/src/components/button/examples/in-form.tsx +20 -14
  202. package/src/components/button/examples/on-colored-host.tsx +29 -0
  203. package/src/components/button/examples/overview.tsx +13 -0
  204. package/src/components/button/examples/sizes.tsx +7 -9
  205. package/src/components/button/examples/states.tsx +18 -28
  206. package/src/components/button/examples/variants.tsx +31 -0
  207. package/src/components/button/examples/with-icon.tsx +35 -23
  208. package/src/components/button-group/COMPONENT.md +64 -55
  209. package/src/components/button-group/examples/controlled.tsx +3 -3
  210. package/src/components/button-group/examples/examples.module.css +4 -39
  211. package/src/components/button-group/examples/full-width.tsx +10 -14
  212. package/src/components/button-group/examples/in-form.tsx +3 -3
  213. package/src/components/button-group/examples/orientation.tsx +6 -8
  214. package/src/components/button-group/examples/overview.tsx +12 -0
  215. package/src/components/button-group/examples/sizes.tsx +8 -10
  216. package/src/components/button-group/examples/states.tsx +28 -7
  217. package/src/components/button-group/examples/with-icon.tsx +45 -0
  218. package/src/components/card/COMPONENT.md +99 -298
  219. package/src/components/card/examples/{content.tsx → content-templates.tsx} +23 -29
  220. package/src/components/card/examples/examples.module.css +0 -8
  221. package/src/components/card/examples/flat.tsx +9 -14
  222. package/src/components/card/examples/kpi-media.tsx +42 -0
  223. package/src/components/card/examples/narrow.tsx +47 -0
  224. package/src/components/card/examples/{settings.tsx → overview.tsx} +7 -8
  225. package/src/components/card/examples/panel-chart.tsx +26 -34
  226. package/src/components/card/examples/{metrics.tsx → variants.tsx} +12 -18
  227. package/src/components/checkbox/COMPONENT.md +92 -96
  228. package/src/components/checkbox/examples/controlled.tsx +41 -0
  229. package/src/components/checkbox/examples/examples.module.css +45 -43
  230. package/src/components/checkbox/examples/in-form.tsx +34 -0
  231. package/src/components/checkbox/examples/indicator.tsx +54 -0
  232. package/src/components/checkbox/examples/overview.tsx +10 -0
  233. package/src/components/checkbox/examples/sizes.tsx +5 -10
  234. package/src/components/checkbox/examples/states.tsx +42 -23
  235. package/src/components/checkbox/examples/without-label.tsx +3 -7
  236. package/src/components/code-block/COMPONENT.md +55 -57
  237. package/src/components/code-block/examples/color-scheme.tsx +4 -15
  238. package/src/components/code-block/examples/examples.module.css +9 -40
  239. package/src/components/code-block/examples/{long-lines.tsx → narrow.tsx} +3 -4
  240. package/src/components/code-block/examples/overview.tsx +19 -0
  241. package/src/components/code-block/examples/variants.tsx +12 -21
  242. package/src/components/color-picker/COMPONENT.md +196 -165
  243. package/src/components/color-picker/examples/controlled.tsx +37 -0
  244. package/src/components/color-picker/examples/examples.module.css +19 -88
  245. package/src/components/color-picker/examples/formats.tsx +13 -18
  246. package/src/components/color-picker/examples/in-form.tsx +44 -0
  247. package/src/components/color-picker/examples/overview.tsx +37 -0
  248. package/src/components/color-picker/examples/panel.tsx +12 -13
  249. package/src/components/color-picker/examples/presets-sizes.tsx +15 -20
  250. package/src/components/color-picker/examples/presets.tsx +33 -0
  251. package/src/components/color-picker/examples/sizes.tsx +26 -0
  252. package/src/components/color-picker/examples/states.tsx +4 -14
  253. package/src/components/color-picker/examples/validation.tsx +18 -0
  254. package/src/components/color-swatches/COMPONENT.md +145 -0
  255. package/src/components/color-swatches/examples/controlled.tsx +22 -0
  256. package/src/components/color-swatches/examples/examples.module.css +19 -0
  257. package/src/components/color-swatches/examples/in-form.tsx +35 -0
  258. package/src/components/color-swatches/examples/overview.tsx +6 -0
  259. package/src/components/color-swatches/examples/sizes.tsx +19 -0
  260. package/src/components/color-swatches/examples/states.tsx +20 -0
  261. package/src/components/color-swatches/examples/wrapping.tsx +12 -0
  262. package/src/components/command-menu/COMPONENT.md +117 -180
  263. package/src/components/command-menu/examples/controlled-open.tsx +29 -0
  264. package/src/components/command-menu/examples/controlled.tsx +19 -26
  265. package/src/components/command-menu/examples/dismiss.tsx +39 -0
  266. package/src/components/command-menu/examples/overview.tsx +61 -0
  267. package/src/components/command-menu/examples/sizes.tsx +30 -51
  268. package/src/components/command-menu/examples/states.tsx +6 -16
  269. package/src/components/command-menu/examples/structure.tsx +54 -0
  270. package/src/components/crossfade/COMPONENT.md +104 -0
  271. package/src/components/crossfade/examples/examples.module.css +65 -0
  272. package/src/components/crossfade/examples/overview.tsx +102 -0
  273. package/src/components/crossfade/examples/record-switch.tsx +67 -0
  274. package/src/components/data-table/COMPONENT.md +171 -185
  275. package/src/components/data-table/examples/appearance.tsx +31 -34
  276. package/src/components/data-table/examples/content-width.tsx +46 -26
  277. package/src/components/data-table/examples/controlled.tsx +56 -0
  278. package/src/components/data-table/examples/detail-panel.tsx +23 -28
  279. package/src/components/data-table/examples/examples.module.css +20 -91
  280. package/src/components/data-table/examples/infinite-scroll.tsx +17 -18
  281. package/src/components/data-table/examples/narrow.tsx +28 -38
  282. package/src/components/data-table/examples/nested-rows.tsx +32 -54
  283. package/src/components/data-table/examples/numeric.tsx +10 -19
  284. package/src/components/data-table/examples/overview.tsx +54 -0
  285. package/src/components/data-table/examples/selection.tsx +11 -15
  286. package/src/components/data-table/examples/sizes.tsx +22 -33
  287. package/src/components/data-table/examples/states.tsx +23 -24
  288. package/src/components/data-table/examples/sticky.tsx +17 -24
  289. package/src/components/data-table/examples/toolbar.tsx +21 -23
  290. package/src/components/datepicker/COMPONENT.md +152 -164
  291. package/src/components/datepicker/examples/controlled-open.tsx +32 -0
  292. package/src/components/datepicker/examples/controlled.tsx +39 -0
  293. package/src/components/datepicker/examples/examples.module.css +9 -23
  294. package/src/components/datepicker/examples/in-form.tsx +32 -45
  295. package/src/components/datepicker/examples/inline-panel.tsx +3 -3
  296. package/src/components/datepicker/examples/narrow.tsx +1 -1
  297. package/src/components/datepicker/examples/overview.tsx +6 -0
  298. package/src/components/datepicker/examples/range-presets.tsx +6 -5
  299. package/src/components/datepicker/examples/sizes.tsx +7 -10
  300. package/src/components/datepicker/examples/states.tsx +9 -30
  301. package/src/components/datepicker/examples/validation.tsx +26 -0
  302. package/src/components/datepicker/examples/yearless.tsx +9 -8
  303. package/src/components/digit-input/COMPONENT.md +91 -53
  304. package/src/components/digit-input/examples/controlled.tsx +6 -15
  305. package/src/components/digit-input/examples/examples.module.css +9 -42
  306. package/src/components/digit-input/examples/full-width.tsx +13 -0
  307. package/src/components/digit-input/examples/grouped.tsx +11 -0
  308. package/src/components/digit-input/examples/in-form.tsx +35 -0
  309. package/src/components/digit-input/examples/on-complete.tsx +20 -0
  310. package/src/components/digit-input/examples/overview.tsx +6 -0
  311. package/src/components/digit-input/examples/sizes.tsx +5 -17
  312. package/src/components/digit-input/examples/states.tsx +6 -50
  313. package/src/components/digit-input/examples/validation.tsx +17 -0
  314. package/src/components/divider/COMPONENT.md +61 -52
  315. package/src/components/divider/examples/align.tsx +14 -0
  316. package/src/components/divider/examples/examples.module.css +6 -20
  317. package/src/components/divider/examples/or-separator.tsx +19 -0
  318. package/src/components/divider/examples/overview.tsx +30 -0
  319. package/src/components/divider/examples/sizes.tsx +11 -10
  320. package/src/components/divider/examples/vertical.tsx +21 -0
  321. package/src/components/divider/examples/with-icon.tsx +26 -0
  322. package/src/components/dnd/COMPONENT.md +197 -0
  323. package/src/components/dnd/examples/board.tsx +83 -0
  324. package/src/components/dnd/examples/drop-zones.tsx +82 -0
  325. package/src/components/dnd/examples/examples.module.css +89 -0
  326. package/src/components/dnd/examples/handle.tsx +53 -0
  327. package/src/components/dnd/examples/narrow.tsx +42 -0
  328. package/src/components/dnd/examples/overview.tsx +45 -0
  329. package/src/components/drawer/COMPONENT.md +103 -102
  330. package/src/components/drawer/examples/controlled-open.tsx +33 -0
  331. package/src/components/drawer/examples/dismiss.tsx +55 -0
  332. package/src/components/drawer/examples/examples.module.css +3 -24
  333. package/src/components/drawer/examples/in-form.tsx +82 -0
  334. package/src/components/drawer/examples/long-content.tsx +40 -0
  335. package/src/components/drawer/examples/overview.tsx +48 -0
  336. package/src/components/drawer/examples/{variants-sides.tsx → placement.tsx} +10 -13
  337. package/src/components/drawer/examples/sizes.tsx +9 -15
  338. package/src/components/drawer/examples/structure.tsx +35 -0
  339. package/src/components/dropdown/COMPONENT.md +109 -152
  340. package/src/components/dropdown/examples/controlled-open.tsx +32 -0
  341. package/src/components/dropdown/examples/dismiss.tsx +17 -0
  342. package/src/components/dropdown/examples/examples.module.css +11 -45
  343. package/src/components/dropdown/examples/long-list.tsx +42 -0
  344. package/src/components/dropdown/examples/{full-width.tsx → match-trigger-width.tsx} +5 -4
  345. package/src/components/dropdown/examples/overview.tsx +41 -0
  346. package/src/components/dropdown/examples/placement.tsx +16 -13
  347. package/src/components/dropdown/examples/sizes.tsx +18 -15
  348. package/src/components/dropdown/examples/states.tsx +21 -29
  349. package/src/components/dropdown/examples/structure.tsx +56 -0
  350. package/src/components/empty-page/COMPONENT.md +71 -75
  351. package/src/components/empty-page/examples/compact.tsx +23 -0
  352. package/src/components/empty-page/examples/data-region.tsx +8 -11
  353. package/src/components/empty-page/examples/examples.module.css +22 -25
  354. package/src/components/empty-page/examples/icon-tones.tsx +5 -6
  355. package/src/components/empty-page/examples/narrow.tsx +26 -0
  356. package/src/components/empty-page/examples/{no-results.tsx → overview.tsx} +4 -5
  357. package/src/components/empty-page/examples/sizes.tsx +14 -20
  358. package/src/components/example-frame/COMPONENT.md +64 -66
  359. package/src/components/example-frame/examples/controlled.tsx +42 -0
  360. package/src/components/example-frame/examples/overview.tsx +16 -0
  361. package/src/components/file-upload/COMPONENT.md +128 -186
  362. package/src/components/file-upload/examples/avatar-upload.tsx +7 -12
  363. package/src/components/file-upload/examples/custom-body.tsx +44 -0
  364. package/src/components/file-upload/examples/examples.module.css +46 -64
  365. package/src/components/file-upload/examples/in-form.tsx +76 -0
  366. package/src/components/file-upload/examples/narrow.tsx +17 -0
  367. package/src/components/file-upload/examples/overview.tsx +52 -0
  368. package/src/components/file-upload/examples/sizes.tsx +16 -37
  369. package/src/components/file-upload/examples/states.tsx +6 -98
  370. package/src/components/file-upload/examples/upload-progress.tsx +39 -0
  371. package/src/components/file-upload/examples/validation.tsx +19 -0
  372. package/src/components/file-upload/examples/variants.tsx +5 -18
  373. package/src/components/hint/COMPONENT.md +42 -48
  374. package/src/components/hint/examples/examples.module.css +3 -45
  375. package/src/components/hint/examples/hint-or-error.tsx +5 -5
  376. package/src/components/hint/examples/overview.tsx +34 -0
  377. package/src/components/hint/examples/sizes.tsx +8 -10
  378. package/src/components/hint/examples/states.tsx +21 -14
  379. package/src/components/hint/examples/with-icon.tsx +31 -0
  380. package/src/components/input/COMPONENT.md +70 -88
  381. package/src/components/input/examples/affixes.tsx +22 -0
  382. package/src/components/input/examples/controlled.tsx +9 -10
  383. package/src/components/input/examples/examples.module.css +3 -116
  384. package/src/components/input/examples/in-form.tsx +35 -14
  385. package/src/components/input/examples/overview.tsx +12 -0
  386. package/src/components/input/examples/sizes.tsx +6 -11
  387. package/src/components/input/examples/states.tsx +6 -23
  388. package/src/components/input/examples/validation.tsx +35 -0
  389. package/src/components/input/examples/with-icon.tsx +25 -0
  390. package/src/components/input/examples/{search-without-focus-ring.tsx → without-focus-ring.tsx} +5 -5
  391. package/src/components/kbd/COMPONENT.md +50 -65
  392. package/src/components/kbd/examples/examples.module.css +11 -41
  393. package/src/components/kbd/examples/in-controls.tsx +25 -31
  394. package/src/components/kbd/examples/overview.tsx +24 -0
  395. package/src/components/kbd/examples/shortcut-list.tsx +12 -12
  396. package/src/components/kbd/examples/sizes.tsx +8 -13
  397. package/src/components/label/COMPONENT.md +45 -44
  398. package/src/components/label/examples/examples.module.css +8 -29
  399. package/src/components/label/examples/overview.tsx +17 -0
  400. package/src/components/label/examples/sizes.tsx +9 -13
  401. package/src/components/label/examples/states.tsx +17 -14
  402. package/src/components/label/examples/structure.tsx +32 -0
  403. package/src/components/label/examples/with-icon.tsx +25 -17
  404. package/src/components/link-button/COMPONENT.md +56 -39
  405. package/src/components/link-button/examples/as-child.tsx +18 -0
  406. package/src/components/link-button/examples/external-link.tsx +6 -6
  407. package/src/components/link-button/examples/overview.tsx +11 -0
  408. package/src/components/link-button/examples/sizes.tsx +9 -11
  409. package/src/components/link-button/examples/states.tsx +25 -12
  410. package/src/components/link-button/examples/variants.tsx +21 -0
  411. package/src/components/link-button/examples/with-icon.tsx +21 -13
  412. package/src/components/login-form/COMPONENT.md +162 -0
  413. package/src/components/login-form/examples/examples.module.css +39 -0
  414. package/src/components/login-form/examples/forgot-password.tsx +39 -0
  415. package/src/components/login-form/examples/narrow.tsx +32 -0
  416. package/src/components/login-form/examples/overview.tsx +58 -0
  417. package/src/components/login-form/examples/register.tsx +85 -0
  418. package/src/components/login-form/examples/reset-password.tsx +60 -0
  419. package/src/components/login-form/examples/sizes.tsx +38 -0
  420. package/src/components/login-form/examples/states.tsx +75 -0
  421. package/src/components/login-form/examples/structure.tsx +28 -0
  422. package/src/components/login-form/examples/verification-code.tsx +57 -0
  423. package/src/components/modal/COMPONENT.md +64 -84
  424. package/src/components/modal/examples/{controlled.tsx → controlled-open.tsx} +6 -12
  425. package/src/components/modal/examples/custom-container.tsx +29 -0
  426. package/src/components/modal/examples/dismiss.tsx +54 -0
  427. package/src/components/modal/examples/examples.module.css +4 -20
  428. package/src/components/modal/examples/in-form.tsx +78 -0
  429. package/src/components/modal/examples/long-content.tsx +52 -0
  430. package/src/components/modal/examples/overview.tsx +35 -0
  431. package/src/components/modal/examples/sizes.tsx +7 -9
  432. package/src/components/modal/examples/structure.tsx +53 -0
  433. package/src/components/native-select/COMPONENT.md +132 -0
  434. package/src/components/native-select/examples/controlled.tsx +26 -0
  435. package/src/components/native-select/examples/examples.module.css +14 -0
  436. package/src/components/native-select/examples/in-form.tsx +43 -0
  437. package/src/components/native-select/examples/option-groups.tsx +17 -0
  438. package/src/components/native-select/examples/overview.tsx +16 -0
  439. package/src/components/native-select/examples/sizes.tsx +18 -0
  440. package/src/components/native-select/examples/states.tsx +21 -0
  441. package/src/components/native-select/examples/validation.tsx +26 -0
  442. package/src/components/notification/COMPONENT.md +107 -121
  443. package/src/components/notification/examples/dismiss.tsx +50 -0
  444. package/src/components/notification/examples/examples.module.css +10 -23
  445. package/src/components/notification/examples/in-form.tsx +64 -0
  446. package/src/components/notification/examples/overview.tsx +24 -0
  447. package/src/components/notification/examples/placement.tsx +66 -0
  448. package/src/components/notification/examples/sizes.tsx +11 -18
  449. package/src/components/notification/examples/stacking.tsx +45 -0
  450. package/src/components/notification/examples/structure.tsx +20 -0
  451. package/src/components/notification/examples/tones.tsx +14 -26
  452. package/src/components/page-content/COMPONENT.md +49 -74
  453. package/src/components/page-content/examples/examples.module.css +4 -8
  454. package/src/components/page-content/examples/narrow.tsx +25 -0
  455. package/src/components/page-content/examples/overview.tsx +41 -0
  456. package/src/components/page-content/examples/variants.tsx +39 -0
  457. package/src/components/pagination/COMPONENT.md +73 -64
  458. package/src/components/pagination/examples/controlled.tsx +51 -0
  459. package/src/components/pagination/examples/examples.module.css +6 -55
  460. package/src/components/pagination/examples/narrow.tsx +25 -0
  461. package/src/components/pagination/examples/overflow.tsx +23 -0
  462. package/src/components/pagination/examples/overview.tsx +6 -0
  463. package/src/components/pagination/examples/sizes.tsx +10 -18
  464. package/src/components/popover/COMPONENT.md +88 -99
  465. package/src/components/popover/examples/controlled-open.tsx +32 -0
  466. package/src/components/popover/examples/dismiss.tsx +49 -0
  467. package/src/components/popover/examples/examples.module.css +21 -41
  468. package/src/components/popover/examples/flush.tsx +47 -0
  469. package/src/components/popover/examples/in-form.tsx +54 -0
  470. package/src/components/popover/examples/{full-width.tsx → match-trigger-width.tsx} +7 -7
  471. package/src/components/popover/examples/overview.tsx +43 -0
  472. package/src/components/popover/examples/placement.tsx +17 -15
  473. package/src/components/popover/examples/sizes.tsx +12 -9
  474. package/src/components/popover/examples/structure.tsx +50 -0
  475. package/src/components/progress-bar/COMPONENT.md +102 -61
  476. package/src/components/progress-bar/examples/custom-max.tsx +12 -0
  477. package/src/components/progress-bar/examples/examples.module.css +4 -34
  478. package/src/components/progress-bar/examples/overview.tsx +12 -0
  479. package/src/components/progress-bar/examples/segments.tsx +32 -0
  480. package/src/components/progress-bar/examples/sizes.tsx +11 -8
  481. package/src/components/progress-bar/examples/variants.tsx +34 -0
  482. package/src/components/progress-circle/COMPONENT.md +101 -60
  483. package/src/components/progress-circle/examples/examples.module.css +2 -39
  484. package/src/components/progress-circle/examples/inner-content.tsx +35 -0
  485. package/src/components/progress-circle/examples/overview.tsx +10 -0
  486. package/src/components/progress-circle/examples/segments.tsx +64 -0
  487. package/src/components/progress-circle/examples/sizes.tsx +10 -12
  488. package/src/components/progress-circle/examples/variants.tsx +28 -0
  489. package/src/components/radio/COMPONENT.md +93 -114
  490. package/src/components/radio/examples/controlled.tsx +30 -0
  491. package/src/components/radio/examples/group.tsx +23 -0
  492. package/src/components/radio/examples/orientation.tsx +34 -0
  493. package/src/components/radio/examples/overview.tsx +18 -0
  494. package/src/components/radio/examples/sizes.tsx +7 -12
  495. package/src/components/radio/examples/states.tsx +42 -30
  496. package/src/components/scroll-container/COMPONENT.md +56 -28
  497. package/src/components/scroll-container/examples/edge-fade.tsx +53 -0
  498. package/src/components/scroll-container/examples/examples.module.css +7 -7
  499. package/src/components/scroll-container/examples/overscroll.tsx +27 -0
  500. package/src/components/scroll-container/examples/overview.tsx +27 -0
  501. package/src/components/scroll-container/examples/variants.tsx +54 -0
  502. package/src/components/segmented-control/COMPONENT.md +91 -105
  503. package/src/components/segmented-control/examples/colors.tsx +8 -13
  504. package/src/components/segmented-control/examples/controlled.tsx +10 -6
  505. package/src/components/segmented-control/examples/examples.module.css +2 -88
  506. package/src/components/segmented-control/examples/full-width.tsx +7 -44
  507. package/src/components/segmented-control/examples/overview.tsx +12 -0
  508. package/src/components/segmented-control/examples/scroll.tsx +16 -0
  509. package/src/components/segmented-control/examples/sizes.tsx +8 -20
  510. package/src/components/segmented-control/examples/states.tsx +28 -34
  511. package/src/components/segmented-control/examples/two-line.tsx +17 -104
  512. package/src/components/segmented-control/examples/with-icon.tsx +52 -0
  513. package/src/components/select/COMPONENT.md +154 -208
  514. package/src/components/select/examples/clearable.tsx +23 -0
  515. package/src/components/select/examples/controlled-open.tsx +30 -0
  516. package/src/components/select/examples/controlled.tsx +17 -10
  517. package/src/components/select/examples/examples.module.css +18 -38
  518. package/src/components/select/examples/in-form.tsx +59 -70
  519. package/src/components/select/examples/multiple.tsx +21 -33
  520. package/src/components/select/examples/overview.tsx +17 -0
  521. package/src/components/select/examples/rich-options.tsx +43 -69
  522. package/src/components/select/examples/searchable.tsx +42 -0
  523. package/src/components/select/examples/sizes.tsx +13 -17
  524. package/src/components/select/examples/states.tsx +34 -48
  525. package/src/components/select/examples/validation.tsx +41 -0
  526. package/src/components/select/examples/with-icon.tsx +35 -0
  527. package/src/components/skeleton/COMPONENT.md +104 -0
  528. package/src/components/skeleton/examples/examples.module.css +89 -0
  529. package/src/components/skeleton/examples/form.tsx +20 -0
  530. package/src/components/skeleton/examples/overview.tsx +21 -0
  531. package/src/components/skeleton/examples/sizes.tsx +24 -0
  532. package/src/components/skeleton/examples/with-crossfade.tsx +68 -0
  533. package/src/components/slider/COMPONENT.md +105 -68
  534. package/src/components/slider/examples/controlled.tsx +26 -30
  535. package/src/components/slider/examples/examples.module.css +8 -32
  536. package/src/components/slider/examples/hint-and-error.tsx +33 -0
  537. package/src/components/slider/examples/overview.tsx +6 -0
  538. package/src/components/slider/examples/range-step.tsx +7 -17
  539. package/src/components/slider/examples/sizes.tsx +8 -6
  540. package/src/components/slider/examples/states.tsx +11 -8
  541. package/src/components/slider/examples/value-format.tsx +13 -25
  542. package/src/components/slider/examples/variants.tsx +23 -0
  543. package/src/components/smart-filter/COMPONENT.md +182 -0
  544. package/src/components/smart-filter/examples/controlled.tsx +48 -0
  545. package/src/components/smart-filter/examples/examples.module.css +56 -0
  546. package/src/components/smart-filter/examples/many-values.tsx +53 -0
  547. package/src/components/smart-filter/examples/narrow.tsx +38 -0
  548. package/src/components/smart-filter/examples/overview.tsx +109 -0
  549. package/src/components/smart-filter/examples/sizes.tsx +33 -0
  550. package/src/components/spinner/COMPONENT.md +112 -0
  551. package/src/components/spinner/examples/examples.module.css +20 -0
  552. package/src/components/spinner/examples/loading-region.tsx +22 -0
  553. package/src/components/spinner/examples/overview.tsx +15 -0
  554. package/src/components/spinner/examples/sizes.tsx +19 -0
  555. package/src/components/spinner/examples/variants.tsx +19 -0
  556. package/src/components/stepper/COMPONENT.md +83 -78
  557. package/src/components/stepper/examples/controlled.tsx +46 -0
  558. package/src/components/stepper/examples/examples.module.css +9 -40
  559. package/src/components/stepper/examples/narrow.tsx +11 -19
  560. package/src/components/stepper/examples/orientation.tsx +21 -59
  561. package/src/components/stepper/examples/overview.tsx +28 -0
  562. package/src/components/stepper/examples/sizes.tsx +19 -28
  563. package/src/components/stepper/examples/states.tsx +20 -21
  564. package/src/components/stepper/examples/with-icon.tsx +29 -0
  565. package/src/components/switch/COMPONENT.md +75 -94
  566. package/src/components/switch/examples/controlled.tsx +8 -6
  567. package/src/components/switch/examples/examples.module.css +13 -45
  568. package/src/components/switch/examples/in-form.tsx +20 -24
  569. package/src/components/switch/examples/overview.tsx +10 -0
  570. package/src/components/switch/examples/settings-row.tsx +14 -22
  571. package/src/components/switch/examples/sizes.tsx +5 -10
  572. package/src/components/switch/examples/states.tsx +37 -25
  573. package/src/components/tabs/COMPONENT.md +153 -86
  574. package/src/components/tabs/examples/closable.tsx +48 -0
  575. package/src/components/tabs/examples/controlled.tsx +14 -20
  576. package/src/components/tabs/examples/examples.module.css +13 -93
  577. package/src/components/tabs/examples/orientation.tsx +40 -0
  578. package/src/components/tabs/examples/overflow.tsx +60 -0
  579. package/src/components/tabs/examples/overview.tsx +30 -0
  580. package/src/components/tabs/examples/sizes.tsx +19 -19
  581. package/src/components/tabs/examples/states.tsx +20 -55
  582. package/src/components/tabs/examples/two-line.tsx +22 -29
  583. package/src/components/tabs/examples/variants.tsx +40 -0
  584. package/src/components/tabs/examples/with-icon.tsx +44 -0
  585. package/src/components/tag-select/COMPONENT.md +119 -122
  586. package/src/components/tag-select/examples/controlled-open.tsx +29 -0
  587. package/src/components/tag-select/examples/controlled.tsx +26 -0
  588. package/src/components/tag-select/examples/creatable.tsx +28 -0
  589. package/src/components/tag-select/examples/examples.module.css +3 -22
  590. package/src/components/tag-select/examples/in-form.tsx +44 -41
  591. package/src/components/tag-select/examples/manage-tags.tsx +20 -39
  592. package/src/components/tag-select/examples/many-tags.tsx +20 -0
  593. package/src/components/tag-select/examples/overview.tsx +21 -0
  594. package/src/components/tag-select/examples/sizes.tsx +7 -10
  595. package/src/components/tag-select/examples/states.tsx +11 -36
  596. package/src/components/tag-select/examples/validation.tsx +35 -0
  597. package/src/components/textarea/COMPONENT.md +50 -50
  598. package/src/components/textarea/examples/auto-resize.tsx +21 -0
  599. package/src/components/textarea/examples/controlled.tsx +12 -16
  600. package/src/components/textarea/examples/examples.module.css +15 -48
  601. package/src/components/textarea/examples/in-form.tsx +52 -48
  602. package/src/components/textarea/examples/overview.tsx +12 -0
  603. package/src/components/textarea/examples/sizes.tsx +6 -7
  604. package/src/components/textarea/examples/states.tsx +9 -13
  605. package/src/components/textarea/examples/validation.tsx +34 -0
  606. package/src/components/textarea/examples/without-focus-ring.tsx +12 -0
  607. package/src/components/thumbnail/COMPONENT.md +150 -0
  608. package/src/components/thumbnail/examples/examples.module.css +45 -0
  609. package/src/components/thumbnail/examples/full-width.tsx +48 -0
  610. package/src/components/thumbnail/examples/overview.tsx +31 -0
  611. package/src/components/thumbnail/examples/ratios.tsx +25 -0
  612. package/src/components/thumbnail/examples/ring.tsx +29 -0
  613. package/src/components/thumbnail/examples/sizes.tsx +23 -0
  614. package/src/components/thumbnail/examples/states.tsx +38 -0
  615. package/src/components/thumbnail/examples/variants.tsx +28 -0
  616. package/src/components/timeline/COMPONENT.md +92 -203
  617. package/src/components/timeline/examples/examples.module.css +5 -20
  618. package/src/components/timeline/examples/links.tsx +28 -0
  619. package/src/components/timeline/examples/narrow.tsx +30 -38
  620. package/src/components/timeline/examples/{activity-feed.tsx → overview.tsx} +9 -17
  621. package/src/components/timeline/examples/sizes.tsx +22 -28
  622. package/src/components/timeline/examples/{service-history.tsx → structure.tsx} +10 -8
  623. package/src/components/timeline/examples/{colors-and-tones.tsx → variants.tsx} +11 -16
  624. package/src/components/tooltip/COMPONENT.md +74 -62
  625. package/src/components/tooltip/examples/{controlled.tsx → controlled-open.tsx} +5 -7
  626. package/src/components/tooltip/examples/delay.tsx +19 -28
  627. package/src/components/tooltip/examples/disabled-trigger.tsx +18 -0
  628. package/src/components/tooltip/examples/examples.module.css +3 -33
  629. package/src/components/tooltip/examples/long-content.tsx +12 -15
  630. package/src/components/tooltip/examples/overview.tsx +17 -0
  631. package/src/components/tooltip/examples/placement.tsx +30 -0
  632. package/src/components/tooltip/examples/sizes.tsx +12 -15
  633. package/src/components/tooltip/examples/toolbar.tsx +35 -0
  634. package/src/components/typography/COMPONENT.md +68 -99
  635. package/src/components/typography/examples/article.tsx +23 -36
  636. package/src/components/typography/examples/examples.module.css +20 -54
  637. package/src/components/typography/examples/inline-emphasis.tsx +20 -0
  638. package/src/components/typography/examples/overview.tsx +20 -0
  639. package/src/components/typography/examples/semantic-tag.tsx +17 -0
  640. package/src/components/typography/examples/truncate.tsx +7 -7
  641. package/src/components/typography/examples/variants.tsx +43 -42
  642. package/src/components/typography/examples/weights.tsx +31 -0
  643. package/src/layout/app-shell/COMPONENT.md +48 -54
  644. package/src/layout/app-shell/examples/contained.tsx +5 -5
  645. package/src/layout/app-shell/examples/examples.module.css +9 -0
  646. package/src/layout/app-shell/examples/overview.tsx +72 -0
  647. package/src/layout/app-shell/examples/template.tsx +54 -0
  648. package/src/layout/sidebar/COMPONENT.md +302 -110
  649. package/src/layout/sidebar/examples/account.tsx +88 -0
  650. package/src/layout/sidebar/examples/brand-header.tsx +45 -0
  651. package/src/layout/sidebar/examples/collapsible-groups.tsx +77 -0
  652. package/src/layout/sidebar/examples/controlled-open.tsx +55 -0
  653. package/src/layout/sidebar/examples/controlled.tsx +68 -0
  654. package/src/layout/sidebar/examples/examples.module.css +17 -3
  655. package/src/layout/sidebar/examples/nested-items.tsx +74 -0
  656. package/src/layout/sidebar/examples/overview.tsx +126 -0
  657. package/src/layout/sidebar/examples/router.tsx +19 -13
  658. package/src/layout/sidebar/examples/sizes.tsx +17 -12
  659. package/src/layout/sidebar/examples/structure.tsx +81 -0
  660. package/src/styles/fonts.css +4 -0
  661. package/src/styles/globals.css +18 -29
  662. package/src/styles/reset.css +2 -0
  663. package/src/styles/theme-dark.css +3 -0
  664. package/src/styles/theme-light.css +34 -23
  665. package/src/styles/tokens.css +9 -77
  666. package/dist/components/accordion/Accordion.d.ts.map +0 -1
  667. package/dist/components/avatar/Avatar.d.ts.map +0 -1
  668. package/dist/components/badge/Badge.d.ts.map +0 -1
  669. package/dist/components/badge/tier.d.ts.map +0 -1
  670. package/dist/components/banner/Banner.d.ts.map +0 -1
  671. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +0 -1
  672. package/dist/components/button/Button.d.ts.map +0 -1
  673. package/dist/components/button-group/ButtonGroup.d.ts.map +0 -1
  674. package/dist/components/card/Card.d.ts.map +0 -1
  675. package/dist/components/checkbox/Checkbox.d.ts.map +0 -1
  676. package/dist/components/code-block/CodeBlock.d.ts.map +0 -1
  677. package/dist/components/color-picker/ColorPicker.d.ts.map +0 -1
  678. package/dist/components/color-picker/ColorPresets.d.ts.map +0 -1
  679. package/dist/components/command-menu/CommandMenu.d.ts.map +0 -1
  680. package/dist/components/data-table/DataTable.d.ts.map +0 -1
  681. package/dist/components/datepicker/Datepicker.d.ts.map +0 -1
  682. package/dist/components/datepicker/datepickerModel.d.ts.map +0 -1
  683. package/dist/components/digit-input/DigitInput.d.ts.map +0 -1
  684. package/dist/components/divider/Divider.d.ts.map +0 -1
  685. package/dist/components/drawer/Drawer.d.ts.map +0 -1
  686. package/dist/components/dropdown/Dropdown.d.ts.map +0 -1
  687. package/dist/components/dropdown/dropdownGeometry.d.ts +0 -10
  688. package/dist/components/dropdown/dropdownGeometry.d.ts.map +0 -1
  689. package/dist/components/dropdown/menuKeyboard.d.ts +0 -4
  690. package/dist/components/dropdown/menuKeyboard.d.ts.map +0 -1
  691. package/dist/components/dropdown/useDropdownPosition.d.ts +0 -18
  692. package/dist/components/dropdown/useDropdownPosition.d.ts.map +0 -1
  693. package/dist/components/empty-page/EmptyPage.d.ts.map +0 -1
  694. package/dist/components/example-frame/ExampleFrame.d.ts.map +0 -1
  695. package/dist/components/file-upload/FileUpload.d.ts.map +0 -1
  696. package/dist/components/hint/Hint.d.ts.map +0 -1
  697. package/dist/components/index.css +0 -11181
  698. package/dist/components/index.css.map +0 -7
  699. package/dist/components/index.d.ts.map +0 -1
  700. package/dist/components/index.js +0 -13833
  701. package/dist/components/index.js.map +0 -7
  702. package/dist/components/input/Input.d.ts.map +0 -1
  703. package/dist/components/kbd/Kbd.d.ts.map +0 -1
  704. package/dist/components/label/Label.d.ts.map +0 -1
  705. package/dist/components/link-button/LinkButton.d.ts.map +0 -1
  706. package/dist/components/modal/DialogParts.d.ts.map +0 -1
  707. package/dist/components/modal/Modal.d.ts.map +0 -1
  708. package/dist/components/modal/useInertSiblings.d.ts +0 -7
  709. package/dist/components/modal/useInertSiblings.d.ts.map +0 -1
  710. package/dist/components/notification/Notification.d.ts.map +0 -1
  711. package/dist/components/notification/NotificationStore.d.ts.map +0 -1
  712. package/dist/components/page-content/PageContent.d.ts.map +0 -1
  713. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  714. package/dist/components/popover/Popover.d.ts.map +0 -1
  715. package/dist/components/popover/popoverGeometry.d.ts +0 -6
  716. package/dist/components/popover/popoverGeometry.d.ts.map +0 -1
  717. package/dist/components/popover/usePopoverPosition.d.ts +0 -18
  718. package/dist/components/popover/usePopoverPosition.d.ts.map +0 -1
  719. package/dist/components/progress-bar/ProgressBar.d.ts.map +0 -1
  720. package/dist/components/progress-circle/ProgressCircle.d.ts.map +0 -1
  721. package/dist/components/radio/Radio.d.ts.map +0 -1
  722. package/dist/components/scroll-container/ScrollContainer.d.ts.map +0 -1
  723. package/dist/components/segmented-control/SegmentedControl.d.ts.map +0 -1
  724. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +0 -29
  725. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts.map +0 -1
  726. package/dist/components/select/Select.d.ts.map +0 -1
  727. package/dist/components/select/selectIcons.d.ts +0 -15
  728. package/dist/components/select/selectIcons.d.ts.map +0 -1
  729. package/dist/components/select/selectListbox.d.ts +0 -13
  730. package/dist/components/select/selectListbox.d.ts.map +0 -1
  731. package/dist/components/slider/Slider.d.ts.map +0 -1
  732. package/dist/components/stepper/Stepper.d.ts.map +0 -1
  733. package/dist/components/switch/Switch.d.ts.map +0 -1
  734. package/dist/components/tabs/Tabs.d.ts.map +0 -1
  735. package/dist/components/tag/Tag.d.ts +0 -47
  736. package/dist/components/tag/Tag.d.ts.map +0 -1
  737. package/dist/components/tag-select/TagSelect.d.ts.map +0 -1
  738. package/dist/components/textarea/Textarea.d.ts.map +0 -1
  739. package/dist/components/timeline/Timeline.d.ts.map +0 -1
  740. package/dist/components/tooltip/Tooltip.d.ts.map +0 -1
  741. package/dist/components/typography/Typography.d.ts.map +0 -1
  742. package/dist/hooks/useControllableState.d.ts.map +0 -1
  743. package/dist/hooks/useEscapeKey.d.ts +0 -7
  744. package/dist/hooks/useEscapeKey.d.ts.map +0 -1
  745. package/dist/hooks/useFieldIds.d.ts +0 -17
  746. package/dist/hooks/useFieldIds.d.ts.map +0 -1
  747. package/dist/hooks/useFocusTrap.d.ts +0 -20
  748. package/dist/hooks/useFocusTrap.d.ts.map +0 -1
  749. package/dist/hooks/useMergedRefs.d.ts.map +0 -1
  750. package/dist/hooks/useModalKeyboard.d.ts +0 -14
  751. package/dist/hooks/useModalKeyboard.d.ts.map +0 -1
  752. package/dist/hooks/useOutsideClick.d.ts +0 -26
  753. package/dist/hooks/useOutsideClick.d.ts.map +0 -1
  754. package/dist/hooks/useOverlayModal.d.ts +0 -7
  755. package/dist/hooks/useOverlayModal.d.ts.map +0 -1
  756. package/dist/hooks/usePosition.d.ts.map +0 -1
  757. package/dist/hooks/usePresence.d.ts.map +0 -1
  758. package/dist/hooks/useResponsiveMonths.d.ts +0 -18
  759. package/dist/hooks/useResponsiveMonths.d.ts.map +0 -1
  760. package/dist/hooks/useScrollLock.d.ts.map +0 -1
  761. package/dist/icons/Icon.d.ts.map +0 -1
  762. package/dist/icons/index.d.ts.map +0 -1
  763. package/dist/index.css.map +0 -7
  764. package/dist/index.d.ts.map +0 -1
  765. package/dist/index.js.map +0 -7
  766. package/dist/internal/ControlSizeContext.d.ts.map +0 -1
  767. package/dist/internal/DividerContentContext.d.ts +0 -4
  768. package/dist/internal/DividerContentContext.d.ts.map +0 -1
  769. package/dist/internal/FieldFrame.d.ts.map +0 -1
  770. package/dist/internal/OverlayPortalLayerContext.d.ts +0 -13
  771. package/dist/internal/OverlayPortalLayerContext.d.ts.map +0 -1
  772. package/dist/internal/Portal.d.ts.map +0 -1
  773. package/dist/internal/context.d.ts.map +0 -1
  774. package/dist/internal/cx.d.ts.map +0 -1
  775. package/dist/internal/data-attributes.d.ts.map +0 -1
  776. package/dist/internal/highlightTsxHtml.d.ts.map +0 -1
  777. package/dist/internal/layoutPxFromPrimitives.d.ts.map +0 -1
  778. package/dist/internal/mergeRefs.d.ts.map +0 -1
  779. package/dist/internal/runtimeUnits.d.ts +0 -3
  780. package/dist/internal/runtimeUnits.d.ts.map +0 -1
  781. package/dist/internal/scrollAncestors.d.ts.map +0 -1
  782. package/dist/internal/slot.d.ts.map +0 -1
  783. package/dist/internal/states.d.ts.map +0 -1
  784. package/dist/internal/useFieldDescriptions.d.ts +0 -18
  785. package/dist/internal/useFieldDescriptions.d.ts.map +0 -1
  786. package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
  787. package/dist/layout/index.d.ts.map +0 -1
  788. package/dist/layout/sidebar/Sidebar.d.ts.map +0 -1
  789. package/dist/theme/applyTheme.d.ts.map +0 -1
  790. package/dist/tokens/primitives.d.ts.map +0 -1
  791. package/dist/tokens/semantic.d.ts.map +0 -1
  792. package/dist/tokens/themes/dark.d.ts.map +0 -1
  793. package/dist/tokens/themes/light.d.ts +0 -3
  794. package/dist/tokens/themes/light.d.ts.map +0 -1
  795. package/src/components/accordion/examples/checkout.tsx +0 -73
  796. package/src/components/accordion/examples/layouts.tsx +0 -58
  797. package/src/components/avatar/examples/colors.tsx +0 -29
  798. package/src/components/avatar/examples/group.tsx +0 -35
  799. package/src/components/avatar/examples/team-card.tsx +0 -70
  800. package/src/components/badge/examples/icons.tsx +0 -37
  801. package/src/components/badge/examples/order-list.tsx +0 -48
  802. package/src/components/badge/examples/palette.tsx +0 -44
  803. package/src/components/badge/examples/surfaces.tsx +0 -21
  804. package/src/components/banner/examples/dismiss.tsx +0 -48
  805. package/src/components/banner/examples/placement.tsx +0 -92
  806. package/src/components/breadcrumb/examples/collapse.tsx +0 -56
  807. package/src/components/breadcrumb/examples/page-header.tsx +0 -31
  808. package/src/components/button/examples/composition.tsx +0 -46
  809. package/src/components/button/examples/controlled.tsx +0 -18
  810. package/src/components/button/examples/full-width.tsx +0 -15
  811. package/src/components/button/examples/icon-only.tsx +0 -42
  812. package/src/components/button/examples/surfaces.tsx +0 -18
  813. package/src/components/button/examples/variants-tones.tsx +0 -39
  814. package/src/components/button-group/examples/composition.tsx +0 -99
  815. package/src/components/card/examples/mini-media.tsx +0 -55
  816. package/src/components/card/examples/responsive.tsx +0 -72
  817. package/src/components/checkbox/examples/hint-error.tsx +0 -22
  818. package/src/components/checkbox/examples/select-all.tsx +0 -40
  819. package/src/components/checkbox/examples/settings-card.tsx +0 -76
  820. package/src/components/code-block/examples/api-docs.tsx +0 -31
  821. package/src/components/code-block/examples/controlled.tsx +0 -38
  822. package/src/components/code-block/examples/surfaces.tsx +0 -7
  823. package/src/components/color-picker/examples/brand-color.tsx +0 -73
  824. package/src/components/color-picker/examples/hex-input-sizes.tsx +0 -54
  825. package/src/components/color-picker/examples/presets-quick.tsx +0 -57
  826. package/src/components/color-picker/examples/presets-tags.tsx +0 -52
  827. package/src/components/command-menu/examples/composition.tsx +0 -91
  828. package/src/components/command-menu/examples/examples.module.css +0 -9
  829. package/src/components/command-menu/examples/keyboard-search.tsx +0 -94
  830. package/src/components/data-table/examples/dashboard.tsx +0 -205
  831. package/src/components/data-table/examples/sorting-pagination.tsx +0 -66
  832. package/src/components/datepicker/examples/badge.tsx +0 -19
  833. package/src/components/datepicker/examples/single.tsx +0 -16
  834. package/src/components/digit-input/examples/length-and-complete.tsx +0 -30
  835. package/src/components/digit-input/examples/surfaces.tsx +0 -6
  836. package/src/components/digit-input/examples/verification-step.tsx +0 -62
  837. package/src/components/divider/examples/composition.tsx +0 -49
  838. package/src/components/divider/examples/variants.tsx +0 -62
  839. package/src/components/drawer/examples/composition.tsx +0 -94
  840. package/src/components/drawer/examples/controlled.tsx +0 -42
  841. package/src/components/drawer/examples/features.tsx +0 -48
  842. package/src/components/drawer/examples/states.tsx +0 -54
  843. package/src/components/dropdown/examples/as-child.tsx +0 -23
  844. package/src/components/dropdown/examples/composition.tsx +0 -91
  845. package/src/components/dropdown/examples/controlled.tsx +0 -32
  846. package/src/components/dropdown/examples/row-actions.tsx +0 -56
  847. package/src/components/dropdown/examples/variants.tsx +0 -52
  848. package/src/components/example-frame/examples/basic.tsx +0 -18
  849. package/src/components/file-upload/examples/file-list.tsx +0 -67
  850. package/src/components/file-upload/examples/in-card.tsx +0 -84
  851. package/src/components/hint/examples/field-states.tsx +0 -60
  852. package/src/components/hint/examples/in-form.tsx +0 -45
  853. package/src/components/input/examples/anatomy.tsx +0 -70
  854. package/src/components/input/examples/control-alignment.tsx +0 -57
  855. package/src/components/input/examples/full-width.tsx +0 -23
  856. package/src/components/input/examples/icons-and-affixes.tsx +0 -32
  857. package/src/components/input/examples/reserved-support-row.tsx +0 -33
  858. package/src/components/input/examples/surfaces.tsx +0 -12
  859. package/src/components/input/examples/with-badge.tsx +0 -40
  860. package/src/components/kbd/examples/modifier-keys.tsx +0 -24
  861. package/src/components/label/examples/in-form.tsx +0 -39
  862. package/src/components/label/examples/markers.tsx +0 -27
  863. package/src/components/link-button/examples/composition.tsx +0 -30
  864. package/src/components/link-button/examples/examples.module.css +0 -46
  865. package/src/components/link-button/examples/tones.tsx +0 -15
  866. package/src/components/modal/examples/composition.tsx +0 -87
  867. package/src/components/modal/examples/features.tsx +0 -68
  868. package/src/components/modal/examples/link.tsx +0 -79
  869. package/src/components/modal/examples/states.tsx +0 -73
  870. package/src/components/notification/examples/features.tsx +0 -42
  871. package/src/components/notification/examples/live.tsx +0 -128
  872. package/src/components/notification/examples/save-form.tsx +0 -59
  873. package/src/components/page-content/examples/readable.tsx +0 -24
  874. package/src/components/page-content/examples/settings-page.tsx +0 -49
  875. package/src/components/page-content/examples/widths.tsx +0 -39
  876. package/src/components/pagination/examples/compact.tsx +0 -36
  877. package/src/components/pagination/examples/list-footer.tsx +0 -50
  878. package/src/components/pagination/examples/states.tsx +0 -44
  879. package/src/components/popover/examples/as-child.tsx +0 -29
  880. package/src/components/popover/examples/composition.tsx +0 -45
  881. package/src/components/popover/examples/controlled.tsx +0 -39
  882. package/src/components/popover/examples/features.tsx +0 -56
  883. package/src/components/popover/examples/inset-variants.tsx +0 -58
  884. package/src/components/popover/examples/states.tsx +0 -48
  885. package/src/components/progress-bar/examples/file-upload.tsx +0 -52
  886. package/src/components/progress-bar/examples/values-and-tones.tsx +0 -17
  887. package/src/components/progress-circle/examples/goals-card.tsx +0 -37
  888. package/src/components/progress-circle/examples/values-and-tones.tsx +0 -56
  889. package/src/components/radio/examples/examples.module.css +0 -43
  890. package/src/components/radio/examples/hint-error.tsx +0 -28
  891. package/src/components/radio/examples/horizontal.tsx +0 -33
  892. package/src/components/radio/examples/plan-picker.tsx +0 -55
  893. package/src/components/scroll-container/examples/both-axes.tsx +0 -57
  894. package/src/components/scroll-container/examples/list.tsx +0 -44
  895. package/src/components/segmented-control/examples/item-content.tsx +0 -78
  896. package/src/components/segmented-control/examples/surfaces.tsx +0 -82
  897. package/src/components/segmented-control/examples/toolbar.tsx +0 -56
  898. package/src/components/segmented-progress-bar/COMPONENT.md +0 -128
  899. package/src/components/segmented-progress-bar/examples/examples.module.css +0 -68
  900. package/src/components/segmented-progress-bar/examples/segment-gap.tsx +0 -24
  901. package/src/components/segmented-progress-bar/examples/sizes.tsx +0 -31
  902. package/src/components/segmented-progress-bar/examples/storage-distribution.tsx +0 -41
  903. package/src/components/select/examples/native.tsx +0 -21
  904. package/src/components/select/examples/search-groups.tsx +0 -61
  905. package/src/components/select/examples/with-badge.tsx +0 -47
  906. package/src/components/slider/examples/basic.tsx +0 -6
  907. package/src/components/slider/examples/display-settings.tsx +0 -41
  908. package/src/components/stepper/examples/wizard.tsx +0 -62
  909. package/src/components/switch/examples/notification-settings.tsx +0 -37
  910. package/src/components/switch/examples/on-off.tsx +0 -15
  911. package/src/components/switch/examples/validation.tsx +0 -19
  912. package/src/components/tabs/examples/horizontal.tsx +0 -30
  913. package/src/components/tabs/examples/vertical.tsx +0 -101
  914. package/src/components/tag/COMPONENT.md +0 -179
  915. package/src/components/tag/examples/colors.tsx +0 -49
  916. package/src/components/tag/examples/examples.module.css +0 -47
  917. package/src/components/tag/examples/sizes.tsx +0 -23
  918. package/src/components/tag/examples/states.tsx +0 -19
  919. package/src/components/tag/examples/surfaces.tsx +0 -16
  920. package/src/components/tag/examples/with-icon.tsx +0 -29
  921. package/src/components/textarea/examples/height-and-limits.tsx +0 -45
  922. package/src/components/textarea/examples/hint-and-error.tsx +0 -21
  923. package/src/components/textarea/examples/reserved-support-row.tsx +0 -37
  924. package/src/components/textarea/examples/surfaces.tsx +0 -11
  925. package/src/components/textarea/examples/with-label.tsx +0 -22
  926. package/src/components/timeline/examples/hover-highlight.tsx +0 -48
  927. package/src/components/timeline/examples/in-card.tsx +0 -48
  928. package/src/components/timeline/examples/selectable.tsx +0 -58
  929. package/src/components/tooltip/examples/composition.tsx +0 -37
  930. package/src/components/tooltip/examples/side.tsx +0 -29
  931. package/src/components/tooltip/examples/states.tsx +0 -45
  932. package/src/components/typography/examples/as-prop.tsx +0 -25
  933. package/src/components/typography/examples/composition.tsx +0 -23
  934. package/src/components/typography/examples/full-width.tsx +0 -29
  935. package/src/components/typography/examples/reading-and-form.tsx +0 -35
  936. package/src/components/typography/examples/states.tsx +0 -23
  937. package/src/components/typography/examples/tones.tsx +0 -34
  938. package/src/components/typography/examples/variant-catalog.tsx +0 -41
  939. package/src/layout/app-shell/examples/with-sidebar.tsx +0 -63
  940. package/src/layout/sidebar/examples/modes.tsx +0 -55
  941. package/src/layout/sidebar/examples/responsive.tsx +0 -44
  942. package/src/layout/sidebar/examples/states.tsx +0 -34
@@ -0,0 +1,105 @@
1
+ import * as React from "react";
2
+ import type { ControlSize } from "@/internal/states";
3
+ import { type SmartFilterValue } from "./model";
4
+ export type { SmartFilterMode, SmartFilterSelection, SmartFilterValue } from "./model";
5
+ export { matchesSmartFilter, resolveSmartFilterValues } from "./model";
6
+ export type SmartFilterOption = {
7
+ value: string;
8
+ label: string;
9
+ /** A decorative icon before the label (`<Icon name="…" />`). */
10
+ icon?: React.ReactNode;
11
+ };
12
+ export type SmartFilterField = {
13
+ /** Key of the field in the value. */
14
+ key: string;
15
+ label: string;
16
+ options: SmartFilterOption[];
17
+ /**
18
+ * A fixed set of values (default `true`): hiding every value at once is not allowed. Set `false`
19
+ * for an open set (services, users) that can change under the selection.
20
+ */
21
+ finite?: boolean;
22
+ };
23
+ /** System strings. `{query}`, `{value}`, `{field}`, `{fields}`, `{count}` are substituted. */
24
+ export type SmartFilterLabels = {
25
+ /** Text of the filter button. */
26
+ filter: string;
27
+ /** Placeholder and accessible name of the search field. */
28
+ searchPlaceholder: string;
29
+ /** `aria-label` of the search clear button. */
30
+ clearSearch: string;
31
+ /** The first row of the panel while typing. */
32
+ searchText: string;
33
+ /** Fields with no matches while typing. */
34
+ noMatches: string;
35
+ /** Footer hint. */
36
+ hint: string;
37
+ /** Footer counter. */
38
+ count: string;
39
+ /** Footer reset button. */
40
+ reset: string;
41
+ /** Collapsed values of a field. */
42
+ more: string;
43
+ /** Chips row: the add button. */
44
+ add: string;
45
+ /** Chips row: clear all. */
46
+ clearAll: string;
47
+ /** Title of a value. */
48
+ showValue: string;
49
+ /** Name of the «−» action of a value. */
50
+ hideValue: string;
51
+ /** Name of the «−» action of a hidden value. */
52
+ unhideValue: string;
53
+ /** Prefix of a hidden value. */
54
+ not: string;
55
+ /** Text of a "show" tag. */
56
+ chipInclude: string;
57
+ /** Text of a "hide" tag. */
58
+ chipExclude: string;
59
+ /** `aria-label` of a tag's remove button. */
60
+ remove: string;
61
+ };
62
+ export type SmartFilterRootProps = {
63
+ /** The fields this screen filters by, in display order. Empty: only the search remains. */
64
+ fields: readonly SmartFilterField[];
65
+ /** Selection per field key. */
66
+ value?: SmartFilterValue;
67
+ defaultValue?: SmartFilterValue;
68
+ onValueChange?: (value: SmartFilterValue) => void;
69
+ /** Free-text search. Applied as typed; debounce it in the owner if needed. */
70
+ search?: string;
71
+ defaultSearch?: string;
72
+ onSearchChange?: (search: string) => void;
73
+ size?: ControlSize;
74
+ /** Values of one field shown before «Ещё N». Default 12. */
75
+ collapsedLimit?: number;
76
+ labels?: Partial<SmartFilterLabels>;
77
+ className?: string;
78
+ /** `SmartFilter.Toolbar` and `SmartFilter.Chips`. */
79
+ children: React.ReactNode;
80
+ ref?: React.Ref<HTMLDivElement>;
81
+ };
82
+ declare function SmartFilterRoot({ fields, value, defaultValue, onValueChange, search, defaultSearch, onSearchChange, size, collapsedLimit, labels, className, children, ref, }: SmartFilterRootProps): import("react/jsx-runtime").JSX.Element;
83
+ declare namespace SmartFilterRoot {
84
+ var displayName: string;
85
+ }
86
+ export type SmartFilterToolbarProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
87
+ ref?: React.Ref<HTMLDivElement>;
88
+ };
89
+ declare function SmartFilterToolbar({ className, ...rest }: SmartFilterToolbarProps): import("react/jsx-runtime").JSX.Element;
90
+ declare namespace SmartFilterToolbar {
91
+ var displayName: string;
92
+ }
93
+ export type SmartFilterChipsProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
94
+ ref?: React.Ref<HTMLDivElement>;
95
+ };
96
+ /** The applied filters as removable tags, with "add" and "clear all". Renders nothing without filters. */
97
+ declare function SmartFilterChips({ className, ...rest }: SmartFilterChipsProps): import("react/jsx-runtime").JSX.Element | null;
98
+ declare namespace SmartFilterChips {
99
+ var displayName: string;
100
+ }
101
+ export declare const SmartFilter: {
102
+ Root: typeof SmartFilterRoot;
103
+ Toolbar: typeof SmartFilterToolbar;
104
+ Chips: typeof SmartFilterChips;
105
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The filter model: every field has two lists, what to show and what to hide. Pure functions with
3
+ * no state; the owner keeps the value (`SmartFilter.Root value / onValueChange`).
4
+ */
5
+ export type SmartFilterSelection = {
6
+ /** Values to show. Empty means "any". */
7
+ include: string[];
8
+ /** Values to hide. */
9
+ exclude: string[];
10
+ };
11
+ /** Selection per field key. Fields without a selection are absent. */
12
+ export type SmartFilterValue = Record<string, SmartFilterSelection>;
13
+ export type SmartFilterMode = "include" | "exclude";
14
+ export declare function selectionModeOf(selection: SmartFilterSelection | undefined, value: string): SmartFilterMode | null;
15
+ /** Sets the mode of a value; asking for the mode it already has clears it. A value is never in both lists. */
16
+ export declare function toggleSelectionMode(selection: SmartFilterSelection | undefined, value: string, mode: SmartFilterMode): SmartFilterSelection;
17
+ /** Drops a value from both lists. */
18
+ export declare function removeSelectionValue(selection: SmartFilterSelection | undefined, value: string): SmartFilterSelection;
19
+ export declare function selectionSize(selection: SmartFilterSelection | undefined): number;
20
+ /** Sets one field's selection; an empty selection removes the field from the value. */
21
+ export declare function withSelection(value: SmartFilterValue, key: string, selection: SmartFilterSelection): SmartFilterValue;
22
+ /**
23
+ * For a field with a fixed set of values: whether `value` can be hidden without hiding everything.
24
+ * "Everything hidden" is an empty result, so it is not allowed.
25
+ */
26
+ export declare function canExcludeValue(selection: SmartFilterSelection | undefined, value: string, all: readonly string[]): boolean;
27
+ /** Whether a value passes a selection: `include` empty means any, `exclude` rejects. */
28
+ export declare function matchesSmartFilter(selection: SmartFilterSelection | undefined, value: string): boolean;
29
+ /**
30
+ * Turns a selection over a fixed set of values into the list to ask a server for: "hide" becomes
31
+ * "all except". An empty array means no filter (also when the selection covers every value).
32
+ */
33
+ export declare function resolveSmartFilterValues(selection: SmartFilterSelection | undefined, all: readonly string[]): string[];
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import type { ControlSize, TextTone } from "@/internal/states";
3
+ export type SpinnerLabels = {
4
+ /** Text read by screen readers while the spinner is shown. */
5
+ loading: string;
6
+ };
7
+ export type SpinnerProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
8
+ /**
9
+ * Explicit size on the icon scale (xs 14 · s 16 · m 20 · l 24 · xl 32). Without it the spinner
10
+ * follows its host like an `Icon`: the host's icon size, else the nearest control tier, else 16.
11
+ */
12
+ size?: ControlSize;
13
+ /** Ring color; `default` inherits `currentColor`. */
14
+ tone?: TextTone;
15
+ labels?: Partial<SpinnerLabels>;
16
+ ref?: React.Ref<HTMLSpanElement>;
17
+ };
18
+ /**
19
+ * Indeterminate loading indicator: a rotating ring with a gap. A `role="status"` region with
20
+ * `labels.loading` for screen readers; pass `aria-hidden` when the host already says it is busy.
21
+ */
22
+ export declare function Spinner({ size: sizeProp, tone, labels: labelsProp, className, ...rest }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,79 +1,70 @@
1
1
  import * as React from "react";
2
2
  import type { ControlSize } from "@/internal/states";
3
- /** Step state: derived from the Root `value` (before → `completed`, equal → `active`, after → `pending`) unless set on the step. */
4
- export type StepperStepStatus = "pending" | "active" | "completed" | "error";
5
- export type StepperRootProps = {
3
+ /** Item state: derived from the Root `value` (before → `completed`, equal → `active`, after → `pending`) unless set on the item. */
4
+ export type StepperItemStatus = "pending" | "active" | "completed" | "danger";
5
+ export type StepperRootProps = Omit<React.OlHTMLAttributes<HTMLOListElement>, "defaultValue" | "onChange"> & {
6
6
  /** Default `vertical`. A horizontal stepper stacks vertically in containers narrower than 480px. */
7
7
  orientation?: "horizontal" | "vertical";
8
8
  /** Current step (0-based), controlled. */
9
9
  value?: number;
10
10
  /** Initial step when uncontrolled. Default `0`. */
11
11
  defaultValue?: number;
12
- /** Called with the step index when a step is clicked. */
12
+ /** Called with the item index when an item is clicked. */
13
13
  onValueChange?: (index: number) => void;
14
14
  size?: ControlSize;
15
- /** `Stepper.Step` elements as direct children (an array from `map` is fine). */
16
- children: React.ReactNode;
17
- className?: string;
18
- } & Omit<React.OlHTMLAttributes<HTMLOListElement>, "children" | "defaultValue" | "onChange">;
15
+ ref?: React.Ref<HTMLOListElement>;
16
+ };
19
17
  declare function StepperRoot({ orientation, value: valueProp, defaultValue, onValueChange, size, children, className, ...rest }: StepperRootProps): import("react/jsx-runtime").JSX.Element;
20
18
  declare namespace StepperRoot {
21
19
  var displayName: string;
22
20
  }
23
- export type StepperStepProps = {
24
- /** Overrides the status derived from the Root `value` (e.g. `error`). */
25
- status?: StepperStepStatus;
26
- children: React.ReactNode;
27
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "children">;
28
- export type StepperIndicatorProps = {
29
- /** Replaces the default content (step number, or a check when completed). */
21
+ export type StepperItemProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type"> & {
22
+ /** Overrides the status derived from the Root `value` (e.g. `danger`). */
23
+ status?: StepperItemStatus;
24
+ ref?: React.Ref<HTMLButtonElement>;
25
+ };
26
+ declare function StepperItem({ status: statusProp, children, className, disabled, onClick, ...rest }: StepperItemProps): import("react/jsx-runtime").JSX.Element;
27
+ declare namespace StepperItem {
28
+ var displayName: string;
29
+ }
30
+ type SpanProps = React.HTMLAttributes<HTMLSpanElement> & {
31
+ ref?: React.Ref<HTMLSpanElement>;
32
+ };
33
+ export type StepperIndicatorProps = SpanProps & {
34
+ /** Replaces the default content (the item number, or a check when completed). */
30
35
  children?: React.ReactNode;
31
- className?: string;
32
36
  };
33
- declare function StepperIndicator({ children, className }: StepperIndicatorProps): import("react/jsx-runtime").JSX.Element;
37
+ declare function StepperIndicator({ children, className, ...rest }: StepperIndicatorProps): import("react/jsx-runtime").JSX.Element;
34
38
  declare namespace StepperIndicator {
35
39
  var displayName: string;
36
40
  }
37
- export type StepperContentProps = {
38
- children: React.ReactNode;
39
- className?: string;
40
- };
41
+ export type StepperContentProps = SpanProps;
41
42
  /** Text column: `Stepper.Title` and optional `Stepper.Description`. */
42
- declare function StepperContent({ children, className }: StepperContentProps): import("react/jsx-runtime").JSX.Element;
43
+ declare function StepperContent({ className, ...rest }: StepperContentProps): import("react/jsx-runtime").JSX.Element;
43
44
  declare namespace StepperContent {
44
45
  var displayName: string;
45
46
  }
46
- export type StepperTitleProps = {
47
- children: React.ReactNode;
48
- className?: string;
49
- };
50
- declare function StepperTitle({ children, className }: StepperTitleProps): import("react/jsx-runtime").JSX.Element;
47
+ export type StepperTitleProps = SpanProps;
48
+ declare function StepperTitle({ className, ...rest }: StepperTitleProps): import("react/jsx-runtime").JSX.Element;
51
49
  declare namespace StepperTitle {
52
50
  var displayName: string;
53
51
  }
54
- export type StepperDescriptionProps = {
55
- children: React.ReactNode;
56
- className?: string;
57
- };
58
- declare function StepperDescription({ children, className }: StepperDescriptionProps): import("react/jsx-runtime").JSX.Element;
52
+ export type StepperDescriptionProps = SpanProps;
53
+ declare function StepperDescription({ className, ...rest }: StepperDescriptionProps): import("react/jsx-runtime").JSX.Element;
59
54
  declare namespace StepperDescription {
60
55
  var displayName: string;
61
56
  }
62
- export type StepperArrowProps = {
63
- className?: string;
57
+ export type StepperArrowProps = Omit<React.SVGAttributes<SVGSVGElement>, "children"> & {
58
+ ref?: React.Ref<SVGSVGElement>;
64
59
  };
65
- /** Trailing chevron for vertical steps that open a page or panel. */
66
- declare function StepperArrow({ className }: StepperArrowProps): import("react/jsx-runtime").JSX.Element;
60
+ /** Trailing chevron for vertical items that open a page or panel. */
61
+ declare function StepperArrow({ className, ...rest }: StepperArrowProps): import("react/jsx-runtime").JSX.Element;
67
62
  declare namespace StepperArrow {
68
63
  var displayName: string;
69
64
  }
70
65
  export declare const Stepper: {
71
66
  Root: typeof StepperRoot;
72
- Step: React.ForwardRefExoticComponent<{
73
- /** Overrides the status derived from the Root `value` (e.g. `error`). */
74
- status?: StepperStepStatus;
75
- children: React.ReactNode;
76
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type"> & React.RefAttributes<HTMLButtonElement>>;
67
+ Item: typeof StepperItem;
77
68
  Indicator: typeof StepperIndicator;
78
69
  Content: typeof StepperContent;
79
70
  Title: typeof StepperTitle;
@@ -81,4 +72,3 @@ export declare const Stepper: {
81
72
  Arrow: typeof StepperArrow;
82
73
  };
83
74
  export {};
84
- //# sourceMappingURL=Stepper.d.ts.map
@@ -1,52 +1,34 @@
1
- import * as React from "react";
1
+ import type * as React from "react";
2
+ import { type ChoiceLabelProps } from "@/internal/ChoiceField";
2
3
  import type { ControlSize } from "@/internal/states";
3
- type InputPassthrough = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "checked" | "defaultChecked" | "onChange" | "children">;
4
- export type SwitchRootProps = InputPassthrough & {
4
+ export type SwitchRootProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "checked" | "defaultChecked" | "onChange"> & {
5
5
  checked?: boolean;
6
6
  defaultChecked?: boolean;
7
7
  onCheckedChange?: (checked: boolean) => void;
8
- /** Invalid state; also set while a `Switch.Error` is mounted. */
8
+ /** Invalid state; a non-empty `error` implies it. */
9
9
  invalid?: boolean;
10
+ /** Help text under the label text. Hidden while `error` is shown. */
11
+ hint?: React.ReactNode;
12
+ /** Error message in the hint slot; implies `invalid`. */
13
+ error?: React.ReactNode;
14
+ /** Tier. Default: the tier of the surrounding control (a form, a panel), else `m`. */
10
15
  size?: ControlSize;
11
- /** Stretch to the container width. By default the field is as wide as its content. */
12
- fullWidth?: boolean;
16
+ /** `Switch.Label`; without it only the track renders (give it an `aria-label`). */
13
17
  children?: React.ReactNode;
18
+ /** The native `role="switch"` input. */
19
+ ref?: React.Ref<HTMLInputElement>;
14
20
  };
15
- export type SwitchLabelProps = {
16
- children?: React.ReactNode;
17
- className?: string;
18
- } & Omit<React.HTMLAttributes<HTMLLabelElement>, "htmlFor" | "size">;
19
- export type SwitchHintProps = {
20
- children: React.ReactNode;
21
- className?: string;
22
- } & Omit<React.HTMLAttributes<HTMLParagraphElement>, "id">;
23
- declare function SwitchHint({ children, className, ...rest }: SwitchHintProps): import("react/jsx-runtime").JSX.Element;
24
- declare namespace SwitchHint {
21
+ declare function SwitchRoot({ id, checked: checkedProp, defaultChecked, onCheckedChange, invalid, hint, error, size: sizeProp, disabled, readOnly, className, "aria-describedby": ariaDescribedBy, children, ref, ...inputRest }: SwitchRootProps): import("react/jsx-runtime").JSX.Element;
22
+ declare namespace SwitchRoot {
25
23
  var displayName: string;
26
24
  }
27
- export type SwitchErrorProps = SwitchHintProps;
28
- declare function SwitchError({ children, className, ...rest }: SwitchErrorProps): import("react/jsx-runtime").JSX.Element;
29
- declare namespace SwitchError {
25
+ export type SwitchLabelProps = ChoiceLabelProps;
26
+ declare function SwitchLabel(props: SwitchLabelProps): import("react/jsx-runtime").JSX.Element;
27
+ declare namespace SwitchLabel {
30
28
  var displayName: string;
31
29
  }
32
30
  export declare const Switch: {
33
- Root: React.ForwardRefExoticComponent<InputPassthrough & {
34
- checked?: boolean;
35
- defaultChecked?: boolean;
36
- onCheckedChange?: (checked: boolean) => void;
37
- /** Invalid state; also set while a `Switch.Error` is mounted. */
38
- invalid?: boolean;
39
- size?: ControlSize;
40
- /** Stretch to the container width. By default the field is as wide as its content. */
41
- fullWidth?: boolean;
42
- children?: React.ReactNode;
43
- } & React.RefAttributes<HTMLInputElement>>;
44
- Label: React.ForwardRefExoticComponent<{
45
- children?: React.ReactNode;
46
- className?: string;
47
- } & Omit<React.HTMLAttributes<HTMLLabelElement>, "size" | "htmlFor"> & React.RefAttributes<HTMLLabelElement>>;
48
- Hint: typeof SwitchHint;
49
- Error: typeof SwitchError;
31
+ Root: typeof SwitchRoot;
32
+ Label: typeof SwitchLabel;
50
33
  };
51
34
  export {};
52
- //# sourceMappingURL=Switch.d.ts.map
@@ -1,86 +1,110 @@
1
1
  import * as React from "react";
2
- import type { ControlSize, PaletteColor } from "@/internal/states";
3
- export type TabsRootProps = {
2
+ import { type ControlSize, type PaletteColor } from "@/internal/states";
3
+ export type TabsLabels = {
4
+ /** Name of the close button of a removable tab; `{label}` is the tab's title. */
5
+ remove: string;
6
+ };
7
+ type TabsOrientation = "horizontal" | "vertical";
8
+ export type TabsRootProps = Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue"> & {
4
9
  value?: string;
5
10
  defaultValue?: string;
6
11
  onValueChange?: (value: string) => void;
7
12
  /** Default `horizontal`. A vertical list stacks above the panel in containers narrower than 600px. */
8
- orientation?: "horizontal" | "vertical";
13
+ orientation?: TabsOrientation;
9
14
  size?: ControlSize;
10
- children: React.ReactNode;
11
- className?: string;
12
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "children">;
13
- declare function TabsRoot({ value, defaultValue, onValueChange, orientation, size, children, className, ...rest }: TabsRootProps): import("react/jsx-runtime").JSX.Element;
15
+ /** Text and icon colour of the active tab. Default `neutral`: primary text, accent icon. */
16
+ tone?: "neutral" | "accent";
17
+ /** Horizontal tabs share the list width. Default `true`; `false` sizes each tab to its content. */
18
+ fullWidth?: boolean;
19
+ /** Narrowest a horizontal tab with a label gets before the list scrolls (px or a CSS length). */
20
+ minItemWidth?: number | string;
21
+ /** Widest a horizontal tab gets (px or a CSS length); a longer label ends with an ellipsis. */
22
+ maxItemWidth?: number | string;
23
+ labels?: Partial<TabsLabels>;
24
+ ref?: React.Ref<HTMLDivElement>;
25
+ };
26
+ declare function TabsRoot({ value, defaultValue, onValueChange, orientation, size, tone, fullWidth, minItemWidth, maxItemWidth, labels, children, className, style, ...rest }: TabsRootProps): import("react/jsx-runtime").JSX.Element;
14
27
  declare namespace TabsRoot {
15
28
  var displayName: string;
16
29
  }
17
- export type TabsListProps = {
18
- children: React.ReactNode;
19
- className?: string;
20
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "children">;
21
- declare function TabsList({ children, className, ...rest }: TabsListProps): import("react/jsx-runtime").JSX.Element;
30
+ export type TabsListProps = React.HTMLAttributes<HTMLDivElement> & {
31
+ ref?: React.Ref<HTMLDivElement>;
32
+ };
33
+ declare function TabsList({ children, className, ref, ...rest }: TabsListProps): import("react/jsx-runtime").JSX.Element;
22
34
  declare namespace TabsList {
23
35
  var displayName: string;
24
36
  }
25
- export type TabsTriggerProps = {
37
+ export type TabsItemProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "value" | "type" | "role" | "onClick"> & {
26
38
  value: string;
27
39
  disabled?: boolean;
40
+ /**
41
+ * Makes the tab closable: a close button, `Delete` / `Backspace` on the focused tab and a middle
42
+ * click. Closing the active tab first selects its neighbour; remove the item in this callback.
43
+ */
44
+ onRemove?: () => void;
28
45
  /**
29
46
  * Plain text, or parts: `Tabs.Icon`, `Tabs.Label`, `Tabs.Count`, `Tabs.Description`.
30
- * A `Tabs.Description` makes the trigger two-line and becomes its accessible description.
47
+ * A `Tabs.Description` makes the item two-line and becomes its accessible description.
31
48
  */
32
49
  children: React.ReactNode;
33
- className?: string;
34
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "value" | "children" | "type" | "role" | "onClick">;
35
- declare function TabsTrigger({ value, disabled, children, className, ...rest }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
36
- declare namespace TabsTrigger {
50
+ ref?: React.Ref<HTMLButtonElement>;
51
+ };
52
+ declare function TabsItem({ value, disabled, onRemove, children, className, onKeyDown, onMouseDown, onAuxClick, ref, ...rest }: TabsItemProps): import("react/jsx-runtime").JSX.Element;
53
+ declare namespace TabsItem {
37
54
  var displayName: string;
38
55
  }
39
- export type TabsIconProps = {
56
+ export type TabsIconProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
40
57
  children: React.ReactNode;
41
- className?: string;
42
- } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
58
+ ref?: React.Ref<HTMLSpanElement>;
59
+ };
43
60
  declare function TabsIcon({ children, className, ...rest }: TabsIconProps): import("react/jsx-runtime").JSX.Element;
44
61
  declare namespace TabsIcon {
45
62
  var displayName: string;
46
63
  }
47
- export type TabsLabelProps = {
64
+ export type TabsLabelProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
48
65
  children: React.ReactNode;
49
- className?: string;
50
- } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
66
+ ref?: React.Ref<HTMLSpanElement>;
67
+ };
51
68
  /**
52
- * Trigger title; truncates with an ellipsis in a constrained row. Text labels reserve the width of
53
- * the medium weight, so the row does not shift when a tab becomes active.
69
+ * Tab title; truncates with an ellipsis in a narrow tab. Text labels reserve the width of the
70
+ * medium weight, so the row does not shift when a tab becomes active.
54
71
  */
55
72
  declare function TabsLabel({ children, className, ...rest }: TabsLabelProps): import("react/jsx-runtime").JSX.Element;
56
73
  declare namespace TabsLabel {
57
74
  var displayName: string;
58
75
  }
59
- export type TabsCountProps = {
76
+ export type TabsCountProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "color"> & {
60
77
  /** Badge hue. Default `gray`. */
61
78
  color?: PaletteColor;
62
79
  children: React.ReactNode;
63
- className?: string;
80
+ ref?: React.Ref<HTMLSpanElement>;
64
81
  };
65
82
  /** Counter next to the label: a soft badge one tier below the tabs size. */
66
- declare function TabsCount({ color, children, className }: TabsCountProps): import("react/jsx-runtime").JSX.Element;
83
+ declare function TabsCount({ color, children, className, ...rest }: TabsCountProps): import("react/jsx-runtime").JSX.Element;
67
84
  declare namespace TabsCount {
68
85
  var displayName: string;
69
86
  }
70
- export type TabsDescriptionProps = {
87
+ export type TabsDescriptionProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
71
88
  /** Muted second line; wrap a key value in `<strong>` to emphasize it. */
72
89
  children: React.ReactNode;
73
- className?: string;
74
- } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
90
+ ref?: React.Ref<HTMLSpanElement>;
91
+ };
75
92
  declare function TabsDescription({ children, className, ...rest }: TabsDescriptionProps): import("react/jsx-runtime").JSX.Element;
76
93
  declare namespace TabsDescription {
77
94
  var displayName: string;
78
95
  }
79
- export type TabsPanelProps = {
96
+ export type TabsSeparatorProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
97
+ ref?: React.Ref<HTMLDivElement>;
98
+ };
99
+ /** A `Divider` hairline between groups of tabs, across the list; a tablist owns only tabs. */
100
+ declare function TabsSeparator({ className, ...rest }: TabsSeparatorProps): import("react/jsx-runtime").JSX.Element;
101
+ declare namespace TabsSeparator {
102
+ var displayName: string;
103
+ }
104
+ export type TabsPanelProps = React.HTMLAttributes<HTMLDivElement> & {
80
105
  value: string;
81
- children: React.ReactNode;
82
- className?: string;
83
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "children">;
106
+ ref?: React.Ref<HTMLDivElement>;
107
+ };
84
108
  declare function TabsPanel({ value, children, className, ...rest }: TabsPanelProps): import("react/jsx-runtime").JSX.Element | null;
85
109
  declare namespace TabsPanel {
86
110
  var displayName: string;
@@ -88,12 +112,12 @@ declare namespace TabsPanel {
88
112
  export declare const Tabs: {
89
113
  Root: typeof TabsRoot;
90
114
  List: typeof TabsList;
91
- Trigger: typeof TabsTrigger;
115
+ Item: typeof TabsItem;
92
116
  Icon: typeof TabsIcon;
93
117
  Label: typeof TabsLabel;
94
118
  Count: typeof TabsCount;
95
119
  Description: typeof TabsDescription;
120
+ Separator: typeof TabsSeparator;
96
121
  Panel: typeof TabsPanel;
97
122
  };
98
123
  export {};
99
- //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1,29 @@
1
+ import type { PaletteColor } from "@/internal/states";
2
+ export type TagOptionMenuLabels = {
3
+ edit: string;
4
+ name: string;
5
+ delete: string;
6
+ colors: string;
7
+ colorNames: Record<PaletteColor, string>;
8
+ };
9
+ type TagOptionMenuProps = {
10
+ value: string;
11
+ label: string;
12
+ color: PaletteColor;
13
+ open: boolean;
14
+ onOpenChange: (open: boolean) => void;
15
+ onUpdate?: (value: string, updates: {
16
+ label?: string;
17
+ color?: PaletteColor;
18
+ }) => void;
19
+ onDelete?: (value: string) => void;
20
+ labels: TagOptionMenuLabels;
21
+ disabled: boolean;
22
+ };
23
+ /**
24
+ * The «⋯» of a TagSelect row: a Popover to rename, recolor or delete the option. The popover
25
+ * opens above the list (it is inside a dropdown layer) and is its own topmost layer, so presses in
26
+ * it never dismiss the list.
27
+ */
28
+ export declare function TagOptionMenu({ value, label, color, open, onOpenChange, onUpdate, onDelete, labels, disabled, }: TagOptionMenuProps): import("react/jsx-runtime").JSX.Element;
29
+ export {};
@@ -1,11 +1,15 @@
1
- import { type FieldFrameProps } from "@/internal/FieldFrame";
2
- import type { ControlSize, PaletteColor } from "@/internal/states";
1
+ import { type FieldFrameProps, type FieldRootDomProps } from "@/internal/FieldFrame";
2
+ import { type ControlSize, type PaletteColor } from "@/internal/states";
3
3
  export type TagSelectOption = {
4
4
  value: string;
5
5
  label: string;
6
6
  color?: PaletteColor;
7
7
  disabled?: boolean;
8
8
  };
9
+ export type TagSelectOptionUpdate = {
10
+ label?: string;
11
+ color?: PaletteColor;
12
+ };
9
13
  export type TagSelectLabels = {
10
14
  /** Line above the list; `""` hides it. */
11
15
  panelHint: string;
@@ -13,7 +17,7 @@ export type TagSelectLabels = {
13
17
  create: string;
14
18
  /** Accessible name of a chip's remove button; `{label}` is the tag text. */
15
19
  remove: string;
16
- /** Accessible name of the «+N» button; `{count}` is the number of hidden tags. */
20
+ /** Accessible name of the «+N» chip; `{count}` is the number of hidden tags. */
17
21
  more: string;
18
22
  /** Screen-reader announcement after a tag is removed; `{label}` is the tag text. */
19
23
  removed: string;
@@ -30,11 +34,7 @@ export type TagSelectLabels = {
30
34
  /** Muted marker after the label when `optional`. */
31
35
  optional: string;
32
36
  };
33
- export type TagSelectOptionUpdate = {
34
- label?: string;
35
- color?: PaletteColor;
36
- };
37
- export type TagSelectRootProps = FieldFrameProps & {
37
+ export type TagSelectProps = FieldRootDomProps & FieldFrameProps & {
38
38
  /** Available tags: value, label and chip color. */
39
39
  options: TagSelectOption[];
40
40
  value?: string[];
@@ -47,7 +47,7 @@ export type TagSelectRootProps = FieldFrameProps & {
47
47
  creatable?: boolean;
48
48
  /** A new value was created (Create row or Enter), not picked from `options`. */
49
49
  onCreate?: (value: string) => void;
50
- /** Chip color of values without an option color, including created ones. Default `gray`. */
50
+ /** Chip color of values without an option color, including created ones. */
51
51
  defaultColor?: PaletteColor;
52
52
  /** Enables the «⋯» row menu: tag name and color. `value` never changes. */
53
53
  onOptionUpdate?: (value: string, updates: TagSelectOptionUpdate) => void;
@@ -66,12 +66,11 @@ export type TagSelectRootProps = FieldFrameProps & {
66
66
  "aria-label"?: string;
67
67
  "aria-labelledby"?: string;
68
68
  };
69
- declare function TagSelectRoot({ options, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, creatable, onCreate, defaultColor, onOptionUpdate, onOptionDelete, disabled, placeholder, invalid: invalidProp, focusRing, size, label, required, optional, hint, error, id: idProp, labels: labelsProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: TagSelectRootProps): import("react/jsx-runtime").JSX.Element;
70
- declare namespace TagSelectRoot {
69
+ /**
70
+ * A multi-value field shown as tag chips: pick from a list, type to filter, create new values.
71
+ * At rest one row (extra chips fold into «+N»); focused or open it shows every chip.
72
+ */
73
+ export declare function TagSelect({ options, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, creatable, onCreate, defaultColor, onOptionUpdate, onOptionDelete, disabled, placeholder, invalid: invalidProp, focusRing, size, label, required, optional, hint, error, id: idProp, labels: labelsProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: TagSelectProps): import("react/jsx-runtime").JSX.Element;
74
+ export declare namespace TagSelect {
71
75
  var displayName: string;
72
76
  }
73
- export declare const TagSelect: {
74
- Root: typeof TagSelectRoot;
75
- };
76
- export {};
77
- //# sourceMappingURL=TagSelect.d.ts.map
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ type ChipOverflowOptions = {
3
+ /** The visible chip row (its width and column gap). */
4
+ rowRef: React.RefObject<HTMLElement | null>;
5
+ /** An invisible row of every chip followed by a «+N» sample: the widths to fit. */
6
+ measureRef: React.RefObject<HTMLElement | null>;
7
+ /** The text input sharing the row; its min width is reserved unless it is collapsed. */
8
+ inputRef: React.RefObject<HTMLInputElement | null>;
9
+ /** The chips (a new array when one is added, removed, renamed or recolored). */
10
+ chips: readonly unknown[];
11
+ inputCollapsed: boolean;
12
+ };
13
+ /**
14
+ * How many chips fit on one row of the field; the rest collapse into a «+N» chip. At least one
15
+ * chip stays visible (it shrinks with an ellipsis, «+N» never does). Recounts when the chips
16
+ * change and when the row or the measured chips change size (fonts, a renamed tag).
17
+ */
18
+ export declare function useChipOverflow({ rowRef, measureRef, inputRef, chips, inputCollapsed, }: ChipOverflowOptions): number;
19
+ export {};