haze-ui 1.32.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (816) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -1210
  3. package/dist/THIRD-PARTY-NOTICES.md +152 -0
  4. package/dist/coi-serviceworker.LICENSE +21 -0
  5. package/dist/coi-serviceworker.js +118 -0
  6. package/dist/components/Accordion/Accordion.js +40 -8
  7. package/dist/components/Accordion/AccordionContext.js +9 -0
  8. package/dist/components/Accordion/AccordionItem.js +30 -15
  9. package/dist/components/Accordion/index.js +3 -3
  10. package/dist/components/ActivityRail/ActivityRail.js +46 -37
  11. package/dist/components/Affix/Affix.js +0 -1
  12. package/dist/components/Affix/index.js +0 -1
  13. package/dist/components/Alert/Alert.js +17 -23
  14. package/dist/components/Alert/alert-styles.js +14 -0
  15. package/dist/components/Alert/index.js +3 -2
  16. package/dist/components/ApprovalCard/ApprovalCard.js +70 -43
  17. package/dist/components/Avatar/Avatar.js +5 -4
  18. package/dist/components/AvatarGroup/AvatarGroup.js +15 -18
  19. package/dist/components/AvatarGroup/index.js +0 -1
  20. package/dist/components/Badge/Badge.js +5 -4
  21. package/dist/components/Badge/badge-styles.js +2 -1
  22. package/dist/components/Badge/index.js +2 -2
  23. package/dist/components/Banner/Banner.js +17 -23
  24. package/dist/components/Banner/banner-styles.js +14 -0
  25. package/dist/components/Banner/index.js +3 -2
  26. package/dist/components/Breadcrumb/Breadcrumb.js +16 -17
  27. package/dist/components/Breadcrumb/BreadcrumbItem.js +7 -10
  28. package/dist/components/Breadcrumb/index.js +0 -1
  29. package/dist/components/Button/ButtonLink.js +11 -9
  30. package/dist/components/ButtonGroup/ButtonGroup.js +48 -0
  31. package/dist/components/ButtonGroup/ButtonGroupContext.js +9 -0
  32. package/dist/components/ButtonGroup/ButtonGroupSeparator.js +30 -0
  33. package/dist/components/ButtonGroup/button-group-styles.js +7 -0
  34. package/dist/components/ButtonGroup/index.js +5 -0
  35. package/dist/components/Calendar/Calendar.js +355 -305
  36. package/dist/components/Card/Card.js +9 -7
  37. package/dist/components/Card/index.js +2 -2
  38. package/dist/components/Carousel/Carousel.js +108 -91
  39. package/dist/components/Carousel/CarouselSlide.js +15 -9
  40. package/dist/components/Cascader/Cascader.js +190 -173
  41. package/dist/components/Chart/Chart.js +122 -24
  42. package/dist/components/Chart/chart-elements.js +271 -114
  43. package/dist/components/ChatInput/ChatInput.js +32 -28
  44. package/dist/components/ChatMessage/ChatMessage.js +79 -72
  45. package/dist/components/Checkbox/Checkbox.js +17 -14
  46. package/dist/components/Checkbox/CheckboxCore.js +28 -17
  47. package/dist/components/Chip/Chip.js +18 -33
  48. package/dist/components/Chip/chip-styles.js +23 -0
  49. package/dist/components/Chip/index.js +3 -3
  50. package/dist/components/CodeBlock/CodeBlock.js +1 -0
  51. package/dist/components/CodeBlock/index.js +1 -0
  52. package/dist/components/Collapsible/Collapsible.js +53 -44
  53. package/dist/components/ColorPicker/ColorPicker.js +84 -73
  54. package/dist/components/ColorPicker/ColorPickerCore.js +60 -39
  55. package/dist/components/ColorPicker/ColorPickerPanel.js +312 -109
  56. package/dist/components/ColorPicker/color-picker-styles.js +2 -2
  57. package/dist/components/ColorPicker/gradient.js +114 -0
  58. package/dist/components/Combobox/Combobox.js +125 -123
  59. package/dist/components/Combobox/ComboboxGroup.js +23 -16
  60. package/dist/components/Combobox/ComboboxOption.js +12 -8
  61. package/dist/components/Combobox/combobox-options.js +26 -0
  62. package/dist/components/Command/Command.js +182 -97
  63. package/dist/components/Command/CommandDialog.js +49 -34
  64. package/dist/components/Command/command-filter.js +80 -10
  65. package/dist/components/ConfigProvider/ConfigContext.js +7 -38
  66. package/dist/components/ConfigProvider/ConfigProvider.js +15 -7
  67. package/dist/components/ConfigProvider/useConfigDefaults.js +5 -2
  68. package/dist/components/ContextMenu/ContextMenu.js +52 -34
  69. package/dist/components/ContextMenu/ContextMenuContent.js +40 -26
  70. package/dist/components/ContextMenu/ContextMenuItem.js +22 -13
  71. package/dist/components/ContextMenu/ContextMenuSeparator.js +14 -7
  72. package/dist/components/ContextMenu/ContextMenuTrigger.js +21 -12
  73. package/dist/components/ConversationList/ConversationItem.js +45 -29
  74. package/dist/components/ConversationList/ConversationList.js +22 -15
  75. package/dist/components/CopyButton/CopyButton.js +83 -0
  76. package/dist/components/CopyButton/Snippet.js +50 -0
  77. package/dist/components/CopyButton/copy-button-styles.js +11 -0
  78. package/dist/components/CopyButton/index.js +5 -0
  79. package/dist/components/CopyButton/snippet-styles.js +7 -0
  80. package/dist/components/Countdown/Countdown.js +63 -0
  81. package/dist/components/Countdown/index.js +3 -0
  82. package/dist/components/DataTable/CellEditor.js +34 -24
  83. package/dist/components/DataTable/DataTable.js +591 -321
  84. package/dist/components/DataTable/column-filter.js +106 -0
  85. package/dist/components/DataTable/column-reorder.js +17 -0
  86. package/dist/components/DataTable/csv.js +15 -14
  87. package/dist/components/DataTable/features.js +19 -18
  88. package/dist/components/DataTable/filters.js +26 -0
  89. package/dist/components/DateField/DateField.js +28 -0
  90. package/dist/components/DateField/DateFieldCore.js +94 -0
  91. package/dist/components/DateField/index.js +4 -0
  92. package/dist/components/DateField/segmented-field.js +121 -0
  93. package/dist/components/DateRangePicker/DateRangePicker.js +35 -28
  94. package/dist/components/Datepicker/Datepicker.js +31 -27
  95. package/dist/components/Descriptions/Descriptions.js +0 -1
  96. package/dist/components/Descriptions/index.js +0 -1
  97. package/dist/components/Dialog/Dialog.js +47 -41
  98. package/dist/components/DiffViewer/DiffViewer.js +65 -48
  99. package/dist/components/Disclosure/Disclosure.js +31 -22
  100. package/dist/components/Drawer/Drawer.js +50 -39
  101. package/dist/components/DropdownMenu/DropdownMenu.js +61 -45
  102. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +24 -22
  103. package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
  104. package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -16
  105. package/dist/components/DropdownMenu/DropdownMenuItem.js +2 -1
  106. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +33 -21
  107. package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +22 -20
  108. package/dist/components/DropdownMenu/DropdownMenuSeparator.js +14 -7
  109. package/dist/components/DropdownMenu/DropdownMenuSub.js +28 -16
  110. package/dist/components/DropdownMenu/DropdownMenuSubContent.js +14 -13
  111. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +22 -17
  112. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +33 -22
  113. package/dist/components/Empty/Empty.js +41 -28
  114. package/dist/components/ErrorBoundary/ErrorBoundary.js +88 -0
  115. package/dist/components/ErrorBoundary/index.js +3 -0
  116. package/dist/components/FileInput/FileInput.js +23 -16
  117. package/dist/components/FilePreview/FilePreview.js +104 -91
  118. package/dist/components/FloatButton/float-button-glyphs.js +9 -7
  119. package/dist/components/Fullscreen/Fullscreen.js +35 -27
  120. package/dist/components/Heatmap/Heatmap.js +124 -0
  121. package/dist/components/Heatmap/heatmap-styles.js +6 -0
  122. package/dist/components/Heatmap/index.js +2 -0
  123. package/dist/components/HoverCard/HoverCard.js +63 -43
  124. package/dist/components/Image/Image.js +56 -32
  125. package/dist/components/Image/ImageGalleryContext.js +9 -0
  126. package/dist/components/Image/ImagePreview.js +297 -200
  127. package/dist/components/Image/ImagePreviewGroup.js +46 -0
  128. package/dist/components/Image/index.js +2 -1
  129. package/dist/components/ImageCrop/ImageCrop.js +188 -0
  130. package/dist/components/ImageCrop/image-crop-geometry.js +81 -0
  131. package/dist/components/ImageCrop/index.js +3 -0
  132. package/dist/components/InlineCitation/InlineCitation.js +78 -0
  133. package/dist/components/InlineCitation/index.js +3 -0
  134. package/dist/components/InlineEdit/InlineEdit.js +62 -40
  135. package/dist/components/Input/Input.js +21 -17
  136. package/dist/components/Input/InputCore.js +9 -12
  137. package/dist/components/Input/input-styles.js +11 -0
  138. package/dist/components/InputGroup/InputGroup.js +33 -0
  139. package/dist/components/InputGroup/InputGroupAddon.js +27 -0
  140. package/dist/components/InputGroup/InputGroupContext.js +9 -0
  141. package/dist/components/InputGroup/index.js +5 -0
  142. package/dist/components/InputGroup/input-group-styles.js +11 -0
  143. package/dist/components/JsonView/JsonView.js +277 -179
  144. package/dist/components/Kbd/Kbd.js +3 -2
  145. package/dist/components/List/List.js +0 -1
  146. package/dist/components/List/ListItem.js +0 -1
  147. package/dist/components/List/index.js +0 -1
  148. package/dist/components/LocaleProvider/LocaleProvider.js +17 -17
  149. package/dist/components/LocaleProvider/ar-sa.js +28 -2
  150. package/dist/components/LocaleProvider/de-de.js +28 -2
  151. package/dist/components/LocaleProvider/es-es.js +28 -2
  152. package/dist/components/LocaleProvider/fr-fr.js +28 -2
  153. package/dist/components/LocaleProvider/it-it.js +28 -2
  154. package/dist/components/LocaleProvider/ja-jp.js +28 -2
  155. package/dist/components/LocaleProvider/ko-kr.js +28 -2
  156. package/dist/components/LocaleProvider/locale.js +28 -2
  157. package/dist/components/LocaleProvider/pt-br.js +28 -2
  158. package/dist/components/LocaleProvider/ru-ru.js +28 -2
  159. package/dist/components/LocaleProvider/useStrings.js +20 -9
  160. package/dist/components/LocaleProvider/zh-cn.js +28 -2
  161. package/dist/components/LogViewer/LogViewer.js +89 -59
  162. package/dist/components/Mark/Mark.js +3 -1
  163. package/dist/components/MaskedInput/MaskedInput.js +25 -0
  164. package/dist/components/MaskedInput/MaskedInputCore.js +47 -0
  165. package/dist/components/MaskedInput/index.js +5 -0
  166. package/dist/components/MaskedInput/mask.js +154 -0
  167. package/dist/components/Mentions/Mentions.js +18 -13
  168. package/dist/components/Menu/Menu.js +202 -55
  169. package/dist/components/Menu/MenuCheckboxItem.js +24 -22
  170. package/dist/components/Menu/MenuContext.js +9 -0
  171. package/dist/components/Menu/MenuDivider.js +12 -8
  172. package/dist/components/Menu/MenuGroup.js +26 -16
  173. package/dist/components/Menu/MenuItem.js +20 -18
  174. package/dist/components/Menu/MenuRadioGroup.js +34 -22
  175. package/dist/components/Menu/MenuRadioItem.js +23 -21
  176. package/dist/components/Menu/MenuSub.js +29 -17
  177. package/dist/components/Menu/MenuSubContent.js +15 -14
  178. package/dist/components/Menu/MenuSubTrigger.js +23 -18
  179. package/dist/components/Meter/Meter.js +63 -0
  180. package/dist/components/Meter/index.js +4 -0
  181. package/dist/components/Meter/meter-styles.js +11 -0
  182. package/dist/components/ModelPicker/ModelPicker.js +38 -24
  183. package/dist/components/NavigationBar/NavLink.js +0 -1
  184. package/dist/components/NavigationBar/NavigationBar.js +0 -1
  185. package/dist/components/NavigationBar/index.js +0 -1
  186. package/dist/components/NavigationMenu/NavigationMenu.js +73 -0
  187. package/dist/components/NavigationMenu/NavigationMenuContent.js +53 -0
  188. package/dist/components/NavigationMenu/NavigationMenuContext.js +17 -0
  189. package/dist/components/NavigationMenu/NavigationMenuItem.js +72 -0
  190. package/dist/components/NavigationMenu/NavigationMenuList.js +59 -0
  191. package/dist/components/NavigationMenu/NavigationMenuTrigger.js +82 -0
  192. package/dist/components/NavigationMenu/index.js +7 -0
  193. package/dist/components/NumberInput/NumberInput.js +22 -18
  194. package/dist/components/NumberInput/NumberInputCore.js +23 -30
  195. package/dist/components/NumberInput/index.js +4 -3
  196. package/dist/components/NumberInput/number-input-styles.js +15 -0
  197. package/dist/components/OTPInput/OTPInput.js +28 -15
  198. package/dist/components/Pagination/Pagination.js +81 -83
  199. package/dist/components/Pagination/pagination-styles.js +11 -0
  200. package/dist/components/PasswordInput/PasswordInput.js +18 -15
  201. package/dist/components/PasswordInput/PasswordInputCore.js +39 -28
  202. package/dist/components/PhoneInput/PhoneInput.js +144 -0
  203. package/dist/components/PhoneInput/index.js +4 -0
  204. package/dist/components/PhoneInput/phone-input-styles.js +7 -0
  205. package/dist/components/PhoneInput/phone-number.js +8 -0
  206. package/dist/components/Plan/Plan.js +115 -0
  207. package/dist/components/Plan/index.js +3 -0
  208. package/dist/components/Popconfirm/Popconfirm.js +152 -0
  209. package/dist/components/Popconfirm/index.js +3 -0
  210. package/dist/components/Popover/Popover.js +55 -40
  211. package/dist/components/Progress/Progress.js +40 -57
  212. package/dist/components/Progress/index.js +3 -3
  213. package/dist/components/Progress/progress-styles.js +28 -0
  214. package/dist/components/PullToRefresh/PullToRefresh.js +121 -0
  215. package/dist/components/PullToRefresh/index.js +3 -0
  216. package/dist/components/Queue/Queue.js +68 -0
  217. package/dist/components/Queue/index.js +3 -0
  218. package/dist/components/Radio/Radio.js +28 -19
  219. package/dist/components/Radio/RadioGroup.js +14 -13
  220. package/dist/components/Radio/RadioGroupCore.js +34 -19
  221. package/dist/components/Rating/Rating.js +29 -16
  222. package/dist/components/Resizable/index.js +1 -1
  223. package/dist/components/Result/Result.js +0 -1
  224. package/dist/components/Result/index.js +0 -1
  225. package/dist/components/RichTextEditor/RichTextEditor.js +257 -0
  226. package/dist/components/RichTextEditor/index.js +3 -0
  227. package/dist/components/Schedule/Schedule.js +566 -0
  228. package/dist/components/Schedule/index.js +3 -0
  229. package/dist/components/ScrollArea/ScrollArea.js +28 -9
  230. package/dist/components/ScrollArea/ScrollAreaContext.js +11 -0
  231. package/dist/components/ScrollArea/ScrollThumb.js +114 -0
  232. package/dist/components/ScrollArea/ScrollViewport.js +52 -0
  233. package/dist/components/ScrollArea/Scrollbar.js +49 -0
  234. package/dist/components/ScrollArea/index.js +5 -2
  235. package/dist/components/ScrollArea/scroll-math.js +58 -0
  236. package/dist/components/Segmented/Segmented.js +29 -16
  237. package/dist/components/Select/Option.js +12 -8
  238. package/dist/components/Select/OptionGroup.js +12 -8
  239. package/dist/components/Select/Select.js +52 -30
  240. package/dist/components/Select/SelectCore.js +62 -57
  241. package/dist/components/Select/SelectFloating.js +256 -172
  242. package/dist/components/Select/index.js +5 -5
  243. package/dist/components/Select/select-options.js +8 -6
  244. package/dist/components/Sidebar/Sidebar.js +102 -76
  245. package/dist/components/Sources/Sources.js +54 -50
  246. package/dist/components/Sparkline/Sparkline.js +2 -2
  247. package/dist/components/Sparkline/index.js +1 -1
  248. package/dist/components/Sparkline/sparkline-styles.js +3 -1
  249. package/dist/components/Spinner/Spinner.js +4 -3
  250. package/dist/components/Splitter/Splitter.js +209 -0
  251. package/dist/components/Splitter/index.js +3 -0
  252. package/dist/components/StatusBar/StatusBar.js +0 -1
  253. package/dist/components/StatusBar/index.js +0 -1
  254. package/dist/components/StepTimeline/StepTimeline.js +95 -29
  255. package/dist/components/Stepper/Stepper.js +34 -20
  256. package/dist/components/StreamingText/StreamingText.js +33 -31
  257. package/dist/components/Switch/Switch.js +27 -15
  258. package/dist/components/Switch/SwitchCore.js +18 -29
  259. package/dist/components/Switch/index.js +4 -3
  260. package/dist/components/Switch/switch-styles.js +19 -0
  261. package/dist/components/TabBar/TabBar.js +0 -1
  262. package/dist/components/TabBar/index.js +0 -1
  263. package/dist/components/Table/Table.js +38 -17
  264. package/dist/components/Table/TableBody.js +17 -8
  265. package/dist/components/Table/TableCell.js +9 -7
  266. package/dist/components/Table/TableContext.js +9 -0
  267. package/dist/components/Table/TableHead.js +17 -8
  268. package/dist/components/Table/TableRow.js +12 -7
  269. package/dist/components/Table/table-styles.js +7 -0
  270. package/dist/components/Tabs/SortableTabList.js +70 -51
  271. package/dist/components/Tabs/Tab.js +70 -53
  272. package/dist/components/Tabs/TabList.js +96 -75
  273. package/dist/components/Tabs/TabPanel.js +20 -15
  274. package/dist/components/Tabs/Tabs.js +37 -15
  275. package/dist/components/Tabs/index.js +7 -6
  276. package/dist/components/Tabs/tab-metas.js +20 -10
  277. package/dist/components/Tabs/tabs-styles.js +23 -0
  278. package/dist/components/Tag/Tag.js +14 -26
  279. package/dist/components/Tag/index.js +3 -3
  280. package/dist/components/Tag/tag-styles.js +16 -0
  281. package/dist/components/TagGroup/SortableTagGroup.js +50 -30
  282. package/dist/components/TagGroup/TagGroup.js +29 -22
  283. package/dist/components/TagGroup/TagGroupItem.js +32 -25
  284. package/dist/components/TagInput/SortableTagInput.js +24 -19
  285. package/dist/components/TagInput/SortableTagInputCore.js +69 -42
  286. package/dist/components/TagInput/TagInput.js +33 -20
  287. package/dist/components/Textarea/Textarea.js +19 -15
  288. package/dist/components/Textarea/TextareaCore.js +6 -9
  289. package/dist/components/Textarea/textarea-styles.js +11 -0
  290. package/dist/components/ThinkingIndicator/ThinkingIndicator.js +42 -29
  291. package/dist/components/TimeField/TimeField.js +29 -0
  292. package/dist/components/TimeField/TimeFieldCore.js +69 -0
  293. package/dist/components/TimeField/index.js +4 -0
  294. package/dist/components/TimeGrid/TimeGrid.js +89 -0
  295. package/dist/components/TimeGrid/index.js +3 -0
  296. package/dist/components/TimeGrid/time-grid-styles.js +7 -0
  297. package/dist/components/TimePicker/TimePicker.js +31 -30
  298. package/dist/components/TimePicker/TimePickerCore.js +20 -12
  299. package/dist/components/Timeline/Timeline.js +0 -1
  300. package/dist/components/Timeline/index.js +0 -1
  301. package/dist/components/Toast/ToastContainer.js +99 -69
  302. package/dist/components/Toggle/Toggle.js +16 -13
  303. package/dist/components/TokenCounter/TokenCounter.js +56 -31
  304. package/dist/components/Toolbar/Toolbar.js +5 -3
  305. package/dist/components/Toolbar/ToolbarSeparator.js +19 -14
  306. package/dist/components/Tooltip/Tooltip.js +37 -30
  307. package/dist/components/Trace/Trace.js +132 -0
  308. package/dist/components/Trace/index.js +3 -0
  309. package/dist/components/Transfer/Transfer.js +18 -13
  310. package/dist/components/Transfer/TransferCore.js +144 -88
  311. package/dist/components/Tree/SortableTree.js +115 -96
  312. package/dist/components/Tree/Tree.js +81 -80
  313. package/dist/components/Tree/TreeItem.js +198 -143
  314. package/dist/components/TreeSelect/TreeSelect.js +59 -55
  315. package/dist/components/Upload/Upload.js +28 -24
  316. package/dist/components/Upload/UploadCore.js +241 -184
  317. package/dist/components/Upload/UploadList.js +349 -298
  318. package/dist/components/Workbench/Workbench.js +165 -126
  319. package/dist/css/accordion.css +1 -1
  320. package/dist/css/affix.css +1 -1
  321. package/dist/css/alert.css +1 -1
  322. package/dist/css/app-shell.css +1 -1
  323. package/dist/css/badge.css +1 -1
  324. package/dist/css/banner.css +1 -1
  325. package/dist/css/bottom-sheet.css +1 -1
  326. package/dist/css/button-group.css +4 -0
  327. package/dist/css/card.css +1 -1
  328. package/dist/css/carousel.css +1 -1
  329. package/dist/css/chart.css +2 -1
  330. package/dist/css/chat-container.css +1 -1
  331. package/dist/css/chip.css +1 -1
  332. package/dist/css/color-picker.css +2 -1
  333. package/dist/css/combobox.css +3 -3
  334. package/dist/css/command.css +1 -1
  335. package/dist/css/confirm-dialog.css +1 -1
  336. package/dist/css/context-menu.css +2 -2
  337. package/dist/css/copy-button.css +5 -0
  338. package/dist/css/countdown.css +4 -0
  339. package/dist/css/data-table.css +2 -1
  340. package/dist/css/date-field.css +4 -0
  341. package/dist/css/datepicker.css +1 -1
  342. package/dist/css/drawer.css +1 -1
  343. package/dist/css/dropdown-menu.css +1 -1
  344. package/dist/css/error-boundary.css +4 -0
  345. package/dist/css/heatmap.css +4 -0
  346. package/dist/css/image-crop.css +4 -0
  347. package/dist/css/image.css +1 -1
  348. package/dist/css/inline-citation.css +4 -0
  349. package/dist/css/input-group.css +4 -0
  350. package/dist/css/input.css +2 -1
  351. package/dist/css/loading-overlay.css +1 -1
  352. package/dist/css/mark.css +1 -1
  353. package/dist/css/menu.css +2 -2
  354. package/dist/css/meter.css +4 -0
  355. package/dist/css/navigation-menu.css +9 -0
  356. package/dist/css/number-input.css +2 -1
  357. package/dist/css/otp-input.css +1 -0
  358. package/dist/css/pagination.css +2 -1
  359. package/dist/css/phone-input.css +4 -0
  360. package/dist/css/plan.css +4 -0
  361. package/dist/css/popconfirm.css +5 -0
  362. package/dist/css/popover.css +1 -1
  363. package/dist/css/progress.css +1 -1
  364. package/dist/css/pull-to-refresh.css +4 -0
  365. package/dist/css/queue.css +4 -0
  366. package/dist/css/rating.css +1 -0
  367. package/dist/css/rich-text-editor.css +5 -0
  368. package/dist/css/schedule.css +4 -0
  369. package/dist/css/scroll-area.css +4 -1
  370. package/dist/css/segmented.css +1 -0
  371. package/dist/css/select.css +4 -3
  372. package/dist/css/sparkline.css +1 -1
  373. package/dist/css/splitter.css +4 -0
  374. package/dist/css/step-timeline.css +1 -1
  375. package/dist/css/switch.css +3 -1
  376. package/dist/css/table.css +2 -1
  377. package/dist/css/tabs.css +4 -3
  378. package/dist/css/tag-group.css +1 -1
  379. package/dist/css/tag-input.css +2 -1
  380. package/dist/css/tag.css +1 -1
  381. package/dist/css/textarea.css +2 -1
  382. package/dist/css/time-grid.css +4 -0
  383. package/dist/css/time-picker.css +1 -1
  384. package/dist/css/timeline.css +1 -1
  385. package/dist/css/toast.css +1 -1
  386. package/dist/css/tokens.css +2 -2
  387. package/dist/css/tooltip.css +1 -1
  388. package/dist/css/tour.css +1 -1
  389. package/dist/css/trace.css +4 -0
  390. package/dist/css/tree-select.css +1 -1
  391. package/dist/css/tree.css +1 -1
  392. package/dist/css/upload.css +1 -1
  393. package/dist/css/virtual-list.css +1 -1
  394. package/dist/css/workbench.css +1 -1
  395. package/dist/css-manifest.json +162 -12
  396. package/dist/design-tokens/cyan-dark.json +32 -0
  397. package/dist/design-tokens/cyan-light.json +32 -0
  398. package/dist/design-tokens/dark.json +32 -0
  399. package/dist/design-tokens/light.json +32 -0
  400. package/dist/design-tokens/orange-dark.json +32 -0
  401. package/dist/design-tokens/orange-light.json +32 -0
  402. package/dist/design-tokens/rose-dark.json +32 -0
  403. package/dist/design-tokens/rose-light.json +32 -0
  404. package/dist/design-tokens/teal-dark.json +32 -0
  405. package/dist/design-tokens/teal-light.json +32 -0
  406. package/dist/design-tokens/violet-dark.json +32 -0
  407. package/dist/design-tokens/violet-light.json +32 -0
  408. package/dist/form/FormItem.js +71 -52
  409. package/dist/form/index.js +3 -3
  410. package/dist/haze-ui.css +172 -61
  411. package/dist/hooks/useClipboard.js +22 -14
  412. package/dist/hooks/useDebouncedCallback.js +17 -11
  413. package/dist/hooks/useDebouncedValue.js +8 -7
  414. package/dist/hooks/useFullscreen.js +40 -36
  415. package/dist/hooks/useHotkeys.js +78 -24
  416. package/dist/hooks/useMediaQuery.js +9 -5
  417. package/dist/hooks/useStorageState.js +43 -34
  418. package/dist/hooks/useTitle.js +12 -9
  419. package/dist/index.js +325 -274
  420. package/dist/locales/index.js +14 -0
  421. package/dist/mcp-docs.json +3279 -364
  422. package/dist/registry.json +655 -64
  423. package/dist/robots.txt +4 -0
  424. package/dist/sitemap.xml +185 -0
  425. package/dist/tokens/colors.js +2 -2
  426. package/dist/tokens/index.js +8 -8
  427. package/dist/tokens/registry.js +47 -13
  428. package/dist/tokens/z-index.js +35 -0
  429. package/dist/types/components/Accordion/Accordion.d.ts +33 -4
  430. package/dist/types/components/Accordion/AccordionContext.d.ts +41 -0
  431. package/dist/types/components/Accordion/AccordionItem.d.ts +18 -3
  432. package/dist/types/components/Accordion/index.d.ts +4 -4
  433. package/dist/types/components/ActivityRail/index.d.ts +4 -4
  434. package/dist/types/components/Affix/index.d.ts +2 -2
  435. package/dist/types/components/Alert/Alert.d.ts +6 -3
  436. package/dist/types/components/Alert/alert-styles.d.ts +20 -0
  437. package/dist/types/components/Alert/index.d.ts +3 -2
  438. package/dist/types/components/Anchor/index.d.ts +2 -2
  439. package/dist/types/components/AppShell/index.d.ts +2 -2
  440. package/dist/types/components/ApprovalCard/index.d.ts +2 -2
  441. package/dist/types/components/AspectRatio/index.d.ts +2 -2
  442. package/dist/types/components/AsyncSection/index.d.ts +2 -2
  443. package/dist/types/components/Avatar/Avatar.d.ts +4 -2
  444. package/dist/types/components/Avatar/index.d.ts +2 -2
  445. package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +8 -2
  446. package/dist/types/components/AvatarGroup/index.d.ts +2 -2
  447. package/dist/types/components/BackToTop/index.d.ts +2 -2
  448. package/dist/types/components/Badge/Badge.d.ts +6 -3
  449. package/dist/types/components/Badge/badge-styles.d.ts +4 -3
  450. package/dist/types/components/Badge/index.d.ts +3 -3
  451. package/dist/types/components/Banner/Banner.d.ts +6 -3
  452. package/dist/types/components/Banner/banner-styles.d.ts +20 -0
  453. package/dist/types/components/Banner/index.d.ts +3 -2
  454. package/dist/types/components/BottomSheet/index.d.ts +2 -2
  455. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +3 -3
  456. package/dist/types/components/Breadcrumb/BreadcrumbItem.d.ts +23 -5
  457. package/dist/types/components/Breadcrumb/index.d.ts +4 -4
  458. package/dist/types/components/Button/ButtonLink.d.ts +4 -12
  459. package/dist/types/components/Button/index.d.ts +5 -5
  460. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +52 -0
  461. package/dist/types/components/ButtonGroup/ButtonGroupContext.d.ts +28 -0
  462. package/dist/types/components/ButtonGroup/ButtonGroupSeparator.d.ts +18 -0
  463. package/dist/types/components/ButtonGroup/button-group-styles.d.ts +45 -0
  464. package/dist/types/components/ButtonGroup/index.d.ts +6 -0
  465. package/dist/types/components/Calendar/Calendar.d.ts +74 -3
  466. package/dist/types/components/Calendar/index.d.ts +2 -2
  467. package/dist/types/components/Card/Card.d.ts +32 -5
  468. package/dist/types/components/Card/index.d.ts +3 -2
  469. package/dist/types/components/Carousel/Carousel.d.ts +27 -3
  470. package/dist/types/components/Carousel/index.d.ts +4 -4
  471. package/dist/types/components/Cascader/Cascader.d.ts +44 -2
  472. package/dist/types/components/Cascader/index.d.ts +2 -2
  473. package/dist/types/components/Chart/Chart.d.ts +111 -18
  474. package/dist/types/components/Chart/chart-elements.d.ts +73 -7
  475. package/dist/types/components/Chart/index.d.ts +2 -2
  476. package/dist/types/components/ChatContainer/index.d.ts +2 -2
  477. package/dist/types/components/ChatInput/index.d.ts +2 -2
  478. package/dist/types/components/ChatMessage/index.d.ts +2 -2
  479. package/dist/types/components/Checkbox/index.d.ts +4 -4
  480. package/dist/types/components/Chip/Chip.d.ts +12 -3
  481. package/dist/types/components/Chip/chip-styles.d.ts +51 -0
  482. package/dist/types/components/Chip/index.d.ts +3 -2
  483. package/dist/types/components/CodeBlock/index.d.ts +2 -2
  484. package/dist/types/components/Collapsible/index.d.ts +2 -2
  485. package/dist/types/components/ColorPicker/ColorPicker.d.ts +37 -4
  486. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -9
  487. package/dist/types/components/ColorPicker/color-picker-styles.d.ts +27 -0
  488. package/dist/types/components/ColorPicker/gradient.d.ts +64 -0
  489. package/dist/types/components/ColorPicker/index.d.ts +5 -4
  490. package/dist/types/components/Combobox/Combobox.d.ts +24 -23
  491. package/dist/types/components/Combobox/ComboboxOption.d.ts +11 -4
  492. package/dist/types/components/Combobox/combobox-options.d.ts +24 -0
  493. package/dist/types/components/Combobox/index.d.ts +6 -6
  494. package/dist/types/components/Command/Command.d.ts +36 -5
  495. package/dist/types/components/Command/command-filter.d.ts +57 -5
  496. package/dist/types/components/Command/index.d.ts +4 -4
  497. package/dist/types/components/ConfigProvider/ConfigContext.d.ts +104 -24
  498. package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +16 -6
  499. package/dist/types/components/ConfigProvider/index.d.ts +4 -4
  500. package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +17 -4
  501. package/dist/types/components/ConfirmDialog/confirm.d.ts +1 -1
  502. package/dist/types/components/ConfirmDialog/index.d.ts +4 -4
  503. package/dist/types/components/Container/index.d.ts +2 -2
  504. package/dist/types/components/ContextMenu/ContextMenu.d.ts +20 -2
  505. package/dist/types/components/ContextMenu/ContextMenuContext.d.ts +25 -1
  506. package/dist/types/components/ContextMenu/index.d.ts +11 -10
  507. package/dist/types/components/ConversationList/index.d.ts +4 -4
  508. package/dist/types/components/CopyButton/CopyButton.d.ts +56 -0
  509. package/dist/types/components/CopyButton/Snippet.d.ts +48 -0
  510. package/dist/types/components/CopyButton/copy-button-styles.d.ts +21 -0
  511. package/dist/types/components/CopyButton/index.d.ts +5 -0
  512. package/dist/types/components/CopyButton/snippet-styles.d.ts +10 -0
  513. package/dist/types/components/CountUp/index.d.ts +2 -2
  514. package/dist/types/components/Countdown/Countdown.d.ts +30 -0
  515. package/dist/types/components/Countdown/index.d.ts +2 -0
  516. package/dist/types/components/DataTable/DataTable.d.ts +169 -10
  517. package/dist/types/components/DataTable/column-filter.d.ts +27 -0
  518. package/dist/types/components/DataTable/column-reorder.d.ts +32 -0
  519. package/dist/types/components/DataTable/csv.d.ts +13 -3
  520. package/dist/types/components/DataTable/features.d.ts +18 -1
  521. package/dist/types/components/DataTable/filters.d.ts +25 -0
  522. package/dist/types/components/DataTable/index.d.ts +6 -5
  523. package/dist/types/components/DataTable/summary.d.ts +1 -1
  524. package/dist/types/components/DateField/DateField.d.ts +21 -0
  525. package/dist/types/components/DateField/DateFieldCore.d.ts +30 -0
  526. package/dist/types/components/DateField/index.d.ts +4 -0
  527. package/dist/types/components/DateField/segmented-field.d.ts +70 -0
  528. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +1 -1
  529. package/dist/types/components/DateRangePicker/index.d.ts +4 -4
  530. package/dist/types/components/DateRangePicker/presets.d.ts +1 -1
  531. package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +2 -2
  532. package/dist/types/components/DateTimePicker/index.d.ts +2 -2
  533. package/dist/types/components/Datepicker/Datepicker.d.ts +2 -2
  534. package/dist/types/components/Datepicker/DatepickerCore.d.ts +1 -1
  535. package/dist/types/components/Datepicker/index.d.ts +4 -4
  536. package/dist/types/components/Descriptions/index.d.ts +2 -2
  537. package/dist/types/components/Dialog/Dialog.d.ts +12 -1
  538. package/dist/types/components/Dialog/index.d.ts +2 -2
  539. package/dist/types/components/DiffViewer/index.d.ts +2 -2
  540. package/dist/types/components/Disclosure/index.d.ts +2 -2
  541. package/dist/types/components/Divider/index.d.ts +2 -2
  542. package/dist/types/components/Drawer/Drawer.d.ts +23 -1
  543. package/dist/types/components/Drawer/index.d.ts +2 -2
  544. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +16 -3
  545. package/dist/types/components/DropdownMenu/DropdownMenuContext.d.ts +39 -1
  546. package/dist/types/components/DropdownMenu/index.d.ts +25 -24
  547. package/dist/types/components/Ellipsis/index.d.ts +2 -2
  548. package/dist/types/components/Empty/index.d.ts +2 -2
  549. package/dist/types/components/ErrorBoundary/ErrorBoundary.d.ts +45 -0
  550. package/dist/types/components/ErrorBoundary/index.d.ts +2 -0
  551. package/dist/types/components/Fieldset/index.d.ts +2 -2
  552. package/dist/types/components/FileInput/index.d.ts +2 -2
  553. package/dist/types/components/FilePreview/index.d.ts +2 -2
  554. package/dist/types/components/Flex/index.d.ts +2 -2
  555. package/dist/types/components/FloatButton/index.d.ts +4 -4
  556. package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -1
  557. package/dist/types/components/Fullscreen/index.d.ts +3 -3
  558. package/dist/types/components/Grid/index.d.ts +4 -4
  559. package/dist/types/components/Heatmap/Heatmap.d.ts +69 -0
  560. package/dist/types/components/Heatmap/heatmap-styles.d.ts +25 -0
  561. package/dist/types/components/Heatmap/index.d.ts +2 -0
  562. package/dist/types/components/Highlight/index.d.ts +2 -2
  563. package/dist/types/components/HoverCard/HoverCard.d.ts +20 -3
  564. package/dist/types/components/HoverCard/index.d.ts +2 -2
  565. package/dist/types/components/Icon/index.d.ts +2 -2
  566. package/dist/types/components/Image/Image.d.ts +4 -0
  567. package/dist/types/components/Image/ImageGalleryContext.d.ts +29 -0
  568. package/dist/types/components/Image/ImagePreview.d.ts +15 -1
  569. package/dist/types/components/Image/ImagePreviewGroup.d.ts +23 -0
  570. package/dist/types/components/Image/index.d.ts +4 -2
  571. package/dist/types/components/ImageCrop/ImageCrop.d.ts +67 -0
  572. package/dist/types/components/ImageCrop/image-crop-geometry.d.ts +65 -0
  573. package/dist/types/components/ImageCrop/index.d.ts +3 -0
  574. package/dist/types/components/Indicator/index.d.ts +2 -2
  575. package/dist/types/components/InlineCitation/InlineCitation.d.ts +17 -0
  576. package/dist/types/components/InlineCitation/index.d.ts +2 -0
  577. package/dist/types/components/InlineCompletion/index.d.ts +2 -2
  578. package/dist/types/components/InlineEdit/index.d.ts +2 -2
  579. package/dist/types/components/Input/index.d.ts +4 -4
  580. package/dist/types/components/Input/input-styles.d.ts +15 -0
  581. package/dist/types/components/InputGroup/InputGroup.d.ts +47 -0
  582. package/dist/types/components/InputGroup/InputGroupAddon.d.ts +22 -0
  583. package/dist/types/components/InputGroup/InputGroupContext.d.ts +21 -0
  584. package/dist/types/components/InputGroup/index.d.ts +6 -0
  585. package/dist/types/components/InputGroup/input-group-styles.d.ts +34 -0
  586. package/dist/types/components/JsonView/index.d.ts +2 -2
  587. package/dist/types/components/Kbd/Kbd.d.ts +4 -2
  588. package/dist/types/components/Kbd/index.d.ts +2 -2
  589. package/dist/types/components/List/index.d.ts +4 -4
  590. package/dist/types/components/LoadingOverlay/index.d.ts +2 -2
  591. package/dist/types/components/LocaleProvider/LocaleContext.d.ts +2 -2
  592. package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +1 -1
  593. package/dist/types/components/LocaleProvider/ar-sa.d.ts +1 -1
  594. package/dist/types/components/LocaleProvider/de-de.d.ts +1 -1
  595. package/dist/types/components/LocaleProvider/es-es.d.ts +1 -1
  596. package/dist/types/components/LocaleProvider/fr-fr.d.ts +1 -1
  597. package/dist/types/components/LocaleProvider/index.d.ts +18 -18
  598. package/dist/types/components/LocaleProvider/it-it.d.ts +1 -1
  599. package/dist/types/components/LocaleProvider/ja-jp.d.ts +1 -1
  600. package/dist/types/components/LocaleProvider/ko-kr.d.ts +1 -1
  601. package/dist/types/components/LocaleProvider/locale.d.ts +26 -0
  602. package/dist/types/components/LocaleProvider/pt-br.d.ts +1 -1
  603. package/dist/types/components/LocaleProvider/ru-ru.d.ts +1 -1
  604. package/dist/types/components/LocaleProvider/strings.d.ts +1 -1
  605. package/dist/types/components/LocaleProvider/useStrings.d.ts +1 -1
  606. package/dist/types/components/LocaleProvider/zh-cn.d.ts +1 -1
  607. package/dist/types/components/LogViewer/index.d.ts +2 -2
  608. package/dist/types/components/Mark/Mark.d.ts +2 -2
  609. package/dist/types/components/Mark/index.d.ts +2 -2
  610. package/dist/types/components/MarkdownRenderer/index.d.ts +2 -2
  611. package/dist/types/components/MaskedInput/MaskedInput.d.ts +20 -0
  612. package/dist/types/components/MaskedInput/MaskedInputCore.d.ts +33 -0
  613. package/dist/types/components/MaskedInput/index.d.ts +6 -0
  614. package/dist/types/components/MaskedInput/mask.d.ts +77 -0
  615. package/dist/types/components/Masonry/index.d.ts +2 -2
  616. package/dist/types/components/Mentions/Mentions.d.ts +1 -1
  617. package/dist/types/components/Mentions/index.d.ts +4 -4
  618. package/dist/types/components/Menu/Menu.d.ts +42 -3
  619. package/dist/types/components/Menu/MenuContext.d.ts +39 -0
  620. package/dist/types/components/Menu/index.d.ts +20 -19
  621. package/dist/types/components/Meter/Meter.d.ts +72 -0
  622. package/dist/types/components/Meter/index.d.ts +3 -0
  623. package/dist/types/components/Meter/meter-styles.d.ts +25 -0
  624. package/dist/types/components/ModelPicker/index.d.ts +2 -2
  625. package/dist/types/components/NavigationBar/index.d.ts +4 -4
  626. package/dist/types/components/NavigationMenu/NavigationMenu.d.ts +47 -0
  627. package/dist/types/components/NavigationMenu/NavigationMenuContent.d.ts +16 -0
  628. package/dist/types/components/NavigationMenu/NavigationMenuContext.d.ts +77 -0
  629. package/dist/types/components/NavigationMenu/NavigationMenuItem.d.ts +13 -0
  630. package/dist/types/components/NavigationMenu/NavigationMenuList.d.ts +15 -0
  631. package/dist/types/components/NavigationMenu/NavigationMenuTrigger.d.ts +15 -0
  632. package/dist/types/components/NavigationMenu/index.d.ts +11 -0
  633. package/dist/types/components/NumberFormatter/index.d.ts +2 -2
  634. package/dist/types/components/NumberInput/index.d.ts +5 -4
  635. package/dist/types/components/NumberInput/number-input-styles.d.ts +10 -0
  636. package/dist/types/components/OTPInput/OTPInput.d.ts +9 -1
  637. package/dist/types/components/OTPInput/index.d.ts +4 -4
  638. package/dist/types/components/Pagination/index.d.ts +2 -2
  639. package/dist/types/components/Pagination/pagination-styles.d.ts +13 -0
  640. package/dist/types/components/PasswordInput/index.d.ts +4 -4
  641. package/dist/types/components/PhoneInput/PhoneInput.d.ts +35 -0
  642. package/dist/types/components/PhoneInput/index.d.ts +3 -0
  643. package/dist/types/components/PhoneInput/phone-input-styles.d.ts +11 -0
  644. package/dist/types/components/PhoneInput/phone-number.d.ts +9 -0
  645. package/dist/types/components/Plan/Plan.d.ts +26 -0
  646. package/dist/types/components/Plan/index.d.ts +2 -0
  647. package/dist/types/components/Popconfirm/Popconfirm.d.ts +57 -0
  648. package/dist/types/components/Popconfirm/index.d.ts +2 -0
  649. package/dist/types/components/Popover/Popover.d.ts +1 -1
  650. package/dist/types/components/Popover/index.d.ts +2 -2
  651. package/dist/types/components/Progress/Progress.d.ts +7 -3
  652. package/dist/types/components/Progress/index.d.ts +3 -2
  653. package/dist/types/components/Progress/progress-styles.d.ts +41 -0
  654. package/dist/types/components/PromptInput/index.d.ts +2 -2
  655. package/dist/types/components/PullToRefresh/PullToRefresh.d.ts +61 -0
  656. package/dist/types/components/PullToRefresh/index.d.ts +2 -0
  657. package/dist/types/components/QRCode/index.d.ts +2 -2
  658. package/dist/types/components/Queue/Queue.d.ts +25 -0
  659. package/dist/types/components/Queue/index.d.ts +2 -0
  660. package/dist/types/components/Radio/index.d.ts +6 -6
  661. package/dist/types/components/Rating/Rating.d.ts +8 -1
  662. package/dist/types/components/Rating/index.d.ts +4 -4
  663. package/dist/types/components/Resizable/index.d.ts +2 -4
  664. package/dist/types/components/Result/index.d.ts +2 -2
  665. package/dist/types/components/RichTextEditor/RichTextEditor.d.ts +56 -0
  666. package/dist/types/components/RichTextEditor/index.d.ts +2 -0
  667. package/dist/types/components/Schedule/Schedule.d.ts +113 -0
  668. package/dist/types/components/Schedule/index.d.ts +2 -0
  669. package/dist/types/components/ScrollArea/ScrollArea.d.ts +27 -3
  670. package/dist/types/components/ScrollArea/ScrollAreaContext.d.ts +24 -0
  671. package/dist/types/components/ScrollArea/ScrollThumb.d.ts +9 -0
  672. package/dist/types/components/ScrollArea/ScrollViewport.d.ts +8 -0
  673. package/dist/types/components/ScrollArea/Scrollbar.d.ts +19 -0
  674. package/dist/types/components/ScrollArea/index.d.ts +9 -2
  675. package/dist/types/components/ScrollArea/scroll-math.d.ts +121 -0
  676. package/dist/types/components/Segmented/Segmented.d.ts +10 -2
  677. package/dist/types/components/Segmented/index.d.ts +4 -4
  678. package/dist/types/components/Select/Option.d.ts +4 -1
  679. package/dist/types/components/Select/Select.d.ts +87 -15
  680. package/dist/types/components/Select/SelectCore.d.ts +32 -14
  681. package/dist/types/components/Select/SelectFloating.d.ts +33 -14
  682. package/dist/types/components/Select/index.d.ts +8 -8
  683. package/dist/types/components/Select/select-options.d.ts +16 -10
  684. package/dist/types/components/Sidebar/index.d.ts +4 -4
  685. package/dist/types/components/Signature/index.d.ts +2 -2
  686. package/dist/types/components/Skeleton/index.d.ts +2 -2
  687. package/dist/types/components/Slider/index.d.ts +4 -4
  688. package/dist/types/components/Sources/index.d.ts +2 -2
  689. package/dist/types/components/Sparkline/Sparkline.d.ts +3 -3
  690. package/dist/types/components/Sparkline/index.d.ts +3 -3
  691. package/dist/types/components/Sparkline/sparkline-styles.d.ts +7 -5
  692. package/dist/types/components/Spinner/Spinner.d.ts +4 -1
  693. package/dist/types/components/Spinner/index.d.ts +2 -2
  694. package/dist/types/components/Splitter/Splitter.d.ts +33 -0
  695. package/dist/types/components/Splitter/index.d.ts +2 -0
  696. package/dist/types/components/Spoiler/index.d.ts +2 -2
  697. package/dist/types/components/Stat/index.d.ts +2 -2
  698. package/dist/types/components/StatusBar/index.d.ts +3 -3
  699. package/dist/types/components/StepTimeline/StepTimeline.d.ts +17 -2
  700. package/dist/types/components/StepTimeline/index.d.ts +2 -2
  701. package/dist/types/components/Stepper/index.d.ts +4 -4
  702. package/dist/types/components/StreamingText/index.d.ts +2 -2
  703. package/dist/types/components/SwipeAction/index.d.ts +2 -2
  704. package/dist/types/components/Switch/Switch.d.ts +12 -2
  705. package/dist/types/components/Switch/index.d.ts +5 -4
  706. package/dist/types/components/Switch/switch-styles.d.ts +15 -0
  707. package/dist/types/components/TabBar/index.d.ts +4 -4
  708. package/dist/types/components/Table/Table.d.ts +17 -2
  709. package/dist/types/components/Table/TableContext.d.ts +27 -0
  710. package/dist/types/components/Table/index.d.ts +11 -10
  711. package/dist/types/components/Table/table-styles.d.ts +9 -0
  712. package/dist/types/components/Tabs/Tab.d.ts +9 -1
  713. package/dist/types/components/Tabs/TabList.d.ts +1 -1
  714. package/dist/types/components/Tabs/TabPanel.d.ts +1 -1
  715. package/dist/types/components/Tabs/Tabs.d.ts +76 -5
  716. package/dist/types/components/Tabs/TabsContext.d.ts +35 -0
  717. package/dist/types/components/Tabs/index.d.ts +12 -11
  718. package/dist/types/components/Tabs/tab-metas.d.ts +15 -1
  719. package/dist/types/components/Tabs/tabs-styles.d.ts +10 -0
  720. package/dist/types/components/Tag/Tag.d.ts +34 -6
  721. package/dist/types/components/Tag/index.d.ts +3 -2
  722. package/dist/types/components/Tag/tag-styles.d.ts +28 -0
  723. package/dist/types/components/TagGroup/SortableTagGroup.d.ts +1 -1
  724. package/dist/types/components/TagGroup/index.d.ts +6 -6
  725. package/dist/types/components/TagInput/SortableTagInputCore.d.ts +1 -1
  726. package/dist/types/components/TagInput/TagInput.d.ts +10 -1
  727. package/dist/types/components/TagInput/index.d.ts +8 -8
  728. package/dist/types/components/Textarea/index.d.ts +4 -4
  729. package/dist/types/components/Textarea/textarea-styles.d.ts +12 -0
  730. package/dist/types/components/ThinkingIndicator/index.d.ts +2 -2
  731. package/dist/types/components/TimeField/TimeField.d.ts +26 -0
  732. package/dist/types/components/TimeField/TimeFieldCore.d.ts +36 -0
  733. package/dist/types/components/TimeField/index.d.ts +4 -0
  734. package/dist/types/components/TimeGrid/TimeGrid.d.ts +58 -0
  735. package/dist/types/components/TimeGrid/index.d.ts +2 -0
  736. package/dist/types/components/TimeGrid/time-grid-styles.d.ts +13 -0
  737. package/dist/types/components/TimePicker/TimePicker.d.ts +1 -1
  738. package/dist/types/components/TimePicker/TimePickerPanel.d.ts +1 -1
  739. package/dist/types/components/TimePicker/index.d.ts +5 -5
  740. package/dist/types/components/Timeline/index.d.ts +2 -2
  741. package/dist/types/components/Toast/Toast.d.ts +1 -1
  742. package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
  743. package/dist/types/components/Toast/index.d.ts +7 -7
  744. package/dist/types/components/Toast/toast-channel.d.ts +1 -1
  745. package/dist/types/components/Toast/useToast.d.ts +1 -1
  746. package/dist/types/components/Toggle/index.d.ts +4 -4
  747. package/dist/types/components/TokenCounter/index.d.ts +2 -2
  748. package/dist/types/components/ToolCallCard/index.d.ts +2 -2
  749. package/dist/types/components/Toolbar/index.d.ts +8 -8
  750. package/dist/types/components/Tooltip/Tooltip.d.ts +26 -4
  751. package/dist/types/components/Tooltip/index.d.ts +2 -2
  752. package/dist/types/components/Tour/Tour.d.ts +1 -1
  753. package/dist/types/components/Tour/index.d.ts +2 -2
  754. package/dist/types/components/Trace/Trace.d.ts +37 -0
  755. package/dist/types/components/Trace/index.d.ts +2 -0
  756. package/dist/types/components/Transfer/Transfer.d.ts +1 -1
  757. package/dist/types/components/Transfer/index.d.ts +4 -4
  758. package/dist/types/components/Tree/SortableTree.d.ts +2 -2
  759. package/dist/types/components/Tree/Tree.d.ts +2 -2
  760. package/dist/types/components/Tree/TreeItem.d.ts +1 -1
  761. package/dist/types/components/Tree/index.d.ts +4 -4
  762. package/dist/types/components/Tree/sortable-tree-utils.d.ts +1 -1
  763. package/dist/types/components/Tree/types.d.ts +9 -1
  764. package/dist/types/components/Tree/utils.d.ts +1 -1
  765. package/dist/types/components/TreeSelect/TreeSelect.d.ts +1 -1
  766. package/dist/types/components/TreeSelect/index.d.ts +2 -2
  767. package/dist/types/components/Typography/index.d.ts +2 -2
  768. package/dist/types/components/Upload/Upload.d.ts +25 -2
  769. package/dist/types/components/Upload/UploadCore.d.ts +44 -3
  770. package/dist/types/components/Upload/UploadList.d.ts +16 -2
  771. package/dist/types/components/Upload/index.d.ts +5 -5
  772. package/dist/types/components/Upload/types.d.ts +28 -1
  773. package/dist/types/components/Upload/xhr-upload.d.ts +1 -1
  774. package/dist/types/components/VirtualList/index.d.ts +2 -2
  775. package/dist/types/components/VisuallyHidden/index.d.ts +2 -2
  776. package/dist/types/components/Watermark/index.d.ts +2 -2
  777. package/dist/types/components/Workbench/index.d.ts +2 -2
  778. package/dist/types/dates/buddhist.d.ts +1 -1
  779. package/dist/types/dates/ethiopic.d.ts +1 -1
  780. package/dist/types/dates/gregory.d.ts +1 -1
  781. package/dist/types/dates/hebrew.d.ts +1 -1
  782. package/dist/types/dates/index.d.ts +11 -11
  783. package/dist/types/dates/islamic.d.ts +1 -1
  784. package/dist/types/dates/japanese.d.ts +1 -1
  785. package/dist/types/dates/persian.d.ts +1 -1
  786. package/dist/types/dates/registry.d.ts +1 -1
  787. package/dist/types/form/FormItem.d.ts +38 -1
  788. package/dist/types/form/index.d.ts +17 -7
  789. package/dist/types/headless/index.d.ts +45 -40
  790. package/dist/types/hooks/index.d.ts +33 -33
  791. package/dist/types/hooks/useHotkeys.d.ts +16 -4
  792. package/dist/types/index.d.ts +351 -303
  793. package/dist/types/locales/index.d.ts +32 -0
  794. package/dist/types/tokens/colors.d.ts +15 -0
  795. package/dist/types/tokens/density.d.ts +1 -1
  796. package/dist/types/tokens/index.d.ts +11 -11
  797. package/dist/types/tokens/palette.d.ts +1 -1
  798. package/dist/types/tokens/registry.d.ts +1 -1
  799. package/dist/types/tokens/z-index.d.ts +33 -0
  800. package/dist/types/utils/floating.d.ts +1 -1
  801. package/dist/types/utils/native-form.d.ts +32 -0
  802. package/dist/types/utils/presence.d.ts +21 -2
  803. package/dist/types/utils/sortable-shared.d.ts +6 -0
  804. package/dist/types/utils/submenu.d.ts +1 -1
  805. package/dist/utils/direction.js +10 -8
  806. package/dist/utils/floating.js +227 -185
  807. package/dist/utils/focus-scope.js +27 -24
  808. package/dist/utils/menuRadio.js +23 -21
  809. package/dist/utils/native-form.js +42 -0
  810. package/dist/utils/presence.js +16 -12
  811. package/dist/utils/sortable-shared.js +12 -8
  812. package/dist/utils/sortable.js +55 -39
  813. package/dist/utils/submenu.js +94 -82
  814. package/dist/utils/view-transition.js +11 -13
  815. package/dist/utils/viewport.js +9 -8
  816. package/package.json +160 -11
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode, Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
+ import type { ComboboxOptionData } from './combobox-options.js';
3
4
  /** Metrics override for the `virtualized` option list of Combobox. */
