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,26 @@
1
1
  import type { Dispatch, RefObject, SetStateAction } from 'react';
2
- import type { FloatingBehavior } from '../../utils/floating';
2
+ import type { FloatingBehavior } from '../../utils/floating.js';
3
+ /**
4
+ * Semantic slot classes (AntD v6 `classNames` shape) for the
5
+ * ContextMenu family: declared once on `<ContextMenu>` and distributed
6
+ * to every part through this context — one record themes the wrapper,
7
+ * the trigger area, the content panel and every item. Consumer classes
8
+ * are appended at the end of each part's class list (able to override
9
+ * component defaults); per-part `className` props remain for one-off
10
+ * tweaks and still land after the slot class.
11
+ */
12
+ export type ContextMenuClassNames = {
13
+ /** The wrapper `<div>` (`data-slot='context-menu'`) the root renders. */
14
+ root?: string;
15
+ /** Every `<ContextMenuTrigger>` area (`data-slot='trigger'`). */
16
+ trigger?: string;
17
+ /** Every `<ContextMenuContent>` panel (`role="menu"`, `data-slot='content'`). */
18
+ content?: string;
19
+ /** Every `<ContextMenuItem>` (`data-slot='menu-item'`). */
20
+ item?: string;
21
+ /** Every `<ContextMenuSeparator>` (`data-slot='separator'`). */
22
+ separator?: string;
23
+ };
3
24
  type ContextMenuContextValue = {
4
25
  open: boolean;
5
26
  setOpen: Dispatch<SetStateAction<boolean>>;
@@ -9,6 +30,9 @@ type ContextMenuContextValue = {
9
30
  contentRef: RefObject<HTMLDivElement | null>;
10
31
  /** Floating-panel behavior shared by the root and content. */
11
32
  floating: FloatingBehavior;
33
+ /** Slot classes declared on the root `<ContextMenu>`; parts append
34
+ * them after their own classes, before per-part `className`. */
35
+ classNames: ContextMenuClassNames | undefined;
12
36
  };
13
37
  export declare const ContextMenuProvider: import("react").Provider<ContextMenuContextValue | undefined>;
14
38
  export declare function useContextMenuContext(): ContextMenuContextValue;
@@ -1,10 +1,11 @@
1
- export { default as ContextMenu } from './ContextMenu';
2
- export { default as ContextMenuTrigger } from './ContextMenuTrigger';
3
- export { default as ContextMenuContent } from './ContextMenuContent';
4
- export { default as ContextMenuItem } from './ContextMenuItem';
5
- export { default as ContextMenuSeparator } from './ContextMenuSeparator';
6
- export type { ContextMenuProps } from './ContextMenu';
7
- export type { ContextMenuTriggerProps } from './ContextMenuTrigger';
8
- export type { ContextMenuContentProps } from './ContextMenuContent';
9
- export type { ContextMenuItemProps } from './ContextMenuItem';
10
- export type { ContextMenuSeparatorProps } from './ContextMenuSeparator';
1
+ export { default as ContextMenu } from './ContextMenu.js';
2
+ export { default as ContextMenuTrigger } from './ContextMenuTrigger.js';
3
+ export { default as ContextMenuContent } from './ContextMenuContent.js';
4
+ export { default as ContextMenuItem } from './ContextMenuItem.js';
5
+ export { default as ContextMenuSeparator } from './ContextMenuSeparator.js';
6
+ export type { ContextMenuProps } from './ContextMenu.js';
7
+ export type { ContextMenuClassNames } from './ContextMenuContext.js';
8
+ export type { ContextMenuTriggerProps } from './ContextMenuTrigger.js';
9
+ export type { ContextMenuContentProps } from './ContextMenuContent.js';
10
+ export type { ContextMenuItemProps } from './ContextMenuItem.js';
11
+ export type { ContextMenuSeparatorProps } from './ContextMenuSeparator.js';
@@ -1,4 +1,4 @@
1
- export { default as ConversationList } from './ConversationList';
2
- export { default as ConversationItem } from './ConversationItem';
3
- export type { ConversationListProps } from './ConversationList';
4
- export type { ConversationItemProps } from './ConversationItem';
1
+ export { default as ConversationList } from './ConversationList.js';
2
+ export { default as ConversationItem } from './ConversationItem.js';
3
+ export type { ConversationListProps } from './ConversationList.js';
4
+ export type { ConversationItemProps } from './ConversationItem.js';
@@ -0,0 +1,56 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ButtonProps } from '../Button/index.js';
3
+ /** Semantic slot classes for CopyButton (AntD v6 `classNames` shape;
4
+ * keys follow the data-slot names). */
5
+ type CopyButtonClassNames = {
6
+ /** The button element (Button's data-slot='button'). */
7
+ root?: string;
8
+ /** Both glyphs (copy/check); the active one wears the class. */
9
+ icon?: string;
10
+ };
11
+ type CopyButtonOwnProps = {
12
+ /** The text to copy. */
13
+ value?: string;
14
+ /** Lazy source evaluated on every click (a live reading like the
15
+ * current URL or a fresh token); wins over `value` when both are
16
+ * set. */
17
+ getValue?: () => string;
18
+ /** How long the copied feedback lasts, in ms. Defaults to 2000. */
19
+ copiedTimeout?: number;
20
+ /** Accessible name while idle. Defaults to 'Copy'. */
21
+ copyLabel?: string;
22
+ /** Accessible name while copied. Defaults to 'Copied'. */
23
+ copiedLabel?: string;
24
+ /** Slot classes (see {@link CopyButtonClassNames}). */
25
+ classNames?: CopyButtonClassNames;
26
+ };
27
+ type CopyButtonProps = CopyButtonOwnProps & {
28
+ /**
29
+ * Icon or label. Defaults to the copy/check glyph pair; a function
30
+ * receives the copied state so text labels can switch their own
31
+ * wording (`(copied) => copied ? 'Copied!' : 'Copy'`).
32
+ */
33
+ children?: ReactNode | ((copied: boolean) => ReactNode);
34
+ } & Omit<ButtonProps, keyof CopyButtonOwnProps | 'children'>;
35
+ /**
36
+ * A `Button` that copies text to the clipboard on click and flips into
37
+ * a copied state for `copiedTimeout` ms (default 2000): the glyph
38
+ * swaps copy → check (non-solid variants also ink success), the
39
+ * accessible name swaps `copyLabel` → `copiedLabel`, and a visually
40
+ * hidden `role='status'` announces the change to screen readers
41
+ * (WCAG 4.1.3 — the label swap alone is not announced on an already
42
+ * focused control).
43
+ *
44
+ * The copy plumbing is `useClipboard`: async clipboard API first,
45
+ * deprecated `execCommand` fallback second; when both fail the button
46
+ * simply stays idle. Sizing and variants are Button's — including the
47
+ * ConfigProvider `Button.size` default tier. The default shape is the
48
+ * square icon button (`square`, outline); text-label render props pair
49
+ * naturally with `square={false}`.
50
+ *
51
+ * Precedence notes: `getValue` wins over `value`; an explicit
52
+ * `aria-label` passed through the rest props overrides the swapped
53
+ * `copyLabel`/`copiedLabel` naming (statically, for both states).
54
+ */
55
+ export default function CopyButton({ value, getValue, copiedTimeout, copyLabel, copiedLabel, variant, square, size, classNames, className, children, onClick, ...rest }: CopyButtonProps): import("react").JSX.Element;
56
+ export type { CopyButtonClassNames, CopyButtonProps };
@@ -0,0 +1,48 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
2
+ /** Semantic slot classes for Snippet (AntD v6 `classNames` shape;
3
+ * keys follow the data-slot names). */
4
+ type SnippetClassNames = {
5
+ /** The chip wrapper (data-slot='snippet'). */
6
+ root?: string;
7
+ /** The mono content cell (data-slot='content'). */
8
+ content?: string;
9
+ /** The docked copy button (forwarded to CopyButton's root slot). */
10
+ copyButton?: string;
11
+ /** The copy/check glyphs (forwarded to CopyButton's icon slot). */
12
+ icon?: string;
13
+ };
14
+ type SnippetOwnProps = {
15
+ /** The text the copy button puts on the clipboard. */
16
+ value: string;
17
+ /** How long the copied feedback lasts, in ms. Defaults to 2000. */
18
+ copiedTimeout?: number;
19
+ /** CopyButton's accessible name while idle. Defaults to 'Copy'. */
20
+ copyLabel?: string;
21
+ /** CopyButton's accessible name while copied. Defaults to 'Copied'. */
22
+ copiedLabel?: string;
23
+ /** Slot classes (see {@link SnippetClassNames}). */
24
+ classNames?: SnippetClassNames;
25
+ };
26
+ type SnippetProps = SnippetOwnProps & {
27
+ /**
28
+ * Display content inside the chip; defaults to `value` verbatim.
29
+ * Pass a styled node to mask secrets or abbreviate long payloads —
30
+ * the clipboard always gets `value`.
31
+ */
32
+ children?: ReactNode;
33
+ className?: string;
34
+ /** Forwarded to the chip wrapper (data-slot='snippet'). */
35
+ ref?: Ref<HTMLDivElement>;
36
+ } & Omit<ComponentPropsWithoutRef<'div'>, keyof SnippetOwnProps | 'className' | 'children'>;
37
+ /**
38
+ * An inline snippet with one-click copy: a mono chip (`value`, or a
39
+ * custom `children` display) with a small ghost `CopyButton` docked
40
+ * at the trailing edge — the install-command / API-key / share-link
41
+ * affordance. Display and clipboard payload are independent: children
42
+ * never reach the clipboard, `value` always does.
43
+ *
44
+ * For a multiline code listing with optional syntax highlighting, use
45
+ * `CodeBlock` instead — a snippet is a single inline value.
46
+ */
47
+ export default function Snippet({ value, copiedTimeout, copyLabel, copiedLabel, classNames, className, children, ref, ...rest }: SnippetProps): import("react").JSX.Element;
48
+ export type { SnippetClassNames, SnippetProps };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared CopyButton skin — the copy/check glyph sizing per Button size
3
+ * and the copied feedback wash. The button chrome itself is Button's
4
+ * (CopyButton composes a real `Button`), so only the icon steps and
5
+ * the copied accent live here; split-css groups the emitted CSS into
6
+ * `haze-ui/css/copy-button.css` (Button's own rules ride along via
7
+ * the build's cross-family dependency closure).
8
+ */
9
+ export declare const iconSizes: {
10
+ readonly sm: import("@linaria/core").LinariaClassName;
11
+ readonly md: import("@linaria/core").LinariaClassName;
12
+ readonly lg: import("@linaria/core").LinariaClassName;
13
+ };
14
+ /**
15
+ * Copied-state accent: the check glyph inks success while
16
+ * `data-copied` is set. Gated by the component to the non-solid
17
+ * variants — success-on-primary would sit on a saturated fill where
18
+ * the tone has no contrast; solid buttons keep their label ink and
19
+ * the glyph swap alone carries the feedback.
20
+ */
21
+ export declare const copiedSkin: import("@linaria/core").LinariaClassName;
@@ -0,0 +1,5 @@
1
+ export { default as CopyButton } from './CopyButton.js';
2
+ export type { CopyButtonProps, CopyButtonClassNames } from './CopyButton.js';
3
+ export { default as Snippet } from './Snippet.js';
4
+ export type { SnippetProps, SnippetClassNames } from './Snippet.js';
5
+ export { iconSizes } from './copy-button-styles.js';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared Snippet skin — the inline code chip `Snippet` renders: mono
3
+ * content cell that ellipsizes, with a CopyButton docked at the
4
+ * trailing edge. Living in its own module keeps the component file
5
+ * free of style internals (react-refresh boundary); split-css groups
6
+ * the emitted CSS into `haze-ui/css/copy-button.css` (Snippet lives
7
+ * in the CopyButton directory and shares its css family).
8
+ */
9
+ export declare const snippet: import("@linaria/core").LinariaClassName;
10
+ export declare const content: import("@linaria/core").LinariaClassName;
@@ -1,2 +1,2 @@
1
- export { default as CountUp } from './CountUp';
2
- export type { CountUpProps } from './CountUp';
1
+ export { default as CountUp } from './CountUp.js';
2
+ export type { CountUpProps } from './CountUp.js';
@@ -0,0 +1,30 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ /** Decomposed remaining time handed to `format`/`render`. */
3
+ type CountdownParts = {
4
+ /** Whole seconds left — `ceil` of the exact milliseconds so every
5
+ * displayed second is a full second and the display lands on 0 exactly
6
+ * at the deadline. */
7
+ totalSeconds: number;
8
+ days: number;
9
+ hours: number;
10
+ minutes: number;
11
+ seconds: number;
12
+ /** Deadline reached — parts are all zero and the clock has stopped. */
13
+ finished: boolean;
14
+ };
15
+ type CountdownProps = {
16
+ /** Deadline: epoch milliseconds or a `Date`. Changing it re-aims the
17
+ * clock (and re-arms a spent `onFinish`). */
18
+ value: number | Date;
19
+ /** Fires exactly once when the deadline is reached. */
20
+ onFinish?: () => void;
21
+ /** Parts → display string. Default: adaptive — `1d 02:03:04` past a
22
+ * day, `02:03:04` under it. */
23
+ format?: (parts: CountdownParts) => string;
24
+ /** Parts → arbitrary node — the render escape hatch next to `format`
25
+ * for non-string output. */
26
+ render?: (parts: CountdownParts) => ReactNode;
27
+ className?: string;
28
+ } & Omit<ComponentPropsWithoutRef<'span'>, 'children'>;
29
+ export default function Countdown({ value, onFinish, format, render, className, ...rest }: CountdownProps): import("react").JSX.Element;
30
+ export type { CountdownProps, CountdownParts };
@@ -0,0 +1,2 @@
1
+ export { default as Countdown } from './Countdown.js';
2
+ export type { CountdownProps, CountdownParts } from './Countdown.js';
@@ -1,8 +1,9 @@
1
- import type { ComponentPropsWithoutRef, MouseEvent, ReactNode } from 'react';
1
+ import type { ComponentPropsWithoutRef, MouseEvent, ReactNode, Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
- import type { ColumnDef, ColumnVisibilityState, ExpandedState, Row, RowData, RowSelectionState, SortingState } from '@tanstack/react-table';
4
- import type { DataTableCellEditorProps, DataTableColumnMeta } from './features';
5
- import { dataTableFeatures } from './features';
3
+ import type { ColumnDef, ColumnOrderState, ColumnVisibilityState, ExpandedState, Row, RowData, RowSelectionState, SortingState } from '@tanstack/react-table';
4
+ import type { DataTableCellEditorProps, DataTableColumnMeta } from './features.js';
5
+ import type { DataTableFiltersState } from './filters.js';
6
+ import { dataTableFeatures } from './features.js';
6
7
  /** Windowing configuration for the table body, reusing `VirtualList`. */
7
8
  type DataTableVirtualized = boolean | {
8
9
  /** Fixed row height in px — must match the rendered row (custom cell
@@ -16,9 +17,22 @@ type DataTableVirtualized = boolean | {
16
17
  * bound to DataTable's feature set and column meta. The native `size`
17
18
  * field doubles as a static px width hint (read as the colgroup width
18
19
  * fallback after `meta.width`) and seeds the resize math when `resizable`
19
- * is on. */
20
+ * is on. The `meta` extension adds `filterFn`, the custom predicate of
21
+ * the header filter menu, typed against this table's row data (the
22
+ * feature-registered meta carries only the TData-independent fields). */
20
23
  type DataTableColumnDef<TData extends RowData> = ColumnDef<typeof dataTableFeatures, TData> & {
21
24
  size?: number;
25
+ meta?: {
26
+ /**
27
+ * Replaces the default membership check of the header filter menu
28
+ * (`meta.filters`): a row passes the column's filter when this
29
+ * returns true for the selected values array. Receives the row's
30
+ * original data, the selected option values and the current cell
31
+ * value. The default keeps rows whose cell value equals a selected
32
+ * one (`values.includes(rowValue)`).
33
+ */
34
+ filterFn?: (row: TData, filterValue: unknown[], rowValue: unknown) => boolean;
35
+ };
22
36
  };
23
37
  /** One cell of a summary row: a static string or number (`undefined`
24
38
  * renders an empty cell — `dataTableAvg` of no numeric values), or a
@@ -32,6 +46,43 @@ type DataTableSummary<TData extends RowData = RowData> = {
32
46
  label?: string;
33
47
  cells: DataTableSummaryCell<TData>[];
34
48
  };
49
+ /**
50
+ * Semantic slot classes (AntD v6 `classNames` shape) for DataTable:
51
+ * declared once on the root and distributed to the structural parts —
52
+ * the wrapper, the toolbar strip and the pagination footer on their
53
+ * own `<div>`s, the header/body/row/cell slots through the same
54
+ * context the Table primitives read (every `<th>`/`<td>` the table
55
+ * renders — header, body, selection, skeleton, empty, filter and
56
+ * summary cells alike). Slot classes are appended at the end of each
57
+ * part's class list; per-part `className` stays on the root and still
58
+ * lands after the `wrapper` slot.
59
+ */
60
+ type DataTableClassNames = {
61
+ /** The root wrapper (`data-slot='data-table'`). */
62
+ wrapper?: string;
63
+ /** The header `<thead>` (rendered through `TableHead`). */
64
+ header?: string;
65
+ /** The toolbar strip above the table (`data-slot='toolbar'`) — only
66
+ * rendered while the `toolbar` slot or `columnToggle` (without
67
+ * `pageSize`) contributes something. */
68
+ toolbar?: string;
69
+ /** The pagination footer row (`data-slot='pagination'`) — only
70
+ * rendered while `pageSize` is set. */
71
+ footer?: string;
72
+ /** Every body `<tbody>` (rendered through `TableBody`) — data,
73
+ * skeleton, empty and filter bodies alike. */
74
+ body?: string;
75
+ /** Every data row `<tr>` — body rows plus the skeleton and empty
76
+ * placeholder rows and the summary rows (header rows keep the
77
+ * `header` slot's domain). */
78
+ row?: string;
79
+ /** Every cell `<th>`/`<td>` — header, body (incl. selection),
80
+ * skeleton, empty, filter and summary cells alike. */
81
+ cell?: string;
82
+ /** The summary `<tfoot>` (`data-slot='summary'`) — only rendered
83
+ * while `summary` returns rows. */
84
+ summary?: string;
85
+ };
35
86
  type DataTableProps<TData extends RowData> = {
36
87
  /** Column definitions: accessors, headers and cell templates. */
37
88
  columns: DataTableColumnDef<TData>[];
@@ -95,9 +146,11 @@ type DataTableProps<TData extends RowData> = {
95
146
  * height; an object pins it explicitly (plus an optional `overscan`,
96
147
  * default 5).
97
148
  *
98
- * The default height is `34px` — the natural single-line row of the
99
- * default cell styles: 2 × `--haze-space-2` padding (16px) + a 14px
100
- * (`--haze-text-sm`) line box + the 1px row border.
149
+ * The default height follows the `size` density step — `34px` at `md`,
150
+ * the natural single-line row of the default cell styles: 2 ×
151
+ * `--haze-space-2` padding (16px) + a 14px (`--haze-text-sm`) line box +
152
+ * the 1px row border. `sm` tightens it to `23px`, `lg` loosens it to
153
+ * `39px`.
101
154
  *
102
155
  * Limitations and tradeoffs (evaluated against keeping `<tr>`s in one
103
156
  * shared table): `VirtualList` positions rows through absolutely
@@ -209,6 +262,31 @@ type DataTableProps<TData extends RowData> = {
209
262
  * filter function. Defaults to `false`.
210
263
  */
211
264
  filterable?: boolean;
265
+ /**
266
+ * Column filter menus: any column declaring `meta.filters` (a list of
267
+ * `{ text, value }` options) grows a funnel trigger in its header cell
268
+ * opening a floating panel with one checkbox per option, plus
269
+ * Apply/Reset. The state maps column id → selected option values; it
270
+ * composes with the `filterable` text row, sorting and pagination
271
+ * (menus filter first, then the text filters, then sorting, then the
272
+ * page slice), and `dataTableToCsv` mirrors it through its `filters`
273
+ * option. A row passes when `meta.filterFn` returns true for the
274
+ * selection — the default keeps rows whose cell value equals a
275
+ * selected one. Controllable exactly like `sorting`/`page`: pass a
276
+ * value or `Control` to seed or drive it, observe every mutation
277
+ * through `onFiltersChange`. In `manual` mode the table renders `data`
278
+ * as received (the refetch trigger is yours, like sorting); row ids
279
+ * derive from the filtered array, so combine with `getRowId` when
280
+ * filtering and selecting together.
281
+ */
282
+ filters?: ControlOrValue<DataTableFiltersState>;
283
+ /**
284
+ * Fires with the next column-filter state whenever a menu commits —
285
+ * Apply and Reset clicks alike, and programmatic updates on a
286
+ * controlled `filters`. In `manual` mode this is the server refetch
287
+ * trigger.
288
+ */
289
+ onFiltersChange?: (filters: DataTableFiltersState) => void;
212
290
  /**
213
291
  * Renders summary rows in a `<tfoot>` below the body: one row per entry,
214
292
  * one cell per leaf column (`cells[i]` aligns with column `i`; the
@@ -248,7 +326,88 @@ type DataTableProps<TData extends RowData> = {
248
326
  * consumer owns the data — update it to make the edit visible.
249
327
  */
250
328
  onCellEdit?: (rowId: string, columnId: string, nextValue: unknown, prevValue: unknown) => void;
329
+ /**
330
+ * Custom actions rendered in the toolbar strip at the table's inline-end
331
+ * corner — the same container as the `columnToggle` trigger (flex row,
332
+ * content first, trigger last). Renders above the table whether or not
333
+ * `pageSize` is set; the strip only appears when this slot or
334
+ * `columnToggle` contributes something (`null`/`undefined` render
335
+ * nothing). Available in every mode — `loading` swaps the body for the
336
+ * skeleton and leaves the strip untouched.
337
+ */
338
+ toolbar?: ReactNode;
339
+ /**
340
+ * Cell density across header, body and summary footer: `sm` tightens the
341
+ * cell padding to `--haze-space-1/--haze-space-2`, `lg` loosens it to
342
+ * `--haze-space-3/--haze-space-4`, `md` (the default) keeps the Table
343
+ * primitives' `--haze-space-2/--haze-space-3`. Padding comes from spacing
344
+ * tokens, so the global `compact` density class composes — it shrinks the
345
+ * tokens these rules consume rather than fighting them (compact + `sm`
346
+ * stacks). Font size stays `--haze-text-sm` in every step; when
347
+ * `virtualized` without an explicit `rowHeight`, the default height
348
+ * follows the step (23/34/39px).
349
+ */
350
+ size?: 'sm' | 'md' | 'lg';
351
+ /**
352
+ * Enable column reordering: every leaf header cell grows a drag grip
353
+ * (an inline-start ⠿ affordance) that can be dragged with the pointer —
354
+ * via `@dnd-kit`, loaded lazily the first time this prop is on, so
355
+ * tables that never opt in carry none of the drag runtime — or moved
356
+ * with the keyboard: the grip is a focusable button (its own tab stop,
357
+ * the resize-handle precedent) and Alt+ArrowLeft / Alt+ArrowRight move
358
+ * the column one slot (mirrored under RTL). The order lives in
359
+ * TanStack's `columnOrder` state and every reorder reports through
360
+ * `onColumnOrderChange`. The selection column stays pinned out of the
361
+ * reordering set, as do hidden columns (they simply have no grip);
362
+ * tree-expandable rows keep their expander inside the first content
363
+ * column, which reorders like any other. Composes with sorting,
364
+ * resizing (grip inline-start, resize handle inline-end), fixed
365
+ * columns, filtering and `virtualized` — the mirrored colgroup follows
366
+ * the new order. Grouped (nested) headers disable reordering: the prop
367
+ * is ignored and a dev-mode `console.warn` explains why, because a
368
+ * group header spans several leaves and has no single slot to move.
369
+ */
370
+ columnReorderable?: boolean;
371
+ /**
372
+ * Reports the next column order — the ids of every visible leaf column,
373
+ * in their new sequence — after a completed reorder, whether it came
374
+ * from a pointer drag or the Alt+Arrow keys. Purely observational: the
375
+ * order itself is owned by the table's internal state, so persisting a
376
+ * preferred order means seeding `columns` in that sequence next mount.
377
+ */
378
+ onColumnOrderChange?: (order: ColumnOrderState) => void;
379
+ /**
380
+ * Infinite-scroll trigger: fires when the table's scroll position comes
381
+ * within `endReachedThreshold` px of the last rendered row — the "load
382
+ * the next page" signal. In `virtualized` mode this is VirtualList's
383
+ * own end-reached channel (content shorter than the window fires
384
+ * immediately, and the trigger re-arms after content grows); otherwise
385
+ * a zero-footprint sentinel after the body is watched through an
386
+ * IntersectionObserver rooted at the table's own scroll container when
387
+ * it scrolls vertically (`stickyHeader`), falling back to the viewport —
388
+ * which still respects consumer scroll containers, since intersection
389
+ * is computed through every scrollable clipper between the sentinel
390
+ * and the viewport. Coexists with `manual` pagination on purpose:
391
+ * `onEndReached` keeps firing and the consumer decides whether to
392
+ * append rows or let the pager turn pages.
393
+ */
394
+ onEndReached?: () => void;
395
+ /**
396
+ * Distance in px from the end of the content that arms `onEndReached`.
397
+ * Defaults to `200`.
398
+ */
399
+ endReachedThreshold?: number;
400
+ /**
401
+ * Semantic slot classes (AntD v6 `classNames` shape): keyed by
402
+ * structural part (see {@link DataTableClassNames}). Not passing it
403
+ * renders identical output.
404
+ */
405
+ classNames?: DataTableClassNames;
251
406
  className?: string;
407
+ /** Forwarded to the root wrapper `<div>` (`data-slot='data-table'`)
408
+ * — the `...rest` spread keeps landing on the inner `<table>`. */
409
+ ref?: Ref<HTMLDivElement>;
252
410
  } & Omit<ComponentPropsWithoutRef<'table'>, 'children' | 'summary'>;
253
- export default function DataTable<TData extends RowData>({ columns, data, sortable, selectable, rowSelection: rowSelectionControl, sorting: sortingControl, pageSize, page: pageControl, manual, pageCount, onPageChange, onSortChange, loading, stickyHeader, virtualized, getRowId, onRowClick, empty, resizable, expanded: expandedControl, getRowCanExpand, renderExpandedRow, subRowsKey, columnVisibility: columnVisibilityControl, columnToggle, filterable, summary, stickyFooter, editable, onCellEdit, className, ...rest }: DataTableProps<TData>): import("react").JSX.Element;
254
- export type { DataTableProps, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, DataTableSummary, DataTableSummaryCell, DataTableCellEditorProps, };
411
+ export default function DataTable<TData extends RowData>({ columns, data, sortable, selectable, rowSelection: rowSelectionControl, sorting: sortingControl, pageSize, page: pageControl, manual, pageCount, onPageChange, onSortChange, loading, stickyHeader, virtualized, getRowId, onRowClick, empty, resizable, expanded: expandedControl, getRowCanExpand, renderExpandedRow, subRowsKey, columnVisibility: columnVisibilityControl, columnToggle, filterable, filters: filtersControl, onFiltersChange, summary, stickyFooter, editable, onCellEdit, toolbar: toolbarSlot, size: density, columnReorderable, onColumnOrderChange, onEndReached, endReachedThreshold, classNames, className, ref, ...rest }: DataTableProps<TData>): import("react").JSX.Element;
412
+ export type { DataTableProps, DataTableClassNames, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, DataTableSummary, DataTableSummaryCell, DataTableCellEditorProps, };
413
+ export type { DataTableFiltersState } from './filters.js';
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from 'react';
2
+ /** One predefined option of a column's header filter menu (`meta.filters`
3
+ * entry): the visible label and the value landing in the `filters` state
4
+ * when selected. */
5
+ type ColumnFilterOption = {
6
+ text: ReactNode;
7
+ value: unknown;
8
+ };
9
+ /**
10
+ * The funnel trigger on a filterable column's header cell: a `Popover`
11
+ * (its trigger span carries `role=button`, `aria-expanded`,
12
+ * `aria-haspopup` and the keyboard model) opening the column's filter
13
+ * menu. The icon marks the active state — filled and primary-colored
14
+ * while the column carries a selection.
15
+ */
16
+ declare function ColumnFilterTrigger({ label, options, selected, onChange, }: {
17
+ /** Column label — the trigger's sr-only name and the group's. */
18
+ label: string;
19
+ /** The column's predefined options, in declared order. */
20
+ options: ColumnFilterOption[];
21
+ /** The committed selection (selected option values). */
22
+ selected: unknown[];
23
+ /** Commits the next selection for this column. */
24
+ onChange: (values: unknown[]) => void;
25
+ }): import("react").JSX.Element;
26
+ export default ColumnFilterTrigger;
27
+ export type { ColumnFilterOption };
@@ -0,0 +1,32 @@
1
+ import type { ReactNode } from 'react';
2
+ import { SortableItem } from '../../utils/sortable.js';
3
+ /**
4
+ * The lazily loaded drag wiring behind DataTable's `columnReorderable` —
5
+ * the Chart/recharts contract inverted: DataTable is a base component, so
6
+ * its static import graph must stay free of the `@dnd-kit` runtime (the
7
+ * dist-esm contract's peer import rules); the table imports this module
8
+ * dynamically the first time column reordering is actually enabled. Only
9
+ * the pointer-drag mechanics live here — the reorder grips (focusable
10
+ * buttons with their Alt+Arrow keyboard model) render from DataTable.tsx
11
+ * with no dnd dependency at all, so keyboard reordering works even before
12
+ * this chunk arrives and nothing about the table changes for consumers
13
+ * that never opt in.
14
+ *
15
+ * Reaches @dnd-kit only through the utils sortable modules — never
16
+ * directly — so no dist file outside the contract's allowlist grows an
17
+ * engine import. Not part of the public barrel.
18
+ */
19
+ type ColumnReorderRegionProps = {
20
+ /** Visible leaf column ids in current order — one sortable item each. */
21
+ ids: string[];
22
+ /** Index move resolved from a completed pointer drag. */
23
+ onMove: (from: number, to: number) => void;
24
+ children: ReactNode;
25
+ };
26
+ /** DndContext + SortableContext around the table root. Renders no DOM of
27
+ * its own except dnd-kit's screen-reader live regions, which land inside
28
+ * the DataTable root div — outside the `<table>`, where a stray `<div>`
29
+ * would be invalid markup (the SortableTabList precedent keeps them out
30
+ * of its tablist for the same reason). */
31
+ export declare function ColumnReorderRegion({ ids, onMove, children, }: ColumnReorderRegionProps): import("react").JSX.Element;
32
+ export { SortableItem as ColumnReorderItem };
@@ -1,5 +1,6 @@
1
1
  import type { ColumnVisibilityState, RowData } from '@tanstack/react-table';
2
- import type { DataTableColumnDef } from './DataTable';
2
+ import type { DataTableColumnDef } from './DataTable.js';
3
+ import type { DataTableFiltersState } from './filters.js';
3
4
  /** Options for `dataTableToCsv`. */
4
5
  type DataTableCsvOptions = {
5
6
  /**
@@ -16,6 +17,13 @@ type DataTableCsvOptions = {
16
17
  * the table renders.
17
18
  */
18
19
  columnVisibility?: ColumnVisibilityState;
20
+ /**
21
+ * The table's header-filter state (the `filters` control's value): rows
22
+ * are filtered through the same engine the table uses before
23
+ * serialization, so the export mirrors the filtered rows exactly —
24
+ * pass the value straight from your control, like `columnVisibility`.
25
+ */
26
+ filters?: DataTableFiltersState;
19
27
  };
20
28
  /**
21
29
  * Serializes rows and column defs to a CSV string (RFC 4180: CRLF row
@@ -24,8 +32,10 @@ type DataTableCsvOptions = {
24
32
  * back to its id; grouped columns flatten to their leaves. Only exporting
25
33
  * columns contribute: display-only columns (no `accessorKey`/`accessorFn`)
26
34
  * are skipped, as are `meta.excludeFromExport` columns and columns hidden
27
- * in `options.columnVisibility`. A UTF-8 BOM is prepended by default so
28
- * Excel decodes non-ASCII text correctly (`bom: false` drops it).
35
+ * in `options.columnVisibility`; `options.filters` drops rows through
36
+ * the header filter menus' engine first. A UTF-8 BOM is prepended by
37
+ * default so Excel decodes non-ASCII text correctly (`bom: false` drops
38
+ * it).
29
39
  *
30
40
  * Pure string building — no DOM, no table instance — so it runs anywhere
31
41
  * the row data lives (client, worker, server) on the same `columns` array
@@ -70,6 +70,21 @@ type DataTableColumnMeta = {
70
70
  * column. The native TanStack `enableColumnFilter` field wins over this.
71
71
  */
72
72
  filterable?: boolean;
73
+ /**
74
+ * Predefined filter options for the column's header filter menu (the
75
+ * AntD `column.filters` seam): when non-empty, the column header grows
76
+ * a funnel trigger opening a floating panel with one checkbox per
77
+ * option. Selected `value`s land in the table-level `filters` state
78
+ * keyed by column id; a row passes when `meta.filterFn` (or the
79
+ * default membership check) returns true for the selection. Leaf
80
+ * columns only — a group header spans several columns and has no
81
+ * single value to filter on. `dataTableToCsv` honors the same state
82
+ * through its `filters` option.
83
+ */
84
+ filters?: {
85
+ text: ReactNode;
86
+ value: unknown;
87
+ }[];
73
88
  /**
74
89
  * `true` keeps the column out of `dataTableToCsv` exports — the flag for
75
90
  * columns whose cells are presentation-only (badges, action buttons) or
@@ -92,7 +107,8 @@ type DataTableColumnMeta = {
92
107
  * actually drives are registered. `columnMeta` is a type-only slot that
93
108
  * types `meta` on column definitions.
94
109
  *
95
- * The resizing, expanding, visibility and filtering features are registered
110
+ * The resizing, expanding, visibility, ordering and filtering features are
111
+ * registered
96
112
  * unconditionally but stay inert until their table-level props opt in —
97
113
  * with empty state and no `getSubRows` wired their row-model steps are
98
114
  * identities, so the default render path is unchanged. The column-sizing
@@ -111,6 +127,7 @@ declare const dataTableFeatures: {
111
127
  rowExpandingFeature: import("@tanstack/react-table").TableFeature;
112
128
  expandedRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
113
129
  columnVisibilityFeature: import("@tanstack/react-table").TableFeature;
130
+ columnOrderingFeature: import("@tanstack/react-table").TableFeature;
114
131
  columnFilteringFeature: import("@tanstack/react-table").TableFeature;
115
132
  filteredRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
116
133
  filterFns: {
@@ -0,0 +1,25 @@
1
+ import type { RowData } from '@tanstack/react-table';
2
+ import type { DataTableColumnDef } from './DataTable.js';
3
+ /**
4
+ * The header-filter state: selected option `value`s keyed by column id
5
+ * (the id TanStack derives — explicit `id`, else the `accessorKey`). An
6
+ * absent key or empty array means "no filter"; empty selections are
7
+ * dropped from the state on commit so `{}` is the canonical "no
8
+ * filters" value.
9
+ */
10
+ type DataTableFiltersState = Record<string, unknown[]>;
11
+ /**
12
+ * Applies the header filter menus' selections to raw rows — the shared
13
+ * engine behind the table's data pipeline (menus filter before sorting
14
+ * and pagination) and `dataTableToCsv`'s `filters` option, so an export
15
+ * mirrors exactly what the table renders. A column with no active
16
+ * selection filters nothing; with one, a row passes when its
17
+ * `meta.filterFn` returns true for the selected values array, defaulting
18
+ * to a membership check on the cell value (`values.includes(rowValue)`,
19
+ * SameValueZero — NaN-safe). Columns are combined with AND, options
20
+ * within a column with the `filterFn`'s own semantics (OR by default).
21
+ * Inert without active selections — the input array is returned as-is.
22
+ */
23
+ declare function applyColumnFilters<TData extends RowData>(rows: TData[], columns: DataTableColumnDef<TData>[], filters: DataTableFiltersState | undefined): TData[];
24
+ export { applyColumnFilters };
25
+ export type { DataTableFiltersState };