haze-ui 1.29.0 → 1.31.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 (451) hide show
  1. package/README.md +93 -1
  2. package/cli/theme.mjs +446 -0
  3. package/dist/components/Accordion/Accordion.js +1 -0
  4. package/dist/components/Accordion/AccordionItem.js +3 -0
  5. package/dist/components/ActivityRail/ActivityRail.js +76 -0
  6. package/dist/components/ActivityRail/index.js +3 -0
  7. package/dist/components/Affix/Affix.js +1 -0
  8. package/dist/components/Alert/Alert.js +3 -0
  9. package/dist/components/Anchor/Anchor.js +21 -15
  10. package/dist/components/AppShell/AppShell.js +5 -0
  11. package/dist/components/ApprovalCard/ApprovalCard.js +8 -0
  12. package/dist/components/AspectRatio/AspectRatio.js +2 -0
  13. package/dist/components/AsyncSection/AsyncSection.js +8 -0
  14. package/dist/components/Avatar/Avatar.js +11 -6
  15. package/dist/components/AvatarGroup/AvatarGroup.js +9 -6
  16. package/dist/components/BackToTop/BackToTop.js +5 -4
  17. package/dist/components/Badge/Badge.js +1 -0
  18. package/dist/components/Banner/Banner.js +3 -0
  19. package/dist/components/BottomSheet/BottomSheet.js +22 -31
  20. package/dist/components/Breadcrumb/Breadcrumb.js +11 -7
  21. package/dist/components/Breadcrumb/BreadcrumbItem.js +2 -0
  22. package/dist/components/Button/Button.js +13 -11
  23. package/dist/components/Button/ButtonLink.js +15 -13
  24. package/dist/components/Calendar/Calendar.js +523 -368
  25. package/dist/components/Calendar/date.js +35 -10
  26. package/dist/components/Card/Card.js +1 -0
  27. package/dist/components/Carousel/Carousel.js +157 -60
  28. package/dist/components/Carousel/CarouselSlide.js +3 -1
  29. package/dist/components/Cascader/Cascader.js +48 -35
  30. package/dist/components/Chart/Chart.js +5 -4
  31. package/dist/components/Chart/chart-elements.js +14 -10
  32. package/dist/components/ChatContainer/ChatContainer.js +9 -7
  33. package/dist/components/ChatInput/ChatInput.js +12 -9
  34. package/dist/components/ChatMessage/ChatMessage.js +83 -44
  35. package/dist/components/Checkbox/CheckboxCore.js +2 -0
  36. package/dist/components/Chip/Chip.js +3 -0
  37. package/dist/components/CodeBlock/CodeBlock.js +18 -9
  38. package/dist/components/Collapsible/Collapsible.js +24 -21
  39. package/dist/components/ColorPicker/ColorPicker.js +85 -14
  40. package/dist/components/ColorPicker/ColorPickerCore.js +6 -0
  41. package/dist/components/ColorPicker/ColorPickerPanel.js +277 -0
  42. package/dist/components/ColorPicker/color-math.js +168 -0
  43. package/dist/components/ColorPicker/color-picker-styles.js +7 -0
  44. package/dist/components/ColorPicker/index.js +3 -3
  45. package/dist/components/Combobox/Combobox.js +31 -24
  46. package/dist/components/Combobox/ComboboxGroup.js +7 -5
  47. package/dist/components/Combobox/ComboboxOption.js +1 -0
  48. package/dist/components/Command/Command.js +44 -37
  49. package/dist/components/Command/CommandDialog.js +8 -8
  50. package/dist/components/ConfigProvider/ConfigContext.js +30 -0
  51. package/dist/components/ConfigProvider/ConfigProvider.js +14 -0
  52. package/dist/components/ConfigProvider/index.js +4 -0
  53. package/dist/components/ConfigProvider/useConfigDefaults.js +10 -0
  54. package/dist/components/ConfirmDialog/ConfirmDialog.js +18 -11
  55. package/dist/components/Container/Container.js +1 -0
  56. package/dist/components/ContextMenu/ContextMenu.js +7 -6
  57. package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
  58. package/dist/components/ContextMenu/ContextMenuItem.js +1 -0
  59. package/dist/components/ContextMenu/ContextMenuSeparator.js +1 -0
  60. package/dist/components/ContextMenu/ContextMenuTrigger.js +1 -0
  61. package/dist/components/ConversationList/ConversationItem.js +4 -0
  62. package/dist/components/ConversationList/ConversationList.js +17 -7
  63. package/dist/components/CountUp/CountUp.js +6 -5
  64. package/dist/components/DataTable/CellEditor.js +4 -4
  65. package/dist/components/DataTable/DataTable.js +236 -168
  66. package/dist/components/DateRangePicker/DateRangePickerCore.js +9 -0
  67. package/dist/components/Datepicker/Datepicker.js +14 -11
  68. package/dist/components/Datepicker/DatepickerCore.js +75 -60
  69. package/dist/components/Datepicker/datetime.js +14 -3
  70. package/dist/components/Descriptions/Descriptions.js +6 -0
  71. package/dist/components/Dialog/Dialog.js +13 -11
  72. package/dist/components/DiffViewer/DiffViewer.js +22 -13
  73. package/dist/components/Disclosure/Disclosure.js +10 -7
  74. package/dist/components/Divider/Divider.js +2 -0
  75. package/dist/components/Drawer/Drawer.js +10 -9
  76. package/dist/components/DropdownMenu/DropdownMenu.js +58 -35
  77. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +63 -0
  78. package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
  79. package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -0
  80. package/dist/components/DropdownMenu/DropdownMenuItem.js +29 -10
  81. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +30 -0
  82. package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +59 -0
  83. package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -0
  84. package/dist/components/DropdownMenu/DropdownMenuSub.js +1 -0
  85. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +1 -0
  86. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
  87. package/dist/components/DropdownMenu/dropdown-menu-item-styles.js +7 -0
  88. package/dist/components/DropdownMenu/index.js +12 -8
  89. package/dist/components/Ellipsis/Ellipsis.js +11 -8
  90. package/dist/components/Empty/Empty.js +4 -0
  91. package/dist/components/FileInput/FileInput.js +7 -5
  92. package/dist/components/FilePreview/FilePreview.js +19 -1
  93. package/dist/components/Flex/Flex.js +1 -0
  94. package/dist/components/FloatButton/FloatButton.js +4 -0
  95. package/dist/components/FloatButton/FloatButtonGroup.js +18 -13
  96. package/dist/components/Fullscreen/Fullscreen.js +6 -3
  97. package/dist/components/Grid/Grid.js +12 -7
  98. package/dist/components/Grid/GridItem.js +17 -7
  99. package/dist/components/Grid/grid-item-styles.js +58 -0
  100. package/dist/components/HoverCard/HoverCard.js +46 -43
  101. package/dist/components/Icon/Icon.js +1 -0
  102. package/dist/components/Image/Image.js +10 -7
  103. package/dist/components/Image/ImagePreview.js +42 -34
  104. package/dist/components/InlineCompletion/InlineCompletion.js +15 -11
  105. package/dist/components/InlineEdit/InlineEdit.js +8 -6
  106. package/dist/components/Input/InputCore.js +1 -0
  107. package/dist/components/JsonView/JsonView.js +104 -79
  108. package/dist/components/Kbd/Kbd.js +1 -0
  109. package/dist/components/List/List.js +15 -10
  110. package/dist/components/List/ListItem.js +1 -0
  111. package/dist/components/LocaleProvider/LocaleProvider.js +4 -4
  112. package/dist/components/LocaleProvider/ar-sa.js +31 -2
  113. package/dist/components/LocaleProvider/de-de.js +31 -2
  114. package/dist/components/LocaleProvider/es-es.js +31 -2
  115. package/dist/components/LocaleProvider/fr-fr.js +31 -2
  116. package/dist/components/LocaleProvider/it-it.js +31 -2
  117. package/dist/components/LocaleProvider/ja-jp.js +31 -2
  118. package/dist/components/LocaleProvider/ko-kr.js +31 -2
  119. package/dist/components/LocaleProvider/locale.js +31 -2
  120. package/dist/components/LocaleProvider/pt-br.js +31 -2
  121. package/dist/components/LocaleProvider/ru-ru.js +31 -2
  122. package/dist/components/LocaleProvider/zh-cn.js +31 -2
  123. package/dist/components/LogViewer/LogViewer.js +56 -38
  124. package/dist/components/MarkdownRenderer/MarkdownRenderer.js +6 -5
  125. package/dist/components/MarkdownRenderer/markdown-blocks.js +1 -1
  126. package/dist/components/Masonry/Masonry.js +13 -10
  127. package/dist/components/Mentions/MentionsCore.js +15 -11
  128. package/dist/components/Menu/Menu.js +58 -36
  129. package/dist/components/Menu/MenuCheckboxItem.js +63 -0
  130. package/dist/components/Menu/MenuDivider.js +1 -0
  131. package/dist/components/Menu/MenuGroup.js +26 -0
  132. package/dist/components/Menu/MenuItem.js +28 -9
  133. package/dist/components/Menu/MenuRadioGroup.js +30 -0
  134. package/dist/components/Menu/MenuRadioItem.js +59 -0
  135. package/dist/components/Menu/MenuSub.js +1 -0
  136. package/dist/components/Menu/MenuSubTrigger.js +1 -0
  137. package/dist/components/Menu/index.js +11 -7
  138. package/dist/components/Menu/menu-item-styles.js +7 -0
  139. package/dist/components/ModelPicker/ModelPicker.js +3 -0
  140. package/dist/components/NavigationBar/NavLink.js +7 -6
  141. package/dist/components/NavigationBar/NavigationBar.js +4 -0
  142. package/dist/components/NumberInput/NumberInputCore.js +4 -0
  143. package/dist/components/OTPInput/OTPInputCore.js +10 -7
  144. package/dist/components/Pagination/Pagination.js +125 -33
  145. package/dist/components/PasswordInput/PasswordInputCore.js +9 -6
  146. package/dist/components/Popover/Popover.js +9 -7
  147. package/dist/components/Progress/Progress.js +5 -0
  148. package/dist/components/PromptInput/PromptInput.js +49 -41
  149. package/dist/components/QRCode/QRCode.js +9 -7
  150. package/dist/components/Radio/Radio.js +2 -0
  151. package/dist/components/Radio/RadioGroupCore.js +7 -6
  152. package/dist/components/Rating/RatingCore.js +18 -15
  153. package/dist/components/Resizable/Resizable.js +269 -36
  154. package/dist/components/Result/Result.js +5 -0
  155. package/dist/components/ScrollArea/ScrollArea.js +1 -0
  156. package/dist/components/Segmented/SegmentedCore.js +9 -7
  157. package/dist/components/Select/Option.js +1 -0
  158. package/dist/components/Select/OptionGroup.js +1 -0
  159. package/dist/components/Select/SelectCore.js +11 -8
  160. package/dist/components/Select/SelectFloating.js +54 -36
  161. package/dist/components/Sidebar/Sidebar.js +52 -42
  162. package/dist/components/Signature/Signature.js +101 -91
  163. package/dist/components/Skeleton/Skeleton.js +1 -0
  164. package/dist/components/Slider/SliderCore.js +149 -43
  165. package/dist/components/Sources/Sources.js +31 -21
  166. package/dist/components/Sparkline/Sparkline.js +45 -0
  167. package/dist/components/Sparkline/index.js +3 -0
  168. package/dist/components/Sparkline/sparkline-styles.js +18 -0
  169. package/dist/components/Spinner/Spinner.js +1 -0
  170. package/dist/components/Stat/Stat.js +7 -0
  171. package/dist/components/StatusBar/StatusBar.js +47 -0
  172. package/dist/components/StatusBar/index.js +3 -0
  173. package/dist/components/StepTimeline/StepTimeline.js +6 -0
  174. package/dist/components/Stepper/Step.js +8 -1
  175. package/dist/components/Stepper/Stepper.js +7 -6
  176. package/dist/components/StreamingText/StreamingText.js +62 -29
  177. package/dist/components/SwipeAction/SwipeAction.js +11 -9
  178. package/dist/components/Switch/SwitchCore.js +9 -5
  179. package/dist/components/TabBar/TabBar.js +60 -0
  180. package/dist/components/TabBar/index.js +3 -0
  181. package/dist/components/Table/Table.js +2 -0
  182. package/dist/components/Table/TableBody.js +1 -0
  183. package/dist/components/Table/TableCell.js +1 -0
  184. package/dist/components/Table/TableHead.js +1 -0
  185. package/dist/components/Table/TableRow.js +1 -0
  186. package/dist/components/Tabs/SortableTabList.js +116 -0
  187. package/dist/components/Tabs/Tab.js +84 -16
  188. package/dist/components/Tabs/TabList.js +94 -37
  189. package/dist/components/Tabs/TabPanel.js +1 -0
  190. package/dist/components/Tabs/Tabs.js +1 -0
  191. package/dist/components/Tabs/edge-scroll.js +6 -0
  192. package/dist/components/Tabs/index.js +4 -3
  193. package/dist/components/Tabs/tab-metas.js +24 -0
  194. package/dist/components/Tag/Tag.js +2 -0
  195. package/dist/components/TagGroup/SortableTagGroup.js +7 -6
  196. package/dist/components/TagGroup/TagGroup.js +1 -0
  197. package/dist/components/TagGroup/TagGroupItem.js +3 -0
  198. package/dist/components/TagInput/SortableTagInputCore.js +16 -13
  199. package/dist/components/TagInput/TagInputCore.js +17 -12
  200. package/dist/components/Textarea/TextareaCore.js +1 -0
  201. package/dist/components/ThinkingIndicator/ThinkingIndicator.js +18 -4
  202. package/dist/components/TimePicker/TimePicker.js +30 -14
  203. package/dist/components/TimePicker/TimePickerCore.js +1 -0
  204. package/dist/components/TimePicker/TimePickerPanel.js +260 -0
  205. package/dist/components/TimePicker/time-picker-styles.js +7 -0
  206. package/dist/components/TimePicker/time.js +51 -0
  207. package/dist/components/Timeline/Timeline.js +14 -1
  208. package/dist/components/Toast/Toast.js +94 -48
  209. package/dist/components/Toast/ToastContainer.js +60 -56
  210. package/dist/components/Toast/ToastContext.js +3 -1
  211. package/dist/components/Toast/index.js +1 -1
  212. package/dist/components/Toast/{toast2.js → toast-channel.js} +21 -15
  213. package/dist/components/Toast/useToast.js +36 -11
  214. package/dist/components/Toggle/ToggleCore.js +1 -0
  215. package/dist/components/TokenCounter/TokenCounter.js +8 -1
  216. package/dist/components/ToolCallCard/ToolCallCard.js +18 -2
  217. package/dist/components/Toolbar/Toolbar.js +9 -8
  218. package/dist/components/Toolbar/ToolbarButton.js +1 -0
  219. package/dist/components/Toolbar/ToolbarSeparator.js +1 -0
  220. package/dist/components/Toolbar/ToolbarToggle.js +1 -0
  221. package/dist/components/Tooltip/Tooltip.js +46 -42
  222. package/dist/components/Tour/Tour.js +76 -65
  223. package/dist/components/Transfer/TransferCore.js +31 -17
  224. package/dist/components/Tree/SortableTree.js +151 -0
  225. package/dist/components/Tree/Tree.js +163 -154
  226. package/dist/components/Tree/TreeItem.js +52 -39
  227. package/dist/components/Tree/index.js +2 -1
  228. package/dist/components/Tree/sortable-tree-styles.js +7 -0
  229. package/dist/components/Tree/sortable-tree-utils.js +36 -0
  230. package/dist/components/TreeSelect/TreeSelect.js +44 -34
  231. package/dist/components/Typography/Typography.js +3 -0
  232. package/dist/components/Upload/Upload.js +12 -11
  233. package/dist/components/Upload/UploadCore.js +92 -65
  234. package/dist/components/Upload/UploadList.js +177 -105
  235. package/dist/components/VirtualList/VirtualList.js +239 -122
  236. package/dist/components/Watermark/Watermark.js +8 -6
  237. package/dist/components/Workbench/Workbench.js +144 -0
  238. package/dist/components/Workbench/index.js +3 -0
  239. package/dist/css/accordion.css +1 -1
  240. package/dist/css/activity-rail.css +2 -0
  241. package/dist/css/alert.css +1 -1
  242. package/dist/css/app-shell.css +1 -1
  243. package/dist/css/async-section.css +1 -1
  244. package/dist/css/banner.css +1 -1
  245. package/dist/css/bottom-sheet.css +1 -1
  246. package/dist/css/breadcrumb.css +1 -1
  247. package/dist/css/button.css +2 -2
  248. package/dist/css/calendar.css +1 -1
  249. package/dist/css/carousel.css +1 -1
  250. package/dist/css/chat-message.css +1 -1
  251. package/dist/css/checkbox.css +1 -1
  252. package/dist/css/color-picker.css +2 -0
  253. package/dist/css/combobox.css +2 -2
  254. package/dist/css/command.css +1 -1
  255. package/dist/css/context-menu.css +1 -1
  256. package/dist/css/date-range-picker.css +1 -1
  257. package/dist/css/dialog.css +1 -1
  258. package/dist/css/drawer.css +1 -1
  259. package/dist/css/dropdown-menu.css +7 -2
  260. package/dist/css/form.css +1 -1
  261. package/dist/css/grid.css +2 -1
  262. package/dist/css/hover-card.css +1 -1
  263. package/dist/css/input.css +1 -1
  264. package/dist/css/list.css +1 -1
  265. package/dist/css/menu.css +9 -4
  266. package/dist/css/pagination.css +1 -1
  267. package/dist/css/popover.css +1 -1
  268. package/dist/css/progress.css +1 -1
  269. package/dist/css/radio.css +1 -1
  270. package/dist/css/rating.css +1 -1
  271. package/dist/css/resizable.css +1 -1
  272. package/dist/css/segmented.css +1 -1
  273. package/dist/css/sidebar.css +1 -1
  274. package/dist/css/skeleton.css +1 -1
  275. package/dist/css/slider.css +1 -1
  276. package/dist/css/sparkline.css +2 -0
  277. package/dist/css/spinner.css +1 -1
  278. package/dist/css/status-bar.css +2 -0
  279. package/dist/css/stepper.css +1 -1
  280. package/dist/css/streaming-text.css +1 -1
  281. package/dist/css/switch.css +1 -1
  282. package/dist/css/tab-bar.css +2 -0
  283. package/dist/css/tabs.css +3 -2
  284. package/dist/css/tag.css +1 -1
  285. package/dist/css/textarea.css +1 -1
  286. package/dist/css/thinking-indicator.css +1 -1
  287. package/dist/css/time-picker.css +1 -0
  288. package/dist/css/toast.css +1 -1
  289. package/dist/css/toggle.css +1 -1
  290. package/dist/css/tokens.css +1 -1
  291. package/dist/css/tooltip.css +1 -1
  292. package/dist/css/tree.css +2 -1
  293. package/dist/css/upload.css +1 -1
  294. package/dist/css/virtual-list.css +1 -1
  295. package/dist/css/workbench.css +2 -0
  296. package/dist/css-manifest.json +38 -0
  297. package/dist/dates/adapter.js +21 -0
  298. package/dist/dates/buddhist.js +43 -0
  299. package/dist/dates/ethiopic.js +67 -0
  300. package/dist/dates/gregory.js +44 -0
  301. package/dist/dates/hebrew.js +95 -0
  302. package/dist/dates/islamic.js +87 -0
  303. package/dist/dates/japanese.js +41 -0
  304. package/dist/dates/persian.js +121 -0
  305. package/dist/dates/registry.js +23 -0
  306. package/dist/dates/timezone.js +29 -0
  307. package/dist/design-tokens/cyan-dark.json +355 -0
  308. package/dist/design-tokens/cyan-light.json +355 -0
  309. package/dist/design-tokens/orange-dark.json +355 -0
  310. package/dist/design-tokens/orange-light.json +355 -0
  311. package/dist/design-tokens/rose-dark.json +355 -0
  312. package/dist/design-tokens/rose-light.json +355 -0
  313. package/dist/design-tokens/teal-dark.json +355 -0
  314. package/dist/design-tokens/teal-light.json +355 -0
  315. package/dist/design-tokens/violet-dark.json +355 -0
  316. package/dist/design-tokens/violet-light.json +355 -0
  317. package/dist/form/FormItem.js +71 -63
  318. package/dist/form/FormList.js +6 -6
  319. package/dist/form/form-item-styles.js +7 -0
  320. package/dist/haze-ui.css +78 -57
  321. package/dist/index.js +261 -232
  322. package/dist/mcp-docs.json +1587 -113
  323. package/dist/registry.json +132 -22
  324. package/dist/tokens/index.js +7 -7
  325. package/dist/tokens/motion.js +9 -2
  326. package/dist/tokens/palette.js +244 -84
  327. package/dist/tokens/registry.js +18 -22
  328. package/dist/types/components/ActivityRail/ActivityRail.d.ts +30 -0
  329. package/dist/types/components/ActivityRail/index.d.ts +4 -0
  330. package/dist/types/components/Button/Button.d.ts +1 -1
  331. package/dist/types/components/Calendar/Calendar.d.ts +39 -14
  332. package/dist/types/components/Calendar/date.d.ts +51 -0
  333. package/dist/types/components/Calendar/index.d.ts +1 -1
  334. package/dist/types/components/Carousel/Carousel.d.ts +5 -1
  335. package/dist/types/components/Carousel/CarouselSlide.d.ts +3 -3
  336. package/dist/types/components/Chart/Chart.d.ts +13 -6
  337. package/dist/types/components/Chart/chart-elements.d.ts +27 -6
  338. package/dist/types/components/ChatMessage/ChatMessage.d.ts +10 -1
  339. package/dist/types/components/ColorPicker/ColorPicker.d.ts +44 -5
  340. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -0
  341. package/dist/types/components/ColorPicker/color-math.d.ts +63 -0
  342. package/dist/types/components/ColorPicker/color-picker-styles.d.ts +50 -0
  343. package/dist/types/components/ConfigProvider/ConfigContext.d.ts +67 -0
  344. package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +25 -0
  345. package/dist/types/components/ConfigProvider/index.d.ts +4 -0
  346. package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +28 -0
  347. package/dist/types/components/ConversationList/ConversationList.d.ts +10 -1
  348. package/dist/types/components/Datepicker/Datepicker.d.ts +23 -10
  349. package/dist/types/components/Datepicker/DatepickerCore.d.ts +40 -10
  350. package/dist/types/components/Datepicker/datetime.d.ts +33 -11
  351. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +12 -2
  352. package/dist/types/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +26 -0
  353. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +16 -0
  354. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +7 -1
  355. package/dist/types/components/DropdownMenu/DropdownMenuRadioGroup.d.ts +21 -0
  356. package/dist/types/components/DropdownMenu/DropdownMenuRadioItem.d.ts +22 -0
  357. package/dist/types/components/DropdownMenu/dropdown-menu-item-styles.d.ts +29 -0
  358. package/dist/types/components/DropdownMenu/index.d.ts +9 -1
  359. package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -0
  360. package/dist/types/components/Grid/Grid.d.ts +8 -1
  361. package/dist/types/components/Grid/GridItem.d.ts +24 -1
  362. package/dist/types/components/Grid/grid-item-styles.d.ts +57 -0
  363. package/dist/types/components/HoverCard/HoverCard.d.ts +1 -1
  364. package/dist/types/components/List/List.d.ts +10 -1
  365. package/dist/types/components/LocaleProvider/locale.d.ts +31 -0
  366. package/dist/types/components/LogViewer/LogViewer.d.ts +10 -1
  367. package/dist/types/components/Menu/Menu.d.ts +11 -2
  368. package/dist/types/components/Menu/MenuCheckboxItem.d.ts +25 -0
  369. package/dist/types/components/Menu/MenuGroup.d.ts +16 -0
  370. package/dist/types/components/Menu/MenuItem.d.ts +7 -1
  371. package/dist/types/components/Menu/MenuRadioGroup.d.ts +20 -0
  372. package/dist/types/components/Menu/MenuRadioItem.d.ts +22 -0
  373. package/dist/types/components/Menu/index.d.ts +9 -1
  374. package/dist/types/components/Menu/menu-item-styles.d.ts +28 -0
  375. package/dist/types/components/NavigationBar/NavLink.d.ts +1 -1
  376. package/dist/types/components/Pagination/Pagination.d.ts +17 -3
  377. package/dist/types/components/Resizable/Resizable.d.ts +24 -7
  378. package/dist/types/components/Resizable/index.d.ts +1 -1
  379. package/dist/types/components/Sidebar/Sidebar.d.ts +1 -1
  380. package/dist/types/components/Slider/Slider.d.ts +24 -2
  381. package/dist/types/components/Slider/SliderCore.d.ts +41 -3
  382. package/dist/types/components/Sparkline/Sparkline.d.ts +31 -0
  383. package/dist/types/components/Sparkline/index.d.ts +3 -0
  384. package/dist/types/components/Sparkline/sparkline-styles.d.ts +26 -0
  385. package/dist/types/components/StatusBar/StatusBar.d.ts +18 -0
  386. package/dist/types/components/StatusBar/index.d.ts +3 -0
  387. package/dist/types/components/StreamingText/StreamingText.d.ts +8 -1
  388. package/dist/types/components/TabBar/TabBar.d.ts +23 -0
  389. package/dist/types/components/TabBar/index.d.ts +4 -0
  390. package/dist/types/components/Tabs/SortableTabList.d.ts +46 -0
  391. package/dist/types/components/Tabs/Tab.d.ts +54 -3
  392. package/dist/types/components/Tabs/TabList.d.ts +26 -2
  393. package/dist/types/components/Tabs/edge-scroll.d.ts +17 -0
  394. package/dist/types/components/Tabs/index.d.ts +3 -1
  395. package/dist/types/components/Tabs/tab-metas.d.ts +20 -0
  396. package/dist/types/components/TimePicker/TimePicker.d.ts +36 -4
  397. package/dist/types/components/TimePicker/TimePickerPanel.d.ts +26 -0
  398. package/dist/types/components/TimePicker/index.d.ts +1 -0
  399. package/dist/types/components/TimePicker/time-picker-styles.d.ts +30 -0
  400. package/dist/types/components/TimePicker/time.d.ts +49 -0
  401. package/dist/types/components/Toast/Toast.d.ts +19 -6
  402. package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
  403. package/dist/types/components/Toast/ToastContext.d.ts +22 -2
  404. package/dist/types/components/Toast/index.d.ts +2 -2
  405. package/dist/types/components/Toast/{toast.d.ts → toast-channel.d.ts} +20 -14
  406. package/dist/types/components/Toast/useToast.d.ts +14 -4
  407. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  408. package/dist/types/components/Tree/SortableTree.d.ts +38 -0
  409. package/dist/types/components/Tree/Tree.d.ts +1 -1
  410. package/dist/types/components/Tree/index.d.ts +2 -0
  411. package/dist/types/components/Tree/sortable-tree-styles.d.ts +36 -0
  412. package/dist/types/components/Tree/sortable-tree-utils.d.ts +40 -0
  413. package/dist/types/components/Upload/Upload.d.ts +17 -10
  414. package/dist/types/components/Upload/UploadCore.d.ts +26 -12
  415. package/dist/types/components/Upload/UploadList.d.ts +10 -7
  416. package/dist/types/components/Upload/index.d.ts +1 -1
  417. package/dist/types/components/Upload/types.d.ts +33 -7
  418. package/dist/types/components/VirtualList/VirtualList.d.ts +98 -26
  419. package/dist/types/components/VirtualList/index.d.ts +1 -1
  420. package/dist/types/components/Workbench/Workbench.d.ts +50 -0
  421. package/dist/types/components/Workbench/index.d.ts +2 -0
  422. package/dist/types/dates/adapter.d.ts +101 -0
  423. package/dist/types/dates/buddhist.d.ts +14 -0
  424. package/dist/types/dates/ethiopic.d.ts +15 -0
  425. package/dist/types/dates/gregory.d.ts +10 -0
  426. package/dist/types/dates/hebrew.d.ts +19 -0
  427. package/dist/types/dates/index.d.ts +11 -0
  428. package/dist/types/dates/islamic.d.ts +17 -0
  429. package/dist/types/dates/japanese.d.ts +16 -0
  430. package/dist/types/dates/persian.d.ts +18 -0
  431. package/dist/types/dates/registry.d.ts +13 -0
  432. package/dist/types/dates/timezone.d.ts +36 -0
  433. package/dist/types/form/FormItem.d.ts +31 -1
  434. package/dist/types/form/form-item-styles.d.ts +24 -0
  435. package/dist/types/index.d.ts +31 -13
  436. package/dist/types/tokens/index.d.ts +4 -2
  437. package/dist/types/tokens/motion.d.ts +16 -0
  438. package/dist/types/tokens/palette.d.ts +59 -2
  439. package/dist/types/utils/menuItems.d.ts +126 -0
  440. package/dist/types/utils/menuRadio.d.ts +21 -0
  441. package/dist/types/utils/sortable.d.ts +8 -1
  442. package/dist/types/utils/use-end-reached.d.ts +56 -0
  443. package/dist/types/utils/viewport.d.ts +12 -0
  444. package/dist/utils/floating.js +45 -44
  445. package/dist/utils/menuItems.js +55 -0
  446. package/dist/utils/menuKeyboard.js +31 -31
  447. package/dist/utils/menuRadio.js +28 -0
  448. package/dist/utils/sortable.js +7 -5
  449. package/dist/utils/use-end-reached.js +46 -0
  450. package/dist/utils/viewport.js +20 -0
  451. package/package.json +26 -9