4
5
  type ComboboxVirtualizedConfig = {
5
6
  /**
@@ -14,19 +15,6 @@ type ComboboxVirtualizedConfig = {
14
15
  * to VirtualList's 5. */
15
16
  overscan?: number;
16
17
  };
17
- /** One entry of the `options` prop. */
18
- type ComboboxOptionData = {
19
- value: string;
20
- label: string;
21
- /**
22
- * Optional group heading: consecutive options carrying the same
23
- * `group` cluster into one `ComboboxGroup` section (sticky heading,
24
- * `role="group"` — the cmdk shape); options without a `group` stay
25
- * direct listbox children. A group whose every option was filtered
26
- * out hides entirely.
27
- */
28
- group?: string;
29
- };
30
18
  /**
31
19
  * Semantic slot classes for Combobox (keys follow the data-slot names;
32
20
  * see the `classNames` prop on {@link ComboboxProps}).
@@ -37,15 +25,28 @@ type ComboboxClassNames = {
37
25
  item?: string;
38
26
  empty?: string;
39
27
  };
40
- type ComboboxProps = {
28
+ type ComboboxProps<T extends string | number = string> = {
41
29
  /**
42
- * `string` in single mode, `string[]` when `multiple` is set. The
43
- * uncontrolled empty value is `''` in single mode, `[]` in multiple
44
- * mode.
30
+ * The option value type: `T` in single mode, `T[]` when `multiple`
31
+ * is set (defaults to `string`). The uncontrolled empty value is `''`
32
+ * in single mode, `[]` in multiple mode.
45
33
  */
