prime-ui-kit 0.9.0 → 0.9.2

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 (982) hide show
  1. package/README.md +61 -47
  2. package/dist/chunks/chunk-IQELQNMR.js +379 -0
  3. package/dist/chunks/chunk-LXGRKN34.js +13260 -0
  4. package/dist/chunks/chunk-ZEFCDEEQ.js +3493 -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 +35 -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 +40 -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 +102 -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 +44 -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 +13 -21
  54. package/dist/components/dropdown/Dropdown.d.ts +78 -84
  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 +58 -42
  60. package/dist/components/input/Input.d.ts +35 -37
  61. package/dist/components/kanban/Kanban.d.ts +129 -0
  62. package/dist/components/kbd/Kbd.d.ts +6 -12
  63. package/dist/components/label/Label.d.ts +18 -15
  64. package/dist/components/link-button/LinkButton.d.ts +14 -15
  65. package/dist/components/login-form/LoginForm.d.ts +115 -0
  66. package/dist/components/modal/DialogParts.d.ts +57 -16
  67. package/dist/components/modal/Modal.d.ts +9 -20
  68. package/dist/components/native-select/NativeSelect.d.ts +28 -0
  69. package/dist/components/notification/Notification.d.ts +50 -16
  70. package/dist/components/notification/NotificationStore.d.ts +2 -6
  71. package/dist/components/page-content/PageContent.d.ts +43 -52
  72. package/dist/components/page-toolbar/PageToolbar.d.ts +53 -0
  73. package/dist/components/pagination/Pagination.d.ts +11 -23
  74. package/dist/components/popover/Popover.d.ts +62 -26
  75. package/dist/components/progress-bar/ProgressBar.d.ts +17 -13
  76. package/dist/components/progress-circle/ProgressCircle.d.ts +14 -15
  77. package/dist/components/radio/Radio.d.ts +46 -54
  78. package/dist/components/scroll-container/ScrollContainer.d.ts +10 -13
  79. package/dist/components/segmented-control/SegmentedControl.d.ts +20 -29
  80. package/dist/components/select/Select.d.ts +54 -135
  81. package/dist/components/select/SelectItem.d.ts +68 -0
  82. package/dist/components/select/selectContext.d.ts +61 -0
  83. package/dist/components/skeleton/Skeleton.d.ts +22 -0
  84. package/dist/components/slider/Slider.d.ts +24 -16
  85. package/dist/components/smart-filter/SmartFilter.d.ts +105 -0
  86. package/dist/components/smart-filter/model.d.ts +33 -0
  87. package/dist/components/spinner/Spinner.d.ts +22 -0
  88. package/dist/components/stepper/Stepper.d.ts +32 -42
  89. package/dist/components/switch/Switch.d.ts +19 -37
  90. package/dist/components/tabs/Tabs.d.ts +65 -38
  91. package/dist/components/tag-select/TagOptionMenu.d.ts +29 -0
  92. package/dist/components/tag-select/TagSelect.d.ts +15 -16
  93. package/dist/components/tag-select/useChipOverflow.d.ts +19 -0
  94. package/dist/components/textarea/Textarea.d.ts +16 -31
  95. package/dist/components/thumbnail/Thumbnail.d.ts +41 -0
  96. package/dist/components/timeline/Timeline.d.ts +46 -61
  97. package/dist/components/tooltip/Tooltip.d.ts +21 -17
  98. package/dist/components/typography/Typography.d.ts +5 -21
  99. package/dist/hooks/useControllableState.d.ts +0 -1
  100. package/dist/hooks/useEdgeOverflow.d.ts +12 -0
  101. package/dist/hooks/useEnterConfirm.d.ts +15 -0
  102. package/dist/hooks/useImageStatus.d.ts +19 -0
  103. package/dist/hooks/useInertSiblings.d.ts +9 -0
  104. package/dist/hooks/useMediaQuery.d.ts +7 -0
  105. package/dist/hooks/useMergedRefs.d.ts +6 -2
  106. package/dist/hooks/useModalLayer.d.ts +22 -0
  107. package/dist/hooks/usePosition.d.ts +46 -40
  108. package/dist/hooks/usePresence.d.ts +0 -1
  109. package/dist/hooks/useScrollLock.d.ts +3 -5
  110. package/dist/hooks/useStateSwap.d.ts +8 -0
  111. package/dist/hooks/useSwipeDismiss.d.ts +34 -0
  112. package/dist/icons/Icon.d.ts +24 -7
  113. package/dist/icons/index.d.ts +2 -44
  114. package/dist/icons/registry.d.ts +85 -0
  115. package/dist/index.css +7053 -6846
  116. package/dist/index.d.ts +0 -1
  117. package/dist/index.js +106 -13830
  118. package/dist/internal/AnchorRectContext.d.ts +12 -0
  119. package/dist/internal/ChoiceField.d.ts +34 -0
  120. package/dist/internal/ControlSizeContext.d.ts +6 -2
  121. package/dist/internal/FieldFrame.d.ts +47 -8
  122. package/dist/internal/HighlightMatch.d.ts +13 -0
  123. package/dist/internal/MenuGroup.d.ts +8 -0
  124. package/dist/internal/Portal.d.ts +0 -1
  125. package/dist/internal/VisuallyHidden.d.ts +11 -0
  126. package/dist/internal/context.d.ts +0 -1
  127. package/dist/internal/cx.d.ts +0 -1
  128. package/dist/internal/data-attributes.d.ts +0 -1
  129. package/dist/internal/fieldClasses.d.ts +9 -0
  130. package/dist/internal/formatLabel.d.ts +6 -0
  131. package/dist/internal/highlightTsxHtml.d.ts +1 -2
  132. package/dist/internal/iconBox.d.ts +9 -0
  133. package/dist/internal/iconLayout.d.ts +15 -0
  134. package/dist/internal/imageSlot.d.ts +29 -0
  135. package/dist/internal/layoutPxFromPrimitives.d.ts +2 -3
  136. package/dist/internal/listbox.d.ts +40 -0
  137. package/dist/internal/mergeRefs.d.ts +4 -2
  138. package/dist/internal/overlay/FloatingPanel.d.ts +36 -0
  139. package/dist/internal/overlay/focus.d.ts +14 -0
  140. package/dist/internal/overlay/layerStack.d.ts +41 -0
  141. package/dist/internal/overlay/useFloatingLayer.d.ts +70 -0
  142. package/dist/internal/polymorphic.d.ts +9 -0
  143. package/dist/internal/progressSegments.d.ts +63 -0
  144. package/dist/internal/rovingFocus.d.ts +18 -0
  145. package/dist/internal/scrollAncestors.d.ts +1 -2
  146. package/dist/internal/slot.d.ts +11 -5
  147. package/dist/internal/states.d.ts +3 -2
  148. package/dist/internal/swatch.d.ts +56 -0
  149. package/dist/internal/touchTarget.d.ts +4 -0
  150. package/dist/layout/app-header/AppHeader.d.ts +110 -0
  151. package/dist/layout/app-shell/AppShell.d.ts +47 -22
  152. package/dist/layout/bottom-nav/BottomNav.d.ts +80 -0
  153. package/dist/layout/index.d.ts +6 -3
  154. package/dist/layout/sidebar/Sidebar.d.ts +206 -35
  155. package/dist/theme/applyTheme.d.ts +0 -1
  156. package/dist/tokens/naming.d.ts +6 -0
  157. package/dist/tokens/primitives.d.ts +26 -80
  158. package/dist/tokens/semantic.d.ts +122 -25
  159. package/dist/tokens/themes/dark.d.ts +7 -1
  160. package/package.json +30 -24
  161. package/src/components/accordion/COMPONENT.md +91 -101
  162. package/src/components/accordion/examples/collapsible.tsx +27 -0
  163. package/src/components/accordion/examples/controlled.tsx +36 -0
  164. package/src/components/accordion/examples/examples.module.css +6 -39
  165. package/src/components/accordion/examples/multiple.tsx +31 -0
  166. package/src/components/accordion/examples/overview.tsx +39 -0
  167. package/src/components/accordion/examples/sizes.tsx +14 -25
  168. package/src/components/accordion/examples/states.tsx +23 -48
  169. package/src/components/accordion/examples/variants.tsx +35 -0
  170. package/src/components/accordion/examples/with-icon.tsx +47 -0
  171. package/src/components/avatar/COMPONENT.md +88 -153
  172. package/src/components/avatar/examples/examples.module.css +6 -44
  173. package/src/components/avatar/examples/overview.tsx +18 -0
  174. package/src/components/avatar/examples/presence.tsx +20 -17
  175. package/src/components/avatar/examples/sizes.tsx +8 -10
  176. package/src/components/avatar/examples/src-from-state.tsx +4 -5
  177. package/src/components/avatar/examples/states.tsx +17 -27
  178. package/src/components/avatar/examples/team-group.tsx +21 -0
  179. package/src/components/avatar/examples/variants.tsx +40 -0
  180. package/src/components/badge/COMPONENT.md +113 -122
  181. package/src/components/{tag → badge}/examples/applied-filters.tsx +10 -11
  182. package/src/components/badge/examples/examples.module.css +14 -59
  183. package/src/components/badge/examples/filter-values.tsx +39 -0
  184. package/src/components/badge/examples/in-controls.tsx +14 -26
  185. package/src/components/badge/examples/overview.tsx +13 -0
  186. package/src/components/badge/examples/sizes.tsx +8 -10
  187. package/src/components/badge/examples/states.tsx +35 -29
  188. package/src/components/badge/examples/variants.tsx +27 -36
  189. package/src/components/badge/examples/with-icon.tsx +50 -0
  190. package/src/components/banner/COMPONENT.md +89 -94
  191. package/src/components/banner/examples/dismissible.tsx +38 -0
  192. package/src/components/banner/examples/examples.module.css +6 -22
  193. package/src/components/banner/examples/narrow.tsx +23 -0
  194. package/src/components/banner/examples/overview.tsx +18 -0
  195. package/src/components/banner/examples/page-strip.tsx +53 -0
  196. package/src/components/banner/examples/sizes.tsx +22 -21
  197. package/src/components/banner/examples/structure.tsx +45 -0
  198. package/src/components/banner/examples/variants.tsx +28 -55
  199. package/src/components/breadcrumb/COMPONENT.md +55 -59
  200. package/src/components/breadcrumb/examples/ellipsis.tsx +12 -0
  201. package/src/components/breadcrumb/examples/examples.module.css +3 -52
  202. package/src/components/breadcrumb/examples/overflow.tsx +26 -0
  203. package/src/components/breadcrumb/examples/overview.tsx +12 -0
  204. package/src/components/breadcrumb/examples/sizes.tsx +11 -14
  205. package/src/components/breadcrumb/examples/with-icon.tsx +14 -0
  206. package/src/components/button/COMPONENT.md +65 -66
  207. package/src/components/button/examples/as-child.tsx +8 -32
  208. package/src/components/button/examples/examples.module.css +18 -76
  209. package/src/components/button/examples/in-form.tsx +20 -14
  210. package/src/components/button/examples/on-colored-host.tsx +29 -0
  211. package/src/components/button/examples/overview.tsx +13 -0
  212. package/src/components/button/examples/sizes.tsx +7 -9
  213. package/src/components/button/examples/states.tsx +18 -28
  214. package/src/components/button/examples/variants.tsx +31 -0
  215. package/src/components/button/examples/with-icon.tsx +35 -23
  216. package/src/components/button-group/COMPONENT.md +64 -55
  217. package/src/components/button-group/examples/controlled.tsx +3 -3
  218. package/src/components/button-group/examples/examples.module.css +4 -39
  219. package/src/components/button-group/examples/full-width.tsx +10 -14
  220. package/src/components/button-group/examples/in-form.tsx +3 -3
  221. package/src/components/button-group/examples/orientation.tsx +6 -8
  222. package/src/components/button-group/examples/overview.tsx +12 -0
  223. package/src/components/button-group/examples/sizes.tsx +8 -10
  224. package/src/components/button-group/examples/states.tsx +28 -7
  225. package/src/components/button-group/examples/with-icon.tsx +45 -0
  226. package/src/components/card/COMPONENT.md +99 -298
  227. package/src/components/card/examples/{content.tsx → content-templates.tsx} +23 -29
  228. package/src/components/card/examples/examples.module.css +0 -8
  229. package/src/components/card/examples/flat.tsx +9 -14
  230. package/src/components/card/examples/kpi-media.tsx +42 -0
  231. package/src/components/card/examples/narrow.tsx +47 -0
  232. package/src/components/card/examples/{settings.tsx → overview.tsx} +7 -8
  233. package/src/components/card/examples/panel-chart.tsx +26 -34
  234. package/src/components/card/examples/{metrics.tsx → variants.tsx} +12 -18
  235. package/src/components/checkbox/COMPONENT.md +92 -96
  236. package/src/components/checkbox/examples/controlled.tsx +41 -0
  237. package/src/components/checkbox/examples/examples.module.css +47 -43
  238. package/src/components/checkbox/examples/in-form.tsx +34 -0
  239. package/src/components/checkbox/examples/indicator.tsx +54 -0
  240. package/src/components/checkbox/examples/overview.tsx +10 -0
  241. package/src/components/checkbox/examples/sizes.tsx +5 -10
  242. package/src/components/checkbox/examples/states.tsx +42 -23
  243. package/src/components/checkbox/examples/without-label.tsx +3 -7
  244. package/src/components/code-block/COMPONENT.md +55 -57
  245. package/src/components/code-block/examples/color-scheme.tsx +4 -15
  246. package/src/components/code-block/examples/examples.module.css +9 -40
  247. package/src/components/code-block/examples/{long-lines.tsx → narrow.tsx} +3 -4
  248. package/src/components/code-block/examples/overview.tsx +19 -0
  249. package/src/components/code-block/examples/variants.tsx +12 -21
  250. package/src/components/color-picker/COMPONENT.md +196 -165
  251. package/src/components/color-picker/examples/controlled.tsx +37 -0
  252. package/src/components/color-picker/examples/examples.module.css +19 -88
  253. package/src/components/color-picker/examples/formats.tsx +13 -18
  254. package/src/components/color-picker/examples/in-form.tsx +44 -0
  255. package/src/components/color-picker/examples/overview.tsx +37 -0
  256. package/src/components/color-picker/examples/panel.tsx +12 -13
  257. package/src/components/color-picker/examples/presets-sizes.tsx +15 -20
  258. package/src/components/color-picker/examples/presets.tsx +33 -0
  259. package/src/components/color-picker/examples/sizes.tsx +26 -0
  260. package/src/components/color-picker/examples/states.tsx +4 -14
  261. package/src/components/color-picker/examples/validation.tsx +18 -0
  262. package/src/components/color-swatches/COMPONENT.md +145 -0
  263. package/src/components/color-swatches/examples/controlled.tsx +22 -0
  264. package/src/components/color-swatches/examples/examples.module.css +19 -0
  265. package/src/components/color-swatches/examples/in-form.tsx +35 -0
  266. package/src/components/color-swatches/examples/overview.tsx +6 -0
  267. package/src/components/color-swatches/examples/sizes.tsx +19 -0
  268. package/src/components/color-swatches/examples/states.tsx +20 -0
  269. package/src/components/color-swatches/examples/wrapping.tsx +12 -0
  270. package/src/components/command-menu/COMPONENT.md +117 -180
  271. package/src/components/command-menu/examples/controlled-open.tsx +29 -0
  272. package/src/components/command-menu/examples/controlled.tsx +19 -26
  273. package/src/components/command-menu/examples/dismiss.tsx +39 -0
  274. package/src/components/command-menu/examples/overview.tsx +61 -0
  275. package/src/components/command-menu/examples/sizes.tsx +30 -51
  276. package/src/components/command-menu/examples/states.tsx +6 -16
  277. package/src/components/command-menu/examples/structure.tsx +54 -0
  278. package/src/components/crossfade/COMPONENT.md +104 -0
  279. package/src/components/crossfade/examples/examples.module.css +65 -0
  280. package/src/components/crossfade/examples/overview.tsx +102 -0
  281. package/src/components/crossfade/examples/record-switch.tsx +67 -0
  282. package/src/components/data-table/COMPONENT.md +181 -182
  283. package/src/components/data-table/examples/appearance.tsx +31 -34
  284. package/src/components/data-table/examples/columns-visibility.tsx +167 -0
  285. package/src/components/data-table/examples/content-width.tsx +46 -26
  286. package/src/components/data-table/examples/controlled.tsx +56 -0
  287. package/src/components/data-table/examples/detail-panel.tsx +23 -28
  288. package/src/components/data-table/examples/examples.module.css +20 -91
  289. package/src/components/data-table/examples/infinite-scroll.tsx +17 -18
  290. package/src/components/data-table/examples/narrow.tsx +28 -38
  291. package/src/components/data-table/examples/nested-rows.tsx +32 -54
  292. package/src/components/data-table/examples/numeric.tsx +10 -19
  293. package/src/components/data-table/examples/overview.tsx +54 -0
  294. package/src/components/data-table/examples/selection.tsx +11 -15
  295. package/src/components/data-table/examples/sizes.tsx +22 -33
  296. package/src/components/data-table/examples/states.tsx +23 -24
  297. package/src/components/data-table/examples/sticky.tsx +17 -24
  298. package/src/components/data-table/examples/toolbar.tsx +21 -23
  299. package/src/components/datepicker/COMPONENT.md +152 -164
  300. package/src/components/datepicker/examples/controlled-open.tsx +32 -0
  301. package/src/components/datepicker/examples/controlled.tsx +39 -0
  302. package/src/components/datepicker/examples/examples.module.css +9 -23
  303. package/src/components/datepicker/examples/in-form.tsx +32 -45
  304. package/src/components/datepicker/examples/inline-panel.tsx +3 -3
  305. package/src/components/datepicker/examples/narrow.tsx +1 -1
  306. package/src/components/datepicker/examples/overview.tsx +6 -0
  307. package/src/components/datepicker/examples/range-presets.tsx +6 -5
  308. package/src/components/datepicker/examples/sizes.tsx +7 -10
  309. package/src/components/datepicker/examples/states.tsx +9 -30
  310. package/src/components/datepicker/examples/validation.tsx +26 -0
  311. package/src/components/datepicker/examples/yearless.tsx +9 -8
  312. package/src/components/digit-input/COMPONENT.md +96 -58
  313. package/src/components/digit-input/examples/controlled.tsx +6 -15
  314. package/src/components/digit-input/examples/examples.module.css +13 -38
  315. package/src/components/digit-input/examples/full-width.tsx +13 -0
  316. package/src/components/digit-input/examples/grouped.tsx +11 -0
  317. package/src/components/digit-input/examples/in-form.tsx +32 -0
  318. package/src/components/digit-input/examples/on-complete.tsx +20 -0
  319. package/src/components/digit-input/examples/overview.tsx +6 -0
  320. package/src/components/digit-input/examples/sizes.tsx +5 -17
  321. package/src/components/digit-input/examples/states.tsx +6 -50
  322. package/src/components/digit-input/examples/validation.tsx +17 -0
  323. package/src/components/divider/COMPONENT.md +62 -53
  324. package/src/components/divider/examples/align.tsx +14 -0
  325. package/src/components/divider/examples/examples.module.css +6 -20
  326. package/src/components/divider/examples/or-separator.tsx +19 -0
  327. package/src/components/divider/examples/overview.tsx +30 -0
  328. package/src/components/divider/examples/sizes.tsx +11 -10
  329. package/src/components/divider/examples/vertical.tsx +21 -0
  330. package/src/components/divider/examples/with-icon.tsx +26 -0
  331. package/src/components/dnd/COMPONENT.md +197 -0
  332. package/src/components/dnd/examples/board.tsx +83 -0
  333. package/src/components/dnd/examples/drop-zones.tsx +82 -0
  334. package/src/components/dnd/examples/examples.module.css +89 -0
  335. package/src/components/dnd/examples/handle.tsx +53 -0
  336. package/src/components/dnd/examples/narrow.tsx +42 -0
  337. package/src/components/dnd/examples/overview.tsx +45 -0
  338. package/src/components/drawer/COMPONENT.md +114 -105
  339. package/src/components/drawer/examples/controlled-open.tsx +33 -0
  340. package/src/components/drawer/examples/date-sheet.tsx +41 -0
  341. package/src/components/drawer/examples/dismiss.tsx +55 -0
  342. package/src/components/drawer/examples/examples.module.css +8 -24
  343. package/src/components/drawer/examples/in-form.tsx +82 -0
  344. package/src/components/drawer/examples/long-content.tsx +40 -0
  345. package/src/components/drawer/examples/overview.tsx +48 -0
  346. package/src/components/drawer/examples/{variants-sides.tsx → placement.tsx} +13 -14
  347. package/src/components/drawer/examples/sizes.tsx +9 -15
  348. package/src/components/drawer/examples/structure.tsx +35 -0
  349. package/src/components/dropdown/COMPONENT.md +119 -148
  350. package/src/components/dropdown/examples/checkbox-items.tsx +48 -0
  351. package/src/components/dropdown/examples/controlled-open.tsx +32 -0
  352. package/src/components/dropdown/examples/dismiss.tsx +17 -0
  353. package/src/components/dropdown/examples/examples.module.css +11 -45
  354. package/src/components/dropdown/examples/long-list.tsx +42 -0
  355. package/src/components/dropdown/examples/{full-width.tsx → match-trigger-width.tsx} +5 -4
  356. package/src/components/dropdown/examples/overview.tsx +41 -0
  357. package/src/components/dropdown/examples/placement.tsx +16 -13
  358. package/src/components/dropdown/examples/sizes.tsx +18 -15
  359. package/src/components/dropdown/examples/states.tsx +21 -29
  360. package/src/components/dropdown/examples/structure.tsx +56 -0
  361. package/src/components/empty-page/COMPONENT.md +72 -76
  362. package/src/components/empty-page/examples/compact.tsx +23 -0
  363. package/src/components/empty-page/examples/data-region.tsx +8 -11
  364. package/src/components/empty-page/examples/examples.module.css +22 -25
  365. package/src/components/empty-page/examples/icon-tones.tsx +5 -6
  366. package/src/components/empty-page/examples/narrow.tsx +26 -0
  367. package/src/components/empty-page/examples/{no-results.tsx → overview.tsx} +4 -5
  368. package/src/components/empty-page/examples/sizes.tsx +14 -20
  369. package/src/components/example-frame/COMPONENT.md +64 -66
  370. package/src/components/example-frame/examples/controlled.tsx +42 -0
  371. package/src/components/example-frame/examples/overview.tsx +16 -0
  372. package/src/components/file-upload/COMPONENT.md +128 -186
  373. package/src/components/file-upload/examples/avatar-upload.tsx +7 -12
  374. package/src/components/file-upload/examples/custom-body.tsx +44 -0
  375. package/src/components/file-upload/examples/examples.module.css +46 -64
  376. package/src/components/file-upload/examples/in-form.tsx +76 -0
  377. package/src/components/file-upload/examples/narrow.tsx +17 -0
  378. package/src/components/file-upload/examples/overview.tsx +52 -0
  379. package/src/components/file-upload/examples/sizes.tsx +16 -37
  380. package/src/components/file-upload/examples/states.tsx +6 -98
  381. package/src/components/file-upload/examples/upload-progress.tsx +39 -0
  382. package/src/components/file-upload/examples/validation.tsx +19 -0
  383. package/src/components/file-upload/examples/variants.tsx +5 -18
  384. package/src/components/hint/COMPONENT.md +42 -48
  385. package/src/components/hint/examples/examples.module.css +3 -45
  386. package/src/components/hint/examples/hint-or-error.tsx +5 -5
  387. package/src/components/hint/examples/overview.tsx +34 -0
  388. package/src/components/hint/examples/sizes.tsx +8 -10
  389. package/src/components/hint/examples/states.tsx +21 -14
  390. package/src/components/hint/examples/with-icon.tsx +31 -0
  391. package/src/components/input/COMPONENT.md +70 -88
  392. package/src/components/input/examples/affixes.tsx +22 -0
  393. package/src/components/input/examples/controlled.tsx +9 -10
  394. package/src/components/input/examples/examples.module.css +3 -116
  395. package/src/components/input/examples/in-form.tsx +35 -14
  396. package/src/components/input/examples/overview.tsx +12 -0
  397. package/src/components/input/examples/sizes.tsx +6 -11
  398. package/src/components/input/examples/states.tsx +6 -23
  399. package/src/components/input/examples/validation.tsx +35 -0
  400. package/src/components/input/examples/with-icon.tsx +25 -0
  401. package/src/components/input/examples/{search-without-focus-ring.tsx → without-focus-ring.tsx} +5 -5
  402. package/src/components/kanban/COMPONENT.md +181 -0
  403. package/src/components/kanban/examples/controlled.tsx +78 -0
  404. package/src/components/kanban/examples/examples.module.css +31 -0
  405. package/src/components/kanban/examples/limits.tsx +58 -0
  406. package/src/components/kanban/examples/narrow.tsx +76 -0
  407. package/src/components/kanban/examples/overview.tsx +130 -0
  408. package/src/components/kanban/examples/states.tsx +75 -0
  409. package/src/components/kanban/examples/structure.tsx +76 -0
  410. package/src/components/kbd/COMPONENT.md +50 -65
  411. package/src/components/kbd/examples/examples.module.css +11 -41
  412. package/src/components/kbd/examples/in-controls.tsx +25 -31
  413. package/src/components/kbd/examples/overview.tsx +24 -0
  414. package/src/components/kbd/examples/shortcut-list.tsx +12 -12
  415. package/src/components/kbd/examples/sizes.tsx +8 -13
  416. package/src/components/label/COMPONENT.md +45 -44
  417. package/src/components/label/examples/examples.module.css +8 -29
  418. package/src/components/label/examples/overview.tsx +17 -0
  419. package/src/components/label/examples/sizes.tsx +9 -13
  420. package/src/components/label/examples/states.tsx +17 -14
  421. package/src/components/label/examples/structure.tsx +32 -0
  422. package/src/components/label/examples/with-icon.tsx +25 -17
  423. package/src/components/link-button/COMPONENT.md +56 -39
  424. package/src/components/link-button/examples/as-child.tsx +18 -0
  425. package/src/components/link-button/examples/external-link.tsx +6 -6
  426. package/src/components/link-button/examples/overview.tsx +11 -0
  427. package/src/components/link-button/examples/sizes.tsx +9 -11
  428. package/src/components/link-button/examples/states.tsx +25 -12
  429. package/src/components/link-button/examples/variants.tsx +21 -0
  430. package/src/components/link-button/examples/with-icon.tsx +21 -13
  431. package/src/components/login-form/COMPONENT.md +162 -0
  432. package/src/components/login-form/examples/examples.module.css +39 -0
  433. package/src/components/login-form/examples/forgot-password.tsx +39 -0
  434. package/src/components/login-form/examples/narrow.tsx +32 -0
  435. package/src/components/login-form/examples/overview.tsx +58 -0
  436. package/src/components/login-form/examples/register.tsx +85 -0
  437. package/src/components/login-form/examples/reset-password.tsx +60 -0
  438. package/src/components/login-form/examples/sizes.tsx +38 -0
  439. package/src/components/login-form/examples/states.tsx +75 -0
  440. package/src/components/login-form/examples/structure.tsx +28 -0
  441. package/src/components/login-form/examples/verification-code.tsx +57 -0
  442. package/src/components/modal/COMPONENT.md +71 -88
  443. package/src/components/modal/examples/{controlled.tsx → controlled-open.tsx} +6 -12
  444. package/src/components/modal/examples/custom-container.tsx +29 -0
  445. package/src/components/modal/examples/dismiss.tsx +54 -0
  446. package/src/components/modal/examples/examples.module.css +4 -20
  447. package/src/components/modal/examples/in-form.tsx +78 -0
  448. package/src/components/modal/examples/long-content.tsx +52 -0
  449. package/src/components/modal/examples/overview.tsx +35 -0
  450. package/src/components/modal/examples/sizes.tsx +7 -9
  451. package/src/components/modal/examples/structure.tsx +53 -0
  452. package/src/components/native-select/COMPONENT.md +132 -0
  453. package/src/components/native-select/examples/controlled.tsx +26 -0
  454. package/src/components/native-select/examples/examples.module.css +14 -0
  455. package/src/components/native-select/examples/in-form.tsx +43 -0
  456. package/src/components/native-select/examples/option-groups.tsx +17 -0
  457. package/src/components/native-select/examples/overview.tsx +16 -0
  458. package/src/components/native-select/examples/sizes.tsx +18 -0
  459. package/src/components/native-select/examples/states.tsx +21 -0
  460. package/src/components/native-select/examples/validation.tsx +26 -0
  461. package/src/components/notification/COMPONENT.md +108 -122
  462. package/src/components/notification/examples/dismiss.tsx +50 -0
  463. package/src/components/notification/examples/examples.module.css +10 -23
  464. package/src/components/notification/examples/in-form.tsx +64 -0
  465. package/src/components/notification/examples/overview.tsx +24 -0
  466. package/src/components/notification/examples/placement.tsx +66 -0
  467. package/src/components/notification/examples/sizes.tsx +11 -18
  468. package/src/components/notification/examples/stacking.tsx +45 -0
  469. package/src/components/notification/examples/structure.tsx +20 -0
  470. package/src/components/notification/examples/tones.tsx +14 -26
  471. package/src/components/page-content/COMPONENT.md +50 -75
  472. package/src/components/page-content/examples/examples.module.css +4 -8
  473. package/src/components/page-content/examples/narrow.tsx +25 -0
  474. package/src/components/page-content/examples/overview.tsx +41 -0
  475. package/src/components/page-content/examples/variants.tsx +39 -0
  476. package/src/components/page-toolbar/COMPONENT.md +142 -0
  477. package/src/components/page-toolbar/examples/examples.module.css +16 -0
  478. package/src/components/page-toolbar/examples/narrow.tsx +103 -0
  479. package/src/components/page-toolbar/examples/overview.tsx +113 -0
  480. package/src/components/page-toolbar/examples/save-changes.tsx +40 -0
  481. package/src/components/page-toolbar/examples/without-search.tsx +60 -0
  482. package/src/components/pagination/COMPONENT.md +73 -64
  483. package/src/components/pagination/examples/controlled.tsx +51 -0
  484. package/src/components/pagination/examples/examples.module.css +6 -55
  485. package/src/components/pagination/examples/narrow.tsx +25 -0
  486. package/src/components/pagination/examples/overflow.tsx +23 -0
  487. package/src/components/pagination/examples/overview.tsx +6 -0
  488. package/src/components/pagination/examples/sizes.tsx +10 -18
  489. package/src/components/popover/COMPONENT.md +89 -99
  490. package/src/components/popover/examples/controlled-open.tsx +32 -0
  491. package/src/components/popover/examples/dismiss.tsx +49 -0
  492. package/src/components/popover/examples/examples.module.css +21 -41
  493. package/src/components/popover/examples/flush.tsx +47 -0
  494. package/src/components/popover/examples/in-form.tsx +54 -0
  495. package/src/components/popover/examples/{full-width.tsx → match-trigger-width.tsx} +7 -7
  496. package/src/components/popover/examples/overview.tsx +43 -0
  497. package/src/components/popover/examples/placement.tsx +17 -15
  498. package/src/components/popover/examples/sizes.tsx +12 -9
  499. package/src/components/popover/examples/structure.tsx +50 -0
  500. package/src/components/progress-bar/COMPONENT.md +103 -62
  501. package/src/components/progress-bar/examples/custom-max.tsx +12 -0
  502. package/src/components/progress-bar/examples/examples.module.css +4 -34
  503. package/src/components/progress-bar/examples/overview.tsx +12 -0
  504. package/src/components/progress-bar/examples/segments.tsx +32 -0
  505. package/src/components/progress-bar/examples/sizes.tsx +11 -8
  506. package/src/components/progress-bar/examples/variants.tsx +34 -0
  507. package/src/components/progress-circle/COMPONENT.md +102 -61
  508. package/src/components/progress-circle/examples/examples.module.css +2 -39
  509. package/src/components/progress-circle/examples/inner-content.tsx +35 -0
  510. package/src/components/progress-circle/examples/overview.tsx +10 -0
  511. package/src/components/progress-circle/examples/segments.tsx +64 -0
  512. package/src/components/progress-circle/examples/sizes.tsx +10 -12
  513. package/src/components/progress-circle/examples/variants.tsx +28 -0
  514. package/src/components/radio/COMPONENT.md +93 -114
  515. package/src/components/radio/examples/controlled.tsx +30 -0
  516. package/src/components/radio/examples/group.tsx +23 -0
  517. package/src/components/radio/examples/orientation.tsx +34 -0
  518. package/src/components/radio/examples/overview.tsx +18 -0
  519. package/src/components/radio/examples/sizes.tsx +7 -12
  520. package/src/components/radio/examples/states.tsx +42 -30
  521. package/src/components/scroll-container/COMPONENT.md +57 -29
  522. package/src/components/scroll-container/examples/edge-fade.tsx +53 -0
  523. package/src/components/scroll-container/examples/examples.module.css +7 -7
  524. package/src/components/scroll-container/examples/overscroll.tsx +27 -0
  525. package/src/components/scroll-container/examples/overview.tsx +27 -0
  526. package/src/components/scroll-container/examples/variants.tsx +54 -0
  527. package/src/components/segmented-control/COMPONENT.md +93 -107
  528. package/src/components/segmented-control/examples/colors.tsx +8 -13
  529. package/src/components/segmented-control/examples/controlled.tsx +10 -6
  530. package/src/components/segmented-control/examples/examples.module.css +2 -88
  531. package/src/components/segmented-control/examples/full-width.tsx +7 -44
  532. package/src/components/segmented-control/examples/overview.tsx +12 -0
  533. package/src/components/segmented-control/examples/scroll.tsx +16 -0
  534. package/src/components/segmented-control/examples/sizes.tsx +8 -20
  535. package/src/components/segmented-control/examples/states.tsx +28 -34
  536. package/src/components/segmented-control/examples/two-line.tsx +17 -104
  537. package/src/components/segmented-control/examples/with-icon.tsx +52 -0
  538. package/src/components/select/COMPONENT.md +155 -208
  539. package/src/components/select/examples/clearable.tsx +23 -0
  540. package/src/components/select/examples/controlled-open.tsx +30 -0
  541. package/src/components/select/examples/controlled.tsx +17 -10
  542. package/src/components/select/examples/examples.module.css +18 -38
  543. package/src/components/select/examples/in-form.tsx +59 -70
  544. package/src/components/select/examples/multiple.tsx +21 -33
  545. package/src/components/select/examples/overview.tsx +17 -0
  546. package/src/components/select/examples/rich-options.tsx +43 -69
  547. package/src/components/select/examples/searchable.tsx +42 -0
  548. package/src/components/select/examples/sizes.tsx +13 -17
  549. package/src/components/select/examples/states.tsx +34 -48
  550. package/src/components/select/examples/validation.tsx +41 -0
  551. package/src/components/select/examples/with-icon.tsx +35 -0
  552. package/src/components/skeleton/COMPONENT.md +104 -0
  553. package/src/components/skeleton/examples/examples.module.css +89 -0
  554. package/src/components/skeleton/examples/form.tsx +20 -0
  555. package/src/components/skeleton/examples/overview.tsx +21 -0
  556. package/src/components/skeleton/examples/sizes.tsx +24 -0
  557. package/src/components/skeleton/examples/with-crossfade.tsx +68 -0
  558. package/src/components/slider/COMPONENT.md +105 -68
  559. package/src/components/slider/examples/controlled.tsx +26 -30
  560. package/src/components/slider/examples/examples.module.css +8 -32
  561. package/src/components/slider/examples/hint-and-error.tsx +33 -0
  562. package/src/components/slider/examples/overview.tsx +6 -0
  563. package/src/components/slider/examples/range-step.tsx +7 -17
  564. package/src/components/slider/examples/sizes.tsx +8 -6
  565. package/src/components/slider/examples/states.tsx +11 -8
  566. package/src/components/slider/examples/value-format.tsx +13 -25
  567. package/src/components/slider/examples/variants.tsx +23 -0
  568. package/src/components/smart-filter/COMPONENT.md +184 -0
  569. package/src/components/smart-filter/examples/controlled.tsx +48 -0
  570. package/src/components/smart-filter/examples/examples.module.css +56 -0
  571. package/src/components/smart-filter/examples/many-values.tsx +53 -0
  572. package/src/components/smart-filter/examples/narrow.tsx +38 -0
  573. package/src/components/smart-filter/examples/overview.tsx +109 -0
  574. package/src/components/smart-filter/examples/sizes.tsx +33 -0
  575. package/src/components/spinner/COMPONENT.md +112 -0
  576. package/src/components/spinner/examples/examples.module.css +20 -0
  577. package/src/components/spinner/examples/loading-region.tsx +22 -0
  578. package/src/components/spinner/examples/overview.tsx +15 -0
  579. package/src/components/spinner/examples/sizes.tsx +19 -0
  580. package/src/components/spinner/examples/variants.tsx +19 -0
  581. package/src/components/stepper/COMPONENT.md +83 -78
  582. package/src/components/stepper/examples/controlled.tsx +46 -0
  583. package/src/components/stepper/examples/examples.module.css +9 -40
  584. package/src/components/stepper/examples/narrow.tsx +11 -19
  585. package/src/components/stepper/examples/orientation.tsx +21 -59
  586. package/src/components/stepper/examples/overview.tsx +28 -0
  587. package/src/components/stepper/examples/sizes.tsx +19 -28
  588. package/src/components/stepper/examples/states.tsx +20 -21
  589. package/src/components/stepper/examples/with-icon.tsx +29 -0
  590. package/src/components/switch/COMPONENT.md +75 -94
  591. package/src/components/switch/examples/controlled.tsx +8 -6
  592. package/src/components/switch/examples/examples.module.css +13 -45
  593. package/src/components/switch/examples/in-form.tsx +20 -24
  594. package/src/components/switch/examples/overview.tsx +10 -0
  595. package/src/components/switch/examples/settings-row.tsx +14 -22
  596. package/src/components/switch/examples/sizes.tsx +5 -10
  597. package/src/components/switch/examples/states.tsx +37 -25
  598. package/src/components/tabs/COMPONENT.md +156 -86
  599. package/src/components/tabs/examples/closable.tsx +48 -0
  600. package/src/components/tabs/examples/controlled.tsx +14 -20
  601. package/src/components/tabs/examples/examples.module.css +13 -93
  602. package/src/components/tabs/examples/orientation.tsx +40 -0
  603. package/src/components/tabs/examples/overflow.tsx +60 -0
  604. package/src/components/tabs/examples/overview.tsx +30 -0
  605. package/src/components/tabs/examples/sizes.tsx +19 -19
  606. package/src/components/tabs/examples/states.tsx +20 -55
  607. package/src/components/tabs/examples/two-line.tsx +22 -29
  608. package/src/components/tabs/examples/variants.tsx +40 -0
  609. package/src/components/tabs/examples/with-icon.tsx +44 -0
  610. package/src/components/tag-select/COMPONENT.md +119 -122
  611. package/src/components/tag-select/examples/controlled-open.tsx +29 -0
  612. package/src/components/tag-select/examples/controlled.tsx +26 -0
  613. package/src/components/tag-select/examples/creatable.tsx +28 -0
  614. package/src/components/tag-select/examples/examples.module.css +3 -22
  615. package/src/components/tag-select/examples/in-form.tsx +44 -41
  616. package/src/components/tag-select/examples/manage-tags.tsx +20 -39
  617. package/src/components/tag-select/examples/many-tags.tsx +20 -0
  618. package/src/components/tag-select/examples/overview.tsx +21 -0
  619. package/src/components/tag-select/examples/sizes.tsx +7 -10
  620. package/src/components/tag-select/examples/states.tsx +11 -36
  621. package/src/components/tag-select/examples/validation.tsx +35 -0
  622. package/src/components/textarea/COMPONENT.md +50 -50
  623. package/src/components/textarea/examples/auto-resize.tsx +21 -0
  624. package/src/components/textarea/examples/controlled.tsx +12 -16
  625. package/src/components/textarea/examples/examples.module.css +15 -48
  626. package/src/components/textarea/examples/in-form.tsx +52 -48
  627. package/src/components/textarea/examples/overview.tsx +12 -0
  628. package/src/components/textarea/examples/sizes.tsx +6 -7
  629. package/src/components/textarea/examples/states.tsx +9 -13
  630. package/src/components/textarea/examples/validation.tsx +34 -0
  631. package/src/components/textarea/examples/without-focus-ring.tsx +12 -0
  632. package/src/components/thumbnail/COMPONENT.md +150 -0
  633. package/src/components/thumbnail/examples/examples.module.css +45 -0
  634. package/src/components/thumbnail/examples/full-width.tsx +48 -0
  635. package/src/components/thumbnail/examples/overview.tsx +31 -0
  636. package/src/components/thumbnail/examples/ratios.tsx +25 -0
  637. package/src/components/thumbnail/examples/ring.tsx +29 -0
  638. package/src/components/thumbnail/examples/sizes.tsx +23 -0
  639. package/src/components/thumbnail/examples/states.tsx +38 -0
  640. package/src/components/thumbnail/examples/variants.tsx +28 -0
  641. package/src/components/timeline/COMPONENT.md +92 -203
  642. package/src/components/timeline/examples/examples.module.css +5 -20
  643. package/src/components/timeline/examples/links.tsx +28 -0
  644. package/src/components/timeline/examples/narrow.tsx +30 -38
  645. package/src/components/timeline/examples/{activity-feed.tsx → overview.tsx} +9 -17
  646. package/src/components/timeline/examples/sizes.tsx +22 -28
  647. package/src/components/timeline/examples/{service-history.tsx → structure.tsx} +10 -8
  648. package/src/components/timeline/examples/{colors-and-tones.tsx → variants.tsx} +11 -16
  649. package/src/components/tooltip/COMPONENT.md +74 -62
  650. package/src/components/tooltip/examples/{controlled.tsx → controlled-open.tsx} +5 -7
  651. package/src/components/tooltip/examples/delay.tsx +19 -28
  652. package/src/components/tooltip/examples/disabled-trigger.tsx +18 -0
  653. package/src/components/tooltip/examples/examples.module.css +3 -33
  654. package/src/components/tooltip/examples/long-content.tsx +12 -15
  655. package/src/components/tooltip/examples/overview.tsx +17 -0
  656. package/src/components/tooltip/examples/placement.tsx +30 -0
  657. package/src/components/tooltip/examples/sizes.tsx +12 -15
  658. package/src/components/tooltip/examples/toolbar.tsx +35 -0
  659. package/src/components/typography/COMPONENT.md +68 -99
  660. package/src/components/typography/examples/article.tsx +23 -36
  661. package/src/components/typography/examples/examples.module.css +20 -54
  662. package/src/components/typography/examples/inline-emphasis.tsx +20 -0
  663. package/src/components/typography/examples/overview.tsx +20 -0
  664. package/src/components/typography/examples/semantic-tag.tsx +17 -0
  665. package/src/components/typography/examples/truncate.tsx +7 -7
  666. package/src/components/typography/examples/variants.tsx +43 -42
  667. package/src/components/typography/examples/weights.tsx +31 -0
  668. package/src/layout/app-header/COMPONENT.md +178 -0
  669. package/src/layout/app-header/examples/breadcrumbs.tsx +36 -0
  670. package/src/layout/app-header/examples/examples.module.css +47 -0
  671. package/src/layout/app-header/examples/in-app-shell.tsx +70 -0
  672. package/src/layout/app-header/examples/narrow.tsx +29 -0
  673. package/src/layout/app-header/examples/overview.tsx +36 -0
  674. package/src/layout/app-shell/COMPONENT.md +63 -63
  675. package/src/layout/app-shell/examples/contained.tsx +5 -5
  676. package/src/layout/app-shell/examples/examples.module.css +24 -0
  677. package/src/layout/app-shell/examples/footer.tsx +59 -0
  678. package/src/layout/app-shell/examples/overview.tsx +83 -0
  679. package/src/layout/app-shell/examples/template.tsx +54 -0
  680. package/src/layout/bottom-nav/COMPONENT.md +153 -0
  681. package/src/layout/bottom-nav/examples/examples.module.css +39 -0
  682. package/src/layout/bottom-nav/examples/floating.tsx +89 -0
  683. package/src/layout/bottom-nav/examples/icon-only.tsx +41 -0
  684. package/src/layout/bottom-nav/examples/in-app-shell.tsx +64 -0
  685. package/src/layout/bottom-nav/examples/overview.tsx +44 -0
  686. package/src/layout/bottom-nav/examples/router.tsx +31 -0
  687. package/src/layout/bottom-nav/examples/structure.tsx +47 -0
  688. package/src/layout/sidebar/COMPONENT.md +304 -111
  689. package/src/layout/sidebar/examples/account.tsx +88 -0
  690. package/src/layout/sidebar/examples/brand-header.tsx +45 -0
  691. package/src/layout/sidebar/examples/collapsible-groups.tsx +77 -0
  692. package/src/layout/sidebar/examples/controlled-open.tsx +55 -0
  693. package/src/layout/sidebar/examples/controlled.tsx +68 -0
  694. package/src/layout/sidebar/examples/examples.module.css +17 -3
  695. package/src/layout/sidebar/examples/nested-items.tsx +74 -0
  696. package/src/layout/sidebar/examples/overview.tsx +126 -0
  697. package/src/layout/sidebar/examples/router.tsx +19 -13
  698. package/src/layout/sidebar/examples/sizes.tsx +17 -12
  699. package/src/layout/sidebar/examples/structure.tsx +81 -0
  700. package/src/styles/fonts.css +4 -0
  701. package/src/styles/globals.css +18 -29
  702. package/src/styles/reset.css +2 -0
  703. package/src/styles/theme-dark.css +6 -0
  704. package/src/styles/theme-light.css +58 -23
  705. package/src/styles/tokens.css +11 -77
  706. package/dist/components/accordion/Accordion.d.ts.map +0 -1
  707. package/dist/components/avatar/Avatar.d.ts.map +0 -1
  708. package/dist/components/badge/Badge.d.ts.map +0 -1
  709. package/dist/components/badge/tier.d.ts.map +0 -1
  710. package/dist/components/banner/Banner.d.ts.map +0 -1
  711. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +0 -1
  712. package/dist/components/button/Button.d.ts.map +0 -1
  713. package/dist/components/button-group/ButtonGroup.d.ts.map +0 -1
  714. package/dist/components/card/Card.d.ts.map +0 -1
  715. package/dist/components/checkbox/Checkbox.d.ts.map +0 -1
  716. package/dist/components/code-block/CodeBlock.d.ts.map +0 -1
  717. package/dist/components/color-picker/ColorPicker.d.ts.map +0 -1
  718. package/dist/components/color-picker/ColorPresets.d.ts.map +0 -1
  719. package/dist/components/command-menu/CommandMenu.d.ts.map +0 -1
  720. package/dist/components/data-table/DataTable.d.ts.map +0 -1
  721. package/dist/components/datepicker/Datepicker.d.ts.map +0 -1
  722. package/dist/components/datepicker/datepickerModel.d.ts.map +0 -1
  723. package/dist/components/digit-input/DigitInput.d.ts.map +0 -1
  724. package/dist/components/divider/Divider.d.ts.map +0 -1
  725. package/dist/components/drawer/Drawer.d.ts.map +0 -1
  726. package/dist/components/dropdown/Dropdown.d.ts.map +0 -1
  727. package/dist/components/dropdown/dropdownGeometry.d.ts +0 -10
  728. package/dist/components/dropdown/dropdownGeometry.d.ts.map +0 -1
  729. package/dist/components/dropdown/menuKeyboard.d.ts +0 -4
  730. package/dist/components/dropdown/menuKeyboard.d.ts.map +0 -1
  731. package/dist/components/dropdown/useDropdownPosition.d.ts +0 -18
  732. package/dist/components/dropdown/useDropdownPosition.d.ts.map +0 -1
  733. package/dist/components/empty-page/EmptyPage.d.ts.map +0 -1
  734. package/dist/components/example-frame/ExampleFrame.d.ts.map +0 -1
  735. package/dist/components/file-upload/FileUpload.d.ts.map +0 -1
  736. package/dist/components/hint/Hint.d.ts.map +0 -1
  737. package/dist/components/index.css +0 -11181
  738. package/dist/components/index.css.map +0 -7
  739. package/dist/components/index.d.ts.map +0 -1
  740. package/dist/components/index.js +0 -13833
  741. package/dist/components/index.js.map +0 -7
  742. package/dist/components/input/Input.d.ts.map +0 -1
  743. package/dist/components/kbd/Kbd.d.ts.map +0 -1
  744. package/dist/components/label/Label.d.ts.map +0 -1
  745. package/dist/components/link-button/LinkButton.d.ts.map +0 -1
  746. package/dist/components/modal/DialogParts.d.ts.map +0 -1
  747. package/dist/components/modal/Modal.d.ts.map +0 -1
  748. package/dist/components/modal/useInertSiblings.d.ts +0 -7
  749. package/dist/components/modal/useInertSiblings.d.ts.map +0 -1
  750. package/dist/components/notification/Notification.d.ts.map +0 -1
  751. package/dist/components/notification/NotificationStore.d.ts.map +0 -1
  752. package/dist/components/page-content/PageContent.d.ts.map +0 -1
  753. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  754. package/dist/components/popover/Popover.d.ts.map +0 -1
  755. package/dist/components/popover/popoverGeometry.d.ts +0 -6
  756. package/dist/components/popover/popoverGeometry.d.ts.map +0 -1
  757. package/dist/components/popover/usePopoverPosition.d.ts +0 -18
  758. package/dist/components/popover/usePopoverPosition.d.ts.map +0 -1
  759. package/dist/components/progress-bar/ProgressBar.d.ts.map +0 -1
  760. package/dist/components/progress-circle/ProgressCircle.d.ts.map +0 -1
  761. package/dist/components/radio/Radio.d.ts.map +0 -1
  762. package/dist/components/scroll-container/ScrollContainer.d.ts.map +0 -1
  763. package/dist/components/segmented-control/SegmentedControl.d.ts.map +0 -1
  764. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +0 -29
  765. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts.map +0 -1
  766. package/dist/components/select/Select.d.ts.map +0 -1
  767. package/dist/components/select/selectIcons.d.ts +0 -15
  768. package/dist/components/select/selectIcons.d.ts.map +0 -1
  769. package/dist/components/select/selectListbox.d.ts +0 -13
  770. package/dist/components/select/selectListbox.d.ts.map +0 -1
  771. package/dist/components/slider/Slider.d.ts.map +0 -1
  772. package/dist/components/stepper/Stepper.d.ts.map +0 -1
  773. package/dist/components/switch/Switch.d.ts.map +0 -1
  774. package/dist/components/tabs/Tabs.d.ts.map +0 -1
  775. package/dist/components/tag/Tag.d.ts +0 -47
  776. package/dist/components/tag/Tag.d.ts.map +0 -1
  777. package/dist/components/tag-select/TagSelect.d.ts.map +0 -1
  778. package/dist/components/textarea/Textarea.d.ts.map +0 -1
  779. package/dist/components/timeline/Timeline.d.ts.map +0 -1
  780. package/dist/components/tooltip/Tooltip.d.ts.map +0 -1
  781. package/dist/components/typography/Typography.d.ts.map +0 -1
  782. package/dist/hooks/useControllableState.d.ts.map +0 -1
  783. package/dist/hooks/useEscapeKey.d.ts +0 -7
  784. package/dist/hooks/useEscapeKey.d.ts.map +0 -1
  785. package/dist/hooks/useFieldIds.d.ts +0 -17
  786. package/dist/hooks/useFieldIds.d.ts.map +0 -1
  787. package/dist/hooks/useFocusTrap.d.ts +0 -20
  788. package/dist/hooks/useFocusTrap.d.ts.map +0 -1
  789. package/dist/hooks/useMergedRefs.d.ts.map +0 -1
  790. package/dist/hooks/useModalKeyboard.d.ts +0 -14
  791. package/dist/hooks/useModalKeyboard.d.ts.map +0 -1
  792. package/dist/hooks/useOutsideClick.d.ts +0 -26
  793. package/dist/hooks/useOutsideClick.d.ts.map +0 -1
  794. package/dist/hooks/useOverlayModal.d.ts +0 -7
  795. package/dist/hooks/useOverlayModal.d.ts.map +0 -1
  796. package/dist/hooks/usePosition.d.ts.map +0 -1
  797. package/dist/hooks/usePresence.d.ts.map +0 -1
  798. package/dist/hooks/useResponsiveMonths.d.ts +0 -18
  799. package/dist/hooks/useResponsiveMonths.d.ts.map +0 -1
  800. package/dist/hooks/useScrollLock.d.ts.map +0 -1
  801. package/dist/icons/Icon.d.ts.map +0 -1
  802. package/dist/icons/index.d.ts.map +0 -1
  803. package/dist/index.css.map +0 -7
  804. package/dist/index.d.ts.map +0 -1
  805. package/dist/index.js.map +0 -7
  806. package/dist/internal/ControlSizeContext.d.ts.map +0 -1
  807. package/dist/internal/DividerContentContext.d.ts +0 -4
  808. package/dist/internal/DividerContentContext.d.ts.map +0 -1
  809. package/dist/internal/FieldFrame.d.ts.map +0 -1
  810. package/dist/internal/OverlayPortalLayerContext.d.ts +0 -13
  811. package/dist/internal/OverlayPortalLayerContext.d.ts.map +0 -1
  812. package/dist/internal/Portal.d.ts.map +0 -1
  813. package/dist/internal/context.d.ts.map +0 -1
  814. package/dist/internal/cx.d.ts.map +0 -1
  815. package/dist/internal/data-attributes.d.ts.map +0 -1
  816. package/dist/internal/highlightTsxHtml.d.ts.map +0 -1
  817. package/dist/internal/layoutPxFromPrimitives.d.ts.map +0 -1
  818. package/dist/internal/mergeRefs.d.ts.map +0 -1
  819. package/dist/internal/runtimeUnits.d.ts +0 -3
  820. package/dist/internal/runtimeUnits.d.ts.map +0 -1
  821. package/dist/internal/scrollAncestors.d.ts.map +0 -1
  822. package/dist/internal/slot.d.ts.map +0 -1
  823. package/dist/internal/states.d.ts.map +0 -1
  824. package/dist/internal/useFieldDescriptions.d.ts +0 -18
  825. package/dist/internal/useFieldDescriptions.d.ts.map +0 -1
  826. package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
  827. package/dist/layout/index.d.ts.map +0 -1
  828. package/dist/layout/sidebar/Sidebar.d.ts.map +0 -1
  829. package/dist/theme/applyTheme.d.ts.map +0 -1
  830. package/dist/tokens/primitives.d.ts.map +0 -1
  831. package/dist/tokens/semantic.d.ts.map +0 -1
  832. package/dist/tokens/themes/dark.d.ts.map +0 -1
  833. package/dist/tokens/themes/light.d.ts +0 -3
  834. package/dist/tokens/themes/light.d.ts.map +0 -1
  835. package/src/components/accordion/examples/checkout.tsx +0 -73
  836. package/src/components/accordion/examples/layouts.tsx +0 -58
  837. package/src/components/avatar/examples/colors.tsx +0 -29
  838. package/src/components/avatar/examples/group.tsx +0 -35
  839. package/src/components/avatar/examples/team-card.tsx +0 -70
  840. package/src/components/badge/examples/icons.tsx +0 -37
  841. package/src/components/badge/examples/order-list.tsx +0 -48
  842. package/src/components/badge/examples/palette.tsx +0 -44
  843. package/src/components/badge/examples/surfaces.tsx +0 -21
  844. package/src/components/banner/examples/dismiss.tsx +0 -48
  845. package/src/components/banner/examples/placement.tsx +0 -92
  846. package/src/components/breadcrumb/examples/collapse.tsx +0 -56
  847. package/src/components/breadcrumb/examples/page-header.tsx +0 -31
  848. package/src/components/button/examples/composition.tsx +0 -46
  849. package/src/components/button/examples/controlled.tsx +0 -18
  850. package/src/components/button/examples/full-width.tsx +0 -15
  851. package/src/components/button/examples/icon-only.tsx +0 -42
  852. package/src/components/button/examples/surfaces.tsx +0 -18
  853. package/src/components/button/examples/variants-tones.tsx +0 -39
  854. package/src/components/button-group/examples/composition.tsx +0 -99
  855. package/src/components/card/examples/mini-media.tsx +0 -55
  856. package/src/components/card/examples/responsive.tsx +0 -72
  857. package/src/components/checkbox/examples/hint-error.tsx +0 -22
  858. package/src/components/checkbox/examples/select-all.tsx +0 -40
  859. package/src/components/checkbox/examples/settings-card.tsx +0 -76
  860. package/src/components/code-block/examples/api-docs.tsx +0 -31
  861. package/src/components/code-block/examples/controlled.tsx +0 -38
  862. package/src/components/code-block/examples/surfaces.tsx +0 -7
  863. package/src/components/color-picker/examples/brand-color.tsx +0 -73
  864. package/src/components/color-picker/examples/hex-input-sizes.tsx +0 -54
  865. package/src/components/color-picker/examples/presets-quick.tsx +0 -57
  866. package/src/components/color-picker/examples/presets-tags.tsx +0 -52
  867. package/src/components/command-menu/examples/composition.tsx +0 -91
  868. package/src/components/command-menu/examples/examples.module.css +0 -9
  869. package/src/components/command-menu/examples/keyboard-search.tsx +0 -94
  870. package/src/components/data-table/examples/dashboard.tsx +0 -205
  871. package/src/components/data-table/examples/sorting-pagination.tsx +0 -66
  872. package/src/components/datepicker/examples/badge.tsx +0 -19
  873. package/src/components/datepicker/examples/single.tsx +0 -16
  874. package/src/components/digit-input/examples/length-and-complete.tsx +0 -30
  875. package/src/components/digit-input/examples/surfaces.tsx +0 -6
  876. package/src/components/digit-input/examples/verification-step.tsx +0 -62
  877. package/src/components/divider/examples/composition.tsx +0 -49
  878. package/src/components/divider/examples/variants.tsx +0 -62
  879. package/src/components/drawer/examples/composition.tsx +0 -94
  880. package/src/components/drawer/examples/controlled.tsx +0 -42
  881. package/src/components/drawer/examples/features.tsx +0 -48
  882. package/src/components/drawer/examples/states.tsx +0 -54
  883. package/src/components/dropdown/examples/as-child.tsx +0 -23
  884. package/src/components/dropdown/examples/composition.tsx +0 -91
  885. package/src/components/dropdown/examples/controlled.tsx +0 -32
  886. package/src/components/dropdown/examples/row-actions.tsx +0 -56
  887. package/src/components/dropdown/examples/variants.tsx +0 -52
  888. package/src/components/example-frame/examples/basic.tsx +0 -18
  889. package/src/components/file-upload/examples/file-list.tsx +0 -67
  890. package/src/components/file-upload/examples/in-card.tsx +0 -84
  891. package/src/components/hint/examples/field-states.tsx +0 -60
  892. package/src/components/hint/examples/in-form.tsx +0 -45
  893. package/src/components/input/examples/anatomy.tsx +0 -70
  894. package/src/components/input/examples/control-alignment.tsx +0 -57
  895. package/src/components/input/examples/full-width.tsx +0 -23
  896. package/src/components/input/examples/icons-and-affixes.tsx +0 -32
  897. package/src/components/input/examples/reserved-support-row.tsx +0 -33
  898. package/src/components/input/examples/surfaces.tsx +0 -12
  899. package/src/components/input/examples/with-badge.tsx +0 -40
  900. package/src/components/kbd/examples/modifier-keys.tsx +0 -24
  901. package/src/components/label/examples/in-form.tsx +0 -39
  902. package/src/components/label/examples/markers.tsx +0 -27
  903. package/src/components/link-button/examples/composition.tsx +0 -30
  904. package/src/components/link-button/examples/examples.module.css +0 -46
  905. package/src/components/link-button/examples/tones.tsx +0 -15
  906. package/src/components/modal/examples/composition.tsx +0 -87
  907. package/src/components/modal/examples/features.tsx +0 -68
  908. package/src/components/modal/examples/link.tsx +0 -79
  909. package/src/components/modal/examples/states.tsx +0 -73
  910. package/src/components/notification/examples/features.tsx +0 -42
  911. package/src/components/notification/examples/live.tsx +0 -128
  912. package/src/components/notification/examples/save-form.tsx +0 -59
  913. package/src/components/page-content/examples/readable.tsx +0 -24
  914. package/src/components/page-content/examples/settings-page.tsx +0 -49
  915. package/src/components/page-content/examples/widths.tsx +0 -39
  916. package/src/components/pagination/examples/compact.tsx +0 -36
  917. package/src/components/pagination/examples/list-footer.tsx +0 -50
  918. package/src/components/pagination/examples/states.tsx +0 -44
  919. package/src/components/popover/examples/as-child.tsx +0 -29
  920. package/src/components/popover/examples/composition.tsx +0 -45
  921. package/src/components/popover/examples/controlled.tsx +0 -39
  922. package/src/components/popover/examples/features.tsx +0 -56
  923. package/src/components/popover/examples/inset-variants.tsx +0 -58
  924. package/src/components/popover/examples/states.tsx +0 -48
  925. package/src/components/progress-bar/examples/file-upload.tsx +0 -52
  926. package/src/components/progress-bar/examples/values-and-tones.tsx +0 -17
  927. package/src/components/progress-circle/examples/goals-card.tsx +0 -37
  928. package/src/components/progress-circle/examples/values-and-tones.tsx +0 -56
  929. package/src/components/radio/examples/examples.module.css +0 -43
  930. package/src/components/radio/examples/hint-error.tsx +0 -28
  931. package/src/components/radio/examples/horizontal.tsx +0 -33
  932. package/src/components/radio/examples/plan-picker.tsx +0 -55
  933. package/src/components/scroll-container/examples/both-axes.tsx +0 -57
  934. package/src/components/scroll-container/examples/list.tsx +0 -44
  935. package/src/components/segmented-control/examples/item-content.tsx +0 -78
  936. package/src/components/segmented-control/examples/surfaces.tsx +0 -82
  937. package/src/components/segmented-control/examples/toolbar.tsx +0 -56
  938. package/src/components/segmented-progress-bar/COMPONENT.md +0 -128
  939. package/src/components/segmented-progress-bar/examples/examples.module.css +0 -68
  940. package/src/components/segmented-progress-bar/examples/segment-gap.tsx +0 -24
  941. package/src/components/segmented-progress-bar/examples/sizes.tsx +0 -31
  942. package/src/components/segmented-progress-bar/examples/storage-distribution.tsx +0 -41
  943. package/src/components/select/examples/native.tsx +0 -21
  944. package/src/components/select/examples/search-groups.tsx +0 -61
  945. package/src/components/select/examples/with-badge.tsx +0 -47
  946. package/src/components/slider/examples/basic.tsx +0 -6
  947. package/src/components/slider/examples/display-settings.tsx +0 -41
  948. package/src/components/stepper/examples/wizard.tsx +0 -62
  949. package/src/components/switch/examples/notification-settings.tsx +0 -37
  950. package/src/components/switch/examples/on-off.tsx +0 -15
  951. package/src/components/switch/examples/validation.tsx +0 -19
  952. package/src/components/tabs/examples/horizontal.tsx +0 -30
  953. package/src/components/tabs/examples/vertical.tsx +0 -101
  954. package/src/components/tag/COMPONENT.md +0 -179
  955. package/src/components/tag/examples/colors.tsx +0 -49
  956. package/src/components/tag/examples/examples.module.css +0 -47
  957. package/src/components/tag/examples/sizes.tsx +0 -23
  958. package/src/components/tag/examples/states.tsx +0 -19
  959. package/src/components/tag/examples/surfaces.tsx +0 -16
  960. package/src/components/tag/examples/with-icon.tsx +0 -29
  961. package/src/components/textarea/examples/height-and-limits.tsx +0 -45
  962. package/src/components/textarea/examples/hint-and-error.tsx +0 -21
  963. package/src/components/textarea/examples/reserved-support-row.tsx +0 -37
  964. package/src/components/textarea/examples/surfaces.tsx +0 -11
  965. package/src/components/textarea/examples/with-label.tsx +0 -22
  966. package/src/components/timeline/examples/hover-highlight.tsx +0 -48
  967. package/src/components/timeline/examples/in-card.tsx +0 -48
  968. package/src/components/timeline/examples/selectable.tsx +0 -58
  969. package/src/components/tooltip/examples/composition.tsx +0 -37
  970. package/src/components/tooltip/examples/side.tsx +0 -29
  971. package/src/components/tooltip/examples/states.tsx +0 -45
  972. package/src/components/typography/examples/as-prop.tsx +0 -25
  973. package/src/components/typography/examples/composition.tsx +0 -23
  974. package/src/components/typography/examples/full-width.tsx +0 -29
  975. package/src/components/typography/examples/reading-and-form.tsx +0 -35
  976. package/src/components/typography/examples/states.tsx +0 -23
  977. package/src/components/typography/examples/tones.tsx +0 -34
  978. package/src/components/typography/examples/variant-catalog.tsx +0 -41
  979. package/src/layout/app-shell/examples/with-sidebar.tsx +0 -63
  980. package/src/layout/sidebar/examples/modes.tsx +0 -55
  981. package/src/layout/sidebar/examples/responsive.tsx +0 -44
  982. package/src/layout/sidebar/examples/states.tsx +0 -34