@@ -59,6 +59,15 @@ export declare function getLeadingDays(year: number, month: number, weekStart: n
59
59
  * added. The result length is always a multiple of 7.
60
60
  */
61
61
  export declare function buildMonthCells(year: number, month: number, weekStart: number): CalendarCell[];
62
+ /** ISO 8601 week identity of a civil date: the week number together with
63
+ * the ISO week-numbering **year** it belongs to. Days at the calendar
64
+ * year's edges borrow the neighbor year's numbering, so `year` here is
65
+ * not necessarily the civil date's own year (2025-12-31 is week 1 of
66
+ * 2026; 2027-01-01 is week 53 of 2026). */
67
+ export type ISOWeek = {
68
+ year: number;
69
+ week: number;
70
+ };
62
71
  /**
63
72
  * ISO 8601 week number of a civil date. ISO weeks run Monday–Sunday and
64
73
  * week 1 is the week containing the year's first Thursday, so days at the
@@ -71,6 +80,30 @@ export declare function buildMonthCells(year: number, month: number, weekStart:
71
80
  * spans from that ISO year's January 1.
72
81
  */
73
82
  export declare function getISOWeekNumber(year: number, month: number, day: number): number;
83
+ /**
84
+ * Full ISO 8601 week identity of a civil date (`{@link getISOWeekNumber}`
85
+ * plus the ISO week-numbering year the week belongs to). Same Thursday
86
+ * anchoring: the Thursday of a date's Monday–Sunday week carries the ISO
87
+ * year, which is what `"YYYY-Www"` values (see
88
+ * {@link formatWeekValue}) number weeks against.
89
+ */
90
+ export declare function getISOWeek(year: number, month: number, day: number): ISOWeek;
91
+ /**
92
+ * Monday of an ISO week as a civil date — the anchor
93
+ * `picker="week"` derives its month view and row highlight from. January
94
+ * 4 always sits in week 1 (the first-Thursday rule), so Monday of week 1
95
+ * is `Jan 4 − (Jan 4's ISO weekday − 1)`; every later week adds whole
96
+ * seven-day spans. All arithmetic rides UTC milliseconds (whole days, no
97
+ * DST drift); the result is read back as a civil triple. Weeks beyond the
98
+ * year's last (52 or 53 per the ISO calendar) resolve into the neighbor
99
+ * year — callers validate with a `getISOWeek` round-trip (see
100
+ * {@link parseWeekValue}).
101
+ */
102
+ export declare function getISOWeekStartDate(isoYear: number, week: number): {
103
+ year: number;
104
+ month: number;
105
+ day: number;
106
+ };
74
107
  /**
75
108
  * Format a civil date as the `"YYYY-MM-DD"` string Calendar uses as its
76
109
  * value. Value semantics: the string denotes the **local** civil date — it
@@ -119,6 +152,24 @@ export declare function formatYearValue(year: number): string;
119
152
  export declare function parseYearValue(value: string): {
120
153
  year: number;
121
154
  } | null;
155
+ /**
156
+ * Format an ISO week as the `"YYYY-Www"` string Calendar's
157
+ * `picker="week"` mode uses as its value (`isoYear` is the ISO
158
+ * week-numbering year — not necessarily the civil year of every day in
159
+ * the week — and `week` is 1-based, zero-padded: 2026 week 37 →
160
+ * `"2026-W37"`). Pure string math; no Date construction.
161
+ */
162
+ export declare function formatWeekValue(isoYear: number, week: number): string;
163
+ /**
164
+ * Parse a `"YYYY-Www"` week-picker value (`{@link formatWeekValue}`'s
165
+ * inverse). Accepts weeks `01`…`53` shape-wise, then rejects the ones
166
+ * that do not exist in the given ISO year via a round-trip: 2025 is a
167
+ * 52-week year, so `"2025-W53"` resolves to a Monday that belongs to
168
+ * 2026 week 1 and is rejected. Anything with another shape
169
+ * (`"2026-W1"`, `"2026-w05"`, a date/month/quarter serialization) is
170
+ * rejected outright.
171
+ */
172
+ export declare function parseWeekValue(value: string): ISOWeek | null;
122
173
  /**
123
174
  * Parse a `"YYYY-MM-DD"` value string into a local-midnight Date — the
124
175
  * inverse of {@link formatDate} and the only safe way to turn a value into
@@ -1,2 +1,2 @@
1
1
  export { default as Calendar } from './Calendar';
2
- export type { CalendarProps, CalendarPickerMode } from './Calendar';
2
+ export type { CalendarProps, CalendarPickerMode, CalendarCellRender } from './Calendar';
@@ -4,8 +4,12 @@ type CarouselProps = {
4
4
  value?: ControlOrValue<number>;
5
5
  autoPlay?: boolean;
6
6
  interval?: number;
7
+ /** 切换动画形态:slide(默认,scroll-snap 轨道)/ fade(堆叠淡入淡出)。 */
8
+ effect?: 'slide' | 'fade';
9
+ /** 悬停或焦点在轮播内时暂停 autoPlay,离开后按剩余时间恢复(WCAG 2.2.1)。 */
10
+ pauseOnHover?: boolean;
7
11
  className?: string;
8
12
  children: ReactNode;
9
13
  };