46
- value?: ControlOrValue<string | string[]>;
34
+ value?: ControlOrValue<T | T[]>;
47
35
  open?: ControlOrValue<boolean>;
48
- options: ComboboxOptionData[];
36
+ /**
37
+ * Data-driven option entries (the Select `options` / Menu `items`
38
+ * precedent): `{value, label, disabled?, group?}` objects. Optional
39
+ * when compound children supply the rows — the two forms compose,
40
+ * with the data options rendering first and the children after.
41
+ */
42
+ options?: ComboboxOptionData<T>[];
43
+ /**
44
+ * Declarative compound children (the Select authoring form):
45
+ * `<ComboboxOption value>` rows, optionally inside
46
+ * `<ComboboxGroup label>` sections, flatten into the same option
47
+ * data the `options` prop takes — both forms behave identically.
48
+ */
49
+ children?: ReactNode;
49
50
  /**
50
51
  * Multiple-selection mode: selected values render as chips inside
51
52
  * the trigger, Enter toggles the highlighted option without closing
@@ -54,10 +55,10 @@ type ComboboxProps = {
54
55
  */
55
56
  multiple?: boolean;
56
57
  /**
57
- * Value callback for both modes — `string` in single mode,
58
- * `string[]` when `multiple` is set — fired after the value updates.
58
+ * Value callback for both modes — `T` in single mode, `T[]` when
59
+ * `multiple` is set — fired after the value updates.
59
60
  */