@@ -1,20 +1,19 @@
1
1
  import * as React from "react";
2
- import type { ControlSize, Tone } from "@/internal/states";
3
- export type ProgressCircleRootProps = {
4
- value: number;
5
- max?: number;
2
+ import { type ProgressModeProps, type ProgressSegmentsLabels } from "@/internal/progressSegments";
3
+ import type { ControlSize } from "@/internal/states";
4
+ export type ProgressCircleLabels = ProgressSegmentsLabels;
5
+ export type ProgressCircleProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
6
+ /** Default `m`. */
6
7
  size?: ControlSize;
7
- /** Цвет дуги. По умолчанию `accent`. */
8
- tone?: Exclude<Tone, "neutral" | "info">;
9
- label?: string;
10
8
  /**
11
- * Центрированное содержимое (число, процент, иконка). На `xs` / `s` не рендерится — кольцо
12
- * слишком мало; строковое / числовое значение остаётся доступным через `aria-valuetext`.
9
+ * Centered content (number, percent, icon). Not rendered on `xs` / `s`; a string or number
10
+ * child stays available as `aria-valuetext`.
13
11
  */
14
12
  children?: React.ReactNode;
15
- className?: string;
16
- };
17
- export declare const ProgressCircle: {
18
- Root: React.ForwardRefExoticComponent<ProgressCircleRootProps & React.RefAttributes<HTMLDivElement>>;
19
- };
20
- //# sourceMappingURL=ProgressCircle.d.ts.map
13
+ ref?: React.Ref<HTMLDivElement>;
14
+ } & ProgressModeProps;
15
+ /**
16
+ * A progress ring: a single `value` (`role="progressbar"`) or `segments` — parts of a whole
17
+ * clockwise from the top (`role="group"` described by the distribution).
18
+ */
19
+ export declare function ProgressCircle(props: ProgressCircleProps): import("react/jsx-runtime").JSX.Element;
@@ -1,78 +1,70 @@
1
1
  import * as React from "react";