10
- export default function Carousel({ value: valueControl, autoPlay, interval, className, children, }: CarouselProps): import("react").JSX.Element;
14
+ export default function Carousel({ value: valueControl, autoPlay, interval, effect, pauseOnHover, className, children, }: CarouselProps): import("react").JSX.Element;
11
15
  export type { CarouselProps };
@@ -1,7 +1,7 @@
1
- import type { ReactNode } from 'react';
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  type CarouselSlideProps = {
3
3
  className?: string;
4
4
  children: ReactNode;
5
- };
6
- export default function CarouselSlide({ className, children }: CarouselSlideProps): import("react").JSX.Element;
5
+ } & Omit<ComponentPropsWithoutRef<'div'>, 'className' | 'children'>;
6
+ export default function CarouselSlide({ className, children, ...rest }: CarouselSlideProps): import("react").JSX.Element;
7
7
  export type { CarouselSlideProps };
@@ -4,14 +4,19 @@ type ChartProps<T> = {
4
4
  /** Which recharts chart family to render. `pie` maps each datum to one
5
5
  * sector named by `xKey` and valued by each series `key`; `radar` maps
6
6
  * each datum to one spoke named by `xKey`; `scatter` plots the numeric
7
- * `xKey` column against each series `key`. */
7
+ * `xKey` column against each series `key`. In the cartesian families
8
+ * the chart `type` picks the container and the default series shape —
9
+ * override the shape per series via `ChartSeries.type`. */
8
10
  type: ChartType;
9
11
  /** One datum per point (pie: per sector; radar: per spoke); series
10
12
  * values are read by `ChartSeries.key`. */
11
13
  data: T[];
12
14
  /** The series to plot — colors cycle through the semantic status tokens
13
15
  * when `color` is omitted. With `type='pie'` each series is one
14
- * concentric ring. */
16
+ * concentric ring. In cartesian charts (line/area/bar) a per-series
17
+ * `type` overrides that series' shape for composed charts (bars under a
18
+ * line, a line over areas), and series sharing a `stackId` stack
19
+ * (Area/Bar shapes). Both are ignored by pie/radar/scatter. */
15
20
  series: ChartSeries[];