60
- onValuesChange?: (value: string | string[]) => void;
61
+ onValuesChange?: (value: T | T[]) => void;
61
62
  /**
62
63
  * Offer the current query as a creatable option: when nothing
63
64
  * matches a non-blank query, a localized `Create "…"` row renders at
@@ -137,5 +138,5 @@ type ComboboxProps = {
137
138
  */
138
139
  ref?: Ref<HTMLInputElement>;
139
140
  };
140
- export default function Combobox({ value: valueControl, open: openControl, options, multiple, onValuesChange, creatable, onCreate, onSearch, loading, empty, highlightMatches, maxHeight, placeholder, virtualThreshold, virtualized: virtualizedProp, className, classNames, ref, }: ComboboxProps): import("react").JSX.Element;
141
+ export default function Combobox<T extends string | number = string>({ value: valueControl, open: openControl, options, children, multiple, onValuesChange, creatable, onCreate, onSearch, loading, empty, highlightMatches, maxHeight, placeholder, virtualThreshold, virtualized: virtualizedProp, className, classNames, ref, }: ComboboxProps<T>): import("react").JSX.Element;
141
142
  export type { ComboboxClassNames, ComboboxProps, ComboboxVirtualizedConfig, ComboboxOptionData };
@@ -1,8 +1,15 @@
1
1
  import type { ReactNode, Ref } from 'react';