2
+ import { type ChoiceLabelProps } from "@/internal/ChoiceField";
3
+ import { type FieldRootDomProps } from "@/internal/FieldFrame";
2
4
  import type { ControlSize } from "@/internal/states";
3
- export type RadioGroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange" | "dir"> & {
5
+ export type RadioGroupLabels = {
6
+ /** Muted marker after the group label when `optional`. */
7
+ optional: string;
8
+ };
9
+ export type RadioGroupProps = Omit<FieldRootDomProps, "dir"> & {
4
10
  value?: string;
5
11
  defaultValue?: string;
6
12
  onValueChange?: (value: string) => void;
7
13
  /** Native `name` shared by the radios; generated when omitted. */
8
14
  name?: string;
15
+ /** Tier. Default: the tier of the surrounding control (a form, a panel), else `m`. */
9
16
  size?: ControlSize;
10
17
  disabled?: boolean;
11
- /** Invalid state for every radio in the group (`aria-invalid` on the group and inputs). */
12
- invalid?: boolean;
13
- /** Native `required` on the radios and `aria-required` on the group. */
18
+ /** Group heading above the options; names the radiogroup (`aria-labelledby`). */
19
+ label?: React.ReactNode;
20
+ /** Red `*` after the label, native `required` on the radios, `aria-required` on the group. */
14
21
  required?: boolean;
22
+ /** Muted `labels.optional` marker after the label. */
23
+ optional?: boolean;
24
+ /** Help text under the options. Hidden while `error` is shown. */
25
+ hint?: React.ReactNode;
26
+ /** Error message under the options; implies `invalid`. */
27
+ error?: React.ReactNode;
28
+ /** Invalid state for every radio (`aria-invalid` on the group and the inputs). */
29
+ invalid?: boolean;
15
30
  /** `vertical` stacks the options, `horizontal` lays them out in a wrapping row. */
16
31
  orientation?: "vertical" | "horizontal";
17
- /** Stretch every option to the container width. */
18
- fullWidth?: boolean;
32
+ /** Id of the `role="radiogroup"` element; generated when omitted. */
33
+ id?: string;
34
+ labels?: Partial<RadioGroupLabels>;
35
+ /** `Radio.Root` options. */
36
+ children?: React.ReactNode;
19
37
  };
