prime-ui-kit 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/README.md +41 -41
  2. package/dist/chunks/chunk-DB2Y3XXA.js +12437 -0
  3. package/dist/chunks/chunk-KCQFOORX.js +379 -0
  4. package/dist/chunks/chunk-NHOWNIAR.js +3239 -0
  5. package/dist/color-picker.d.ts +7 -0
  6. package/dist/color-picker.js +9 -0
  7. package/dist/components/accordion/Accordion.d.ts +44 -32
  8. package/dist/components/avatar/Avatar.d.ts +36 -53
  9. package/dist/components/badge/Badge.d.ts +50 -13
  10. package/dist/components/badge/edgeIcons.d.ts +13 -0
  11. package/dist/components/badge/tier.d.ts +0 -1
  12. package/dist/components/banner/Banner.d.ts +29 -60
  13. package/dist/components/breadcrumb/Breadcrumb.d.ts +11 -23
  14. package/dist/components/button/Button.d.ts +22 -36
  15. package/dist/components/button-group/ButtonGroup.d.ts +17 -17
  16. package/dist/components/card/Card.d.ts +75 -202
  17. package/dist/components/checkbox/Checkbox.d.ts +37 -38
  18. package/dist/components/code-block/CodeBlock.d.ts +5 -13
  19. package/dist/components/color-picker/ColorPicker.d.ts +76 -52
  20. package/dist/components/color-picker/ColorPresets.d.ts +18 -30
  21. package/dist/components/color-swatches/ColorSwatches.d.ts +40 -0
  22. package/dist/components/command-menu/CommandMenu.d.ts +138 -78
  23. package/dist/components/crossfade/Crossfade.d.ts +14 -0
  24. package/dist/components/data-table/DataTable.d.ts +30 -81
  25. package/dist/components/data-table/Footer.d.ts +16 -0
  26. package/dist/components/data-table/Head.d.ts +21 -0
  27. package/dist/components/data-table/Row.d.ts +56 -0
  28. package/dist/components/data-table/StateRows.d.ts +18 -0
  29. package/dist/components/data-table/rows.d.ts +60 -0
  30. package/dist/components/data-table/types.d.ts +35 -0
  31. package/dist/components/data-table/useColumnHover.d.ts +9 -0
  32. package/dist/components/data-table/useFrozenColumns.d.ts +16 -0
  33. package/dist/components/data-table/useInfiniteRows.d.ts +24 -0
  34. package/dist/components/data-table/useRowSelection.d.ts +35 -0
  35. package/dist/components/datepicker/Datepicker.d.ts +9 -126
  36. package/dist/components/datepicker/DatepickerPanel.d.ts +113 -0
  37. package/dist/components/datepicker/datepickerModel.d.ts +16 -22
  38. package/dist/components/datepicker/panelLayout.d.ts +50 -0
  39. package/dist/components/digit-input/DigitInput.d.ts +24 -19
  40. package/dist/components/divider/Divider.d.ts +7 -15
  41. package/dist/components/dnd/Dnd.d.ts +135 -0
  42. package/dist/components/dnd/DragOverlay.d.ts +6 -0
  43. package/dist/components/dnd/autoScroll.d.ts +5 -0
  44. package/dist/components/dnd/context.d.ts +5 -0
  45. package/dist/components/dnd/dragSession.d.ts +93 -0
  46. package/dist/components/dnd/geometry.d.ts +30 -0
  47. package/dist/components/dnd/labels.d.ts +18 -0
  48. package/dist/components/dnd/store.d.ts +9 -0
  49. package/dist/components/dnd/useDragSource.d.ts +36 -0
  50. package/dist/components/dnd/useDropTarget.d.ts +39 -0
  51. package/dist/components/dnd/useFlipList.d.ts +11 -0
  52. package/dist/components/dnd/useSortableList.d.ts +62 -0
  53. package/dist/components/drawer/Drawer.d.ts +8 -19
  54. package/dist/components/dropdown/Dropdown.d.ts +63 -86
  55. package/dist/components/empty-page/EmptyPage.d.ts +48 -48
  56. package/dist/components/example-frame/ExampleFrame.d.ts +20 -27
  57. package/dist/components/file-upload/FileUpload.d.ts +79 -134
  58. package/dist/components/hint/Hint.d.ts +10 -11
  59. package/dist/components/index.d.ts +54 -42
  60. package/dist/components/input/Input.d.ts +35 -37
  61. package/dist/components/kbd/Kbd.d.ts +6 -12
  62. package/dist/components/label/Label.d.ts +18 -15
  63. package/dist/components/link-button/LinkButton.d.ts +14 -15
  64. package/dist/components/login-form/LoginForm.d.ts +115 -0
  65. package/dist/components/modal/DialogParts.d.ts +57 -16
  66. package/dist/components/modal/Modal.d.ts +7 -21
  67. package/dist/components/native-select/NativeSelect.d.ts +28 -0
  68. package/dist/components/notification/Notification.d.ts +50 -16
  69. package/dist/components/notification/NotificationStore.d.ts +2 -6
  70. package/dist/components/page-content/PageContent.d.ts +43 -52
  71. package/dist/components/pagination/Pagination.d.ts +11 -23
  72. package/dist/components/popover/Popover.d.ts +62 -26
  73. package/dist/components/progress-bar/ProgressBar.d.ts +17 -13
  74. package/dist/components/progress-circle/ProgressCircle.d.ts +14 -15
  75. package/dist/components/radio/Radio.d.ts +46 -54
  76. package/dist/components/scroll-container/ScrollContainer.d.ts +10 -13
  77. package/dist/components/segmented-control/SegmentedControl.d.ts +15 -27
  78. package/dist/components/select/Select.d.ts +54 -135
  79. package/dist/components/select/SelectItem.d.ts +68 -0
  80. package/dist/components/select/selectContext.d.ts +61 -0
  81. package/dist/components/skeleton/Skeleton.d.ts +22 -0
  82. package/dist/components/slider/Slider.d.ts +24 -16
  83. package/dist/components/smart-filter/SmartFilter.d.ts +105 -0
  84. package/dist/components/smart-filter/model.d.ts +33 -0
  85. package/dist/components/spinner/Spinner.d.ts +22 -0
  86. package/dist/components/stepper/Stepper.d.ts +32 -42
  87. package/dist/components/switch/Switch.d.ts +19 -37
  88. package/dist/components/tabs/Tabs.d.ts +62 -38
  89. package/dist/components/tag-select/TagOptionMenu.d.ts +29 -0
  90. package/dist/components/tag-select/TagSelect.d.ts +15 -16
  91. package/dist/components/tag-select/useChipOverflow.d.ts +19 -0
  92. package/dist/components/textarea/Textarea.d.ts +16 -31
  93. package/dist/components/thumbnail/Thumbnail.d.ts +41 -0
  94. package/dist/components/timeline/Timeline.d.ts +46 -61
  95. package/dist/components/tooltip/Tooltip.d.ts +21 -17
  96. package/dist/components/typography/Typography.d.ts +5 -21
  97. package/dist/hooks/useControllableState.d.ts +0 -1
  98. package/dist/hooks/useEnterConfirm.d.ts +15 -0
  99. package/dist/hooks/useImageStatus.d.ts +19 -0
  100. package/dist/hooks/useInertSiblings.d.ts +9 -0
  101. package/dist/hooks/useMergedRefs.d.ts +6 -2
  102. package/dist/hooks/useModalLayer.d.ts +22 -0
  103. package/dist/hooks/usePosition.d.ts +46 -40
  104. package/dist/hooks/usePresence.d.ts +0 -1
  105. package/dist/hooks/useScrollLock.d.ts +3 -5
  106. package/dist/hooks/useStateSwap.d.ts +8 -0
  107. package/dist/icons/Icon.d.ts +24 -7
  108. package/dist/icons/index.d.ts +2 -44
  109. package/dist/icons/registry.d.ts +85 -0
  110. package/dist/index.css +5990 -6891
  111. package/dist/index.d.ts +0 -1
  112. package/dist/index.js +98 -13830
  113. package/dist/internal/AnchorRectContext.d.ts +12 -0
  114. package/dist/internal/ChoiceField.d.ts +34 -0
  115. package/dist/internal/ControlSizeContext.d.ts +6 -2
  116. package/dist/internal/FieldFrame.d.ts +47 -8
  117. package/dist/internal/HighlightMatch.d.ts +13 -0
  118. package/dist/internal/MenuGroup.d.ts +8 -0
  119. package/dist/internal/Portal.d.ts +0 -1
  120. package/dist/internal/VisuallyHidden.d.ts +11 -0
  121. package/dist/internal/context.d.ts +0 -1
  122. package/dist/internal/cx.d.ts +0 -1
  123. package/dist/internal/data-attributes.d.ts +0 -1
  124. package/dist/internal/fieldClasses.d.ts +9 -0
  125. package/dist/internal/formatLabel.d.ts +6 -0
  126. package/dist/internal/highlightTsxHtml.d.ts +1 -2
  127. package/dist/internal/iconBox.d.ts +9 -0
  128. package/dist/internal/iconLayout.d.ts +15 -0
  129. package/dist/internal/imageSlot.d.ts +29 -0
  130. package/dist/internal/layoutPxFromPrimitives.d.ts +2 -3
  131. package/dist/internal/listbox.d.ts +40 -0
  132. package/dist/internal/mergeRefs.d.ts +4 -2
  133. package/dist/internal/overlay/FloatingPanel.d.ts +34 -0
  134. package/dist/internal/overlay/focus.d.ts +14 -0
  135. package/dist/internal/overlay/layerStack.d.ts +41 -0
  136. package/dist/internal/overlay/useFloatingLayer.d.ts +60 -0
  137. package/dist/internal/polymorphic.d.ts +9 -0
  138. package/dist/internal/progressSegments.d.ts +63 -0
  139. package/dist/internal/rovingFocus.d.ts +18 -0
  140. package/dist/internal/scrollAncestors.d.ts +1 -2
  141. package/dist/internal/slot.d.ts +11 -5
  142. package/dist/internal/states.d.ts +3 -2
  143. package/dist/internal/swatch.d.ts +56 -0
  144. package/dist/layout/app-shell/AppShell.d.ts +41 -21
  145. package/dist/layout/index.d.ts +1 -2
  146. package/dist/layout/sidebar/Sidebar.d.ts +206 -35
  147. package/dist/theme/applyTheme.d.ts +0 -1
  148. package/dist/tokens/naming.d.ts +6 -0
  149. package/dist/tokens/primitives.d.ts +22 -80
  150. package/dist/tokens/semantic.d.ts +66 -25
  151. package/dist/tokens/themes/dark.d.ts +3 -1
  152. package/package.json +29 -24
  153. package/src/components/accordion/COMPONENT.md +90 -100
  154. package/src/components/accordion/examples/collapsible.tsx +27 -0
  155. package/src/components/accordion/examples/controlled.tsx +36 -0
  156. package/src/components/accordion/examples/examples.module.css +6 -39
  157. package/src/components/accordion/examples/multiple.tsx +31 -0
  158. package/src/components/accordion/examples/overview.tsx +39 -0
  159. package/src/components/accordion/examples/sizes.tsx +14 -25
  160. package/src/components/accordion/examples/states.tsx +23 -48
  161. package/src/components/accordion/examples/variants.tsx +35 -0
  162. package/src/components/accordion/examples/with-icon.tsx +47 -0
  163. package/src/components/avatar/COMPONENT.md +88 -153
  164. package/src/components/avatar/examples/examples.module.css +6 -44
  165. package/src/components/avatar/examples/overview.tsx +18 -0
  166. package/src/components/avatar/examples/presence.tsx +20 -17
  167. package/src/components/avatar/examples/sizes.tsx +8 -10
  168. package/src/components/avatar/examples/src-from-state.tsx +4 -5
  169. package/src/components/avatar/examples/states.tsx +17 -27
  170. package/src/components/avatar/examples/team-group.tsx +21 -0
  171. package/src/components/avatar/examples/variants.tsx +40 -0
  172. package/src/components/badge/COMPONENT.md +113 -122
  173. package/src/components/{tag → badge}/examples/applied-filters.tsx +10 -11
  174. package/src/components/badge/examples/examples.module.css +14 -59
  175. package/src/components/badge/examples/filter-values.tsx +39 -0
  176. package/src/components/badge/examples/in-controls.tsx +14 -26
  177. package/src/components/badge/examples/overview.tsx +13 -0
  178. package/src/components/badge/examples/sizes.tsx +8 -10
  179. package/src/components/badge/examples/states.tsx +35 -29
  180. package/src/components/badge/examples/variants.tsx +27 -36
  181. package/src/components/badge/examples/with-icon.tsx +50 -0
  182. package/src/components/banner/COMPONENT.md +88 -93
  183. package/src/components/banner/examples/dismissible.tsx +38 -0
  184. package/src/components/banner/examples/examples.module.css +6 -22
  185. package/src/components/banner/examples/narrow.tsx +23 -0
  186. package/src/components/banner/examples/overview.tsx +18 -0
  187. package/src/components/banner/examples/page-strip.tsx +53 -0
  188. package/src/components/banner/examples/sizes.tsx +22 -21
  189. package/src/components/banner/examples/structure.tsx +45 -0
  190. package/src/components/banner/examples/variants.tsx +28 -55
  191. package/src/components/breadcrumb/COMPONENT.md +55 -59
  192. package/src/components/breadcrumb/examples/ellipsis.tsx +12 -0
  193. package/src/components/breadcrumb/examples/examples.module.css +3 -52
  194. package/src/components/breadcrumb/examples/overflow.tsx +26 -0
  195. package/src/components/breadcrumb/examples/overview.tsx +12 -0
  196. package/src/components/breadcrumb/examples/sizes.tsx +11 -14
  197. package/src/components/breadcrumb/examples/with-icon.tsx +14 -0
  198. package/src/components/button/COMPONENT.md +65 -66
  199. package/src/components/button/examples/as-child.tsx +8 -32
  200. package/src/components/button/examples/examples.module.css +18 -76
  201. package/src/components/button/examples/in-form.tsx +20 -14
  202. package/src/components/button/examples/on-colored-host.tsx +29 -0
  203. package/src/components/button/examples/overview.tsx +13 -0
  204. package/src/components/button/examples/sizes.tsx +7 -9
  205. package/src/components/button/examples/states.tsx +18 -28
  206. package/src/components/button/examples/variants.tsx +31 -0
  207. package/src/components/button/examples/with-icon.tsx +35 -23
  208. package/src/components/button-group/COMPONENT.md +64 -55
  209. package/src/components/button-group/examples/controlled.tsx +3 -3
  210. package/src/components/button-group/examples/examples.module.css +4 -39
  211. package/src/components/button-group/examples/full-width.tsx +10 -14
  212. package/src/components/button-group/examples/in-form.tsx +3 -3
  213. package/src/components/button-group/examples/orientation.tsx +6 -8
  214. package/src/components/button-group/examples/overview.tsx +12 -0
  215. package/src/components/button-group/examples/sizes.tsx +8 -10
  216. package/src/components/button-group/examples/states.tsx +28 -7
  217. package/src/components/button-group/examples/with-icon.tsx +45 -0
  218. package/src/components/card/COMPONENT.md +99 -298
  219. package/src/components/card/examples/{content.tsx → content-templates.tsx} +23 -29
  220. package/src/components/card/examples/examples.module.css +0 -8
  221. package/src/components/card/examples/flat.tsx +9 -14
  222. package/src/components/card/examples/kpi-media.tsx +42 -0
  223. package/src/components/card/examples/narrow.tsx +47 -0
  224. package/src/components/card/examples/{settings.tsx → overview.tsx} +7 -8
  225. package/src/components/card/examples/panel-chart.tsx +26 -34
  226. package/src/components/card/examples/{metrics.tsx → variants.tsx} +12 -18
  227. package/src/components/checkbox/COMPONENT.md +92 -96
  228. package/src/components/checkbox/examples/controlled.tsx +41 -0
  229. package/src/components/checkbox/examples/examples.module.css +45 -43
  230. package/src/components/checkbox/examples/in-form.tsx +34 -0
  231. package/src/components/checkbox/examples/indicator.tsx +54 -0
  232. package/src/components/checkbox/examples/overview.tsx +10 -0
  233. package/src/components/checkbox/examples/sizes.tsx +5 -10
  234. package/src/components/checkbox/examples/states.tsx +42 -23
  235. package/src/components/checkbox/examples/without-label.tsx +3 -7
  236. package/src/components/code-block/COMPONENT.md +55 -57
  237. package/src/components/code-block/examples/color-scheme.tsx +4 -15
  238. package/src/components/code-block/examples/examples.module.css +9 -40
  239. package/src/components/code-block/examples/{long-lines.tsx → narrow.tsx} +3 -4
  240. package/src/components/code-block/examples/overview.tsx +19 -0
  241. package/src/components/code-block/examples/variants.tsx +12 -21
  242. package/src/components/color-picker/COMPONENT.md +196 -165
  243. package/src/components/color-picker/examples/controlled.tsx +37 -0
  244. package/src/components/color-picker/examples/examples.module.css +19 -88
  245. package/src/components/color-picker/examples/formats.tsx +13 -18
  246. package/src/components/color-picker/examples/in-form.tsx +44 -0
  247. package/src/components/color-picker/examples/overview.tsx +37 -0
  248. package/src/components/color-picker/examples/panel.tsx +12 -13
  249. package/src/components/color-picker/examples/presets-sizes.tsx +15 -20
  250. package/src/components/color-picker/examples/presets.tsx +33 -0
  251. package/src/components/color-picker/examples/sizes.tsx +26 -0
  252. package/src/components/color-picker/examples/states.tsx +4 -14
  253. package/src/components/color-picker/examples/validation.tsx +18 -0
  254. package/src/components/color-swatches/COMPONENT.md +145 -0
  255. package/src/components/color-swatches/examples/controlled.tsx +22 -0
  256. package/src/components/color-swatches/examples/examples.module.css +19 -0
  257. package/src/components/color-swatches/examples/in-form.tsx +35 -0
  258. package/src/components/color-swatches/examples/overview.tsx +6 -0
  259. package/src/components/color-swatches/examples/sizes.tsx +19 -0
  260. package/src/components/color-swatches/examples/states.tsx +20 -0
  261. package/src/components/color-swatches/examples/wrapping.tsx +12 -0
  262. package/src/components/command-menu/COMPONENT.md +117 -180
  263. package/src/components/command-menu/examples/controlled-open.tsx +29 -0
  264. package/src/components/command-menu/examples/controlled.tsx +19 -26
  265. package/src/components/command-menu/examples/dismiss.tsx +39 -0
  266. package/src/components/command-menu/examples/overview.tsx +61 -0
  267. package/src/components/command-menu/examples/sizes.tsx +30 -51
  268. package/src/components/command-menu/examples/states.tsx +6 -16
  269. package/src/components/command-menu/examples/structure.tsx +54 -0
  270. package/src/components/crossfade/COMPONENT.md +104 -0
  271. package/src/components/crossfade/examples/examples.module.css +65 -0
  272. package/src/components/crossfade/examples/overview.tsx +102 -0
  273. package/src/components/crossfade/examples/record-switch.tsx +67 -0
  274. package/src/components/data-table/COMPONENT.md +171 -185
  275. package/src/components/data-table/examples/appearance.tsx +31 -34
  276. package/src/components/data-table/examples/content-width.tsx +46 -26
  277. package/src/components/data-table/examples/controlled.tsx +56 -0
  278. package/src/components/data-table/examples/detail-panel.tsx +23 -28
  279. package/src/components/data-table/examples/examples.module.css +20 -91
  280. package/src/components/data-table/examples/infinite-scroll.tsx +17 -18
  281. package/src/components/data-table/examples/narrow.tsx +28 -38
  282. package/src/components/data-table/examples/nested-rows.tsx +32 -54
  283. package/src/components/data-table/examples/numeric.tsx +10 -19
  284. package/src/components/data-table/examples/overview.tsx +54 -0
  285. package/src/components/data-table/examples/selection.tsx +11 -15
  286. package/src/components/data-table/examples/sizes.tsx +22 -33
  287. package/src/components/data-table/examples/states.tsx +23 -24
  288. package/src/components/data-table/examples/sticky.tsx +17 -24
  289. package/src/components/data-table/examples/toolbar.tsx +21 -23
  290. package/src/components/datepicker/COMPONENT.md +152 -164
  291. package/src/components/datepicker/examples/controlled-open.tsx +32 -0
  292. package/src/components/datepicker/examples/controlled.tsx +39 -0
  293. package/src/components/datepicker/examples/examples.module.css +9 -23
  294. package/src/components/datepicker/examples/in-form.tsx +32 -45
  295. package/src/components/datepicker/examples/inline-panel.tsx +3 -3
  296. package/src/components/datepicker/examples/narrow.tsx +1 -1
  297. package/src/components/datepicker/examples/overview.tsx +6 -0
  298. package/src/components/datepicker/examples/range-presets.tsx +6 -5
  299. package/src/components/datepicker/examples/sizes.tsx +7 -10
  300. package/src/components/datepicker/examples/states.tsx +9 -30
  301. package/src/components/datepicker/examples/validation.tsx +26 -0
  302. package/src/components/datepicker/examples/yearless.tsx +9 -8
  303. package/src/components/digit-input/COMPONENT.md +91 -53
  304. package/src/components/digit-input/examples/controlled.tsx +6 -15
  305. package/src/components/digit-input/examples/examples.module.css +9 -42
  306. package/src/components/digit-input/examples/full-width.tsx +13 -0
  307. package/src/components/digit-input/examples/grouped.tsx +11 -0
  308. package/src/components/digit-input/examples/in-form.tsx +35 -0
  309. package/src/components/digit-input/examples/on-complete.tsx +20 -0
  310. package/src/components/digit-input/examples/overview.tsx +6 -0
  311. package/src/components/digit-input/examples/sizes.tsx +5 -17
  312. package/src/components/digit-input/examples/states.tsx +6 -50
  313. package/src/components/digit-input/examples/validation.tsx +17 -0
  314. package/src/components/divider/COMPONENT.md +61 -52
  315. package/src/components/divider/examples/align.tsx +14 -0
  316. package/src/components/divider/examples/examples.module.css +6 -20
  317. package/src/components/divider/examples/or-separator.tsx +19 -0
  318. package/src/components/divider/examples/overview.tsx +30 -0
  319. package/src/components/divider/examples/sizes.tsx +11 -10
  320. package/src/components/divider/examples/vertical.tsx +21 -0
  321. package/src/components/divider/examples/with-icon.tsx +26 -0
  322. package/src/components/dnd/COMPONENT.md +197 -0
  323. package/src/components/dnd/examples/board.tsx +83 -0
  324. package/src/components/dnd/examples/drop-zones.tsx +82 -0
  325. package/src/components/dnd/examples/examples.module.css +89 -0
  326. package/src/components/dnd/examples/handle.tsx +53 -0
  327. package/src/components/dnd/examples/narrow.tsx +42 -0
  328. package/src/components/dnd/examples/overview.tsx +45 -0
  329. package/src/components/drawer/COMPONENT.md +103 -102
  330. package/src/components/drawer/examples/controlled-open.tsx +33 -0
  331. package/src/components/drawer/examples/dismiss.tsx +55 -0
  332. package/src/components/drawer/examples/examples.module.css +3 -24
  333. package/src/components/drawer/examples/in-form.tsx +82 -0
  334. package/src/components/drawer/examples/long-content.tsx +40 -0
  335. package/src/components/drawer/examples/overview.tsx +48 -0
  336. package/src/components/drawer/examples/{variants-sides.tsx → placement.tsx} +10 -13
  337. package/src/components/drawer/examples/sizes.tsx +9 -15
  338. package/src/components/drawer/examples/structure.tsx +35 -0
  339. package/src/components/dropdown/COMPONENT.md +109 -152
  340. package/src/components/dropdown/examples/controlled-open.tsx +32 -0
  341. package/src/components/dropdown/examples/dismiss.tsx +17 -0
  342. package/src/components/dropdown/examples/examples.module.css +11 -45
  343. package/src/components/dropdown/examples/long-list.tsx +42 -0
  344. package/src/components/dropdown/examples/{full-width.tsx → match-trigger-width.tsx} +5 -4
  345. package/src/components/dropdown/examples/overview.tsx +41 -0
  346. package/src/components/dropdown/examples/placement.tsx +16 -13
  347. package/src/components/dropdown/examples/sizes.tsx +18 -15
  348. package/src/components/dropdown/examples/states.tsx +21 -29
  349. package/src/components/dropdown/examples/structure.tsx +56 -0
  350. package/src/components/empty-page/COMPONENT.md +71 -75
  351. package/src/components/empty-page/examples/compact.tsx +23 -0
  352. package/src/components/empty-page/examples/data-region.tsx +8 -11
  353. package/src/components/empty-page/examples/examples.module.css +22 -25
  354. package/src/components/empty-page/examples/icon-tones.tsx +5 -6
  355. package/src/components/empty-page/examples/narrow.tsx +26 -0
  356. package/src/components/empty-page/examples/{no-results.tsx → overview.tsx} +4 -5
  357. package/src/components/empty-page/examples/sizes.tsx +14 -20
  358. package/src/components/example-frame/COMPONENT.md +64 -66
  359. package/src/components/example-frame/examples/controlled.tsx +42 -0
  360. package/src/components/example-frame/examples/overview.tsx +16 -0
  361. package/src/components/file-upload/COMPONENT.md +128 -186
  362. package/src/components/file-upload/examples/avatar-upload.tsx +7 -12
  363. package/src/components/file-upload/examples/custom-body.tsx +44 -0
  364. package/src/components/file-upload/examples/examples.module.css +46 -64
  365. package/src/components/file-upload/examples/in-form.tsx +76 -0
  366. package/src/components/file-upload/examples/narrow.tsx +17 -0
  367. package/src/components/file-upload/examples/overview.tsx +52 -0
  368. package/src/components/file-upload/examples/sizes.tsx +16 -37
  369. package/src/components/file-upload/examples/states.tsx +6 -98
  370. package/src/components/file-upload/examples/upload-progress.tsx +39 -0
  371. package/src/components/file-upload/examples/validation.tsx +19 -0
  372. package/src/components/file-upload/examples/variants.tsx +5 -18
  373. package/src/components/hint/COMPONENT.md +42 -48
  374. package/src/components/hint/examples/examples.module.css +3 -45
  375. package/src/components/hint/examples/hint-or-error.tsx +5 -5
  376. package/src/components/hint/examples/overview.tsx +34 -0
  377. package/src/components/hint/examples/sizes.tsx +8 -10
  378. package/src/components/hint/examples/states.tsx +21 -14
  379. package/src/components/hint/examples/with-icon.tsx +31 -0
  380. package/src/components/input/COMPONENT.md +70 -88
  381. package/src/components/input/examples/affixes.tsx +22 -0
  382. package/src/components/input/examples/controlled.tsx +9 -10
  383. package/src/components/input/examples/examples.module.css +3 -116
  384. package/src/components/input/examples/in-form.tsx +35 -14
  385. package/src/components/input/examples/overview.tsx +12 -0
  386. package/src/components/input/examples/sizes.tsx +6 -11
  387. package/src/components/input/examples/states.tsx +6 -23
  388. package/src/components/input/examples/validation.tsx +35 -0
  389. package/src/components/input/examples/with-icon.tsx +25 -0
  390. package/src/components/input/examples/{search-without-focus-ring.tsx → without-focus-ring.tsx} +5 -5
  391. package/src/components/kbd/COMPONENT.md +50 -65
  392. package/src/components/kbd/examples/examples.module.css +11 -41
  393. package/src/components/kbd/examples/in-controls.tsx +25 -31
  394. package/src/components/kbd/examples/overview.tsx +24 -0
  395. package/src/components/kbd/examples/shortcut-list.tsx +12 -12
  396. package/src/components/kbd/examples/sizes.tsx +8 -13
  397. package/src/components/label/COMPONENT.md +45 -44
  398. package/src/components/label/examples/examples.module.css +8 -29
  399. package/src/components/label/examples/overview.tsx +17 -0
  400. package/src/components/label/examples/sizes.tsx +9 -13
  401. package/src/components/label/examples/states.tsx +17 -14
  402. package/src/components/label/examples/structure.tsx +32 -0
  403. package/src/components/label/examples/with-icon.tsx +25 -17
  404. package/src/components/link-button/COMPONENT.md +56 -39
  405. package/src/components/link-button/examples/as-child.tsx +18 -0
  406. package/src/components/link-button/examples/external-link.tsx +6 -6
  407. package/src/components/link-button/examples/overview.tsx +11 -0
  408. package/src/components/link-button/examples/sizes.tsx +9 -11
  409. package/src/components/link-button/examples/states.tsx +25 -12
  410. package/src/components/link-button/examples/variants.tsx +21 -0
  411. package/src/components/link-button/examples/with-icon.tsx +21 -13
  412. package/src/components/login-form/COMPONENT.md +162 -0
  413. package/src/components/login-form/examples/examples.module.css +39 -0
  414. package/src/components/login-form/examples/forgot-password.tsx +39 -0
  415. package/src/components/login-form/examples/narrow.tsx +32 -0
  416. package/src/components/login-form/examples/overview.tsx +58 -0
  417. package/src/components/login-form/examples/register.tsx +85 -0
  418. package/src/components/login-form/examples/reset-password.tsx +60 -0
  419. package/src/components/login-form/examples/sizes.tsx +38 -0
  420. package/src/components/login-form/examples/states.tsx +75 -0
  421. package/src/components/login-form/examples/structure.tsx +28 -0
  422. package/src/components/login-form/examples/verification-code.tsx +57 -0
  423. package/src/components/modal/COMPONENT.md +64 -84
  424. package/src/components/modal/examples/{controlled.tsx → controlled-open.tsx} +6 -12
  425. package/src/components/modal/examples/custom-container.tsx +29 -0
  426. package/src/components/modal/examples/dismiss.tsx +54 -0
  427. package/src/components/modal/examples/examples.module.css +4 -20
  428. package/src/components/modal/examples/in-form.tsx +78 -0
  429. package/src/components/modal/examples/long-content.tsx +52 -0
  430. package/src/components/modal/examples/overview.tsx +35 -0
  431. package/src/components/modal/examples/sizes.tsx +7 -9
  432. package/src/components/modal/examples/structure.tsx +53 -0
  433. package/src/components/native-select/COMPONENT.md +132 -0
  434. package/src/components/native-select/examples/controlled.tsx +26 -0
  435. package/src/components/native-select/examples/examples.module.css +14 -0
  436. package/src/components/native-select/examples/in-form.tsx +43 -0
  437. package/src/components/native-select/examples/option-groups.tsx +17 -0
  438. package/src/components/native-select/examples/overview.tsx +16 -0
  439. package/src/components/native-select/examples/sizes.tsx +18 -0
  440. package/src/components/native-select/examples/states.tsx +21 -0
  441. package/src/components/native-select/examples/validation.tsx +26 -0
  442. package/src/components/notification/COMPONENT.md +107 -121
  443. package/src/components/notification/examples/dismiss.tsx +50 -0
  444. package/src/components/notification/examples/examples.module.css +10 -23
  445. package/src/components/notification/examples/in-form.tsx +64 -0
  446. package/src/components/notification/examples/overview.tsx +24 -0
  447. package/src/components/notification/examples/placement.tsx +66 -0
  448. package/src/components/notification/examples/sizes.tsx +11 -18
  449. package/src/components/notification/examples/stacking.tsx +45 -0
  450. package/src/components/notification/examples/structure.tsx +20 -0
  451. package/src/components/notification/examples/tones.tsx +14 -26
  452. package/src/components/page-content/COMPONENT.md +49 -74
  453. package/src/components/page-content/examples/examples.module.css +4 -8
  454. package/src/components/page-content/examples/narrow.tsx +25 -0
  455. package/src/components/page-content/examples/overview.tsx +41 -0
  456. package/src/components/page-content/examples/variants.tsx +39 -0
  457. package/src/components/pagination/COMPONENT.md +73 -64
  458. package/src/components/pagination/examples/controlled.tsx +51 -0
  459. package/src/components/pagination/examples/examples.module.css +6 -55
  460. package/src/components/pagination/examples/narrow.tsx +25 -0
  461. package/src/components/pagination/examples/overflow.tsx +23 -0
  462. package/src/components/pagination/examples/overview.tsx +6 -0
  463. package/src/components/pagination/examples/sizes.tsx +10 -18
  464. package/src/components/popover/COMPONENT.md +88 -99
  465. package/src/components/popover/examples/controlled-open.tsx +32 -0
  466. package/src/components/popover/examples/dismiss.tsx +49 -0
  467. package/src/components/popover/examples/examples.module.css +21 -41
  468. package/src/components/popover/examples/flush.tsx +47 -0
  469. package/src/components/popover/examples/in-form.tsx +54 -0
  470. package/src/components/popover/examples/{full-width.tsx → match-trigger-width.tsx} +7 -7
  471. package/src/components/popover/examples/overview.tsx +43 -0
  472. package/src/components/popover/examples/placement.tsx +17 -15
  473. package/src/components/popover/examples/sizes.tsx +12 -9
  474. package/src/components/popover/examples/structure.tsx +50 -0
  475. package/src/components/progress-bar/COMPONENT.md +102 -61
  476. package/src/components/progress-bar/examples/custom-max.tsx +12 -0
  477. package/src/components/progress-bar/examples/examples.module.css +4 -34
  478. package/src/components/progress-bar/examples/overview.tsx +12 -0
  479. package/src/components/progress-bar/examples/segments.tsx +32 -0
  480. package/src/components/progress-bar/examples/sizes.tsx +11 -8
  481. package/src/components/progress-bar/examples/variants.tsx +34 -0
  482. package/src/components/progress-circle/COMPONENT.md +101 -60
  483. package/src/components/progress-circle/examples/examples.module.css +2 -39
  484. package/src/components/progress-circle/examples/inner-content.tsx +35 -0
  485. package/src/components/progress-circle/examples/overview.tsx +10 -0
  486. package/src/components/progress-circle/examples/segments.tsx +64 -0
  487. package/src/components/progress-circle/examples/sizes.tsx +10 -12
  488. package/src/components/progress-circle/examples/variants.tsx +28 -0
  489. package/src/components/radio/COMPONENT.md +93 -114
  490. package/src/components/radio/examples/controlled.tsx +30 -0
  491. package/src/components/radio/examples/group.tsx +23 -0
  492. package/src/components/radio/examples/orientation.tsx +34 -0
  493. package/src/components/radio/examples/overview.tsx +18 -0
  494. package/src/components/radio/examples/sizes.tsx +7 -12
  495. package/src/components/radio/examples/states.tsx +42 -30
  496. package/src/components/scroll-container/COMPONENT.md +56 -28
  497. package/src/components/scroll-container/examples/edge-fade.tsx +53 -0
  498. package/src/components/scroll-container/examples/examples.module.css +7 -7
  499. package/src/components/scroll-container/examples/overscroll.tsx +27 -0
  500. package/src/components/scroll-container/examples/overview.tsx +27 -0
  501. package/src/components/scroll-container/examples/variants.tsx +54 -0
  502. package/src/components/segmented-control/COMPONENT.md +91 -105
  503. package/src/components/segmented-control/examples/colors.tsx +8 -13
  504. package/src/components/segmented-control/examples/controlled.tsx +10 -6
  505. package/src/components/segmented-control/examples/examples.module.css +2 -88
  506. package/src/components/segmented-control/examples/full-width.tsx +7 -44
  507. package/src/components/segmented-control/examples/overview.tsx +12 -0
  508. package/src/components/segmented-control/examples/scroll.tsx +16 -0
  509. package/src/components/segmented-control/examples/sizes.tsx +8 -20
  510. package/src/components/segmented-control/examples/states.tsx +28 -34
  511. package/src/components/segmented-control/examples/two-line.tsx +17 -104
  512. package/src/components/segmented-control/examples/with-icon.tsx +52 -0
  513. package/src/components/select/COMPONENT.md +154 -208
  514. package/src/components/select/examples/clearable.tsx +23 -0
  515. package/src/components/select/examples/controlled-open.tsx +30 -0
  516. package/src/components/select/examples/controlled.tsx +17 -10
  517. package/src/components/select/examples/examples.module.css +18 -38
  518. package/src/components/select/examples/in-form.tsx +59 -70
  519. package/src/components/select/examples/multiple.tsx +21 -33
  520. package/src/components/select/examples/overview.tsx +17 -0
  521. package/src/components/select/examples/rich-options.tsx +43 -69
  522. package/src/components/select/examples/searchable.tsx +42 -0
  523. package/src/components/select/examples/sizes.tsx +13 -17
  524. package/src/components/select/examples/states.tsx +34 -48
  525. package/src/components/select/examples/validation.tsx +41 -0
  526. package/src/components/select/examples/with-icon.tsx +35 -0
  527. package/src/components/skeleton/COMPONENT.md +104 -0
  528. package/src/components/skeleton/examples/examples.module.css +89 -0
  529. package/src/components/skeleton/examples/form.tsx +20 -0
  530. package/src/components/skeleton/examples/overview.tsx +21 -0
  531. package/src/components/skeleton/examples/sizes.tsx +24 -0
  532. package/src/components/skeleton/examples/with-crossfade.tsx +68 -0
  533. package/src/components/slider/COMPONENT.md +105 -68
  534. package/src/components/slider/examples/controlled.tsx +26 -30
  535. package/src/components/slider/examples/examples.module.css +8 -32
  536. package/src/components/slider/examples/hint-and-error.tsx +33 -0
  537. package/src/components/slider/examples/overview.tsx +6 -0
  538. package/src/components/slider/examples/range-step.tsx +7 -17
  539. package/src/components/slider/examples/sizes.tsx +8 -6
  540. package/src/components/slider/examples/states.tsx +11 -8
  541. package/src/components/slider/examples/value-format.tsx +13 -25
  542. package/src/components/slider/examples/variants.tsx +23 -0
  543. package/src/components/smart-filter/COMPONENT.md +182 -0
  544. package/src/components/smart-filter/examples/controlled.tsx +48 -0
  545. package/src/components/smart-filter/examples/examples.module.css +56 -0
  546. package/src/components/smart-filter/examples/many-values.tsx +53 -0
  547. package/src/components/smart-filter/examples/narrow.tsx +38 -0
  548. package/src/components/smart-filter/examples/overview.tsx +109 -0
  549. package/src/components/smart-filter/examples/sizes.tsx +33 -0
  550. package/src/components/spinner/COMPONENT.md +112 -0
  551. package/src/components/spinner/examples/examples.module.css +20 -0
  552. package/src/components/spinner/examples/loading-region.tsx +22 -0
  553. package/src/components/spinner/examples/overview.tsx +15 -0
  554. package/src/components/spinner/examples/sizes.tsx +19 -0
  555. package/src/components/spinner/examples/variants.tsx +19 -0
  556. package/src/components/stepper/COMPONENT.md +83 -78
  557. package/src/components/stepper/examples/controlled.tsx +46 -0
  558. package/src/components/stepper/examples/examples.module.css +9 -40
  559. package/src/components/stepper/examples/narrow.tsx +11 -19
  560. package/src/components/stepper/examples/orientation.tsx +21 -59
  561. package/src/components/stepper/examples/overview.tsx +28 -0
  562. package/src/components/stepper/examples/sizes.tsx +19 -28
  563. package/src/components/stepper/examples/states.tsx +20 -21
  564. package/src/components/stepper/examples/with-icon.tsx +29 -0
  565. package/src/components/switch/COMPONENT.md +75 -94
  566. package/src/components/switch/examples/controlled.tsx +8 -6
  567. package/src/components/switch/examples/examples.module.css +13 -45
  568. package/src/components/switch/examples/in-form.tsx +20 -24
  569. package/src/components/switch/examples/overview.tsx +10 -0
  570. package/src/components/switch/examples/settings-row.tsx +14 -22
  571. package/src/components/switch/examples/sizes.tsx +5 -10
  572. package/src/components/switch/examples/states.tsx +37 -25
  573. package/src/components/tabs/COMPONENT.md +153 -86
  574. package/src/components/tabs/examples/closable.tsx +48 -0
  575. package/src/components/tabs/examples/controlled.tsx +14 -20
  576. package/src/components/tabs/examples/examples.module.css +13 -93
  577. package/src/components/tabs/examples/orientation.tsx +40 -0
  578. package/src/components/tabs/examples/overflow.tsx +60 -0
  579. package/src/components/tabs/examples/overview.tsx +30 -0
  580. package/src/components/tabs/examples/sizes.tsx +19 -19
  581. package/src/components/tabs/examples/states.tsx +20 -55
  582. package/src/components/tabs/examples/two-line.tsx +22 -29
  583. package/src/components/tabs/examples/variants.tsx +40 -0
  584. package/src/components/tabs/examples/with-icon.tsx +44 -0
  585. package/src/components/tag-select/COMPONENT.md +119 -122
  586. package/src/components/tag-select/examples/controlled-open.tsx +29 -0
  587. package/src/components/tag-select/examples/controlled.tsx +26 -0
  588. package/src/components/tag-select/examples/creatable.tsx +28 -0
  589. package/src/components/tag-select/examples/examples.module.css +3 -22
  590. package/src/components/tag-select/examples/in-form.tsx +44 -41
  591. package/src/components/tag-select/examples/manage-tags.tsx +20 -39
  592. package/src/components/tag-select/examples/many-tags.tsx +20 -0
  593. package/src/components/tag-select/examples/overview.tsx +21 -0
  594. package/src/components/tag-select/examples/sizes.tsx +7 -10
  595. package/src/components/tag-select/examples/states.tsx +11 -36
  596. package/src/components/tag-select/examples/validation.tsx +35 -0
  597. package/src/components/textarea/COMPONENT.md +50 -50
  598. package/src/components/textarea/examples/auto-resize.tsx +21 -0
  599. package/src/components/textarea/examples/controlled.tsx +12 -16
  600. package/src/components/textarea/examples/examples.module.css +15 -48
  601. package/src/components/textarea/examples/in-form.tsx +52 -48
  602. package/src/components/textarea/examples/overview.tsx +12 -0
  603. package/src/components/textarea/examples/sizes.tsx +6 -7
  604. package/src/components/textarea/examples/states.tsx +9 -13
  605. package/src/components/textarea/examples/validation.tsx +34 -0
  606. package/src/components/textarea/examples/without-focus-ring.tsx +12 -0
  607. package/src/components/thumbnail/COMPONENT.md +150 -0
  608. package/src/components/thumbnail/examples/examples.module.css +45 -0
  609. package/src/components/thumbnail/examples/full-width.tsx +48 -0
  610. package/src/components/thumbnail/examples/overview.tsx +31 -0
  611. package/src/components/thumbnail/examples/ratios.tsx +25 -0
  612. package/src/components/thumbnail/examples/ring.tsx +29 -0
  613. package/src/components/thumbnail/examples/sizes.tsx +23 -0
  614. package/src/components/thumbnail/examples/states.tsx +38 -0
  615. package/src/components/thumbnail/examples/variants.tsx +28 -0
  616. package/src/components/timeline/COMPONENT.md +92 -203
  617. package/src/components/timeline/examples/examples.module.css +5 -20
  618. package/src/components/timeline/examples/links.tsx +28 -0
  619. package/src/components/timeline/examples/narrow.tsx +30 -38
  620. package/src/components/timeline/examples/{activity-feed.tsx → overview.tsx} +9 -17
  621. package/src/components/timeline/examples/sizes.tsx +22 -28
  622. package/src/components/timeline/examples/{service-history.tsx → structure.tsx} +10 -8
  623. package/src/components/timeline/examples/{colors-and-tones.tsx → variants.tsx} +11 -16
  624. package/src/components/tooltip/COMPONENT.md +74 -62
  625. package/src/components/tooltip/examples/{controlled.tsx → controlled-open.tsx} +5 -7
  626. package/src/components/tooltip/examples/delay.tsx +19 -28
  627. package/src/components/tooltip/examples/disabled-trigger.tsx +18 -0
  628. package/src/components/tooltip/examples/examples.module.css +3 -33
  629. package/src/components/tooltip/examples/long-content.tsx +12 -15
  630. package/src/components/tooltip/examples/overview.tsx +17 -0
  631. package/src/components/tooltip/examples/placement.tsx +30 -0
  632. package/src/components/tooltip/examples/sizes.tsx +12 -15
  633. package/src/components/tooltip/examples/toolbar.tsx +35 -0
  634. package/src/components/typography/COMPONENT.md +68 -99
  635. package/src/components/typography/examples/article.tsx +23 -36
  636. package/src/components/typography/examples/examples.module.css +20 -54
  637. package/src/components/typography/examples/inline-emphasis.tsx +20 -0
  638. package/src/components/typography/examples/overview.tsx +20 -0
  639. package/src/components/typography/examples/semantic-tag.tsx +17 -0
  640. package/src/components/typography/examples/truncate.tsx +7 -7
  641. package/src/components/typography/examples/variants.tsx +43 -42
  642. package/src/components/typography/examples/weights.tsx +31 -0
  643. package/src/layout/app-shell/COMPONENT.md +48 -54
  644. package/src/layout/app-shell/examples/contained.tsx +5 -5
  645. package/src/layout/app-shell/examples/examples.module.css +9 -0
  646. package/src/layout/app-shell/examples/overview.tsx +72 -0
  647. package/src/layout/app-shell/examples/template.tsx +54 -0
  648. package/src/layout/sidebar/COMPONENT.md +302 -110
  649. package/src/layout/sidebar/examples/account.tsx +88 -0
  650. package/src/layout/sidebar/examples/brand-header.tsx +45 -0
  651. package/src/layout/sidebar/examples/collapsible-groups.tsx +77 -0
  652. package/src/layout/sidebar/examples/controlled-open.tsx +55 -0
  653. package/src/layout/sidebar/examples/controlled.tsx +68 -0
  654. package/src/layout/sidebar/examples/examples.module.css +17 -3
  655. package/src/layout/sidebar/examples/nested-items.tsx +74 -0
  656. package/src/layout/sidebar/examples/overview.tsx +126 -0
  657. package/src/layout/sidebar/examples/router.tsx +19 -13
  658. package/src/layout/sidebar/examples/sizes.tsx +17 -12
  659. package/src/layout/sidebar/examples/structure.tsx +81 -0
  660. package/src/styles/fonts.css +4 -0
  661. package/src/styles/globals.css +18 -29
  662. package/src/styles/reset.css +2 -0
  663. package/src/styles/theme-dark.css +3 -0
  664. package/src/styles/theme-light.css +34 -23
  665. package/src/styles/tokens.css +9 -77
  666. package/dist/components/accordion/Accordion.d.ts.map +0 -1
  667. package/dist/components/avatar/Avatar.d.ts.map +0 -1
  668. package/dist/components/badge/Badge.d.ts.map +0 -1
  669. package/dist/components/badge/tier.d.ts.map +0 -1
  670. package/dist/components/banner/Banner.d.ts.map +0 -1
  671. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +0 -1
  672. package/dist/components/button/Button.d.ts.map +0 -1
  673. package/dist/components/button-group/ButtonGroup.d.ts.map +0 -1
  674. package/dist/components/card/Card.d.ts.map +0 -1
  675. package/dist/components/checkbox/Checkbox.d.ts.map +0 -1
  676. package/dist/components/code-block/CodeBlock.d.ts.map +0 -1
  677. package/dist/components/color-picker/ColorPicker.d.ts.map +0 -1
  678. package/dist/components/color-picker/ColorPresets.d.ts.map +0 -1
  679. package/dist/components/command-menu/CommandMenu.d.ts.map +0 -1
  680. package/dist/components/data-table/DataTable.d.ts.map +0 -1
  681. package/dist/components/datepicker/Datepicker.d.ts.map +0 -1
  682. package/dist/components/datepicker/datepickerModel.d.ts.map +0 -1
  683. package/dist/components/digit-input/DigitInput.d.ts.map +0 -1
  684. package/dist/components/divider/Divider.d.ts.map +0 -1
  685. package/dist/components/drawer/Drawer.d.ts.map +0 -1
  686. package/dist/components/dropdown/Dropdown.d.ts.map +0 -1
  687. package/dist/components/dropdown/dropdownGeometry.d.ts +0 -10
  688. package/dist/components/dropdown/dropdownGeometry.d.ts.map +0 -1
  689. package/dist/components/dropdown/menuKeyboard.d.ts +0 -4
  690. package/dist/components/dropdown/menuKeyboard.d.ts.map +0 -1
  691. package/dist/components/dropdown/useDropdownPosition.d.ts +0 -18
  692. package/dist/components/dropdown/useDropdownPosition.d.ts.map +0 -1
  693. package/dist/components/empty-page/EmptyPage.d.ts.map +0 -1
  694. package/dist/components/example-frame/ExampleFrame.d.ts.map +0 -1
  695. package/dist/components/file-upload/FileUpload.d.ts.map +0 -1
  696. package/dist/components/hint/Hint.d.ts.map +0 -1
  697. package/dist/components/index.css +0 -11181
  698. package/dist/components/index.css.map +0 -7
  699. package/dist/components/index.d.ts.map +0 -1
  700. package/dist/components/index.js +0 -13833
  701. package/dist/components/index.js.map +0 -7
  702. package/dist/components/input/Input.d.ts.map +0 -1
  703. package/dist/components/kbd/Kbd.d.ts.map +0 -1
  704. package/dist/components/label/Label.d.ts.map +0 -1
  705. package/dist/components/link-button/LinkButton.d.ts.map +0 -1
  706. package/dist/components/modal/DialogParts.d.ts.map +0 -1
  707. package/dist/components/modal/Modal.d.ts.map +0 -1
  708. package/dist/components/modal/useInertSiblings.d.ts +0 -7
  709. package/dist/components/modal/useInertSiblings.d.ts.map +0 -1
  710. package/dist/components/notification/Notification.d.ts.map +0 -1
  711. package/dist/components/notification/NotificationStore.d.ts.map +0 -1
  712. package/dist/components/page-content/PageContent.d.ts.map +0 -1
  713. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  714. package/dist/components/popover/Popover.d.ts.map +0 -1
  715. package/dist/components/popover/popoverGeometry.d.ts +0 -6
  716. package/dist/components/popover/popoverGeometry.d.ts.map +0 -1
  717. package/dist/components/popover/usePopoverPosition.d.ts +0 -18
  718. package/dist/components/popover/usePopoverPosition.d.ts.map +0 -1
  719. package/dist/components/progress-bar/ProgressBar.d.ts.map +0 -1
  720. package/dist/components/progress-circle/ProgressCircle.d.ts.map +0 -1
  721. package/dist/components/radio/Radio.d.ts.map +0 -1
  722. package/dist/components/scroll-container/ScrollContainer.d.ts.map +0 -1
  723. package/dist/components/segmented-control/SegmentedControl.d.ts.map +0 -1
  724. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +0 -29
  725. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts.map +0 -1
  726. package/dist/components/select/Select.d.ts.map +0 -1
  727. package/dist/components/select/selectIcons.d.ts +0 -15
  728. package/dist/components/select/selectIcons.d.ts.map +0 -1
  729. package/dist/components/select/selectListbox.d.ts +0 -13
  730. package/dist/components/select/selectListbox.d.ts.map +0 -1
  731. package/dist/components/slider/Slider.d.ts.map +0 -1
  732. package/dist/components/stepper/Stepper.d.ts.map +0 -1
  733. package/dist/components/switch/Switch.d.ts.map +0 -1
  734. package/dist/components/tabs/Tabs.d.ts.map +0 -1
  735. package/dist/components/tag/Tag.d.ts +0 -47
  736. package/dist/components/tag/Tag.d.ts.map +0 -1
  737. package/dist/components/tag-select/TagSelect.d.ts.map +0 -1
  738. package/dist/components/textarea/Textarea.d.ts.map +0 -1
  739. package/dist/components/timeline/Timeline.d.ts.map +0 -1
  740. package/dist/components/tooltip/Tooltip.d.ts.map +0 -1
  741. package/dist/components/typography/Typography.d.ts.map +0 -1
  742. package/dist/hooks/useControllableState.d.ts.map +0 -1
  743. package/dist/hooks/useEscapeKey.d.ts +0 -7
  744. package/dist/hooks/useEscapeKey.d.ts.map +0 -1
  745. package/dist/hooks/useFieldIds.d.ts +0 -17
  746. package/dist/hooks/useFieldIds.d.ts.map +0 -1
  747. package/dist/hooks/useFocusTrap.d.ts +0 -20
  748. package/dist/hooks/useFocusTrap.d.ts.map +0 -1
  749. package/dist/hooks/useMergedRefs.d.ts.map +0 -1
  750. package/dist/hooks/useModalKeyboard.d.ts +0 -14
  751. package/dist/hooks/useModalKeyboard.d.ts.map +0 -1
  752. package/dist/hooks/useOutsideClick.d.ts +0 -26
  753. package/dist/hooks/useOutsideClick.d.ts.map +0 -1
  754. package/dist/hooks/useOverlayModal.d.ts +0 -7
  755. package/dist/hooks/useOverlayModal.d.ts.map +0 -1
  756. package/dist/hooks/usePosition.d.ts.map +0 -1
  757. package/dist/hooks/usePresence.d.ts.map +0 -1
  758. package/dist/hooks/useResponsiveMonths.d.ts +0 -18
  759. package/dist/hooks/useResponsiveMonths.d.ts.map +0 -1
  760. package/dist/hooks/useScrollLock.d.ts.map +0 -1
  761. package/dist/icons/Icon.d.ts.map +0 -1
  762. package/dist/icons/index.d.ts.map +0 -1
  763. package/dist/index.css.map +0 -7
  764. package/dist/index.d.ts.map +0 -1
  765. package/dist/index.js.map +0 -7
  766. package/dist/internal/ControlSizeContext.d.ts.map +0 -1
  767. package/dist/internal/DividerContentContext.d.ts +0 -4
  768. package/dist/internal/DividerContentContext.d.ts.map +0 -1
  769. package/dist/internal/FieldFrame.d.ts.map +0 -1
  770. package/dist/internal/OverlayPortalLayerContext.d.ts +0 -13
  771. package/dist/internal/OverlayPortalLayerContext.d.ts.map +0 -1
  772. package/dist/internal/Portal.d.ts.map +0 -1
  773. package/dist/internal/context.d.ts.map +0 -1
  774. package/dist/internal/cx.d.ts.map +0 -1
  775. package/dist/internal/data-attributes.d.ts.map +0 -1
  776. package/dist/internal/highlightTsxHtml.d.ts.map +0 -1
  777. package/dist/internal/layoutPxFromPrimitives.d.ts.map +0 -1
  778. package/dist/internal/mergeRefs.d.ts.map +0 -1
  779. package/dist/internal/runtimeUnits.d.ts +0 -3
  780. package/dist/internal/runtimeUnits.d.ts.map +0 -1
  781. package/dist/internal/scrollAncestors.d.ts.map +0 -1
  782. package/dist/internal/slot.d.ts.map +0 -1
  783. package/dist/internal/states.d.ts.map +0 -1
  784. package/dist/internal/useFieldDescriptions.d.ts +0 -18
  785. package/dist/internal/useFieldDescriptions.d.ts.map +0 -1
  786. package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
  787. package/dist/layout/index.d.ts.map +0 -1
  788. package/dist/layout/sidebar/Sidebar.d.ts.map +0 -1
  789. package/dist/theme/applyTheme.d.ts.map +0 -1
  790. package/dist/tokens/primitives.d.ts.map +0 -1
  791. package/dist/tokens/semantic.d.ts.map +0 -1
  792. package/dist/tokens/themes/dark.d.ts.map +0 -1
  793. package/dist/tokens/themes/light.d.ts +0 -3
  794. package/dist/tokens/themes/light.d.ts.map +0 -1
  795. package/src/components/accordion/examples/checkout.tsx +0 -73
  796. package/src/components/accordion/examples/layouts.tsx +0 -58
  797. package/src/components/avatar/examples/colors.tsx +0 -29
  798. package/src/components/avatar/examples/group.tsx +0 -35
  799. package/src/components/avatar/examples/team-card.tsx +0 -70
  800. package/src/components/badge/examples/icons.tsx +0 -37
  801. package/src/components/badge/examples/order-list.tsx +0 -48
  802. package/src/components/badge/examples/palette.tsx +0 -44
  803. package/src/components/badge/examples/surfaces.tsx +0 -21
  804. package/src/components/banner/examples/dismiss.tsx +0 -48
  805. package/src/components/banner/examples/placement.tsx +0 -92
  806. package/src/components/breadcrumb/examples/collapse.tsx +0 -56
  807. package/src/components/breadcrumb/examples/page-header.tsx +0 -31
  808. package/src/components/button/examples/composition.tsx +0 -46
  809. package/src/components/button/examples/controlled.tsx +0 -18
  810. package/src/components/button/examples/full-width.tsx +0 -15
  811. package/src/components/button/examples/icon-only.tsx +0 -42
  812. package/src/components/button/examples/surfaces.tsx +0 -18
  813. package/src/components/button/examples/variants-tones.tsx +0 -39
  814. package/src/components/button-group/examples/composition.tsx +0 -99
  815. package/src/components/card/examples/mini-media.tsx +0 -55
  816. package/src/components/card/examples/responsive.tsx +0 -72
  817. package/src/components/checkbox/examples/hint-error.tsx +0 -22
  818. package/src/components/checkbox/examples/select-all.tsx +0 -40
  819. package/src/components/checkbox/examples/settings-card.tsx +0 -76
  820. package/src/components/code-block/examples/api-docs.tsx +0 -31
  821. package/src/components/code-block/examples/controlled.tsx +0 -38
  822. package/src/components/code-block/examples/surfaces.tsx +0 -7
  823. package/src/components/color-picker/examples/brand-color.tsx +0 -73
  824. package/src/components/color-picker/examples/hex-input-sizes.tsx +0 -54
  825. package/src/components/color-picker/examples/presets-quick.tsx +0 -57
  826. package/src/components/color-picker/examples/presets-tags.tsx +0 -52
  827. package/src/components/command-menu/examples/composition.tsx +0 -91
  828. package/src/components/command-menu/examples/examples.module.css +0 -9
  829. package/src/components/command-menu/examples/keyboard-search.tsx +0 -94
  830. package/src/components/data-table/examples/dashboard.tsx +0 -205
  831. package/src/components/data-table/examples/sorting-pagination.tsx +0 -66
  832. package/src/components/datepicker/examples/badge.tsx +0 -19
  833. package/src/components/datepicker/examples/single.tsx +0 -16
  834. package/src/components/digit-input/examples/length-and-complete.tsx +0 -30
  835. package/src/components/digit-input/examples/surfaces.tsx +0 -6
  836. package/src/components/digit-input/examples/verification-step.tsx +0 -62
  837. package/src/components/divider/examples/composition.tsx +0 -49
  838. package/src/components/divider/examples/variants.tsx +0 -62
  839. package/src/components/drawer/examples/composition.tsx +0 -94
  840. package/src/components/drawer/examples/controlled.tsx +0 -42
  841. package/src/components/drawer/examples/features.tsx +0 -48
  842. package/src/components/drawer/examples/states.tsx +0 -54
  843. package/src/components/dropdown/examples/as-child.tsx +0 -23
  844. package/src/components/dropdown/examples/composition.tsx +0 -91
  845. package/src/components/dropdown/examples/controlled.tsx +0 -32
  846. package/src/components/dropdown/examples/row-actions.tsx +0 -56
  847. package/src/components/dropdown/examples/variants.tsx +0 -52
  848. package/src/components/example-frame/examples/basic.tsx +0 -18
  849. package/src/components/file-upload/examples/file-list.tsx +0 -67
  850. package/src/components/file-upload/examples/in-card.tsx +0 -84
  851. package/src/components/hint/examples/field-states.tsx +0 -60
  852. package/src/components/hint/examples/in-form.tsx +0 -45
  853. package/src/components/input/examples/anatomy.tsx +0 -70
  854. package/src/components/input/examples/control-alignment.tsx +0 -57
  855. package/src/components/input/examples/full-width.tsx +0 -23
  856. package/src/components/input/examples/icons-and-affixes.tsx +0 -32
  857. package/src/components/input/examples/reserved-support-row.tsx +0 -33
  858. package/src/components/input/examples/surfaces.tsx +0 -12
  859. package/src/components/input/examples/with-badge.tsx +0 -40
  860. package/src/components/kbd/examples/modifier-keys.tsx +0 -24
  861. package/src/components/label/examples/in-form.tsx +0 -39
  862. package/src/components/label/examples/markers.tsx +0 -27
  863. package/src/components/link-button/examples/composition.tsx +0 -30
  864. package/src/components/link-button/examples/examples.module.css +0 -46
  865. package/src/components/link-button/examples/tones.tsx +0 -15
  866. package/src/components/modal/examples/composition.tsx +0 -87
  867. package/src/components/modal/examples/features.tsx +0 -68
  868. package/src/components/modal/examples/link.tsx +0 -79
  869. package/src/components/modal/examples/states.tsx +0 -73
  870. package/src/components/notification/examples/features.tsx +0 -42
  871. package/src/components/notification/examples/live.tsx +0 -128
  872. package/src/components/notification/examples/save-form.tsx +0 -59
  873. package/src/components/page-content/examples/readable.tsx +0 -24
  874. package/src/components/page-content/examples/settings-page.tsx +0 -49
  875. package/src/components/page-content/examples/widths.tsx +0 -39
  876. package/src/components/pagination/examples/compact.tsx +0 -36
  877. package/src/components/pagination/examples/list-footer.tsx +0 -50
  878. package/src/components/pagination/examples/states.tsx +0 -44
  879. package/src/components/popover/examples/as-child.tsx +0 -29
  880. package/src/components/popover/examples/composition.tsx +0 -45
  881. package/src/components/popover/examples/controlled.tsx +0 -39
  882. package/src/components/popover/examples/features.tsx +0 -56
  883. package/src/components/popover/examples/inset-variants.tsx +0 -58
  884. package/src/components/popover/examples/states.tsx +0 -48
  885. package/src/components/progress-bar/examples/file-upload.tsx +0 -52
  886. package/src/components/progress-bar/examples/values-and-tones.tsx +0 -17
  887. package/src/components/progress-circle/examples/goals-card.tsx +0 -37
  888. package/src/components/progress-circle/examples/values-and-tones.tsx +0 -56
  889. package/src/components/radio/examples/examples.module.css +0 -43
  890. package/src/components/radio/examples/hint-error.tsx +0 -28
  891. package/src/components/radio/examples/horizontal.tsx +0 -33
  892. package/src/components/radio/examples/plan-picker.tsx +0 -55
  893. package/src/components/scroll-container/examples/both-axes.tsx +0 -57
  894. package/src/components/scroll-container/examples/list.tsx +0 -44
  895. package/src/components/segmented-control/examples/item-content.tsx +0 -78
  896. package/src/components/segmented-control/examples/surfaces.tsx +0 -82
  897. package/src/components/segmented-control/examples/toolbar.tsx +0 -56
  898. package/src/components/segmented-progress-bar/COMPONENT.md +0 -128
  899. package/src/components/segmented-progress-bar/examples/examples.module.css +0 -68
  900. package/src/components/segmented-progress-bar/examples/segment-gap.tsx +0 -24
  901. package/src/components/segmented-progress-bar/examples/sizes.tsx +0 -31
  902. package/src/components/segmented-progress-bar/examples/storage-distribution.tsx +0 -41
  903. package/src/components/select/examples/native.tsx +0 -21
  904. package/src/components/select/examples/search-groups.tsx +0 -61
  905. package/src/components/select/examples/with-badge.tsx +0 -47
  906. package/src/components/slider/examples/basic.tsx +0 -6
  907. package/src/components/slider/examples/display-settings.tsx +0 -41
  908. package/src/components/stepper/examples/wizard.tsx +0 -62
  909. package/src/components/switch/examples/notification-settings.tsx +0 -37
  910. package/src/components/switch/examples/on-off.tsx +0 -15
  911. package/src/components/switch/examples/validation.tsx +0 -19
  912. package/src/components/tabs/examples/horizontal.tsx +0 -30
  913. package/src/components/tabs/examples/vertical.tsx +0 -101
  914. package/src/components/tag/COMPONENT.md +0 -179
  915. package/src/components/tag/examples/colors.tsx +0 -49
  916. package/src/components/tag/examples/examples.module.css +0 -47
  917. package/src/components/tag/examples/sizes.tsx +0 -23
  918. package/src/components/tag/examples/states.tsx +0 -19
  919. package/src/components/tag/examples/surfaces.tsx +0 -16
  920. package/src/components/tag/examples/with-icon.tsx +0 -29
  921. package/src/components/textarea/examples/height-and-limits.tsx +0 -45
  922. package/src/components/textarea/examples/hint-and-error.tsx +0 -21
  923. package/src/components/textarea/examples/reserved-support-row.tsx +0 -37
  924. package/src/components/textarea/examples/surfaces.tsx +0 -11
  925. package/src/components/textarea/examples/with-label.tsx +0 -22
  926. package/src/components/timeline/examples/hover-highlight.tsx +0 -48
  927. package/src/components/timeline/examples/in-card.tsx +0 -48
  928. package/src/components/timeline/examples/selectable.tsx +0 -58
  929. package/src/components/tooltip/examples/composition.tsx +0 -37
  930. package/src/components/tooltip/examples/side.tsx +0 -29
  931. package/src/components/tooltip/examples/states.tsx +0 -45
  932. package/src/components/typography/examples/as-prop.tsx +0 -25
  933. package/src/components/typography/examples/composition.tsx +0 -23
  934. package/src/components/typography/examples/full-width.tsx +0 -29
  935. package/src/components/typography/examples/reading-and-form.tsx +0 -35
  936. package/src/components/typography/examples/states.tsx +0 -23
  937. package/src/components/typography/examples/tones.tsx +0 -34
  938. package/src/components/typography/examples/variant-catalog.tsx +0 -41
  939. package/src/layout/app-shell/examples/with-sidebar.tsx +0 -63
  940. package/src/layout/sidebar/examples/modes.tsx +0 -55
  941. package/src/layout/sidebar/examples/responsive.tsx +0 -44
  942. package/src/layout/sidebar/examples/states.tsx +0 -34
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ /** The box a floating layer is placed against (viewport px). */
3
+ export type AnchorRect = Pick<DOMRectReadOnly, "top" | "left" | "right" | "bottom" | "width" | "height">;
4
+ /**
5
+ * Maps an anchor's border box to the part of it that is actually visible. A layout whose rows are
6
+ * wider than what it shows (the compact Sidebar rail keeps full-width rows and clips them to the
7
+ * icon box) provides one, so tooltips, flyouts and menus of those rows anchor to what the user sees.
8
+ */
9
+ export type AnchorRectResolver = (anchor: HTMLElement, rect: AnchorRect) => AnchorRect;
10
+ export declare const AnchorRectProvider: React.Provider<AnchorRectResolver | null>;
11
+ /** The resolver of the nearest layout that narrows its anchors, or `null`. Read by `usePosition`. */
12
+ export declare function useAnchorRectResolver(): AnchorRectResolver | null;
@@ -0,0 +1,34 @@
1
+ import type * as React from "react";
2
+ import type { FieldIds } from "@/internal/FieldFrame";
3
+ import type { ControlSize, DataState } from "@/internal/states";
4
+ /** Class of the visually hidden native input that sits on top of the visual control. */
5
+ export declare const choiceInputClass: string;
6
+ /**
7
+ * Class of the visual control (box, circle, track): fill, hover, press, checked, focus ring,
8
+ * invalid and disabled come from the field state. A host tunes the fills with `--choice-bg*`.
9
+ * Outside a field (`Checkbox.Indicator`) the element's own `data-state` / `data-disabled` drive it.
10
+ */
11
+ export declare const choiceVisualClass: string;
12
+ /** `--prime-choice-size` / gap / text of the tier in `data-size` on the same element. */
13
+ export declare const choiceTierClass: string;
14
+ type ChoiceFieldProps = {
15
+ ids: FieldIds;
16
+ size: ControlSize;
17
+ state: Extract<DataState, "checked" | "unchecked" | "indeterminate">;
18
+ disabled: boolean;
19
+ /** The state is shown but does not change: no hover or press. */
20
+ readOnly?: boolean;
21
+ hint?: React.ReactNode;
22
+ error?: React.ReactNode;
23
+ /** The native input (with `choiceInputClass`) followed by its aria-hidden visual. */
24
+ control: React.ReactNode;
25
+ className?: string;
26
+ children?: React.ReactNode;
27
+ };
28
+ export declare function ChoiceField({ ids, size, state, disabled, readOnly, hint, error, control, className, children, }: ChoiceFieldProps): import("react/jsx-runtime").JSX.Element;
29
+ export type ChoiceLabelProps = React.HTMLAttributes<HTMLSpanElement> & {
30
+ ref?: React.Ref<HTMLSpanElement>;
31
+ };
32
+ /** The visible text of a choice; it sits in the text column of the label row. */
33
+ export declare function ChoiceLabel({ className, ...rest }: ChoiceLabelProps): import("react/jsx-runtime").JSX.Element;
34
+ export {};
@@ -8,6 +8,10 @@ export declare function ControlSizeProvider({ value, children }: ControlSizeProv
8
8
  export declare namespace ControlSizeProvider {
9
9
  var displayName: string;
10
10
  }
11
- /** Для `Icon`: если `size` не передан явно, берётся из ближайшего контрола. */
11
+ /** The tier of the nearest control, for parts and leaves whose `size` is not set explicitly. */
12
12
  export declare function useOptionalControlSize(): ControlSize | undefined;
13
- //# sourceMappingURL=ControlSizeContext.d.ts.map
13
+ /**
14
+ * Tier of a field or control: its own `size`, else the tier of its host (a form, a panel, a
15
+ * popover, a table), else `m`.
16
+ */
17
+ export declare function useControlSize(sizeProp: ControlSize | undefined): ControlSize;
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import type { ControlSize } from "@/internal/states";
3
- /** Field props shared by Select, TagSelect and Datepicker (the same contract as `Input.Root`). */
3
+ /** Field props shared by every framed field (the same contract as `Input.Root`). */
4
4
  export type FieldFrameProps = {
5
5
  label?: React.ReactNode;
6
6
  /** Red `*` after the label; the control gets native `required` / `aria-required`. */
@@ -17,7 +17,16 @@ export type FieldFrameProps = {
17
17
  */
18
18
  focusRing?: boolean;
19
19
  };
20
- export declare function hasFieldError(error: React.ReactNode): boolean;
20
+ /**
21
+ * Native attributes and `ref` of a framed field's root. One rule for every field root:
22
+ * `className`, `ref` and the rest land on the frame `<div>`, `id` on the control (the value props
23
+ * belong to the field). Leaf fields whose root wraps a native control and has no `Field` part
24
+ * (Textarea, Checkbox, Switch, Radio) keep `className` on the frame and send `ref` and the native
25
+ * attributes to that control instead.
26
+ */
27
+ export type FieldRootDomProps = Omit<React.HTMLAttributes<HTMLDivElement>, "id" | "children" | "defaultValue" | "defaultChecked" | "onChange"> & {
28
+ ref?: React.Ref<HTMLDivElement>;
29
+ };
21
30
  export type FieldIds = {
22
31
  controlId: string;
23
32
  /** Id of the label element (rendered only when `label` is set). */
@@ -26,23 +35,53 @@ export type FieldIds = {
26
35
  errorId: string;
27
36
  /** `aria-describedby` of the control: caller ids + hint or error. */
28
37
  describedBy: string | undefined;
38
+ /** `aria-labelledby` for a group control: the label id when a label renders, else `undefined`. */
39
+ labelledBy: string | undefined;
40
+ showHint: boolean;
41
+ showError: boolean;
29
42
  invalid: boolean;
30
43
  };
31
- /** Ids and validation state of a framed field. */
32
- export declare function useFieldFrame(explicitId: string | undefined, { hint, error, invalid }: {
44
+ /** Ids, visible slots and validation state of a framed field. */
45
+ export declare function useFieldFrame(explicitId: string | undefined, { label, hint, error, invalid, }: {
46
+ label?: React.ReactNode;
33
47
  hint?: React.ReactNode;
34
48
  error?: React.ReactNode;
35
49
  invalid?: boolean;
36
50
  }, ariaDescribedBy?: string): FieldIds;
37
- type FieldFrameRenderProps = FieldFrameProps & {
51
+ type FieldFrameRenderProps = Omit<FieldFrameProps, "focusRing"> & {
38
52
  size: ControlSize;
39
53
  ids: FieldIds;
40
54
  disabled?: boolean;
41
55
  optionalLabel: string;
56
+ /**
57
+ * The control is a group (radiogroup, fieldset), not a labelable element: the label gets no
58
+ * `htmlFor`; the group names itself with `aria-labelledby={ids.labelId}`.
59
+ */
60
+ group?: boolean;
61
+ /** Right side of the label row (Slider's current value); the row renders even without a label. */
62
+ labelEnd?: React.ReactNode;
63
+ /** Right side of the support row (a character counter, `FieldCounter`). */
64
+ counter?: React.ReactNode;
65
+ /** Always render the support row so an appearing error does not shift the layout. */
66
+ reserveSupportRow?: boolean;
42
67
  className?: string;
43
68
  children: React.ReactNode;
69
+ /** The outer `<div>`: the host part's ref and native attributes land here. */
70
+ ref?: React.Ref<HTMLDivElement>;
71
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "className">;
72
+ /**
73
+ * Label row · control · support row (hint | error on the left, an optional counter on the right),
74
+ * spaced by the tier's `label-gap` / `hint-gap`.
75
+ */
76
+ export declare function FieldFrame({ size, ids, label, required, optional, hint, error, disabled, optionalLabel, group, labelEnd, counter, reserveSupportRow, className, children, ...rest }: FieldFrameRenderProps): import("react/jsx-runtime").JSX.Element;
77
+ type FieldCounterProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
78
+ current: number;
79
+ max: number;
80
+ size: ControlSize;
81
+ /** Spoken text, a `{current}` / `{max}` template. */
82
+ label: string;
83
+ ref?: React.Ref<HTMLSpanElement>;
44
84
  };
45
- /** Label row · control · support row (hint or error), spaced by the tier's `label-gap` / `hint-gap`. */
46
- export declare function FieldFrame({ size, ids, label, required, optional, hint, error, disabled, optionalLabel, className, children, }: FieldFrameRenderProps): import("react/jsx-runtime").JSX.Element;
85
+ /** `14/40` for the eye, `labels.counter` for screen readers; danger when `current > max`. */
86
+ export declare function FieldCounter({ current, max, size, label, className, ...rest }: FieldCounterProps): import("react/jsx-runtime").JSX.Element;
47
87
  export {};
48
- //# sourceMappingURL=FieldFrame.d.ts.map
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ /** Index of the first case-insensitive occurrence of `query` in `text`; -1 for an empty query. */
3
+ export declare function matchIndex(text: string, query: string): number;
4
+ /**
5
+ * `text` with its first match of `query` marked in accent; plain text when nothing matches.
6
+ * The pieces share one span, so a flex row with a `gap` (a menu item) keeps the word whole.
7
+ */
8
+ export declare function HighlightMatch({ text, query }: {
9
+ text: string;
10
+ query: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ /** Marks the match in every string / number child; elements pass through untouched. */
13
+ export declare function highlightChildren(children: React.ReactNode, query: string): React.ReactNode;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export type MenuGroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "role"> & {
3
+ /** Visible heading of the group; names it for screen readers. */
4
+ label?: React.ReactNode;
5
+ ref?: React.Ref<HTMLDivElement>;
6
+ };
7
+ /** A labelled `role="group"` of rows: Dropdown, Select and CommandMenu groups. */
8
+ export declare function MenuGroup({ label, className, children, ...rest }: MenuGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -5,4 +5,3 @@ type PortalProps = {
5
5
  };
6
6
  export declare function Portal({ children, container }: PortalProps): React.ReactPortal | null;
7
7
  export {};
8
- //# sourceMappingURL=Portal.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type * as React from "react";
2
+ export type VisuallyHiddenProps = React.HTMLAttributes<HTMLSpanElement> & {
3
+ ref?: React.Ref<HTMLSpanElement>;
4
+ };
5
+ /** The sr-only recipe as a class, for an element that must stay itself (a focusable file input). */
6
+ export declare const visuallyHiddenClass: string;
7
+ /**
8
+ * Text for screen readers only: spoken counters, live-region messages, names of icon-only parts.
9
+ * Replaces the per-component `.srOnly` / `.visuallyHidden` CSS copies.
10
+ */
11
+ export declare function VisuallyHidden({ className, ...rest }: VisuallyHiddenProps): import("react/jsx-runtime").JSX.Element;
@@ -8,4 +8,3 @@ import * as React from "react";
8
8
  * const [InputProvider, useInputContext] = createComponentContext<InputContextValue>("Input");
9
9
  */
10
10
  export declare function createComponentContext<T>(displayName: string): readonly [React.Provider<T | null>, () => T];
11
- //# sourceMappingURL=context.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function cx(...classNames: Array<string | false | null | undefined>): string;
2
- //# sourceMappingURL=cx.d.ts.map
@@ -3,4 +3,3 @@ type DataAttributesInput = Record<string, DataPrimitive>;
3
3
  type DataAttributesOutput = Record<string, string | undefined>;
4
4
  export declare function toDataAttributes(input: DataAttributesInput): DataAttributesOutput;
5
5
  export {};
6
- //# sourceMappingURL=data-attributes.d.ts.map
@@ -0,0 +1,9 @@
1
+ /** Fill, hover, focus fill + ring, invalid and disabled of a field box (`fieldSurface.module.css`). */
2
+ export declare const fieldSurfaceClass: string;
3
+ /** `--field-*` tier variables, resolved from `data-size` on the same element (`fieldTier.module.css`). */
4
+ export declare const fieldTierClass: string;
5
+ /**
6
+ * Tier + surface + trigger layout of a button-shaped field (`fieldTrigger.module.css`). Classes are
7
+ * joined here, in TSX, never by a cross-file CSS `composes` (the bundler cannot order those).
8
+ */
9
+ export declare const fieldTriggerClass: string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Fills a `{token}` label template (`"{current} из {max} символов"`): every `{name}` takes its
3
+ * value from `values`, every occurrence; a missing or `undefined` value becomes empty and the
4
+ * result is trimmed (`"Выбрать строку {label}"` without a label reads "Выбрать строку").
5
+ */
6
+ export declare function formatLabel(template: string, values: Readonly<Record<string, string | number | undefined>>): string;
@@ -1,3 +1,2 @@
1
- /** Примитивная подсветка TS/TSX для плейграунда: комментарии, строки, числа, ключевые слова, JSX-теги. */
1
+ /** Minimal TS/TSX highlighting for the playground: comments, strings, numbers, keywords, JSX tags. */
2
2
  export declare function highlightTsxHtml(source: string): string;
3
- //# sourceMappingURL=highlightTsxHtml.d.ts.map
@@ -0,0 +1,9 @@
1
+ import styles from "./iconBox.module.css";
2
+ import type { ControlSize } from "./states";
3
+ /**
4
+ * Class names of the shared icon box (Icon, Spinner). An explicit `size` takes the global icon
5
+ * scale; without it the box follows the host's `--prime-icon-size`, else `tier` (the nearest
6
+ * `ControlSizeProvider`), else `m`.
7
+ */
8
+ export declare function iconBoxClass(size: ControlSize | undefined, tier: ControlSize | undefined): string;
9
+ export { styles as iconBoxStyles };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ export type IconLayout = {
3
+ /** Only icons: a square control without side padding. */
4
+ iconOnly: boolean;
5
+ /** An icon first, then text: the start side takes the optical padding. */
6
+ leadingIcon: boolean;
7
+ /** Text, then an icon last: the end side takes the optical padding. */
8
+ trailingIcon: boolean;
9
+ };
10
+ /**
11
+ * Where the icons sit among the direct children of a button-like control (Button,
12
+ * ButtonGroup.Item): drives optical padding (icon side = padX − 4px), the square icon-only shape
13
+ * and where a loading spinner goes. `iconType` is the control's own Icon part.
14
+ */
15
+ export declare function iconLayout(children: React.ReactNode, iconType: React.ElementType): IconLayout;
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import { type ImageStatus } from "@/hooks/useImageStatus";
3
+ export type ImageSlotImageProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" | "alt"> & {
4
+ src: string;
5
+ /** Empty (default) when the text next to it already names the subject. */
6
+ alt?: string;
7
+ ref?: React.Ref<HTMLImageElement>;
8
+ };
9
+ export type ImageSlotFallbackProps = React.HTMLAttributes<HTMLSpanElement> & {
10
+ ref?: React.Ref<HTMLSpanElement>;
11
+ };
12
+ /**
13
+ * Image-with-fallback mechanics shared by Avatar and Thumbnail: the root provides the load status,
14
+ * `Image` reports it (`data-status`: loading → loaded | error), `Fallback` shows through while the
15
+ * image loads or after it fails and is hidden from assistive tech once the image has loaded.
16
+ */
17
+ export declare function createImageSlot(name: string, classNames: {
18
+ image: string;
19
+ fallback: string;
20
+ }): {
21
+ /** Wraps the root's children; holds the status. */
22
+ ImageSlotProvider: (props: {
23
+ children: React.ReactNode;
24
+ }) => React.ReactElement;
25
+ /** Throws outside the root (for other parts that must sit inside it). */
26
+ useImageSlot: () => ImageStatus;
27
+ Image: (props: ImageSlotImageProps) => React.ReactElement;
28
+ Fallback: (props: ImageSlotFallbackProps) => React.ReactElement;
29
+ };
@@ -1,7 +1,6 @@
1
1
  /**
2
- * Текущий вычисленный `font-size` корня (`html`) в px — для перевода rem из примитивов
3
- * в пиксели floating UI / SVG без жёсткой привязки к 16.
2
+ * The computed root (`html`) `font-size` in px: converts rem primitives to pixels for floating UI
3
+ * and SVG without assuming 16.
4
4
  */
5
5
  export declare function getRootFontSizePx(): number;
6
6
  export declare function remToPx(rem: string, rootPx?: number): number;
7
- //# sourceMappingURL=layoutPxFromPrimitives.d.ts.map
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+ /**
3
+ * Listboxes with a virtual highlight (`aria-activedescendant`), shared by Select, TagSelect and
4
+ * CommandMenu. Options carry `data-value` and `data-label`; disabled ones `data-disabled="true"`.
5
+ */
6
+ /** `id` of an option for `aria-activedescendant` (no spaces: a valid id). */
7
+ export declare const optionDomId: (listboxId: string, value: string) => string;
8
+ /** Enabled options of a listbox, in DOM order. */
9
+ export declare function enabledOptions(container: HTMLElement | null): HTMLElement[];
10
+ export type Store<T> = {
11
+ get: () => T;
12
+ set: (next: T) => void;
13
+ subscribe: (listener: () => void) => () => void;
14
+ };
15
+ export declare function createStore<T>(initial: T): Store<T>;
16
+ /** One store per component instance. */
17
+ export declare function useCreateStore<T>(initial: T): Store<T>;
18
+ /**
19
+ * Reads a slice of a store; re-renders only when the slice changes. An option subscribes to
20
+ * `highlighted === value`, so moving the highlight re-renders two options, not the whole list.
21
+ */
22
+ export declare function useStoreSlice<T, S>(store: Store<T>, select: (value: T) => S): S;
23
+ export type ListboxKeyContext = {
24
+ items: HTMLElement[];
25
+ highlight: Store<string | undefined>;
26
+ onSelect: (value: string, label: string) => void;
27
+ };
28
+ /**
29
+ * Arrows, Home and End move the highlight (wrapping); Enter and Space pick it. Escape is the layer
30
+ * stack's (it closes the panel).
31
+ */
32
+ export declare function handleListboxKeyDown(event: React.KeyboardEvent<HTMLElement>, { items, highlight, onSelect }: ListboxKeyContext): void;
33
+ /**
34
+ * Typeahead by option label: the typed prefix finds the next match; the same letter repeated
35
+ * cycles through the options that start with it. Returns the match to highlight.
36
+ */
37
+ export declare function useTypeahead(): {
38
+ find: (key: string, items: HTMLElement[], highlighted: string | undefined) => HTMLElement | undefined;
39
+ isTyping: () => boolean;
40
+ };
@@ -1,4 +1,6 @@
1
1
  import type * as React from "react";
2
- /** Composes multiple refs (callback or object) into one callback — same idea as Radix `composeRefs`. */
2
+ /**
3
+ * Composes refs (callback or object) into one callback. Internal helper of `useMergedRefs` and
4
+ * `Slot`; components call `useMergedRefs`, which keeps the callback stable between renders.
5
+ */
3
6
  export declare function mergeRefs<T>(...refs: Array<React.Ref<T> | undefined>): React.RefCallback<T>;
4
- //# sourceMappingURL=mergeRefs.d.ts.map
@@ -0,0 +1,34 @@
1
+ import type * as React from "react";
2
+ import type { ControlSize } from "@/internal/states";
3
+ import type { FloatingLayer } from "./useFloatingLayer";
4
+ export type FloatingPanelProps = Omit<React.HTMLAttributes<HTMLElement>, "onAnimationEnd"> & {
5
+ floating: FloatingLayer;
6
+ /** Tier of the panel (`data-size`) and of the controls inside. */
7
+ size: ControlSize;
8
+ /** The panel scrolls (a ScrollContainer) instead of a plain `<div>`. */
9
+ scroll?: boolean;
10
+ /** The raised floating surface (radius, shadow, fill). Default `true`. */
11
+ surface?: boolean;
12
+ ref?: React.Ref<HTMLElement>;
13
+ };
14
+ /**
15
+ * The panel of a floating layer: portaled to `<body>` when it opens (so it stacks above every
16
+ * layer opened before it, on the one overlay z-index), positioned, animated from `data-state` /
17
+ * `data-side` (foundation §8), a size context for the controls inside, and a layer context so
18
+ * layers opened inside stack above it in the layer stack. Renders nothing while closed.
19
+ */
20
+ export declare function FloatingPanel({ floating, size, scroll, surface, className, onKeyDown, children, ref, ...rest }: FloatingPanelProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export type FloatingTriggerProps = {
22
+ /** Props of the layer for its trigger: `ref`, ARIA, handlers, `data-state`. */
23
+ triggerProps: Record<string, unknown> & {
24
+ ref?: React.Ref<HTMLElement>;
25
+ };
26
+ children: React.ReactElement;
27
+ } & Record<string, unknown>;
28
+ /**
29
+ * The trigger of a floating layer: merges the layer's `triggerProps` onto the single child, and
30
+ * forwards every other prop it receives (handlers, ARIA, `ref`) the same way, so a trigger wrapped
31
+ * by another trigger (`Tooltip.Trigger` around `Dropdown.Trigger`) keeps both. Handlers chain,
32
+ * `aria-describedby` ids join, the child's own props win.
33
+ */
34
+ export declare function FloatingTrigger({ triggerProps, children, ...forwarded }: FloatingTriggerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ /** Tab stops inside `container`, in DOM order (hidden and `aria-hidden` ones skipped). */
2
+ export declare function getFocusable(container: HTMLElement): HTMLElement[];
3
+ /**
4
+ * Moves focus into a layer that just opened, unless focus is already inside (a child `autoFocus`):
5
+ * `[data-autofocus]`, else the first tab stop, else the container itself.
6
+ */
7
+ export declare function focusInto(container: HTMLElement): void;
8
+ /** Focuses `el` when it is still in the document. */
9
+ export declare function focusBack(el: HTMLElement | null | undefined): void;
10
+ /**
11
+ * The element focused right now — read while rendering the open transition, before a child
12
+ * `autoFocus` moves focus into the new layer, so it is the opener to return to on close.
13
+ */
14
+ export declare function activeElement(): HTMLElement | null;
@@ -0,0 +1,41 @@
1
+ import * as React from "react";
2
+ /**
3
+ * The one stack of open overlay layers (foundation §8 "Overlay contract"): Modal, Drawer, the
4
+ * off-canvas Sidebar, CommandMenu, Popover, Dropdown, Select, TagSelect, Tooltip. One set of
5
+ * document listeners serves every layer and only the topmost layer reacts, so one Escape or one
6
+ * press outside closes one layer, and a press inside a nested (portaled) child layer never reaches
7
+ * its parent. The owner gets the reason and decides about focus.
8
+ */
9
+ /** Why the stack asks a layer to close. */
10
+ export type DismissReason = "escape" | "outside" | "scrim";
11
+ /**
12
+ * How a press outside the layer dismisses it.
13
+ * - `pointerdown` — floating panels: as soon as the press starts outside (reason `outside`).
14
+ * - `click` — scrim layers: the press must start and end outside, so a drag from inside the dialog
15
+ * onto the scrim never closes it (reason `scrim`).
16
+ * - `none` — the layer takes no part in presses or Tab (Tooltip); it still gets Escape first.
17
+ *
18
+ * A layer that opts out of outside dismissal (`closeOnOutsideClick={false}`) keeps `pointerdown` /
19
+ * `click` and ignores the reason, so it still blocks the layers below it.
20
+ */
21
+ export type OutsideDismiss = "pointerdown" | "click" | "none";
22
+ export type LayerEntry = {
23
+ /** The layer that rendered this one (context): it stays below its descendants. */
24
+ parent: LayerEntry | null;
25
+ /** The panel first (the trap container), then other parts that are not "outside" (the trigger). */
26
+ refs: ReadonlyArray<React.RefObject<HTMLElement | null>>;
27
+ dismiss: OutsideDismiss;
28
+ /** Tab cycles inside the panel while focus is in it, and is pulled back in from outside. */
29
+ trap: boolean;
30
+ onDismiss: (reason: DismissReason) => void;
31
+ };
32
+ /** Wrap a layer's content: layers opened inside it register as its descendants. */
33
+ export declare const LayerProvider: React.Provider<LayerEntry | null>;
34
+ export type UseLayerOptions = Omit<LayerEntry, "parent" | "trap"> & {
35
+ trap?: boolean;
36
+ };
37
+ /**
38
+ * Registers a layer in the stack while `open`. The entry keeps the latest options (no
39
+ * re-registration on a new callback). Wrap the layer's content in `<LayerProvider value={layer}>`.
40
+ */
41
+ export declare function useLayer(open: boolean, options: UseLayerOptions): LayerEntry;
@@ -0,0 +1,60 @@
1
+ import * as React from "react";
2
+ import { type PositionOptions, type PositionSide } from "@/hooks/usePosition";
3
+ import { type MotionDurationToken, type Presence } from "@/hooks/usePresence";
4
+ import { type LayerEntry } from "./layerStack";
5
+ export type UseFloatingLayerOptions = PositionOptions & {
6
+ open: boolean;
7
+ onOpenChange: (open: boolean) => void;
8
+ /** The anchor: positions the panel, is not "outside", and gets focus back on close. */
9
+ triggerRef: React.RefObject<HTMLElement | null>;
10
+ /** Escape closes the panel. Default `true`. */
11
+ closeOnEscape?: boolean;
12
+ /** A press outside the panel and its trigger closes it. Default `true`. */
13
+ closeOnOutsideClick?: boolean;
14
+ /**
15
+ * `pointerdown` (default) — a regular floating panel. `none` — a passive layer (Tooltip): no
16
+ * part in presses or Tab, no focus restore; Escape still closes it first.
17
+ */
18
+ dismiss?: "pointerdown" | "none";
19
+ /** Focus moves into the panel on open (`[data-autofocus]` → first tab stop → the panel). */
20
+ focusOnOpen?: boolean;
21
+ /** Tab cycles inside the panel. */
22
+ trap?: boolean;
23
+ /**
24
+ * Without `trap`, how Tab leaves the panel (focus goes to the trigger and the panel closes):
25
+ * `always` — any Tab (menus, listboxes); `edges` — Tab past the last / Shift+Tab before the first
26
+ * tab stop (dialog-like panels); `none` — focus never sits in the panel.
27
+ */
28
+ tabExit?: "always" | "edges" | "none";
29
+ /** Exit animation token. Default `fast`. */
30
+ exitDuration?: MotionDurationToken;
31
+ /** Unmount at once on close, skipping the exit animation (a Tooltip replaced by its neighbour). */
32
+ skipExit?: boolean;
33
+ };
34
+ export type FloatingLayer = {
35
+ open: boolean;
36
+ presence: Presence;
37
+ /** Render the panel while true. */
38
+ mounted: boolean;
39
+ /** The side after flipping. */
40
+ side: PositionSide;
41
+ /** Attach to the panel element (merged with a consumer ref). */
42
+ panelRef: React.RefCallback<HTMLElement>;
43
+ /** The panel element while mounted. */
44
+ contentRef: React.RefObject<HTMLElement | null>;
45
+ layer: LayerEntry;
46
+ /**
47
+ * Closes the panel and returns focus to the trigger when it was in the panel (Escape, a pick,
48
+ * Tab, a close button, code).
49
+ */
50
+ close: () => void;
51
+ /** Tab leaving the panel; part of the panel's `onKeyDown`. */
52
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
53
+ };
54
+ /**
55
+ * The one floating-layer primitive: Popover, Dropdown, Tooltip, Select and TagSelect. Presence
56
+ * (exit animation), positioning against the trigger, a place in the layer stack and one focus
57
+ * policy (foundation §8): focus returns to the trigger after Escape, a pick, Tab or a close — not
58
+ * after a press outside, where focus follows the pointer. Render the panel with `FloatingPanel`.
59
+ */
60
+ export declare function useFloatingLayer({ open, onOpenChange, triggerRef, closeOnEscape, closeOnOutsideClick, dismiss, focusOnOpen, trap, tabExit, exitDuration, skipExit, ...positionOptions }: UseFloatingLayerOptions): FloatingLayer;
@@ -0,0 +1,9 @@
1
+ import type * as React from "react";
2
+ type UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : never) extends (arg: infer I) => void ? I : never;
3
+ /**
4
+ * The ref a polymorphic `<Tag>` accepts when `Tag` is a union of tag names (an `as` prop): JSX
5
+ * checks it against every element of the union at once. Parts keep `ref?: Ref<HTMLElement>` in
6
+ * their props and pass `ref as TagRef<TheirAs>` to the tag.
7
+ */
8
+ export type TagRef<Tag extends keyof HTMLElementTagNameMap> = React.Ref<UnionToIntersection<HTMLElementTagNameMap[Tag]>>;
9
+ export {};
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Shared props, math and accessible text of the progress indicators (ProgressBar, ProgressCircle):
3
+ * one `value`, or `segments` that split a whole.
4
+ */
5
+ import type { Tone } from "./states";
6
+ /** The two modes of a progress indicator; the component adds its own common props. */
7
+ export type ProgressModeProps = {
8
+ /** Current value; clamped to `0…max`. */
9
+ value: number;
10
+ /** Top of the scale. Default `100`. */
11
+ max?: number;
12
+ /** Fill color. Default `accent`. */
13
+ tone?: Tone;
14
+ segments?: never;
15
+ segmentGap?: never;
16
+ labels?: never;
17
+ } | {
18
+ /** Parts in order (left to right, clockwise from the top); each one's size is its share of `max`. */
19
+ segments: ProgressSegment[];
20
+ /** Total capacity. Default: the sum of the segments (they fill the whole indicator). */
21
+ max?: number;
22
+ /** `hairline` draws every part on its own with a gap. Default `none`. */
23
+ segmentGap?: "none" | "hairline";
24
+ /** Built-in accessible strings for empty distributions. */
25
+ labels?: Partial<ProgressSegmentsLabels>;
26
+ value?: never;
27
+ tone?: never;
28
+ };
29
+ /** `value` mode: `max` defaults to 100 (or when not positive) and `value` is clamped to `0…max`. */
30
+ export declare function resolveValue(value: number, max: number | undefined): {
31
+ value: number;
32
+ max: number;
33
+ ratio: number;
34
+ percent: number;
35
+ };
36
+ export type ProgressSegment = {
37
+ /** Non-negative weight; negative or non-finite values count as 0. */
38
+ value: number;
39
+ label?: string;
40
+ /** Segment fill. Default `accent`. */
41
+ tone?: Tone;
42
+ };
43
+ export type ProgressSegmentsLabels = {
44
+ /** Accessible description when `segments` is empty. */
45
+ empty: string;
46
+ /** Accessible description when every segment weighs zero. */
47
+ allEmpty: string;
48
+ };
49
+ export declare const DEFAULT_PROGRESS_SEGMENTS_LABELS: ProgressSegmentsLabels;
50
+ export type ResolvedSegments = {
51
+ segments: ProgressSegment[];
52
+ /** Sum of the segment weights. */
53
+ total: number;
54
+ /** Full scale: `max` when it exceeds the sum, otherwise the sum. */
55
+ scale: number;
56
+ /** Free capacity: `scale - total`. */
57
+ rest: number;
58
+ /** Rounded filled share, 0–100. */
59
+ percent: number;
60
+ /** "Видео: 38%, Документы: 21%" or the empty texts. */
61
+ text: string;
62
+ };
63
+ export declare function resolveSegments(input: ProgressSegment[], max: number | undefined, labels: ProgressSegmentsLabels): ResolvedSegments;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Keyboard → index math for roving focus, shared by single-row groups (tablist, radiogroup of
3
+ * segments) and grids (swatches). Pure functions: the caller owns the items, focus and selection.
4
+ */
5
+ /** Which arrow keys move along a single row. `both` accepts all four (a vertical list shown as a row). */
6
+ export type RovingOrientation = "horizontal" | "vertical" | "both";
7
+ /**
8
+ * Next index in a wrapping row of `count` items, or `null` when `key` does not navigate.
9
+ * Arrows wrap around the ends; Home / End jump to the first / last item. A current index of `-1`
10
+ * (nothing focused yet) moves to the first item on "next" and to the last on "previous".
11
+ */
12
+ export declare function rovingIndex(key: string, index: number, count: number, orientation?: RovingOrientation): number | null;
13
+ /**
14
+ * Next index in a grid of `count` items laid out in rows of `columns`, or `null` when `key` does
15
+ * not navigate. Left / Right step through the reading order and stop at the ends; Up / Down move
16
+ * one row and stay put when there is no row; Home / End jump to the first / last item.
17
+ */
18
+ export declare function gridIndex(key: string, index: number, count: number, columns: number): number | null;
@@ -1,3 +1,2 @@
1
- /** window, прокручиваемые предки якоря и visualViewport — для пересчёта fixed при scroll. */
1
+ /** `window` and the scrolling ancestors of the anchor: where a fixed layer listens for scroll. */
2
2
  export declare function getScrollContainers(node: Element | null): Array<Element | Window | VisualViewport>;
3
- //# sourceMappingURL=scrollAncestors.d.ts.map