2
- type ComboboxOptionProps = {
3
- value: string;
2
+ type ComboboxOptionProps<T extends string | number = string> = {
3
+ value: T;
4
4
  highlighted?: boolean;
5
5
  selected?: boolean;
6
+ /**
7
+ * Option-level disabled state (from the `options` data or the
8
+ * declarative `disabled` prop): the row renders dimmed and
9
+ * `aria-disabled`, and both the click and keyboard pick paths reject
10
+ * it — the maxCount lock's inert-row contract.
11
+ */
12
+ disabled?: boolean;
6
13
  /**
7
14
  * DOM id of this option — what the combobox input points at via
8
15
  * aria-activedescendant while the row holds the keyboard highlight.
@@ -20,9 +27,9 @@ type ComboboxOptionProps = {
20
27
  setSize?: number;
21
28
  /** 1-based position of this option in the set, per aria-posinset. */
22
29
  posInSet?: number;
23
- onSelect?: (value: string) => void;
30
+ onSelect?: (value: T) => void;
24
31
  className?: string;
25
32
  children: ReactNode;
26
33
  };
27
- export default function ComboboxOption({ value, highlighted, selected, id, ref, setSize, posInSet, onSelect, className, children, }: ComboboxOptionProps): import("react").JSX.Element;
34
+ export default function ComboboxOption<T extends string | number = string>({ value, highlighted, selected, disabled, id, ref, setSize, posInSet, onSelect, className, children, }: ComboboxOptionProps<T>): import("react").JSX.Element;
28
35
  export type { ComboboxOptionProps };
@@ -0,0 +1,24 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * One entry of the `options` prop: value, string label, an optional
4
+ * `disabled` state (rendered dimmed/`aria-disabled`, clicks and Enter
5
+ * rejected) and an optional `group` heading — consecutive options
6
+ * sharing a `group` cluster into one `ComboboxGroup` section (the
7
+ * cmdk shape); options without a `group` stay direct listbox children.
8
+ */
9
+ export type ComboboxOptionData<T extends string | number = string> = {
10
+ value: T;
11
+ label: string;
12
+ disabled?: boolean;
13
+ group?: string;
14
+ };
15
+ /**
16
+ * Flattens declarative compound children — `<ComboboxOption>` rows,
17
+ * optionally inside `<ComboboxGroup label>` sections — into the same
18
+ * `ComboboxOptionData[]` the `options` prop takes. The label must be
19
+ * textual (filtering compares strings): string/number children pass
20
+ * through, anything else falls back to the stringified value, the same
21
+ * tolerance Select's extraction shows. Stray non-family children are
22
+ * ignored, and group nesting assigns the nearest enclosing label.
23
+ */
24
+ export declare function extractComboboxOptions<T extends string | number = string>(children: ReactNode): ComboboxOptionData<T>[];
@@ -1,6 +1,6 @@
1
- export { default as Combobox } from './Combobox';
2
- export type { ComboboxClassNames, ComboboxProps, ComboboxVirtualizedConfig, ComboboxOptionData } from './Combobox';
3
- export { default as ComboboxOption } from './ComboboxOption';
4
- export type { ComboboxOptionProps } from './ComboboxOption';
5
- export { default as ComboboxGroup } from './ComboboxGroup';
6
- export type { ComboboxGroupProps } from './ComboboxGroup';
1
+ export { default as Combobox } from './Combobox.js';
2
+ export type { ComboboxClassNames, ComboboxProps, ComboboxVirtualizedConfig, ComboboxOptionData } from './Combobox.js';
3
+ export { default as ComboboxOption } from './ComboboxOption.js';
4
+ export type { ComboboxOptionProps } from './ComboboxOption.js';
5
+ export { default as ComboboxGroup } from './ComboboxGroup.js';
6
+ export type { ComboboxGroupProps } from './ComboboxGroup.js';
@@ -10,9 +10,10 @@ type CommandProps = {
10
10
  query?: ControlOrValue<string>;
11
11
  /**
12
12
  * Whether items filter themselves against `query` (case-insensitive
13
- * substring over the item's `value`/children text and `keywords`).
14
- * Default `true` — the palette's historical behavior; pass `false`
15
- * when the consumer filters externally (e.g. server-side search).
13
+ * fuzzy subsequence match over the item's `value`/children text and
14
+ * `keywords`, ranked best-first while a query is active). Default
15
+ * `true` — the palette's historical behavior; pass `false` when the
16
+ * consumer filters externally (e.g. server-side search).
16
17
  */
17
18
  shouldFilter?: boolean;
18
19
  /**
@@ -37,6 +38,22 @@ type CommandInputProps = {
37
38
  ref?: Ref<HTMLInputElement>;
38
39
  };
39
40
  export declare function CommandInput({ placeholder, className, ref }: CommandInputProps): import("react").JSX.Element;
41
+ /** Metrics override for CommandList's `virtualized` prop. */
42
+ type CommandListVirtualizedConfig = {
43
+ /**
44
+ * Row height in px of one item row. Defaults to 37 — CommandItem's
45
+ * natural single-line box (space-2 padding top+bottom + text-sm at
46
+ * leading-normal = 8 + 21 + 8, the same math as Combobox's virtual
47
+ * rows). Items are stretched to fill it, so the two cannot drift.
48
+ */
49
+ itemHeight?: number;
50
+ /** Extra rows kept mounted around the visible window. Defaults to
51
+ * VirtualList's 5. */
52
+ overscan?: number;
53
+ /** Scrollport height cap in px. Defaults to 300 — the plain list's
54
+ * `max-height`, so both modes are equally tall at the limit. */
55
+ height?: number;
56
+ };
40
57
  type CommandListProps = {
41
58
  children: ReactNode;
42
59
  /**
@@ -44,9 +61,23 @@ type CommandListProps = {
44
61
  * the `command.noResults` locale string.
45
62
  */
46
63
  empty?: ReactNode;
64
+ /**
65
+ * Render the list through VirtualList — explicit opt-in for long
66
+ * flat lists (hundreds+ items) where plain DOM rendering gets slow.
67
+ * `true` uses the default metrics; an object customizes them.
68
+ *
69
+ * Flat `<CommandItem>` children only (fragments dissolve): grouped
70
+ * or wrapped content has no stable row shape to virtualize, so it
71
+ * logs a dev warning and renders the plain path instead. The empty
72
+ * state and `shouldFilter={false}` work through the virtual path
73
+ * like through the plain one; keyboard navigation reaches the
74
+ * mounted window (focusing an option scrolls it into view, which
75
+ * re-windows the list).
76
+ */
77
+ virtualized?: boolean | CommandListVirtualizedConfig;
47
78
  className?: string;
48
79
  };
49
- export declare function CommandList({ children, empty, className }: CommandListProps): import("react").JSX.Element;
80
+ export declare function CommandList({ children, empty, virtualized, className, }: CommandListProps): import("react").JSX.Element;
50
81
  type CommandGroupProps = {
51
82
  /**
52
83
  * Heading rendered above the group's items. Sticky while the list
@@ -86,4 +117,4 @@ type CommandItemProps = {
86
117
  onSelect?: () => void;
87
118
  };
88
119
  export declare function CommandItem({ children, value, keywords, shortcut, className, onSelect, }: CommandItemProps): import("react").JSX.Element | null;
89
- export type { CommandProps, CommandInputProps, CommandListProps, CommandGroupProps, CommandItemProps, };
120
+ export type { CommandProps, CommandInputProps, CommandListProps, CommandListVirtualizedConfig, CommandGroupProps, CommandItemProps, };
@@ -9,6 +9,28 @@ export type CommandItemLikeProps = {
9
9
  keywords?: readonly string[];
10
10
  children?: ReactNode;
11
11
  };
12
+ /** Result of one fuzzy probe: whether the query matched, and how well. */
13
+ export type FuzzyMatch = {
14
+ matched: boolean;
15
+ score: number;
16
+ };
17
+ /**
18
+ * Zero-dependency fuzzy match: every query character must appear in the
19
+ * text, in order (case-insensitive subsequence — a superset of the old
20
+ * substring match). The score ranks how well it appears:
21
+ *
22
+ * - prefix hits beat middle hits (`'sa'` → `Save` over `Mesa`),
23
+ * - contiguous runs beat scattered singles (`'us'` → `User` over `Status`),
24
+ * - word starts / camelCase humps beat word middles (`'fb'` → `fooBar`
25
+ * over `foobar`),
26
+ * - earlier hits beat later ones (gap penalty between matches).
27
+ *
28
+ * Greedy leftmost matching: each query character binds to its next
29
+ * occurrence after the previous one. Not globally optimal, but
30
+ * deterministic, linear-time, and it ranks the cases above correctly.
31
+ * An empty query matches everything with score 0.
32
+ */
33
+ export declare function fuzzyMatch(query: string, text: string): FuzzyMatch;
12
34
  /**
13
35
  * Concatenated text of an item's children — the default filter target
14
36
  * when no explicit `value` is given. Strings/numbers/booleans pass
@@ -17,13 +39,43 @@ export type CommandItemLikeProps = {
17
39
  */
18
40
  export declare function commandItemText(node: ReactNode): string;
19
41
  /**
20
- * Case-insensitive substring match of the query against an item's
21
- * filterable text: the explicit `value` (falling back to the item's
22
- * concatenated children text) plus every `keywords` entry. An empty
23
- * query matches everything, preserving the pre-filter behavior of a
24
- * fresh palette.
42
+ * Best fuzzy score of an item against the query, over its explicit
43
+ * `value` (falling back to the concatenated children text) plus every
44
+ * `keywords` entry. `null` when nothing matches; `0` for the empty
45
+ * query (everything matches, no ranking signal).
46
+ */
47
+ export declare function commandItemScore(props: CommandItemLikeProps, query: string): number | null;
48
+ /**
49
+ * Whether an item matches the query at all (fuzzy subsequence over the
50
+ * `value`/children text and `keywords`). Boolean view of
51
+ * `commandItemScore` for callers that do not rank.
25
52
  */
26
53
  export declare function commandItemMatches(props: CommandItemLikeProps, query: string): boolean;
54
+ /**
55
+ * Whether a child node is an element of the given item component (the
56
+ * component reference is passed in — the identity check keeps the walk
57
+ * precise without importing the component, which would cycle).
58
+ */
59
+ export declare function isCommandItemElement(node: ReactNode, itemComponent: unknown): node is ReactElement<CommandItemLikeProps>;
60
+ /**
61
+ * Flattens command children one conceptual level: nested arrays and
62
+ * null/booleans dissolve (Children.toArray) and fragments are
63
+ * transparent — their descendants participate as if direct, so a
64
+ * `<>{cond && <CommandItem/>}{items.map(...)}</>` composition behaves
65
+ * like a flat item run. Fragment descendants get their keys prefixed
66
+ * with the fragment's key so merged positional keys cannot collide.
67
+ */
68
+ export declare function flattenCommandChildren(children: ReactNode): ReactNode[];
69
+ /**
70
+ * Reorders a flattened child list so matching items come first, best
71
+ * fuzzy score first (ties keep source order — the sort is stable).
72
+ * Non-item children (groups, wrappers, text) keep their slots: item
73
+ * positions are refilled from the ranked queue, so interleaved
74
+ * non-item content never jumps around. Non-matching items drop out
75
+ * (they would render nothing anyway). With filtering off or an empty
76
+ * query the flattened input is returned verbatim.
77
+ */
78
+ export declare function orderCommandChildren(flatChildren: ReactNode[], itemComponent: unknown, shouldFilter: boolean, query: string): ReactNode[];
27
79
  /**
28
80
  * Collects every `<CommandItem>` element in the subtree at any nesting
29
81
  * depth (directly under the list, inside `<CommandGroup>` wrappers, or
@@ -1,4 +1,4 @@
1
- export { default as Command, CommandInput, CommandList, CommandItem, CommandGroup } from './Command';
2
- export type { CommandProps, CommandInputProps, CommandListProps, CommandItemProps, CommandGroupProps } from './Command';
3
- export { default as CommandDialog } from './CommandDialog';
4
- export type { CommandDialogProps } from './CommandDialog';
1
+ export { default as Command, CommandInput, CommandList, CommandItem, CommandGroup } from './Command.js';
2
+ export type { CommandProps, CommandInputProps, CommandListProps, CommandListVirtualizedConfig, CommandItemProps, CommandGroupProps } from './Command.js';
3
+ export { default as CommandDialog } from './CommandDialog.js';
4
+ export type { CommandDialogProps } from './CommandDialog.js';
@@ -1,25 +1,33 @@
1
- import type { DrawerClassNames } from '../Drawer/Drawer';
2
- import type { SelectClassNames } from '../Select/Select';
3
- import type { ComboboxClassNames } from '../Combobox/Combobox';
4
- import type { TagGroupClassNames } from '../TagGroup/TagGroup';
5
- import type { ToastPlacement } from '../Toast/ToastContainer';
1
+ import type { DrawerClassNames } from '../Drawer/Drawer.js';
2
+ import type { SelectClassNames } from '../Select/Select.js';
3
+ import type { ComboboxClassNames } from '../Combobox/Combobox.js';
4
+ import type { TagGroupClassNames } from '../TagGroup/TagGroup.js';
5
+ import type { MenuClassNames } from '../Menu/MenuContext.js';
6
+ import type { ToastPlacement } from '../Toast/ToastContainer.js';
7
+ import type { CalendarPickerMode } from '../Calendar/Calendar.js';
8
+ import type { TimePickerFormat } from '../TimePicker/time.js';
6
9
  /**
7
- * Component default overrides, keyed by the exported component name —
8
- * a simplified AntD-v6 `ConfigProvider` channel scoped to prop defaults
9
- * (theming stays on the token classes, i18n on `LocaleProvider`).
10
+ * THE registration record for ConfigProvider prop defaults: one entry
11
+ * per wired component, keyed by the exported component name, holding
12
+ * the partial props that component resolves config-side. Adding a
13
+ * component is one entry here plus the component's own
14
+ * `useConfigDefaults('Name')` read — nothing else (the merge below and
15
+ * the accessor in useConfigDefaults.ts are generic over this record).
10
16
  *
17
+ * A simplified AntD-v6 `ConfigProvider` channel scoped to prop defaults
18
+ * (theming stays on the token classes, i18n on `LocaleProvider`).
11
19
  * Each section names the defaults of one component; an explicit prop on
12
20
  * the component itself always beats anything set here, and a missing
13
21
  * provider leaves every component on its built-in defaults.
14
22
  */
15
- type HazeConfig = {
16
- /** `Button` prop defaults. */
17
- Button?: {
23
+ type ComponentDefaultsSections = {
24
+ /** `Button` prop defaults (CopyButton reads the same section). */
25
+ Button: {
18
26
  /** Default `size` when the prop is omitted (built-in `'md'`). */
19
27
  size?: 'sm' | 'md' | 'lg';
20
28
  };
21
29
  /** `ButtonLink` prop defaults — the anchor wearing Button's skin. */
22
- ButtonLink?: {
30
+ ButtonLink: {
23
31
  /** Default `size` when the prop is omitted (built-in `'md'`). */
24
32
  size?: 'sm' | 'md' | 'lg';
25
33
  };
@@ -29,7 +37,7 @@ type HazeConfig = {
29
37
  * own 3000ms default regardless of config. `loading()` toasts keep
30
38
  * their persistent (0ms) semantics — config never re-arms them.
31
39
  */
32
- Toast?: {
40
+ Toast: {
33
41
  /** Auto-dismiss budget in ms when a call omits `duration` (3000). */
34
42
  duration?: number;
35
43
  /** Viewport edge the stack is pinned to (`'bottom-right'`). */
@@ -38,50 +46,122 @@ type HazeConfig = {
38
46
  maxCount?: number;
39
47
  };
40
48
  /** `Tooltip` prop defaults. */
41
- Tooltip?: {
49
+ Tooltip: {
42
50
  /** Hover/focus delay in ms before the tooltip appears (150). */
43
51
  delay?: number;
44
52
  };
45
53
  /** `HoverCard` prop defaults. */
46
- HoverCard?: {
54
+ HoverCard: {
47
55
  /** Hover/focus dwell in ms before the card opens (200). */
48
56
  openDelay?: number;
49
57
  /**
50
58
  * Grace period in ms after the pointer leaves before the card
51
- * closes — the travel window into the panel (120).
59
+ * closes — the travel window into the panel (120; 300 when the
60
+ * card renders `interactive`).
52
61
  */
53
62
  closeDelay?: number;
54
63
  };
55
64
  /** `Drawer` slot classes — merged under an explicit `classNames` prop. */
56
- Drawer?: {
65
+ Drawer: {
57
66
  classNames?: DrawerClassNames;
58
67
  };
59
68
  /** `Select` slot classes — merged under an explicit `classNames` prop. */
60
- Select?: {
69
+ Select: {
61
70
  classNames?: SelectClassNames;
62
71
  };
63
72
  /** `Combobox` slot classes — merged under an explicit `classNames` prop. */
64
- Combobox?: {
73
+ Combobox: {
65
74
  classNames?: ComboboxClassNames;
66
75
  };
67
76
  /** `TagGroup` slot classes — merged under an explicit `classNames` prop. */
68
- TagGroup?: {
77
+ TagGroup: {
69
78
  classNames?: TagGroupClassNames;
70
79
  };
80
+ /** `Input` prop defaults. */
81
+ Input: {
82
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
83
+ size?: 'sm' | 'md' | 'lg';
84
+ };
85
+ /** `Textarea` prop defaults. */
86
+ Textarea: {
87
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
88
+ size?: 'sm' | 'md' | 'lg';
89
+ };
90
+ /** `NumberInput` prop defaults. */
91
+ NumberInput: {
92
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
93
+ size?: 'sm' | 'md' | 'lg';
94
+ /** Default increment/decrement `step` (built-in `1`). */
95
+ step?: number;
96
+ };
97
+ /** `Datepicker` prop defaults. */
98
+ Datepicker: {
99
+ /** Calendar granularity when the prop is omitted (built-in `'date'`). */
100
+ picker?: CalendarPickerMode;
101
+ /** First day of the week for the day grid (locale-derived). */
102
+ weekStartsOn?: 0 | 1;
103
+ };
104
+ /** `TimePicker` prop defaults. */
105
+ TimePicker: {
106
+ /** Column granularity / value serialization (built-in `'HH:mm'`). */
107
+ format?: TimePickerFormat;
108
+ /** 12-hour clock + AM/PM column, value stays 24-hour (built-in off). */
109
+ use12Hours?: boolean;
110
+ };
111
+ /** `Menu` slot classes — merged under an explicit `classNames` prop. */
112
+ Menu: {
113
+ classNames?: MenuClassNames;
114
+ };
115
+ /** `Pagination` prop defaults. */
116
+ Pagination: {
117
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
118
+ size?: 'sm' | 'md' | 'lg';
119
+ };
120
+ /** `Table` prop defaults. */
121
+ Table: {
122
+ /** Zebra-stripe even body rows (built-in off). */
123
+ striped?: boolean;
124
+ /** Full cell borders on every th/td (built-in off). */
125
+ bordered?: boolean;
126
+ };
127
+ };
128
+ /**
129
+ * Component default overrides, keyed by the exported component name —
130
+ * every section of {@link ComponentDefaultsSections}, optional.
131
+ */
132
+ type HazeConfig = {
133
+ [Section in keyof ComponentDefaultsSections]?: ComponentDefaultsSections[Section];
71
134
  };
135
+ /**
136
+ * Global spacing density. `'compact'` re-declares the spacing scale at
137
+ * 75% (tokens/density.ts) inside density-aware components; `'normal'`
138
+ * is the built-in scale. Carried in context, not DOM — each density-
139
+ * aware component (Table today) applies the token classes itself.
140
+ */
141
+ type HazeDensity = 'normal' | 'compact';
72
142
  /**
73
143
  * The fully merged config visible below a `ConfigProvider`. The
74
144
  * provider resolves nesting itself (inner sections shallow-merge over
75
- * outer ones), so the context always carries one flat value — consumers
76
- * never walk a chain.
145
+ * outer ones; an inner `density` wins, an unset one inherits), so the
146
+ * context always carries one flat value — consumers never walk a chain.
77
147
  */
78
- declare const ConfigContext: import("react").Context<HazeConfig | undefined>;
148
+ type ConfigContextValue = {
149
+ /** Merged component defaults (see {@link HazeConfig}). */
150
+ defaults: HazeConfig;
151
+ /** Resolved spacing density (`'normal'` with no provider). */
152
+ density: HazeDensity;
153
+ };
154
+ declare const ConfigContext: import("react").Context<ConfigContextValue | undefined>;
79
155
  /**
80
156
  * Per-section shallow merge for nested providers: keys the inner
81
157
  * provider names win, keys it leaves unset keep the outer value, and
82
158
  * sections present on only one side pass through untouched. Pure — no
83
159
  * DOM access, SSR-safe.
160
+ *
161
+ * Generic over the registration record: the section keys come from the
162
+ * two records themselves, so registering a new section in
163
+ * `ComponentDefaultsSections` needs no edit here.
84
164
  */
85
165
  declare function mergeConfig(outer: HazeConfig | undefined, inner: HazeConfig | undefined): HazeConfig;
86
166
  export { ConfigContext, mergeConfig };
87
- export type { HazeConfig };
167
+ export type { HazeConfig, HazeDensity, ConfigContextValue, ComponentDefaultsSections };
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { HazeConfig } from './ConfigContext';
2
+ import type { HazeConfig, HazeDensity } from './ConfigContext.js';
3
3
  type ConfigProviderProps = {
4
4
  /**
5
5
  * Component defaults, keyed by exported component name (see
@@ -8,18 +8,28 @@ type ConfigProviderProps = {
8
8
  * outer value. Explicit props on a component always beat config values.
9
9
  */
10
10
  defaults?: HazeConfig;
11
+ /**
12
+ * Global spacing density for the subtree. `'compact'` re-declares the
13
+ * spacing scale at 75% (tokens/density.ts) inside density-aware
14
+ * components — Table today; `'normal'` (the built-in) leaves the
15
+ * ambient scale. Nested providers: an inner `density` wins, one that
16
+ * omits it inherits the outer value. Explicit per-component props (a
17
+ * component's own density-ish sizing, e.g. DataTable's `size`) stay
18
+ * on their own axis and keep winning over the ambient scale.
19
+ */
20
+ density?: HazeDensity;
11
21
  children: ReactNode;
12
22
  };
13
23
  /**
14
- * Supplies library-wide component defaults to the subtree — the
15
- * AntD-v6-ConfigProvider idea, scoped to defaults only. Theming stays on
16
- * the token classes (`lightTheme` / brand themes) and copy on
17
- * `LocaleProvider`; the two providers are independent contexts and may
24
+ * Supplies library-wide component defaults and spacing density to the
25
+ * subtree — the AntD-v6-ConfigProvider idea, scoped to defaults +
26
+ * density. Theming stays on the token classes (`lightTheme` / brand
27
+ * themes) and copy on `LocaleProvider`; the two providers are independent contexts and may
18
28
  * be mounted in either order, nested in one another, or used alone.
19
29
  *
20
30
  * Renders no DOM and touches no browser API — safe under SSR (string
21
31
  * render and hydration alike). A client-boundary module (React context):
22
32
  * the lib build stamps `'use client'` on it.
23
33
  */
24
- export default function ConfigProvider({ defaults, children, }: ConfigProviderProps): import("react").JSX.Element;
34
+ export default function ConfigProvider({ defaults, density, children, }: ConfigProviderProps): import("react").JSX.Element;
25
35
  export type { ConfigProviderProps };
@@ -1,4 +1,4 @@
1
- export { default } from './ConfigProvider';
2
- export type { ConfigProviderProps } from './ConfigProvider';
3
- export { useConfigDefaults } from './useConfigDefaults';
4
- export type { HazeConfig } from './ConfigContext';
1
+ export { default } from './ConfigProvider.js';
2
+ export type { ConfigProviderProps } from './ConfigProvider.js';
3
+ export { useConfigDefaults } from './useConfigDefaults.js';
4
+ export type { HazeConfig, HazeDensity } from './ConfigContext.js';
@@ -1,4 +1,4 @@
1
- import type { HazeConfig } from './ConfigContext';
1
+ import type { HazeConfig, HazeDensity } from './ConfigContext.js';
2
2
  /**
3
3
  * Reads one component's resolved defaults from the enclosing
4
4
  * `ConfigProvider` chain. Returns a frozen empty object when no provider
@@ -7,13 +7,17 @@ import type { HazeConfig } from './ConfigContext';
7
7
  *
8
8
  * ## Wiring a new component (the internal pattern)
9
9
  *
10
- * 1. Declare a section in `HazeConfig` (`ConfigContext.ts`) named after
11
- * the exported component:
10
+ * 1. Register the section — ONE entry in the `ComponentDefaultsSections`
11
+ * record (`ConfigContext.ts`) named after the exported component:
12
12
  *
13
13
  * ```ts
14
- * MyComponent?: { size?: 'sm' | 'md' | 'lg' };
14
+ * MyComponent: { size?: 'sm' | 'md' | 'lg' };
15
15
  * ```
16
16
  *
17
+ * That single entry types the provider prop (`defaults`), the nesting
18
+ * merge and this accessor at once — `mergeConfig` derives its section
19
+ * keys from the records it merges, so nothing else needs editing.
20
+ *
17
21
  * 2. In the component, drop the destructuring default for each wired
18
22
  * prop and resolve three tiers — explicit prop, config, built-in:
19
23
  *
@@ -26,3 +30,12 @@ import type { HazeConfig } from './ConfigContext';
26
30
  * the component rendered before the wiring (byte-identical).
27
31
  */
28
32
  export declare function useConfigDefaults<K extends keyof HazeConfig>(component: K): Readonly<NonNullable<HazeConfig[K]>>;
33
+ /**
34
+ * Reads the resolved spacing density from the enclosing
35
+ * `ConfigProvider` chain — `'normal'` with no provider, an inner
36
+ * provider's value over an outer one. Density-aware components use this
37
+ * to apply the token classes that re-declare the spacing scale for
38
+ * their subtree (Table today; see tokens/density.ts for the island
39
+ * contract — the spacing class must be re-declared alongside `compact`).
40
+ */
41
+ export declare function useConfigDensity(): HazeDensity;
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ConfirmDialogProps } from './ConfirmDialog';
2
+ import type { ConfirmDialogProps } from './ConfirmDialog.js';
3
3
  /**
4
4
  * Options for the imperative confirm — {@link ConfirmDialogProps} minus
5
5
  * the wired callbacks (the promise carries the answer, so `onClose`/
@@ -1,4 +1,4 @@
1
- export { default as ConfirmDialog } from './ConfirmDialog';
2
- export type { ConfirmDialogProps } from './ConfirmDialog';
3
- export { confirm } from './confirm';
4
- export type { ConfirmOptions } from './confirm';
1
+ export { default as ConfirmDialog } from './ConfirmDialog.js';
2
+ export type { ConfirmDialogProps } from './ConfirmDialog.js';
3
+ export { confirm } from './confirm.js';
4
+ export type { ConfirmOptions } from './confirm.js';
@@ -1,2 +1,2 @@
1
- export { default as Container } from './Container';
2
- export type { ContainerProps } from './Container';
1
+ export { default as Container } from './Container.js';
2
+ export type { ContainerProps } from './Container.js';
@@ -1,10 +1,28 @@
1
- import type { ReactNode } from 'react';
1
+ import type { ReactNode, Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
+ import type { ContextMenuClassNames } from './ContextMenuContext.js';
3
4
  type ContextMenuProps = {
4
5
  open?: ControlOrValue<boolean>;
5
6
  onOpenChange?: (open: boolean) => void;
6
7
  children: ReactNode;
8
+ /**
9
+ * Semantic slot classes (AntD v6 `classNames` shape): declared once
10
+ * here and distributed to every family part through context (see
11
+ * {@link ContextMenuClassNames}). Slot classes are appended at the
12
+ * end of each part's class list; per-part `className` props still
13
+ * land after the slot class. Not passing it renders identical output.
14
+ */
15
+ classNames?: ContextMenuClassNames;
7
16
  className?: string;
17
+ /**
18
+ * Forwarded to the family's root wrapper `<div>`
19
+ * (`data-slot='context-menu'`) — the container holding both the
20
+ * right-click area and the floating panel. The panel itself is a
21
+ * native popover with its own DOM; reach it through
22
+ * `classNames.content` styling or panel queries (`role="menu"`), not
23
+ * this ref.
24
+ */
25
+ ref?: Ref<HTMLDivElement>;
8
26
  };
9
- export default function ContextMenu({ open: openControl, onOpenChange, children, className, }: ContextMenuProps): import("react").JSX.Element;
27
+ export default function ContextMenu({ open: openControl, onOpenChange, children, classNames, className, ref, }: ContextMenuProps): import("react").JSX.Element;
10
28
  export type { ContextMenuProps };