16
21
  /** Datum field driving the X axis — the cartesian categories, the pie
17
22
  * sector names, the radar spoke names, or the numeric scatter X
@@ -39,9 +44,11 @@ type ChartProps<T> = {
39
44
  } & Omit<ComponentPropsWithoutRef<'div'>, 'children'>;
40
45
  /** Token-driven chart over recharts: line, area, bar, pie, radar or
41
46
  * scatter series rendered with haze semantic colors, axis/grid/tooltip/legend chrome
42
- * toggles, and the default-omittable `series`/`xKey` mapping. recharts is
43
- * a haze-ui dependency — this module's helpers import it statically, so
44
- * under preserveModules only bundles that actually render Chart include
45
- * the dependency. */
47
+ * toggles, and the default-omittable `series`/`xKey` mapping. Cartesian
48
+ * charts double as composed charts — a per-series `type` mixes line/area/bar
49
+ * shapes inside one chart, and `stackId` stacks the Area/Bar series sharing
50
+ * an id. recharts is a haze-ui dependency — this module's helpers import it
51
+ * statically, so under preserveModules only bundles that actually render
52
+ * Chart include the dependency. */
46
53
  export default function Chart<T>({ type, data, series, xKey, height, innerRadius, layout, renderTooltip, showLegend, showGrid, showTooltip, className, style, ...rest }: ChartProps<T>): import("react").JSX.Element;