20
- type InputPassthrough = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "checked" | "defaultChecked" | "onChange" | "name" | "value" | "children">;
21
- export type RadioRootProps = InputPassthrough & {
38
+ /**
39
+ * The field: label · radiogroup · hint or error. `className`, `ref` and the rest go to the frame,
40
+ * `id` and the `aria-label*` / `aria-describedby` names to the radiogroup.
41
+ */
42
+ declare function RadioGroup({ id, value: valueProp, defaultValue, onValueChange, name: nameProp, size: sizeProp, disabled, label, required, optional, hint, error, invalid, orientation, labels: labelsProp, className, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, "aria-labelledby": ariaLabelledBy, children, ...rest }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
43
+ declare namespace RadioGroup {
44
+ var displayName: string;
45
+ }
46
+ export type RadioRootProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "checked" | "defaultChecked" | "onChange" | "name" | "value"> & {
22
47
  /** Value reported to `Radio.Group` when this option is chosen. */
23
48
  value: string;
24
- /** Invalid state for this option; also set by the group or a mounted `Radio.Error`. */
25
- invalid?: boolean;
49
+ /** Description under the option text. */
50
+ hint?: React.ReactNode;
51
+ /** `Radio.Label`; without it only the circle renders (give it an `aria-label`). */
26
52
  children?: React.ReactNode;
53
+ /** The native radio input. */
54
+ ref?: React.Ref<HTMLInputElement>;
27
55
  };
28
- export type RadioLabelProps = {
29
- children?: React.ReactNode;
30
- className?: string;
31
- } & Omit<React.HTMLAttributes<HTMLLabelElement>, "htmlFor" | "size">;
32
- export type RadioHintProps = {
33
- children: React.ReactNode;
34
- className?: string;
35
- } & Omit<React.HTMLAttributes<HTMLParagraphElement>, "id">;
36
- declare function RadioHint({ children, className, ...rest }: RadioHintProps): import("react/jsx-runtime").JSX.Element;
37
- declare namespace RadioHint {
56
+ declare function RadioRoot({ id, value, hint, disabled: disabledProp, className, "aria-describedby": ariaDescribedBy, children, ref, ...inputRest }: RadioRootProps): import("react/jsx-runtime").JSX.Element;
57
+ declare namespace RadioRoot {
38
58
  var displayName: string;
39
59
  }
40
- export type RadioErrorProps = RadioHintProps;
41
- declare function RadioError({ children, className, ...rest }: RadioErrorProps): import("react/jsx-runtime").JSX.Element;
42
- declare namespace RadioError {
60
+ export type RadioLabelProps = ChoiceLabelProps;
61
+ declare function RadioLabel(props: RadioLabelProps): import("react/jsx-runtime").JSX.Element;
62
+ declare namespace RadioLabel {
43
63
  var displayName: string;
44
64
  }
45
65
  export declare const Radio: {
46
- Group: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "dir" | "onChange"> & {
47
- value?: string;
48
- defaultValue?: string;
49
- onValueChange?: (value: string) => void;
50
- /** Native `name` shared by the radios; generated when omitted. */
51
- name?: string;
52
- size?: ControlSize;
53
- disabled?: boolean;
54
- /** Invalid state for every radio in the group (`aria-invalid` on the group and inputs). */
55
- invalid?: boolean;
56
- /** Native `required` on the radios and `aria-required` on the group. */
57
- required?: boolean;
58
- /** `vertical` stacks the options, `horizontal` lays them out in a wrapping row. */
59
- orientation?: "vertical" | "horizontal";
60
- /** Stretch every option to the container width. */
61
- fullWidth?: boolean;
62
- } & React.RefAttributes<HTMLDivElement>>;
63
- Root: React.ForwardRefExoticComponent<InputPassthrough & {
64
- /** Value reported to `Radio.Group` when this option is chosen. */
65
- value: string;
66
- /** Invalid state for this option; also set by the group or a mounted `Radio.Error`. */
67
- invalid?: boolean;
68
- children?: React.ReactNode;
69
- } & React.RefAttributes<HTMLInputElement>>;
70
- Label: React.ForwardRefExoticComponent<{
71
- children?: React.ReactNode;
72
- className?: string;
73
- } & Omit<React.HTMLAttributes<HTMLLabelElement>, "size" | "htmlFor"> & React.RefAttributes<HTMLLabelElement>>;
74
- Hint: typeof RadioHint;
75
- Error: typeof RadioError;
66
+ Group: typeof RadioGroup;
67
+ Root: typeof RadioRoot;
68
+ Label: typeof RadioLabel;
76
69
  };
77
70
  export {};
78
- //# sourceMappingURL=Radio.d.ts.map
@@ -1,23 +1,20 @@
1
1
  import * as React from "react";
2
2
  export type ScrollContainerAxis = "vertical" | "horizontal" | "both";
3
- export type ScrollContainerProps = Omit<React.HTMLAttributes<HTMLElement>, "className"> & {
3
+ export type ScrollContainerProps = React.HTMLAttributes<HTMLElement> & {
4
4
  /** Root element. Default `div`; `AppShell.Main` renders `main`. */
5
5
  as?: "div" | "main" | "aside" | "section" | "nav" | "article";
6
6
  /** Scroll axis. Default `vertical`. */
7
7
  axis?: ScrollContainerAxis;
8
8
  /** `overscroll-behavior`. Default `contain`: nested panels do not chain scroll into the page. */
9
9
  overscrollBehavior?: "auto" | "contain" | "none";
10
- className?: string;
10
+ /**
11
+ * Fade the edges where more content is hidden (`data-overflow-start` / `data-overflow-end`):
12
+ * along the horizontal axis for `axis="horizontal"`, along the vertical one otherwise.
13
+ */
14
+ fade?: boolean;
15
+ /** `thin` — the kit's quiet scrollbar (default); `hidden` — no scrollbar (pair it with `fade`). */
16
+ scrollbar?: "thin" | "hidden";
17
+ ref?: React.Ref<HTMLElement>;
11
18
  };
12
19
  /** Scroll region with the kit's thin scrollbars; shrinks inside flex/grid parents. */
13
- declare const ScrollContainer: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLElement>, "className"> & {
14
- /** Root element. Default `div`; `AppShell.Main` renders `main`. */
15
- as?: "div" | "main" | "aside" | "section" | "nav" | "article";
16
- /** Scroll axis. Default `vertical`. */
17
- axis?: ScrollContainerAxis;
18
- /** `overscroll-behavior`. Default `contain`: nested panels do not chain scroll into the page. */
19
- overscrollBehavior?: "auto" | "contain" | "none";
20
- className?: string;
21
- } & React.RefAttributes<HTMLElement>>;
22
- export { ScrollContainer };
23
- //# sourceMappingURL=ScrollContainer.d.ts.map
20
+ export declare function ScrollContainer({ as: Component, axis, overscrollBehavior, fade, scrollbar, className, ref, ...rest }: ScrollContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,20 +1,19 @@
1
1
  import * as React from "react";
2
2
  import type { ControlSize, PaletteColor } from "@/internal/states";
3
- export type SegmentedControlRootProps = {
3
+ export type SegmentedControlRootProps = Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & {
4
4
  value?: string;
5
5
  defaultValue?: string;
6
6
  onValueChange?: (value: string) => void;
7
7
  disabled?: boolean;
8
8
  size?: ControlSize;
9
- /** Stretch to the container width; segments share it equally and truncate their labels. */
9
+ /**
10
+ * Stretch to the container width. Single-line segments tend to equal widths but never get narrower
11
+ * than their label; when they do not fit, the row scrolls.
12
+ */
10
13
  fullWidth?: boolean;
11
- /** Accessible name of the radiogroup (or use `aria-labelledby`). */
12
- "aria-label"?: string;
13
- "aria-labelledby"?: string;
14
- children: React.ReactNode;
15
- className?: string;
14
+ ref?: React.Ref<HTMLDivElement>;
16
15
  };
17
- declare function SegmentedControlRoot({ value, defaultValue, onValueChange, disabled, size, fullWidth, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, className, }: SegmentedControlRootProps): import("react/jsx-runtime").JSX.Element;
16
+ declare function SegmentedControlRoot({ value, defaultValue, onValueChange, disabled, size: sizeProp, fullWidth, children, className, onKeyDown, ...rest }: SegmentedControlRootProps): import("react/jsx-runtime").JSX.Element;
18
17
  declare namespace SegmentedControlRoot {
19
18
  var displayName: string;
20
19
  }
@@ -33,10 +32,16 @@ export type SegmentedControlItemProps = Omit<React.ButtonHTMLAttributes<HTMLButt
33
32
  */
34
33
  children: React.ReactNode;
35
34
  className?: string;
35
+ ref?: React.Ref<HTMLButtonElement>;
36
36
  };
37
+ declare function SegmentedControlItem({ value, disabled, color, children, className, onClick, ref, ...rest }: SegmentedControlItemProps): import("react/jsx-runtime").JSX.Element;
38
+ declare namespace SegmentedControlItem {
39
+ var displayName: string;
40
+ }
37
41
  export type SegmentedControlIconProps = {
38
42
  children: React.ReactNode;
39
43
  className?: string;
44
+ ref?: React.Ref<HTMLSpanElement>;
40
45
  } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
41
46
  declare function SegmentedControlIcon({ children, className, ...rest }: SegmentedControlIconProps): import("react/jsx-runtime").JSX.Element;
42
47
  declare namespace SegmentedControlIcon {
@@ -45,8 +50,9 @@ declare namespace SegmentedControlIcon {
45
50
  export type SegmentedControlLabelProps = {
46
51
  children: React.ReactNode;
47
52
  className?: string;
53
+ ref?: React.Ref<HTMLSpanElement>;
48
54
  } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
49
- /** Segment title; truncates with an ellipsis. Plain text children are wrapped automatically. */
55
+ /** Segment title on one line; never truncated. Plain text children are wrapped automatically. */
50
56
  declare function SegmentedControlLabel({ children, className, ...rest }: SegmentedControlLabelProps): import("react/jsx-runtime").JSX.Element;
51
57
  declare namespace SegmentedControlLabel {
52
58
  var displayName: string;
@@ -55,45 +61,30 @@ export type SegmentedControlDescriptionProps = {
55
61
  /** Muted second line; wrap the key value in `<strong>` to emphasize it. */
56
62
  children: React.ReactNode;
57
63
  className?: string;
64
+ ref?: React.Ref<HTMLSpanElement>;
58
65
  } & Omit<React.HTMLAttributes<HTMLSpanElement>, "children">;
59
66
  /** Second line of a two-line segment; becomes the segment's accessible description. */
60
67
  declare function SegmentedControlDescription({ children, className, ...rest }: SegmentedControlDescriptionProps): import("react/jsx-runtime").JSX.Element;
61
68
  declare namespace SegmentedControlDescription {
62
69
  var displayName: string;
63
70
  }
64
- export type SegmentedControlCountProps = {
71
+ export type SegmentedControlCountProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "color"> & {
65
72
  /** Badge hue. Default `gray`. */
66
73
  color?: PaletteColor;
67
74
  children: React.ReactNode;
68
- className?: string;
75
+ ref?: React.Ref<HTMLSpanElement>;
69
76
  };
70
77
  /** Counter after the label: a soft Badge one tier below the control. */
71
- declare function SegmentedControlCount({ color, children, className, }: SegmentedControlCountProps): import("react/jsx-runtime").JSX.Element;
78
+ declare function SegmentedControlCount({ color, children, className, ...rest }: SegmentedControlCountProps): import("react/jsx-runtime").JSX.Element;
72
79
  declare namespace SegmentedControlCount {
73
80
  var displayName: string;
74
81
  }
75
82
  export declare const SegmentedControl: {
76
83
  Root: typeof SegmentedControlRoot;
77
- Item: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "value" | "children" | "role" | "type"> & {
78
- value: string;
79
- disabled?: boolean;
80
- /**
81
- * Palette hue of the option (e.g. a status): a dot of that hue before the content, and while
82
- * selected the sliding thumb takes a soft fill of the hue with a ring of it.
83
- */
84
- color?: PaletteColor;
85
- /**
86
- * Text, `SegmentedControl.Icon`, `SegmentedControl.Label`, `SegmentedControl.Count`,
87
- * `SegmentedControl.Description`. A description makes the segment two-line. Only an icon makes the
88
- * segment square: give it `aria-label` (and wrap it in a Tooltip).
89
- */
90
- children: React.ReactNode;
91
- className?: string;
92
- } & React.RefAttributes<HTMLButtonElement>>;
84
+ Item: typeof SegmentedControlItem;
93
85
  Icon: typeof SegmentedControlIcon;
94
86
  Label: typeof SegmentedControlLabel;
95
87
  Count: typeof SegmentedControlCount;
96
88
  Description: typeof SegmentedControlDescription;
97
89
  };
98
90
  export {};
99
- //# sourceMappingURL=SegmentedControl.d.ts.map
@@ -1,200 +1,119 @@
1
1
  import * as React from "react";
2
- import { type FieldFrameProps } from "@/internal/FieldFrame";
3
- import type { ControlSize, PaletteColor } from "@/internal/states";
4
- export type SelectLabels = {
5
- /** Placeholder and accessible name of the search field (`Select.Content searchable`). */
6
- search: string;
7
- /** Empty state: no items or nothing matches. */
8
- empty: string;
9
- /** Second line of the empty state while searching. */
10
- emptyHint: string;
11
- /** Status row while `loading`. */
12
- loading: string;
13
- /** Tooltip of the clear button (`clearable`). */
14
- clear: string;
15
- /** Muted marker after the label when `optional`. */
16
- optional: string;
17
- };
18
- type SelectRootBase = FieldFrameProps & {
2
+ import { type FieldFrameProps, type FieldRootDomProps } from "@/internal/FieldFrame";
3
+ import { type MenuGroupProps } from "@/internal/MenuGroup";
4
+ import type { ControlSize } from "@/internal/states";
5
+ import { SelectItem, SelectItemDescription, SelectItemIcon, SelectItemMeta, SelectItemText } from "./SelectItem";
6
+ import { type SelectLabels } from "./selectContext";
7
+ export type { SelectItemDescriptionProps, SelectItemIconProps, SelectItemMetaProps, SelectItemProps, SelectItemTextProps, } from "./SelectItem";
8
+ export type { SelectLabels } from "./selectContext";
9
+ type SelectRootBase = FieldRootDomProps & FieldFrameProps & {
19
10
  size?: ControlSize;
20
11
  disabled?: boolean;
21
12
  placeholder?: string;
22
13
  /** Danger ring and `aria-invalid`; a non-empty `error` implies it. */
23
14
  invalid?: boolean;
24
- /** Id of the control (trigger or native `<select>`); generated when omitted. */
15
+ /** Id of the trigger; generated when omitted. */
25
16
  id?: string;
17
+ open?: boolean;
18
+ defaultOpen?: boolean;
19
+ onOpenChange?: (open: boolean) => void;
20
+ /** Clear segment in the trigger (and `Delete` / `Backspace` on it) while a value is selected. */
21
+ clearable?: boolean;
22
+ /** Spinner instead of the chevron, `aria-busy`, a status row in the list. */
23
+ loading?: boolean;
26
24
  labels?: Partial<SelectLabels>;
27
25
  className?: string;
28
26
  children: React.ReactNode;
29
27
  };
30
- type SelectSingleValueProps = {
28
+ type SelectSingleProps = {
31
29
  multiple?: false;
32
30
  value?: string;
33
31
  defaultValue?: string;
34
32
  /** Picked value; `""` after clearing. */
35
33
  onValueChange?: (value: string) => void;
36
34
  };
37
- type SelectMultipleValueProps = {
35
+ type SelectMultipleProps = {
36
+ /** `string[]` value, checkboxes in the list, the list stays open on a pick. */
38
37
  multiple: true;
39
38
  value?: string[];
40
39
  defaultValue?: string[];
41
40
  onValueChange?: (value: string[]) => void;
42
41
  };
43
- type SelectComboboxProps = {
44
- native?: false;
45
- open?: boolean;
46
- defaultOpen?: boolean;
47
- onOpenChange?: (open: boolean) => void;
48
- /** Clear button in the trigger (and `Delete` / `Backspace` on it) while a value is selected. */
49
- clearable?: boolean;
50
- /** Spinner instead of the chevron, `aria-busy`, a status row in the list. */
51
- loading?: boolean;
52
- };
53
- /**
54
- * Native mode: the system `<select>`. It has no `Select.Trigger`, so naming attributes and
55
- * `name` go on Root.
56
- */
57
- type SelectNativeProps = Pick<React.SelectHTMLAttributes<HTMLSelectElement>, "name" | "aria-label" | "aria-labelledby" | "aria-describedby"> & {
58
- native: true;
59
- };
60
- export type SelectRootProps = SelectRootBase & (SelectSingleValueProps | SelectMultipleValueProps) & (SelectComboboxProps | SelectNativeProps);
42
+ export type SelectRootProps = SelectRootBase & (SelectSingleProps | SelectMultipleProps);
61
43
  declare function SelectRoot(props: SelectRootProps): import("react/jsx-runtime").JSX.Element;
62
44
  declare namespace SelectRoot {
63
45
  var displayName: string;
64
46
  }
65
- export type SelectTriggerProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "id" | "type" | "role">;
66
- /** What `Select.Value` passes to its render function: the selected option. */
47
+ export type SelectTriggerProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "id" | "type" | "role"> & {
48
+ ref?: React.Ref<HTMLButtonElement>;
49
+ };
50
+ declare function SelectTrigger({ className, children, onClick, onKeyDown, "aria-describedby": ariaDescribedBy, ref, ...rest }: SelectTriggerProps): import("react/jsx-runtime").JSX.Element;
51
+ declare namespace SelectTrigger {
52
+ var displayName: string;
53
+ }
54
+ /** What `renderValue` receives: the selected option. */
67
55
  export type SelectValueItem = {
68
56
  value: string;
69
57
  label: string;
70
58
  };
71
- export type SelectValueProps = {
72
- className?: string;
59
+ export type SelectValueProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
73
60
  /**
74
- * Single mode: renders the selected option in the trigger, e.g. with the same
75
- * `Select.ItemMedia` / `Select.ItemText` / `Select.ItemDescription` parts as the row.
76
- * Not called while empty (the placeholder shows) and ignored in `multiple` mode.
61
+ * Single mode: renders the selected option in the trigger, e.g. with the same `Thumbnail.Root`,
62
+ * `Select.ItemText` and `Select.ItemDescription` parts as the row. Not called while empty (the
63
+ * placeholder shows) and not used in `multiple` mode.
77
64
  */
78
- children?: (item: SelectValueItem) => React.ReactNode;
65
+ renderValue?: (item: SelectValueItem) => React.ReactNode;
66
+ ref?: React.Ref<HTMLSpanElement>;
79
67
  };
80
- declare function SelectValue({ className, children }: SelectValueProps): import("react/jsx-runtime").JSX.Element;
68
+ /** The picked label (labels joined in `multiple`), or the placeholder. */
69
+ declare function SelectValue({ renderValue, className, ...rest }: SelectValueProps): import("react/jsx-runtime").JSX.Element;
81
70
  declare namespace SelectValue {
82
71
  var displayName: string;
83
72
  }
84
- export type SelectTriggerIconProps = React.HTMLAttributes<HTMLSpanElement>;
85
- declare function SelectTriggerIcon({ className, children, ...rest }: SelectTriggerIconProps): import("react/jsx-runtime").JSX.Element;
86
- declare namespace SelectTriggerIcon {
87
- var displayName: string;
88
- }
89
- export type SelectBadgeProps = {
90
- /** Palette hue of the soft badge. Default `gray`. */
91
- color?: PaletteColor;
92
- children: React.ReactNode;
93
- className?: string;
94
- };
95
- /**
96
- * Status inside the trigger: a soft Badge one tier below the field, at the trailing edge before
97
- * the clear button and the chevron. The value truncates before it; the trigger height is unchanged.
98
- */
99
- declare function SelectBadge({ color, children, className }: SelectBadgeProps): import("react/jsx-runtime").JSX.Element;
100
- declare namespace SelectBadge {
101
- var displayName: string;
102
- }
103
- export type SelectItemMediaProps = {
104
- /** Palette hue of the tile (soft fill + hue text for an icon). Without it — a neutral fill. */
105
- color?: PaletteColor;
106
- /** An icon or an `<img>` (covers the tile). */
107
- children: React.ReactNode;
108
- className?: string;
109
- };
110
- /** Leading thumbnail tile of a rich option; the option grows to two lines. */
111
- declare function SelectItemMedia({ color, children, className }: SelectItemMediaProps): import("react/jsx-runtime").JSX.Element;
112
- declare namespace SelectItemMedia {
113
- var displayName: string;
114
- }
115
- export type SelectItemTextProps = {
116
- children: React.ReactNode;
117
- className?: string;
118
- };
119
- /** Title of a rich option; its text is the option label (trigger, typeahead, search). */
120
- declare function SelectItemText({ children, className }: SelectItemTextProps): import("react/jsx-runtime").JSX.Element;
121
- declare namespace SelectItemText {
122
- var displayName: string;
123
- }
124
- export type SelectItemDescriptionProps = {
125
- children: React.ReactNode;
126
- className?: string;
127
- };
128
- /** Muted second line under `Select.ItemText`; searchable. */
129
- declare function SelectItemDescription({ children, className }: SelectItemDescriptionProps): import("react/jsx-runtime").JSX.Element;
130
- declare namespace SelectItemDescription {
131
- var displayName: string;
132
- }
133
- export type SelectItemMetaProps = {
134
- children: React.ReactNode;
135
- className?: string;
73
+ export type SelectTriggerIconProps = React.HTMLAttributes<HTMLSpanElement> & {
74
+ ref?: React.Ref<HTMLSpanElement>;
136
75
  };
137
- /** Trailing meta of an option (price, count): muted, tabular, right-aligned, before the check. */
138
- declare function SelectItemMeta({ children, className }: SelectItemMetaProps): import("react/jsx-runtime").JSX.Element;
139
- declare namespace SelectItemMeta {
76
+ /** A leading glyph in the trigger, before the value (decorative). */
77
+ declare function SelectTriggerIcon({ className, ...rest }: SelectTriggerIconProps): import("react/jsx-runtime").JSX.Element;
78
+ declare namespace SelectTriggerIcon {
140
79
  var displayName: string;
141
80
  }
142
- export type SelectContentProps = {
143
- className?: string;
144
- /** Поле поиска вверху панели; пункты фильтруются по подписи и `keywords`. */
81
+ export type SelectContentProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "hidden" | "onKeyDown" | "onAnimationEnd"> & {
82
+ /** A search field on top of the list; items filter by label, description and `keywords`. */
145
83
  searchable?: boolean;
146
84
  children: React.ReactNode;
85
+ /** The floating panel. */
86
+ ref?: React.Ref<HTMLDivElement>;
147
87
  };
148
- declare function SelectContent({ className, searchable, children }: SelectContentProps): import("react/jsx-runtime").JSX.Element;
88
+ declare function SelectContent({ searchable, className, children, ...rest }: SelectContentProps): import("react/jsx-runtime").JSX.Element;
149
89
  declare namespace SelectContent {
150
90
  var displayName: string;
151
91
  }
152
- export type SelectItemIconProps = React.HTMLAttributes<HTMLSpanElement>;
153
- declare function SelectItemIcon({ className, children, ...rest }: SelectItemIconProps): import("react/jsx-runtime").JSX.Element;
154
- declare namespace SelectItemIcon {
155
- var displayName: string;
156
- }
157
- export type SelectItemProps = {
158
- value: string;
159
- /** Explicit label for display in trigger; falls back to string children, then value */
160
- label?: string;
161
- /** Дополнительные слова для поиска (`Select.Content searchable`). */
162
- keywords?: string;
163
- disabled?: boolean;
164
- className?: string;
165
- children: React.ReactNode;
166
- };
167
- export type SelectGroupProps = React.HTMLAttributes<HTMLDivElement>;
92
+ export type SelectGroupProps = MenuGroupProps;
93
+ /** Options under a heading; hidden while the search leaves none of them. */
168
94
  declare function SelectGroup({ className, ...rest }: SelectGroupProps): import("react/jsx-runtime").JSX.Element;
169
95
  declare namespace SelectGroup {
170
96
  var displayName: string;
171
97
  }
172
- export type SelectGroupLabelProps = React.HTMLAttributes<HTMLDivElement>;
173
- declare function SelectGroupLabel({ className, ...rest }: SelectGroupLabelProps): import("react/jsx-runtime").JSX.Element;
174
- declare namespace SelectGroupLabel {
175
- var displayName: string;
176
- }
177
- export type SelectSeparatorProps = React.HTMLAttributes<HTMLHRElement>;
98
+ export type SelectSeparatorProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
99
+ ref?: React.Ref<HTMLDivElement>;
100
+ };
101
+ /** A full-bleed hairline between groups; hidden while searching. */
178
102
  declare function SelectSeparator({ className, ...rest }: SelectSeparatorProps): import("react/jsx-runtime").JSX.Element;
179
103
  declare namespace SelectSeparator {
180
104
  var displayName: string;
181
105
  }
182
106
  export declare const Select: {
183
107
  Root: typeof SelectRoot;
184
- Trigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
108
+ Trigger: typeof SelectTrigger;
185
109
  Value: typeof SelectValue;
186
110
  TriggerIcon: typeof SelectTriggerIcon;
187
- Badge: typeof SelectBadge;
188
111
  Content: typeof SelectContent;
189
- Item: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<HTMLDivElement>>;
112
+ Item: typeof SelectItem;
190
113
  ItemIcon: typeof SelectItemIcon;
191
- ItemMedia: typeof SelectItemMedia;
192
114
  ItemText: typeof SelectItemText;
193
115
  ItemDescription: typeof SelectItemDescription;
194
116
  ItemMeta: typeof SelectItemMeta;
195
117
  Group: typeof SelectGroup;
196
- GroupLabel: typeof SelectGroupLabel;
197
118
  Separator: typeof SelectSeparator;
198
119
  };
199
- export {};
200
- //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1,68 @@
1
+ import * as React from "react";
2
+ import { type ControlSize } from "@/internal/states";
3
+ type SpanProps = React.HTMLAttributes<HTMLSpanElement> & {
4
+ ref?: React.Ref<HTMLSpanElement>;
5
+ };
6
+ export type SelectItemIconProps = SpanProps;
7
+ /** A leading glyph of an option (decorative). */
8
+ export declare function SelectItemIcon({ className, ...rest }: SelectItemIconProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace SelectItemIcon {
10
+ var displayName: string;
11
+ }
12
+ export type SelectItemTextProps = SpanProps & {
13
+ children: React.ReactNode;
14
+ };
15
+ /** Title of a rich option; its text is the option label (trigger, typeahead, search). */
16
+ export declare function SelectItemText({ children, className, ...rest }: SelectItemTextProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare namespace SelectItemText {
18
+ var displayName: string;
19
+ }
20
+ export type SelectItemDescriptionProps = SpanProps & {
21
+ children: React.ReactNode;
22
+ };
23
+ /** Muted second line under `Select.ItemText`; searchable. Makes the row two-line. */
24
+ export declare function SelectItemDescription({ children, className, ...rest }: SelectItemDescriptionProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare namespace SelectItemDescription {
26
+ var displayName: string;
27
+ }
28
+ export type SelectItemMetaProps = SpanProps & {
29
+ children: React.ReactNode;
30
+ };
31
+ /** Trailing meta of an option (price, count): muted, tabular, before the check. */
32
+ export declare function SelectItemMeta({ children, className, ...rest }: SelectItemMetaProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare namespace SelectItemMeta {
34
+ var displayName: string;
35
+ }
36
+ type ItemParts = {
37
+ /** `Select.ItemIcon` and `Thumbnail.Root`, before the text. */
38
+ leading: React.ReactNode[];
39
+ /** Title, description and plain text, in one column. */
40
+ body: React.ReactNode[];
41
+ /** `Select.ItemMeta`, after the text. */
42
+ meta: React.ReactNode[];
43
+ /** Two-line layout: a description or a media tile is present. */
44
+ rich: boolean;
45
+ /** Text of `Select.ItemText`, else of the plain text children. */
46
+ title: string;
47
+ description: string;
48
+ };
49
+ /** Sorts the direct children of an item (fragments flattened) into the row slots by part type. */
50
+ export declare function splitItemChildren(children: React.ReactNode): ItemParts;
51
+ /** A `Thumbnail.Root` in a row or the trigger: sized to the tier unless it sets `size`. */
52
+ export declare function sizeMedia(leading: React.ReactNode[], size: ControlSize): React.ReactNode[];
53
+ export type SelectItemProps = {
54
+ value: string;
55
+ /** Text shown in the trigger and used by typeahead; defaults to `Select.ItemText`, then plain text. */
56
+ label?: string;
57
+ /** Extra words for the search (`Select.Content searchable`). */
58
+ keywords?: string;
59
+ disabled?: boolean;
60
+ className?: string;
61
+ children: React.ReactNode;
62
+ ref?: React.Ref<HTMLDivElement>;
63
+ };
64
+ export declare function SelectItem({ value, label, keywords, disabled, className, children, ref, }: SelectItemProps): import("react/jsx-runtime").JSX.Element | null;
65
+ export declare namespace SelectItem {
66
+ var displayName: string;
67
+ }
68
+ export {};