47
54
  export type { ChartProps, ChartSeries, ChartTooltipEntry, ChartTooltipPayload, ChartType, };
@@ -6,6 +6,16 @@ export type ChartSeries = {
6
6
  key: string;
7
7
  label?: string;
8
8
  color?: string;
9
+ /** Cartesian containers only (line/area/bar charts): overrides the
10
+ * element shape for this one series — bars under a line chart, a line
11
+ * over an area chart (composed charts). Ignored by pie/radar/scatter,
12
+ * which have a single series shape each. */
13
+ type?: CartesianChartType;
14
+ /** Cartesian containers only: series sharing a `stackId` stack onto the
15
+ * same baseline (Area and Bar shapes). Line ignores it — compose with a
16
+ * per-series `type: 'area'` when stacked lines are the goal. Ignored by
17
+ * pie/radar/scatter. */
18
+ stackId?: string;
9
19
  };
10
20
  /** A series after Chart's label default is applied — what reaches
11
21
  * recharts. `color` is only present when the consumer set it; the plot
@@ -15,6 +25,11 @@ export type ResolvedChartSeries = {
15
25
  key: string;
16
26
  label: string;
17
27
  color?: string;
28
+ /** Per-series cartesian shape override; `undefined` follows the chart
29
+ * type (see `ChartSeries.type`). */
30
+ type?: CartesianChartType;
31
+ /** Stacking group: Area/Bar series sharing the id stack. */
32
+ stackId?: string;
18
33
  };
19
34
  /** Cartesian chart shapes; each maps onto a recharts chart container and
20
35
  * its matching series element (see `chartElement` / `seriesElement`). */
@@ -59,13 +74,19 @@ export declare const LEGEND_STYLE: {
59
74
  };
60
75
  /** Applies the per-series default: `label` falls back to `key`. An
61
76
  * explicit `color` passes through untouched — the plot elements cycle
62
- * `SERIES_COLOR_CYCLE` when it is omitted. */
77
+ * `SERIES_COLOR_CYCLE` when it is omitted. `type` and `stackId` pass
78
+ * through untouched for the cartesian branch of `chartTree`. */
63
79
  export declare function resolveChartSeries(series: readonly ChartSeries[]): ResolvedChartSeries[];
64
- /** The recharts series element for one resolved entry. Line and Area carry
65
- * the token color as `stroke` (Area also fills with it — recharts applies
66
- * its default 0.6 fill opacity), Bar carries it as `fill`. Radar strokes
67
- * and fills its polygon — translucent, so overlapping polygons stay
68
- * readable — and Scatter fills its points. */
80
+ /** The recharts series element for one resolved entry — `type` is the
81
+ * series' own override when set (composed charts), else the chart type.
82
+ * Line and Area carry the token color as `stroke` (Area also fills with
83
+ * it — recharts applies its default 0.6 fill opacity), Bar carries it as
84
+ * `fill`. Radar strokes and fills its polygon — translucent, so
85
+ * overlapping polygons stay readable — and Scatter fills its points.
86
+ * `stackId` is forwarded to Area and Bar: recharts stacks every series
87
+ * sharing an id onto the same baseline. Line ignores it — a stacked line
88
+ * chart is just a harder-to-read stacked area, so Area/Bar are the
89
+ * stacking shapes. */
69
90
  export declare function seriesElement(type: SeriesChartType, entry: ResolvedChartSeries, index?: number): ReactElement;
70
91
  /** Radial band for pie ring `index` of `ringCount`: a single ring spans
71
92
  * [innerRadius, 80%]; multiple rings band the radial space evenly with
@@ -6,6 +6,15 @@ type ChatMessageProps = {
6
6
  name?: ReactNode;
7
7
  timestamp?: ReactNode;
8
8
  status?: 'sending' | 'sent' | 'error';
9
+ /**
10
+ * Marks an assistant message as mid-generation: the bubble carries
11
+ * aria-busy and a visually hidden status live region announces what
12
+ * is already on screen — a "Generating" cue, a throttled snapshot
13
+ * while the text grows, and the complete message once it ends. Leave
14
+ * it false when the children announce themselves (StreamingText has
15
+ * this built in): two live regions would say everything twice.
16
+ */
17
+ streaming?: boolean;
9
18
  /**
10
19
  * Opt in to the built-in copy action: a button in the hover/focus
11
20
  * reveal bar that copies the message's text content (the bubble's
@@ -21,5 +30,5 @@ type ChatMessageProps = {
21
30
  children: ReactNode;
22
31
  className?: string;
23
32
  };
24
- export default function ChatMessage({ role, avatar, name, timestamp, status, copyable, actions, children, className, }: ChatMessageProps): import("react").JSX.Element;
33
+ export default function ChatMessage({ role, avatar, name, timestamp, status, streaming, copyable, actions, children, className, }: ChatMessageProps): import("react").JSX.Element;
25
34
  export type { ChatMessageProps, ChatMessageRole };
@@ -1,15 +1,54 @@
1
1
  import type { Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
+ import type { ColorFormat } from './color-math';
3
4
  type ColorPickerProps = {
5
+ /** Color value in any supported format (hex / rgb / hsl). */
4
6
  value?: ControlOrValue<string>;
5
- presets?: string[];
7
+ /**
8
+ * Value callback: streams continuously while a drag runs (Slider
9
+ * precedent), serialized in `format`.
10
+ */
6
11
  onChange?: (color: string) => void;
12
+ /** Floating panel visibility (floating mode only; controllable). */
13
+ open?: ControlOrValue<boolean>;
14
+ /**
15
+ * Always-visible panel instead of the trigger + floating panel pair.
16
+ * The Core-level primitive (`ColorPickerCore`) remains the native
17
+ * inline form for headless composition.
18
+ */
19
+ inline?: boolean;
20
+ /**
21
+ * Serialization format of the text field and emitted values
22
+ * (`#rrggbb`, `rgb(r, g, b)`, `hsl(h, s%, l%)`). A controlled display
23
+ * concern — switching it does not re-emit the current value.
24
+ */
25
+ format?: ColorFormat;
26
+ /**
27
+ * Adds the alpha rail. Values below full opacity serialize with the
28
+ * alpha channel (`#rrggbbaa`, `rgba()`, `hsla()`); full opacity keeps
29
+ * the opaque form.
30
+ */
31
+ allowAlpha?: boolean;
32
+ /** Swatch row pinned above the recent row; any parsable format. */
33
+ presets?: string[];
34
+ /**
35
+ * Tracks recently used colors (last 10, newest first) as internal
36
+ * state: every committed pick — drag release, swatch click, arrow
37
+ * key, text commit — moves its color to the front, deduplicated.
38
+ */
39
+ recent?: boolean;
7
40
  className?: string;
8
41
  /**
9
- * Forwarded to the color swatch `<input type='color'>` (not the root
10
- * div) — the element form bridges and `ref.current.focus()` reach.
42
+ * Accessible name of the trigger (floating mode) and the panel;
43
+ * defaults to the locale's "Pick color". Set it whenever more than
44
+ * one picker is on a page.
45
+ */
46
+ 'aria-label'?: string;
47
+ /**
48
+ * Floating mode: the trigger swatch button. Inline mode: the panel
49
+ * card div — the elements `ref.current.focus()` reaches.
11
50
  */
12
- ref?: Ref<HTMLInputElement>;
51
+ ref?: Ref<HTMLButtonElement | HTMLDivElement>;
13
52
  };
14
- export default function ColorPicker({ value: valueControl, presets, onChange, className, ref, }: ColorPickerProps): import("react").JSX.Element;
53
+ export default function ColorPicker({ value: valueControl, onChange, open: openControl, inline, format, allowAlpha, presets, recent, className, 'aria-label': ariaLabel, ref, }: ColorPickerProps): import("react").JSX.Element;
15
54
  export type { ColorPickerProps };
@@ -0,0 +1,28 @@
1
+ import type { ColorFormat } from './color-math';
2
+ type ColorPickerPanelProps = {
3
+ /** Current color in any supported format; unparsable values fall back to black. */
4
+ value: string;
5
+ /**
6
+ * Continuous value callback — fires for every drag move (Slider
7
+ * precedent: values stream while the gesture runs), always serialized
8
+ * in `format`.
9
+ */
10
+ onChange: (value: string) => void;
11
+ /**
12
+ * "The user settled on this color": gesture release, discrete pick
13
+ * (preset/recent swatch, arrow keys) or committed text. The
14
+ * recent-colors bookkeeping in the sugar layer rides on this.
15
+ */
16
+ onCommit?: (value: string) => void;
17
+ /** Serialization format of the text field and every emitted value. */
18
+ format?: ColorFormat;
19
+ /** Adds the alpha rail; alpha serializes into the value when below 1. */
20
+ allowAlpha?: boolean;
21
+ /** Swatch row pinned above the recent row; any parsable format. */
22
+ presets?: string[];
23
+ /** Recent-color swatches to render (owned by the sugar layer). */
24
+ recentColors?: string[];
25
+ className?: string;
26
+ };
27
+ export default function ColorPickerPanel({ value, onChange, onCommit, format, allowAlpha, presets, recentColors, className, }: ColorPickerPanelProps): import("react").JSX.Element;
28
+ export type { ColorPickerPanelProps };
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Pure color math for the ColorPicker family: tolerant parsing of CSS
3
+ * color strings (hex / rgb / hsl), serialization per format, and the
4
+ * HSV <-> RGB <-> HSL conversions the saturation/value panel runs on.
5
+ *
6
+ * Deliberately independent of `../../tokens/oklch`: that module routes
7
+ * through OKLab floats (its `parseHex` returns OKLCH), which would make
8
+ * a hex -> hsv -> hex round trip quantization-lossy. Here hex channels
9
+ * stay exact 8-bit integers and every conversion is the classic
10
+ * rational form, so a value round-trips byte-identically.
11
+ */
12
+ export type ColorFormat = 'hex' | 'rgb' | 'hsl';
13
+ /** 8-bit sRGB channels (`r`/`g`/`b` are integers 0..255) plus a normalized alpha (0..1, optional). */
14
+ export type Rgb = {
15
+ r: number;
16
+ g: number;
17
+ b: number;
18
+ a?: number;
19
+ };
20
+ /** Hue in degrees (0..360), saturation and value as 0..1 fractions. */
21
+ export type Hsv = {
22
+ h: number;
23
+ s: number;
24
+ v: number;
25
+ a?: number;
26
+ };
27
+ /** Hue in degrees (0..360), saturation and lightness as 0..1 fractions. */
28
+ export type Hsl = {
29
+ h: number;
30
+ s: number;
31
+ l: number;
32
+ a?: number;
33
+ };
34
+ export type ParsedColor = {
35
+ format: ColorFormat;
36
+ rgb: Rgb;
37
+ };
38
+ /**
39
+ * Parse a CSS color string — `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`,
40
+ * `rgb()/rgba()` and `hsl()/hsla()` with comma or modern slash syntax,
41
+ * percentage channels and percentage alphas. Returns the source format
42
+ * plus normalized RGBA, or `null` when nothing matches (invalid input
43
+ * stays a no-op for the component).
44
+ */
45
+ export declare function parseColor(input: string): ParsedColor | null;
46
+ /**
47
+ * Serialize RGBA in a format. The alpha channel is appended only when
48
+ * `withAlpha` is set and it is below 1 — full opacity serializes as the
49
+ * opaque form (`#rrggbb` / `rgb()` / `hsl()`), matching CSS equivalence.
50
+ */
51
+ export declare function formatColor(rgb: Rgb, format: ColorFormat, withAlpha: boolean): string;
52
+ /** A paintable CSS color: always `rgba()` so transparency survives. */
53
+ export declare function cssColor(rgb: Rgb): string;
54
+ /**
55
+ * Canonical equality key: lowercase 8-digit hex. Two values in any mix
56
+ * of formats compare equal iff their RGBA rounds equal — the preset
57
+ * active state and the recent-colors dedupe both ride on this.
58
+ */
59
+ export declare function rgbHexKey(rgb: Rgb): string;
60
+ export declare function rgbToHsv({ r, g, b }: Rgb): Hsv;
61
+ export declare function hsvToRgb({ h, s, v }: Hsv): Rgb;
62
+ export declare function rgbToHsl({ r, g, b }: Rgb): Hsl;
63
+ export declare function hslToRgb({ h, s, l }: Hsl): Rgb;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Card skin for the panel — the same visual recipe as Popover's panel,
3
+ * at the AntD-aligned 240px picker width (a component dimension, like
4
+ * Popover's `min-width: 200px`, not a themeable value).
5
+ */
6
+ export declare const panelVisuals: import("@linaria/core").LinariaClassName;
7
+ /** Content column inside the card (also the inline-mode root). */
8
+ export declare const panelContent: import("@linaria/core").LinariaClassName;
9
+ /**
10
+ * Saturation/value surface: a dynamic two-layer gradient painted through
11
+ * inline style (hue base + white/black overlays); this class carries the
12
+ * interaction chrome. Pointer-dragged (`touch-action: none` keeps
13
+ * touch drags from scrolling the page).
14
+ */
15
+ export declare const svArea: import("@linaria/core").LinariaClassName;
16
+ /**
17
+ * Thumb ring over the SV surface. The white border + dark halo is a
18
+ * functional exception to the token rule — the thumb must read over
19
+ * EVERY color, bright or dark, in both themes (same class of exception
20
+ * as the hue spectrum below).
21
+ */
22
+ export declare const svThumb: import("@linaria/core").LinariaClassName;
23
+ /** Shared shape of the hue/alpha rails. */
24
+ export declare const track: import("@linaria/core").LinariaClassName;
25
+ /**
26
+ * The full hue spectrum. Functional color values by definition (the
27
+ * component's subject matter, like a preset swatch), not theme
28
+ * decoration — no token exists for "red through violet".
29
+ */
30
+ export declare const hueTrack: import("@linaria/core").LinariaClassName;
31
+ /** Transparency underlay: theme-neutral checkerboard from tokens. */
32
+ export declare const checkerboard: import("@linaria/core").LinariaClassName;
33
+ /** The dynamic transparent→opaque color layer of the alpha rail. */
34
+ export declare const trackFill: import("@linaria/core").LinariaClassName;
35
+ /** Thumb on the hue/alpha rails (svThumb's ring recipe, rail-sized). */
36
+ export declare const trackThumb: import("@linaria/core").LinariaClassName;
37
+ /** Format-aware color code input (Core's text input recipe). */
38
+ export declare const valueInput: import("@linaria/core").LinariaClassName;
39
+ /** Heading over a swatch row (presets / recent colors). */
40
+ export declare const groupLabel: import("@linaria/core").LinariaClassName;
41
+ export declare const swatchRow: import("@linaria/core").LinariaClassName;
42
+ /**
43
+ * One swatch: a checkerboard base (so translucent fills read) with the
44
+ * paint on an inset child layer.
45
+ */
46
+ export declare const swatchBtn: import("@linaria/core").LinariaClassName;
47
+ export declare const swatchFill: import("@linaria/core").LinariaClassName;
48
+ export declare const swatchActive: import("@linaria/core").LinariaClassName;
49
+ /** The floating-mode trigger: a color swatch button. */
50
+ export declare const trigger: import("@linaria/core").LinariaClassName;
@@ -0,0 +1,67 @@
1
+ import type { ToastPlacement } from '../Toast/ToastContainer';
2
+ /**
3
+ * Component default overrides, keyed by the exported component name —
4
+ * a simplified AntD-v6 `ConfigProvider` channel scoped to prop defaults
5
+ * (theming stays on the token classes, i18n on `LocaleProvider`).
6
+ *
7
+ * Each section names the defaults of one component; an explicit prop on
8
+ * the component itself always beats anything set here, and a missing
9
+ * provider leaves every component on its built-in defaults.
10
+ */
11
+ type HazeConfig = {
12
+ /** `Button` prop defaults. */
13
+ Button?: {
14
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
15
+ size?: 'sm' | 'md' | 'lg';
16
+ };
17
+ /** `ButtonLink` prop defaults — the anchor wearing Button's skin. */
18
+ ButtonLink?: {
19
+ /** Default `size` when the prop is omitted (built-in `'md'`). */
20
+ size?: 'sm' | 'md' | 'lg';
21
+ };
22
+ /**
23
+ * Toast defaults. `duration` covers toasts fired through `useToast()`;
24
+ * the module-level `toast()` runs outside any React tree and keeps its
25
+ * own 3000ms default regardless of config. `loading()` toasts keep
26
+ * their persistent (0ms) semantics — config never re-arms them.
27
+ */
28
+ Toast?: {
29
+ /** Auto-dismiss budget in ms when a call omits `duration` (3000). */
30
+ duration?: number;
31
+ /** Viewport edge the stack is pinned to (`'bottom-right'`). */
32
+ placement?: ToastPlacement;
33
+ /** Max simultaneous toasts; oldest dropped on overflow (unbounded). */
34
+ maxCount?: number;
35
+ };
36
+ /** `Tooltip` prop defaults. */
37
+ Tooltip?: {
38
+ /** Hover/focus delay in ms before the tooltip appears (150). */
39
+ delay?: number;
40
+ };
41
+ /** `HoverCard` prop defaults. */
42
+ HoverCard?: {
43
+ /** Hover/focus dwell in ms before the card opens (200). */
44
+ openDelay?: number;
45
+ /**
46
+ * Grace period in ms after the pointer leaves before the card
47
+ * closes — the travel window into the panel (120).
48
+ */
49
+ closeDelay?: number;
50
+ };
51
+ };
52
+ /**
53
+ * The fully merged config visible below a `ConfigProvider`. The
54
+ * provider resolves nesting itself (inner sections shallow-merge over
55
+ * outer ones), so the context always carries one flat value — consumers
56
+ * never walk a chain.
57
+ */
58
+ declare const ConfigContext: import("react").Context<HazeConfig | undefined>;
59
+ /**
60
+ * Per-section shallow merge for nested providers: keys the inner
61
+ * provider names win, keys it leaves unset keep the outer value, and
62
+ * sections present on only one side pass through untouched. Pure — no
63
+ * DOM access, SSR-safe.
64
+ */
65
+ declare function mergeConfig(outer: HazeConfig | undefined, inner: HazeConfig | undefined): HazeConfig;
66
+ export { ConfigContext, mergeConfig };
67
+ export type { HazeConfig };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { HazeConfig } from './ConfigContext';
3
+ type ConfigProviderProps = {
4
+ /**
5
+ * Component defaults, keyed by exported component name (see
6
+ * `HazeConfig`). Nested providers layer: the inner provider's keys win
7
+ * per component section (shallow merge), keys it leaves unset keep the
8
+ * outer value. Explicit props on a component always beat config values.
9
+ */
10
+ defaults?: HazeConfig;
11
+ children: ReactNode;
12
+ };
13
+ /**
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
18
+ * be mounted in either order, nested in one another, or used alone.
19
+ *
20
+ * Renders no DOM and touches no browser API — safe under SSR (string
21
+ * render and hydration alike). A client-boundary module (React context):
22
+ * the lib build stamps `'use client'` on it.
23
+ */
24
+ export default function ConfigProvider({ defaults, children, }: ConfigProviderProps): import("react").JSX.Element;
25
+ export type { ConfigProviderProps };
@@ -0,0 +1,4 @@
1
+ export { default } from './ConfigProvider';
2
+ export type { ConfigProviderProps } from './ConfigProvider';
3
+ export { useConfigDefaults } from './useConfigDefaults';
4
+ export type { HazeConfig } from './ConfigContext';
@@ -0,0 +1,28 @@
1
+ import type { HazeConfig } from './ConfigContext';
2
+ /**
3
+ * Reads one component's resolved defaults from the enclosing
4
+ * `ConfigProvider` chain. Returns a frozen empty object when no provider
5
+ * is mounted; callers fall through to their built-in defaults, so wiring
6
+ * a component never changes its provider-less behavior.
7
+ *
8
+ * ## Wiring a new component (the internal pattern)
9
+ *
10
+ * 1. Declare a section in `HazeConfig` (`ConfigContext.ts`) named after
11
+ * the exported component:
12
+ *
13
+ * ```ts
14
+ * MyComponent?: { size?: 'sm' | 'md' | 'lg' };
15
+ * ```
16
+ *
17
+ * 2. In the component, drop the destructuring default for each wired
18
+ * prop and resolve three tiers — explicit prop, config, built-in:
19
+ *
20
+ * ```ts
21
+ * const config = useConfigDefaults('MyComponent');
22
+ * const size = sizeProp ?? config.size ?? 'md';
23
+ * ```
24
+ *
25
+ * The built-in stays last so a missing provider renders exactly what
26
+ * the component rendered before the wiring (byte-identical).
27
+ */
28
+ export declare function useConfigDefaults<K extends keyof HazeConfig>(component: K): Readonly<NonNullable<HazeConfig[K]>>;
@@ -1,7 +1,16 @@
1
1
  import type { ReactNode } from 'react';
2
2
  type ConversationListProps = {
3
3
  children: ReactNode;
4
+ /**
5
+ * Infinite-scroll trigger on the list's scrollport: fired when the
6
+ * scroll position comes within 200px of the end. Entering the zone
7
+ * fires once; staying inside does not re-fire; scrolling back out
8
+ * re-arms, and growth of the rendered children re-arms too, so a
9
+ * still-short list chains straight into the next page. Typical use:
10
+ * append the next page of conversations. Ignored when not provided.
11
+ */
12
+ onLoadMore?: () => void;
4
13
  className?: string;
5
14
  };
6
- export default function ConversationList({ children, className }: ConversationListProps): import("react").JSX.Element;
15
+ export default function ConversationList({ children, onLoadMore, className }: ConversationListProps): import("react").JSX.Element;
7
16
  export type { ConversationListProps };
@@ -1,26 +1,39 @@
1
1
  import type { Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
- import type { CalendarPickerMode } from '../Calendar/Calendar';
3
+ import type { CalendarCellRender, CalendarPickerMode } from '../Calendar/Calendar';
4
4
  import type { DatepickerPreset } from './DatepickerCore';
5
5
  type DatepickerProps = {
6
6
  value?: ControlOrValue<string>;
7
7
  open?: ControlOrValue<boolean>;
8
- /** Calendar granularity — 'date' (default), 'month', 'quarter' or
9
- * 'year'. `value` serializes per mode: "YYYY-MM-DD", "YYYY-MM",
10
- * "YYYY-Qn" or "YYYY". */
8
+ /** Calendar granularity — 'date' (default), an ISO week 'week',
9
+ * 'month', 'quarter' or 'year'. `value` serializes per mode:
10
+ * "YYYY-MM-DD", "YYYY-Www", "YYYY-MM", "YYYY-Qn" or "YYYY". */
11
11
  picker?: CalendarPickerMode;
12
12
  min?: string;
13
13
  max?: string;
14
14
  /** Disables individual dates on the calendar panel (see Calendar's
15
- * `disabledDate`). */
15
+ * `disabledDate`) — day grid and header drill-down grids alike. */
16
16
  disabledDate?: (date: Date) => boolean;
17
17
  /** Shortcut rows at the top of the panel; clicking applies the
18
18
  * preset's value and closes the panel. */
19
19
  presets?: DatepickerPreset[];
20
- /** Adds a time input (hour/minute) below the calendar; `value`
21
- * serializes as `"YYYY-MM-DD HH:mm"` instead of `"YYYY-MM-DD"`
22
- * (plain-date values stay accepted). Date granularity only. */
23
- showTime?: boolean;
20
+ /** Adds a time input (hour/minute, or seconds with
21
+ * `{ seconds: true }`) below the calendar; `value` serializes as
22
+ * `"YYYY-MM-DD HH:mm"` / `"YYYY-MM-DD HH:mm:ss"` instead of
23
+ * `"YYYY-MM-DD"` (plain-date values stay accepted). Date granularity
24
+ * only. */
25
+ showTime?: boolean | {
26
+ seconds?: boolean;
27
+ };
28
+ /** Custom serialization for picks, replacing the built-in value
29
+ * format (see DatepickerCore's `format`). */
30
+ format?: (date: Date) => string;
31
+ /** Reads a custom-formatted value back into the calendar (see
32
+ * DatepickerCore's `parse`). */
33
+ parse?: (text: string) => Date | null;
34
+ /** Appends custom content inside the panel's picker cells (see
35
+ * Calendar's `cellRender`). */
36
+ cellRender?: CalendarCellRender;
24
37
  locale?: string;
25
38
  weekStartsOn?: 0 | 1;
26
39
  placeholder?: string;
@@ -29,5 +42,5 @@ type DatepickerProps = {
29
42
  * element form bridges and `ref.current.focus()` reach. */
30
43
  ref?: Ref<HTMLInputElement>;
31
44
  };
32
- export default function Datepicker({ value: valueControl, open: openControl, picker, min, max, disabledDate, presets, showTime, locale, weekStartsOn, placeholder, className, ref, }: DatepickerProps): import("react").JSX.Element;
45
+ export default function Datepicker({ value: valueControl, open: openControl, picker, min, max, disabledDate, presets, showTime, format, parse, locale, weekStartsOn, cellRender, placeholder, className, ref, }: DatepickerProps): import("react").JSX.Element;
33
46
  export type { DatepickerProps };