haze-ui 1.28.0 → 1.30.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 (435) hide show
  1. package/README.md +139 -33
  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/Affix/Affix.js +1 -0
  6. package/dist/components/Alert/Alert.js +3 -0
  7. package/dist/components/Anchor/Anchor.js +21 -15
  8. package/dist/components/AppShell/AppShell.js +5 -0
  9. package/dist/components/ApprovalCard/ApprovalCard.js +8 -0
  10. package/dist/components/AspectRatio/AspectRatio.js +2 -0
  11. package/dist/components/AsyncSection/AsyncSection.js +8 -0
  12. package/dist/components/Avatar/Avatar.js +11 -6
  13. package/dist/components/AvatarGroup/AvatarGroup.js +9 -6
  14. package/dist/components/BackToTop/BackToTop.js +5 -4
  15. package/dist/components/Badge/Badge.js +1 -0
  16. package/dist/components/Banner/Banner.js +3 -0
  17. package/dist/components/BottomSheet/BottomSheet.js +21 -16
  18. package/dist/components/Breadcrumb/Breadcrumb.js +11 -7
  19. package/dist/components/Breadcrumb/BreadcrumbItem.js +2 -0
  20. package/dist/components/Button/Button.js +13 -11
  21. package/dist/components/Button/ButtonLink.js +15 -13
  22. package/dist/components/Calendar/Calendar.js +523 -368
  23. package/dist/components/Calendar/date.js +35 -10
  24. package/dist/components/Card/Card.js +1 -0
  25. package/dist/components/Carousel/Carousel.js +157 -60
  26. package/dist/components/Carousel/CarouselSlide.js +3 -1
  27. package/dist/components/Cascader/Cascader.js +48 -35
  28. package/dist/components/Chart/Chart.js +5 -4
  29. package/dist/components/Chart/chart-elements.js +117 -52
  30. package/dist/components/ChatContainer/ChatContainer.js +9 -7
  31. package/dist/components/ChatInput/ChatInput.js +12 -9
  32. package/dist/components/ChatMessage/ChatMessage.js +83 -44
  33. package/dist/components/Checkbox/CheckboxCore.js +2 -0
  34. package/dist/components/Chip/Chip.js +3 -0
  35. package/dist/components/CodeBlock/CodeBlock.js +18 -9
  36. package/dist/components/Collapsible/Collapsible.js +24 -21
  37. package/dist/components/ColorPicker/ColorPicker.js +85 -14
  38. package/dist/components/ColorPicker/ColorPickerCore.js +6 -0
  39. package/dist/components/ColorPicker/ColorPickerPanel.js +277 -0
  40. package/dist/components/ColorPicker/color-math.js +168 -0
  41. package/dist/components/ColorPicker/color-picker-styles.js +7 -0
  42. package/dist/components/ColorPicker/index.js +3 -3
  43. package/dist/components/Combobox/Combobox.js +31 -24
  44. package/dist/components/Combobox/ComboboxGroup.js +7 -5
  45. package/dist/components/Combobox/ComboboxOption.js +1 -0
  46. package/dist/components/Command/Command.js +44 -37
  47. package/dist/components/Command/CommandDialog.js +8 -8
  48. package/dist/components/ConfigProvider/ConfigContext.js +30 -0
  49. package/dist/components/ConfigProvider/ConfigProvider.js +14 -0
  50. package/dist/components/ConfigProvider/index.js +4 -0
  51. package/dist/components/ConfigProvider/useConfigDefaults.js +10 -0
  52. package/dist/components/ConfirmDialog/ConfirmDialog.js +18 -11
  53. package/dist/components/Container/Container.js +1 -0
  54. package/dist/components/ContextMenu/ContextMenu.js +7 -6
  55. package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
  56. package/dist/components/ContextMenu/ContextMenuItem.js +1 -0
  57. package/dist/components/ContextMenu/ContextMenuSeparator.js +1 -0
  58. package/dist/components/ContextMenu/ContextMenuTrigger.js +1 -0
  59. package/dist/components/ConversationList/ConversationItem.js +4 -0
  60. package/dist/components/ConversationList/ConversationList.js +1 -0
  61. package/dist/components/CountUp/CountUp.js +46 -0
  62. package/dist/components/CountUp/index.js +3 -0
  63. package/dist/components/DataTable/CellEditor.js +4 -4
  64. package/dist/components/DataTable/DataTable.js +236 -168
  65. package/dist/components/DateRangePicker/DateRangePickerCore.js +9 -0
  66. package/dist/components/Datepicker/Datepicker.js +14 -11
  67. package/dist/components/Datepicker/DatepickerCore.js +75 -60
  68. package/dist/components/Datepicker/datetime.js +14 -3
  69. package/dist/components/Descriptions/Descriptions.js +6 -0
  70. package/dist/components/Dialog/Dialog.js +13 -11
  71. package/dist/components/DiffViewer/DiffViewer.js +22 -13
  72. package/dist/components/Disclosure/Disclosure.js +10 -7
  73. package/dist/components/Divider/Divider.js +2 -0
  74. package/dist/components/Drawer/Drawer.js +10 -9
  75. package/dist/components/DropdownMenu/DropdownMenu.js +58 -35
  76. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +63 -0
  77. package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
  78. package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -0
  79. package/dist/components/DropdownMenu/DropdownMenuItem.js +29 -10
  80. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +30 -0
  81. package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +59 -0
  82. package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -0
  83. package/dist/components/DropdownMenu/DropdownMenuSub.js +1 -0
  84. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +1 -0
  85. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
  86. package/dist/components/DropdownMenu/dropdown-menu-item-styles.js +7 -0
  87. package/dist/components/DropdownMenu/index.js +12 -8
  88. package/dist/components/Ellipsis/Ellipsis.js +56 -0
  89. package/dist/components/Ellipsis/index.js +3 -0
  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 +1 -0
  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 +255 -0
  113. package/dist/components/LocaleProvider/de-de.js +255 -0
  114. package/dist/components/LocaleProvider/es-es.js +255 -0
  115. package/dist/components/LocaleProvider/fr-fr.js +255 -0
  116. package/dist/components/LocaleProvider/index.js +10 -2
  117. package/dist/components/LocaleProvider/it-it.js +255 -0
  118. package/dist/components/LocaleProvider/ja-jp.js +35 -2
  119. package/dist/components/LocaleProvider/ko-kr.js +255 -0
  120. package/dist/components/LocaleProvider/locale.js +35 -2
  121. package/dist/components/LocaleProvider/pt-br.js +255 -0
  122. package/dist/components/LocaleProvider/ru-ru.js +255 -0
  123. package/dist/components/LocaleProvider/zh-cn.js +35 -2
  124. package/dist/components/LogViewer/LogViewer.js +25 -14
  125. package/dist/components/MarkdownRenderer/MarkdownRenderer.js +6 -5
  126. package/dist/components/MarkdownRenderer/markdown-blocks.js +1 -1
  127. package/dist/components/Masonry/Masonry.js +13 -10
  128. package/dist/components/Mentions/MentionsCore.js +15 -11
  129. package/dist/components/Menu/Menu.js +58 -36
  130. package/dist/components/Menu/MenuCheckboxItem.js +63 -0
  131. package/dist/components/Menu/MenuDivider.js +1 -0
  132. package/dist/components/Menu/MenuGroup.js +26 -0
  133. package/dist/components/Menu/MenuItem.js +28 -9
  134. package/dist/components/Menu/MenuRadioGroup.js +30 -0
  135. package/dist/components/Menu/MenuRadioItem.js +59 -0
  136. package/dist/components/Menu/MenuSub.js +1 -0
  137. package/dist/components/Menu/MenuSubTrigger.js +1 -0
  138. package/dist/components/Menu/index.js +11 -7
  139. package/dist/components/Menu/menu-item-styles.js +7 -0
  140. package/dist/components/ModelPicker/ModelPicker.js +3 -0
  141. package/dist/components/NavigationBar/NavLink.js +7 -6
  142. package/dist/components/NavigationBar/NavigationBar.js +4 -0
  143. package/dist/components/NumberInput/NumberInputCore.js +4 -0
  144. package/dist/components/OTPInput/OTPInputCore.js +9 -7
  145. package/dist/components/Pagination/Pagination.js +125 -33
  146. package/dist/components/PasswordInput/PasswordInputCore.js +9 -6
  147. package/dist/components/Popover/Popover.js +9 -7
  148. package/dist/components/Progress/Progress.js +5 -0
  149. package/dist/components/PromptInput/PromptInput.js +49 -41
  150. package/dist/components/QRCode/QRCode.js +45 -0
  151. package/dist/components/QRCode/index.js +3 -0
  152. package/dist/components/Radio/Radio.js +2 -0
  153. package/dist/components/Radio/RadioGroupCore.js +7 -6
  154. package/dist/components/Rating/RatingCore.js +18 -15
  155. package/dist/components/Resizable/Resizable.js +25 -22
  156. package/dist/components/Result/Result.js +234 -0
  157. package/dist/components/Result/index.js +3 -0
  158. package/dist/components/ScrollArea/ScrollArea.js +1 -0
  159. package/dist/components/Segmented/SegmentedCore.js +9 -7
  160. package/dist/components/Select/Option.js +1 -0
  161. package/dist/components/Select/OptionGroup.js +1 -0
  162. package/dist/components/Select/SelectCore.js +11 -8
  163. package/dist/components/Select/SelectFloating.js +54 -36
  164. package/dist/components/Sidebar/Sidebar.js +52 -42
  165. package/dist/components/Signature/Signature.js +101 -91
  166. package/dist/components/Skeleton/Skeleton.js +1 -0
  167. package/dist/components/Slider/SliderCore.js +149 -43
  168. package/dist/components/Sources/Sources.js +31 -21
  169. package/dist/components/Spinner/Spinner.js +1 -0
  170. package/dist/components/Stat/Stat.js +7 -0
  171. package/dist/components/StepTimeline/StepTimeline.js +6 -0
  172. package/dist/components/Stepper/Step.js +8 -1
  173. package/dist/components/Stepper/Stepper.js +7 -6
  174. package/dist/components/StreamingText/StreamingText.js +62 -29
  175. package/dist/components/SwipeAction/SwipeAction.js +11 -9
  176. package/dist/components/Switch/SwitchCore.js +9 -5
  177. package/dist/components/Table/Table.js +2 -0
  178. package/dist/components/Table/TableBody.js +1 -0
  179. package/dist/components/Table/TableCell.js +1 -0
  180. package/dist/components/Table/TableHead.js +1 -0
  181. package/dist/components/Table/TableRow.js +1 -0
  182. package/dist/components/Tabs/Tab.js +1 -0
  183. package/dist/components/Tabs/TabList.js +5 -4
  184. package/dist/components/Tabs/TabPanel.js +1 -0
  185. package/dist/components/Tabs/Tabs.js +1 -0
  186. package/dist/components/Tag/Tag.js +2 -0
  187. package/dist/components/TagGroup/SortableTagGroup.js +7 -6
  188. package/dist/components/TagGroup/TagGroup.js +1 -0
  189. package/dist/components/TagGroup/TagGroupItem.js +3 -0
  190. package/dist/components/TagInput/SortableTagInputCore.js +13 -10
  191. package/dist/components/TagInput/TagInputCore.js +17 -12
  192. package/dist/components/Textarea/TextareaCore.js +1 -0
  193. package/dist/components/ThinkingIndicator/ThinkingIndicator.js +18 -4
  194. package/dist/components/TimePicker/TimePicker.js +30 -14
  195. package/dist/components/TimePicker/TimePickerCore.js +1 -0
  196. package/dist/components/TimePicker/TimePickerPanel.js +260 -0
  197. package/dist/components/TimePicker/time-picker-styles.js +7 -0
  198. package/dist/components/TimePicker/time.js +51 -0
  199. package/dist/components/Timeline/Timeline.js +14 -1
  200. package/dist/components/Toast/Toast.js +94 -48
  201. package/dist/components/Toast/ToastContainer.js +60 -56
  202. package/dist/components/Toast/ToastContext.js +3 -1
  203. package/dist/components/Toast/toast2.js +20 -14
  204. package/dist/components/Toast/useToast.js +36 -11
  205. package/dist/components/Toggle/ToggleCore.js +1 -0
  206. package/dist/components/TokenCounter/TokenCounter.js +8 -1
  207. package/dist/components/ToolCallCard/ToolCallCard.js +18 -2
  208. package/dist/components/Toolbar/Toolbar.js +9 -8
  209. package/dist/components/Toolbar/ToolbarButton.js +1 -0
  210. package/dist/components/Toolbar/ToolbarSeparator.js +1 -0
  211. package/dist/components/Toolbar/ToolbarToggle.js +1 -0
  212. package/dist/components/Tooltip/Tooltip.js +46 -42
  213. package/dist/components/Tour/Tour.js +76 -65
  214. package/dist/components/Transfer/TransferCore.js +31 -17
  215. package/dist/components/Tree/SortableTree.js +151 -0
  216. package/dist/components/Tree/Tree.js +163 -154
  217. package/dist/components/Tree/TreeItem.js +52 -39
  218. package/dist/components/Tree/index.js +2 -1
  219. package/dist/components/Tree/sortable-tree-styles.js +7 -0
  220. package/dist/components/Tree/sortable-tree-utils.js +36 -0
  221. package/dist/components/TreeSelect/TreeSelect.js +240 -0
  222. package/dist/components/TreeSelect/index.js +3 -0
  223. package/dist/components/Typography/Typography.js +42 -12
  224. package/dist/components/Upload/Upload.js +12 -11
  225. package/dist/components/Upload/UploadCore.js +92 -65
  226. package/dist/components/Upload/UploadList.js +177 -105
  227. package/dist/components/VirtualList/VirtualList.js +229 -124
  228. package/dist/components/Watermark/Watermark.js +8 -6
  229. package/dist/css/accordion.css +1 -1
  230. package/dist/css/alert.css +1 -1
  231. package/dist/css/async-section.css +1 -1
  232. package/dist/css/banner.css +1 -1
  233. package/dist/css/bottom-sheet.css +1 -1
  234. package/dist/css/button.css +2 -2
  235. package/dist/css/calendar.css +1 -1
  236. package/dist/css/carousel.css +1 -1
  237. package/dist/css/chat-message.css +1 -1
  238. package/dist/css/checkbox.css +1 -1
  239. package/dist/css/color-picker.css +2 -0
  240. package/dist/css/combobox.css +2 -2
  241. package/dist/css/context-menu.css +1 -1
  242. package/dist/css/count-up.css +2 -0
  243. package/dist/css/dialog.css +1 -1
  244. package/dist/css/drawer.css +1 -1
  245. package/dist/css/dropdown-menu.css +7 -2
  246. package/dist/css/ellipsis.css +2 -0
  247. package/dist/css/form.css +1 -1
  248. package/dist/css/grid.css +2 -1
  249. package/dist/css/hover-card.css +1 -1
  250. package/dist/css/input.css +1 -1
  251. package/dist/css/menu.css +9 -4
  252. package/dist/css/pagination.css +1 -1
  253. package/dist/css/popover.css +1 -1
  254. package/dist/css/progress.css +1 -1
  255. package/dist/css/qr-code.css +2 -0
  256. package/dist/css/radio.css +1 -1
  257. package/dist/css/rating.css +1 -1
  258. package/dist/css/result.css +2 -0
  259. package/dist/css/segmented.css +1 -1
  260. package/dist/css/skeleton.css +1 -1
  261. package/dist/css/slider.css +1 -1
  262. package/dist/css/spinner.css +1 -1
  263. package/dist/css/stepper.css +1 -1
  264. package/dist/css/streaming-text.css +1 -1
  265. package/dist/css/switch.css +1 -1
  266. package/dist/css/tabs.css +1 -1
  267. package/dist/css/textarea.css +1 -1
  268. package/dist/css/thinking-indicator.css +1 -1
  269. package/dist/css/time-picker.css +1 -0
  270. package/dist/css/toast.css +1 -1
  271. package/dist/css/toggle.css +1 -1
  272. package/dist/css/tokens.css +4 -2
  273. package/dist/css/tooltip.css +1 -1
  274. package/dist/css/tree-select.css +3 -0
  275. package/dist/css/tree.css +2 -1
  276. package/dist/css/typography.css +1 -1
  277. package/dist/css/upload.css +1 -1
  278. package/dist/css/virtual-list.css +1 -1
  279. package/dist/css-manifest.json +41 -0
  280. package/dist/dates/adapter.js +13 -0
  281. package/dist/dates/gregory.js +44 -0
  282. package/dist/dates/islamic.js +87 -0
  283. package/dist/dates/registry.js +13 -0
  284. package/dist/dates/timezone.js +29 -0
  285. package/dist/design-tokens/cyan-dark.json +355 -0
  286. package/dist/design-tokens/cyan-light.json +355 -0
  287. package/dist/design-tokens/dark.json +355 -0
  288. package/dist/design-tokens/light.json +355 -0
  289. package/dist/design-tokens/orange-dark.json +355 -0
  290. package/dist/design-tokens/orange-light.json +355 -0
  291. package/dist/design-tokens/rose-dark.json +355 -0
  292. package/dist/design-tokens/rose-light.json +355 -0
  293. package/dist/design-tokens/teal-dark.json +355 -0
  294. package/dist/design-tokens/teal-light.json +355 -0
  295. package/dist/design-tokens/violet-dark.json +355 -0
  296. package/dist/design-tokens/violet-light.json +355 -0
  297. package/dist/form/FormItem.js +71 -63
  298. package/dist/form/FormList.js +6 -6
  299. package/dist/form/form-item-styles.js +7 -0
  300. package/dist/haze-ui.css +73 -50
  301. package/dist/index.js +250 -218
  302. package/dist/mcp-docs.json +10312 -0
  303. package/dist/registry.json +144 -42
  304. package/dist/tokens/brands.js +21 -0
  305. package/dist/tokens/density.js +6 -0
  306. package/dist/tokens/index.js +7 -6
  307. package/dist/tokens/motion.js +9 -2
  308. package/dist/tokens/palette.js +256 -88
  309. package/dist/tokens/registry.js +18 -22
  310. package/dist/types/components/Button/Button.d.ts +1 -1
  311. package/dist/types/components/Calendar/Calendar.d.ts +39 -14
  312. package/dist/types/components/Calendar/date.d.ts +51 -0
  313. package/dist/types/components/Calendar/index.d.ts +1 -1
  314. package/dist/types/components/Carousel/Carousel.d.ts +5 -1
  315. package/dist/types/components/Carousel/CarouselSlide.d.ts +3 -3
  316. package/dist/types/components/Chart/Chart.d.ts +24 -13
  317. package/dist/types/components/Chart/chart-elements.d.ts +39 -10
  318. package/dist/types/components/ChatMessage/ChatMessage.d.ts +10 -1
  319. package/dist/types/components/ColorPicker/ColorPicker.d.ts +44 -5
  320. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -0
  321. package/dist/types/components/ColorPicker/color-math.d.ts +63 -0
  322. package/dist/types/components/ColorPicker/color-picker-styles.d.ts +50 -0
  323. package/dist/types/components/ConfigProvider/ConfigContext.d.ts +67 -0
  324. package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +25 -0
  325. package/dist/types/components/ConfigProvider/index.d.ts +4 -0
  326. package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +28 -0
  327. package/dist/types/components/CountUp/CountUp.d.ts +20 -0
  328. package/dist/types/components/CountUp/index.d.ts +2 -0
  329. package/dist/types/components/Datepicker/Datepicker.d.ts +23 -10
  330. package/dist/types/components/Datepicker/DatepickerCore.d.ts +40 -10
  331. package/dist/types/components/Datepicker/datetime.d.ts +33 -11
  332. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +12 -2
  333. package/dist/types/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +26 -0
  334. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +16 -0
  335. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +7 -1
  336. package/dist/types/components/DropdownMenu/DropdownMenuRadioGroup.d.ts +21 -0
  337. package/dist/types/components/DropdownMenu/DropdownMenuRadioItem.d.ts +22 -0
  338. package/dist/types/components/DropdownMenu/dropdown-menu-item-styles.d.ts +29 -0
  339. package/dist/types/components/DropdownMenu/index.d.ts +9 -1
  340. package/dist/types/components/Ellipsis/Ellipsis.d.ts +19 -0
  341. package/dist/types/components/Ellipsis/index.d.ts +2 -0
  342. package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -0
  343. package/dist/types/components/Grid/Grid.d.ts +8 -1
  344. package/dist/types/components/Grid/GridItem.d.ts +24 -1
  345. package/dist/types/components/Grid/grid-item-styles.d.ts +57 -0
  346. package/dist/types/components/HoverCard/HoverCard.d.ts +1 -1
  347. package/dist/types/components/LocaleProvider/ar-sa.d.ts +22 -0
  348. package/dist/types/components/LocaleProvider/de-de.d.ts +15 -0
  349. package/dist/types/components/LocaleProvider/es-es.d.ts +15 -0
  350. package/dist/types/components/LocaleProvider/fr-fr.d.ts +15 -0
  351. package/dist/types/components/LocaleProvider/index.d.ts +8 -0
  352. package/dist/types/components/LocaleProvider/it-it.d.ts +15 -0
  353. package/dist/types/components/LocaleProvider/ko-kr.d.ts +15 -0
  354. package/dist/types/components/LocaleProvider/locale.d.ts +35 -0
  355. package/dist/types/components/LocaleProvider/pt-br.d.ts +16 -0
  356. package/dist/types/components/LocaleProvider/ru-ru.d.ts +15 -0
  357. package/dist/types/components/Menu/Menu.d.ts +11 -2
  358. package/dist/types/components/Menu/MenuCheckboxItem.d.ts +25 -0
  359. package/dist/types/components/Menu/MenuGroup.d.ts +16 -0
  360. package/dist/types/components/Menu/MenuItem.d.ts +7 -1
  361. package/dist/types/components/Menu/MenuRadioGroup.d.ts +20 -0
  362. package/dist/types/components/Menu/MenuRadioItem.d.ts +22 -0
  363. package/dist/types/components/Menu/index.d.ts +9 -1
  364. package/dist/types/components/Menu/menu-item-styles.d.ts +28 -0
  365. package/dist/types/components/NavigationBar/NavLink.d.ts +1 -1
  366. package/dist/types/components/Pagination/Pagination.d.ts +17 -3
  367. package/dist/types/components/QRCode/QRCode.d.ts +33 -0
  368. package/dist/types/components/QRCode/index.d.ts +2 -0
  369. package/dist/types/components/Result/Result.d.ts +16 -0
  370. package/dist/types/components/Result/index.d.ts +2 -0
  371. package/dist/types/components/Sidebar/Sidebar.d.ts +1 -1
  372. package/dist/types/components/Slider/Slider.d.ts +24 -2
  373. package/dist/types/components/Slider/SliderCore.d.ts +41 -3
  374. package/dist/types/components/StreamingText/StreamingText.d.ts +8 -1
  375. package/dist/types/components/TagGroup/SortableTagGroup.d.ts +3 -2
  376. package/dist/types/components/TagGroup/TagGroup.d.ts +1 -1
  377. package/dist/types/components/TagInput/SortableTagInput.d.ts +2 -3
  378. package/dist/types/components/TagInput/SortableTagInputCore.d.ts +3 -3
  379. package/dist/types/components/TimePicker/TimePicker.d.ts +36 -4
  380. package/dist/types/components/TimePicker/TimePickerPanel.d.ts +26 -0
  381. package/dist/types/components/TimePicker/index.d.ts +1 -0
  382. package/dist/types/components/TimePicker/time-picker-styles.d.ts +30 -0
  383. package/dist/types/components/TimePicker/time.d.ts +49 -0
  384. package/dist/types/components/Toast/Toast.d.ts +19 -6
  385. package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
  386. package/dist/types/components/Toast/ToastContext.d.ts +22 -2
  387. package/dist/types/components/Toast/index.d.ts +1 -1
  388. package/dist/types/components/Toast/toast.d.ts +20 -14
  389. package/dist/types/components/Toast/useToast.d.ts +14 -4
  390. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  391. package/dist/types/components/Tree/SortableTree.d.ts +38 -0
  392. package/dist/types/components/Tree/Tree.d.ts +1 -1
  393. package/dist/types/components/Tree/index.d.ts +2 -0
  394. package/dist/types/components/Tree/sortable-tree-styles.d.ts +36 -0
  395. package/dist/types/components/Tree/sortable-tree-utils.d.ts +40 -0
  396. package/dist/types/components/TreeSelect/TreeSelect.d.ts +93 -0
  397. package/dist/types/components/TreeSelect/index.d.ts +2 -0
  398. package/dist/types/components/Typography/Typography.d.ts +12 -3
  399. package/dist/types/components/Typography/index.d.ts +1 -1
  400. package/dist/types/components/Upload/Upload.d.ts +17 -10
  401. package/dist/types/components/Upload/UploadCore.d.ts +26 -12
  402. package/dist/types/components/Upload/UploadList.d.ts +10 -7
  403. package/dist/types/components/Upload/index.d.ts +1 -1
  404. package/dist/types/components/Upload/types.d.ts +33 -7
  405. package/dist/types/components/VirtualList/VirtualList.d.ts +79 -26
  406. package/dist/types/components/VirtualList/index.d.ts +1 -1
  407. package/dist/types/dates/adapter.d.ts +74 -0
  408. package/dist/types/dates/gregory.d.ts +10 -0
  409. package/dist/types/dates/index.d.ts +6 -0
  410. package/dist/types/dates/islamic.d.ts +17 -0
  411. package/dist/types/dates/registry.d.ts +13 -0
  412. package/dist/types/dates/timezone.d.ts +36 -0
  413. package/dist/types/form/FormItem.d.ts +31 -1
  414. package/dist/types/form/form-item-styles.d.ts +24 -0
  415. package/dist/types/index.d.ts +34 -13
  416. package/dist/types/tokens/brands.d.ts +28 -0
  417. package/dist/types/tokens/density.d.ts +3 -0
  418. package/dist/types/tokens/index.d.ts +5 -2
  419. package/dist/types/tokens/motion.d.ts +16 -0
  420. package/dist/types/tokens/palette.d.ts +95 -1
  421. package/dist/types/tokens/spacing.d.ts +13 -0
  422. package/dist/types/utils/menuItems.d.ts +126 -0
  423. package/dist/types/utils/menuRadio.d.ts +21 -0
  424. package/dist/types/utils/sortable-shared.d.ts +4 -4
  425. package/dist/utils/floating.js +45 -44
  426. package/dist/utils/menuItems.js +55 -0
  427. package/dist/utils/menuKeyboard.js +31 -31
  428. package/dist/utils/menuRadio.js +28 -0
  429. package/dist/utils/sortable-shared.js +3 -3
  430. package/dist/utils/sortable.js +12 -11
  431. package/mcp/index.mjs +64 -0
  432. package/mcp/server.mjs +89 -0
  433. package/mcp/server.test.mjs +281 -0
  434. package/mcp/tools.mjs +240 -0
  435. package/package.json +74 -47
@@ -0,0 +1,15 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * Spanish (es-ES) copy for every user-visible literal in the library.
4
+ * Not auto-selected by `LocaleProvider`'s `locale` tag (only Chinese
5
+ * and Japanese variants resolve automatically) — mount it explicitly:
6
+ *
7
+ * <LocaleProvider locale="es-ES" strings={esES}>
8
+ *
9
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
10
+ * fails the build when either pack drifts out of sync. `{name}`
11
+ * placeholders must survive translation verbatim; they are expanded
12
+ * by `formatString` at runtime.
13
+ */
14
+ declare const esES: HazeStrings;
15
+ export { esES };
@@ -0,0 +1,15 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * French (fr-FR) copy for every user-visible literal in the library.
4
+ * Not auto-selected by `LocaleProvider`'s `locale` tag (only Chinese
5
+ * and Japanese variants resolve automatically) — mount it explicitly:
6
+ *
7
+ * <LocaleProvider locale="fr-FR" strings={frFR}>
8
+ *
9
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
10
+ * fails the build when either pack drifts out of sync. `{name}`
11
+ * placeholders must survive translation verbatim; they are expanded
12
+ * by `formatString` at runtime.
13
+ */
14
+ declare const frFR: HazeStrings;
15
+ export { frFR };
@@ -6,5 +6,13 @@ export { defaultStrings, enUS } from './locale';
6
6
  export type { HazeStrings } from './locale';
7
7
  export { zhCN } from './zh-cn';
8
8
  export { jaJP } from './ja-jp';
9
+ export { deDE } from './de-de';
10
+ export { frFR } from './fr-fr';
11
+ export { esES } from './es-es';
12
+ export { itIT } from './it-it';
13
+ export { ptBR } from './pt-br';
14
+ export { ruRU } from './ru-ru';
15
+ export { koKR } from './ko-kr';
16
+ export { arSA } from './ar-sa';
9
17
  export { createStrings } from './strings';
10
18
  export type { DeepPartial } from './strings';
@@ -0,0 +1,15 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * Italian (it-IT) copy for every user-visible literal in the library.
4
+ * Not auto-selected by `LocaleProvider`'s `locale` tag (only Chinese
5
+ * and Japanese variants resolve automatically) — mount it explicitly:
6
+ *
7
+ * <LocaleProvider locale="it-IT" strings={itIT}>
8
+ *
9
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
10
+ * fails the build when either pack drifts out of sync. `{name}`
11
+ * placeholders must survive translation verbatim; they are expanded
12
+ * by `formatString` at runtime.
13
+ */
14
+ declare const itIT: HazeStrings;
15
+ export { itIT };
@@ -0,0 +1,15 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * Korean (ko-KR) copy for every user-visible literal in the library.
4
+ * Not auto-selected by `LocaleProvider`'s `locale` tag (only Chinese
5
+ * and Japanese variants resolve automatically) — mount it explicitly:
6
+ *
7
+ * <LocaleProvider locale="ko-KR" strings={koKR}>
8
+ *
9
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
10
+ * fails the build when either pack drifts out of sync. `{name}`
11
+ * placeholders must survive translation verbatim; they are expanded
12
+ * by `formatString` at runtime.
13
+ */
14
+ declare const koKR: HazeStrings;
15
+ export { koKR };
@@ -95,6 +95,11 @@ declare const defaultStrings: {
95
95
  colorPicker: {
96
96
  pickColor: string;
97
97
  hexColor: string;
98
+ saturationBrightness: string;
99
+ hue: string;
100
+ alpha: string;
101
+ presetsLabel: string;
102
+ recentColors: string;
98
103
  };
99
104
  confirmDialog: {
100
105
  confirm: string;
@@ -123,6 +128,10 @@ declare const defaultStrings: {
123
128
  empty: {
124
129
  description: string;
125
130
  };
131
+ ellipsis: {
132
+ expand: string;
133
+ collapse: string;
134
+ };
126
135
  fileInput: {
127
136
  label: string;
128
137
  };
@@ -171,6 +180,13 @@ declare const defaultStrings: {
171
180
  pagination: {
172
181
  previous: string;
173
182
  next: string;
183
+ sizeLabel: string;
184
+ sizeOption: string;
185
+ jumperLabel: string;
186
+ jumperPrefix: string;
187
+ jumperSuffix: string;
188
+ ellipsisBackward: string;
189
+ ellipsisForward: string;
174
190
  };
175
191
  passwordInput: {
176
192
  label: string;
@@ -213,6 +229,9 @@ declare const defaultStrings: {
213
229
  expand: string;
214
230
  collapse: string;
215
231
  };
232
+ streamingText: {
233
+ generating: string;
234
+ };
216
235
  tag: {
217
236
  remove: string;
218
237
  };
@@ -228,6 +247,15 @@ declare const defaultStrings: {
228
247
  thinkingIndicator: {
229
248
  text: string;
230
249
  };
250
+ timePicker: {
251
+ now: string;
252
+ hour: string;
253
+ minute: string;
254
+ second: string;
255
+ period: string;
256
+ am: string;
257
+ pm: string;
258
+ };
231
259
  toast: {
232
260
  loading: string;
233
261
  success: string;
@@ -258,6 +286,13 @@ declare const defaultStrings: {
258
286
  retry: string;
259
287
  noMatch: string;
260
288
  };
289
+ treeSelect: {
290
+ placeholder: string;
291
+ searchLabel: string;
292
+ searchPlaceholder: string;
293
+ clear: string;
294
+ moreTags: string;
295
+ };
261
296
  upload: {
262
297
  hint: string;
263
298
  clickHint: string;
@@ -0,0 +1,16 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * Brazilian Portuguese (pt-BR) copy for every user-visible literal in
4
+ * the library. Not auto-selected by `LocaleProvider`'s `locale` tag
5
+ * (only Chinese and Japanese variants resolve automatically) — mount
6
+ * it explicitly:
7
+ *
8
+ * <LocaleProvider locale="pt-BR" strings={ptBR}>
9
+ *
10
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
11
+ * fails the build when either pack drifts out of sync. `{name}`
12
+ * placeholders must survive translation verbatim; they are expanded
13
+ * by `formatString` at runtime.
14
+ */
15
+ declare const ptBR: HazeStrings;
16
+ export { ptBR };
@@ -0,0 +1,15 @@
1
+ import type { HazeStrings } from './locale';
2
+ /**
3
+ * Russian (ru-RU) copy for every user-visible literal in the library.
4
+ * Not auto-selected by `LocaleProvider`'s `locale` tag (only Chinese
5
+ * and Japanese variants resolve automatically) — mount it explicitly:
6
+ *
7
+ * <LocaleProvider locale="ru-RU" strings={ruRU}>
8
+ *
9
+ * Keys mirror `defaultStrings` 1:1 — the `HazeStrings` annotation
10
+ * fails the build when either pack drifts out of sync. `{name}`
11
+ * placeholders must survive translation verbatim; they are expanded
12
+ * by `formatString` at runtime.
13
+ */
14
+ declare const ruRU: HazeStrings;
15
+ export { ruRU };
@@ -1,10 +1,19 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
+ import type { MenuDataItem } from '../../utils/menuItems';
3
4
  type MenuProps = {
4
5
  open?: ControlOrValue<boolean>;
5
6
  trigger?: ReactNode;
7
+ /**
8
+ * Data-driven alternative to composed children: plain items,
9
+ * checkboxes, radio groups, labeled groups, dividers and nested
10
+ * submenus, rendered through the same components the compound API
11
+ * uses. When passed, it replaces the panel's children.
12
+ */
13
+ items?: MenuDataItem[];
6
14
  className?: string;
7
- children: ReactNode;
15
+ children?: ReactNode;
8
16
  };
9
- export default function Menu({ open: openControl, trigger, className, children, }: MenuProps): import("react").JSX.Element;
17
+ export default function Menu({ open: openControl, trigger, items, className, children, }: MenuProps): import("react").JSX.Element;
10
18
  export type { MenuProps };
19
+ export type { MenuDataItem };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ControlOrValue } from 'react-use-control';
3
+ type MenuCheckboxItemProps = {
4
+ /** Whether the option is checked — controlled control or uncontrolled initial value. */
5
+ checked?: ControlOrValue<boolean>;
6
+ /** Fires on every toggle, whatever drove it (click, Enter, Space). */
7
+ onCheckedChange?: (checked: boolean) => void;
8
+ disabled?: boolean;
9
+ /** Danger skin for destructive actions: danger-colored text and interaction states. */
10
+ danger?: boolean;
11
+ /** Inline-start icon slot; bare `svg` children are sized to 1em by the slot. */
12
+ icon?: ReactNode;
13
+ /** Inline-end shortcut hint (e.g. '⌘C'), muted and pushed to the item's end. */
14
+ kbdLabel?: ReactNode;
15
+ className?: string;
16
+ children: ReactNode;
17
+ };
18
+ /**
19
+ * A toggleable menu option (`role="menuitemcheckbox"`): click, Enter or
20
+ * Space flips `checked`; the state is controllable through the standard
21
+ * `ControlOrValue` prop. Unlike a plain item, toggling does not close
22
+ * the menu — several options are typically flipped in one visit.
23
+ */
24
+ export default function MenuCheckboxItem({ checked: checkedControl, onCheckedChange, disabled, danger, icon, kbdLabel, className, children, }: MenuCheckboxItemProps): import("react").JSX.Element;
25
+ export type { MenuCheckboxItemProps };
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from 'react';
2
+ type MenuGroupProps = {
3
+ /** Non-interactive heading naming the group (aria-labelledby). */
4
+ label: ReactNode;
5
+ className?: string;
6
+ /** The group's menu items. */
7
+ children: ReactNode;
8
+ };
9
+ /**
10
+ * A labeled, non-interactive section of menu items (`role="group"`
11
+ * named by its heading, the ARIA APG menu group shape). The heading is
12
+ * not a menu item: keyboard traversal, typeahead and the roving tab
13
+ * stop skip it entirely.
14
+ */
15
+ export default function MenuGroup({ label, className, children }: MenuGroupProps): import("react").JSX.Element;
16
+ export type { MenuGroupProps };
@@ -2,8 +2,14 @@ import type { ReactNode } from 'react';
2
2
  type MenuItemProps = {
3
3
  onSelect?: () => void;
4
4
  disabled?: boolean;
5
+ /** Danger skin for destructive actions: danger-colored text and interaction states. */
6
+ danger?: boolean;
7
+ /** Inline-start icon slot; bare `svg` children are sized to 1em by the slot. */
8
+ icon?: ReactNode;
9
+ /** Inline-end shortcut hint (e.g. '⌘C'), muted and pushed to the item's end. */
10
+ kbdLabel?: ReactNode;
5
11
  className?: string;
6
12
  children: ReactNode;
7
13
  };
8
- export default function MenuItem({ onSelect, disabled, className, children, }: MenuItemProps): import("react").JSX.Element;
14
+ export default function MenuItem({ onSelect, disabled, danger, icon, kbdLabel, className, children, }: MenuItemProps): import("react").JSX.Element;
9
15
  export type { MenuItemProps };
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ControlOrValue } from 'react-use-control';
3
+ type MenuRadioGroupProps = {
4
+ /** Selected value — controlled control or uncontrolled initial value ('' = none). */
5
+ value?: ControlOrValue<string>;
6
+ /** Fires when the selection changes, whatever drove it (click, Enter, Space). */
7
+ onValueChange?: (value: string) => void;
8
+ /** Optional non-interactive heading naming the radio group (aria-labelledby). */
9
+ label?: ReactNode;
10
+ className?: string;
11
+ /** The group's `MenuRadioItem`s. */
12
+ children: ReactNode;
13
+ };
14
+ /**
15
+ * State container for a single-select cluster of `MenuRadioItem`s
16
+ * (`role="group"`): owns the selected value through the standard
17
+ * `ControlOrValue` prop and exposes it to the items.
18
+ */
19
+ export default function MenuRadioGroup({ value, onValueChange, label, className, children, }: MenuRadioGroupProps): import("react").JSX.Element;
20
+ export type { MenuRadioGroupProps };
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from 'react';
2
+ type MenuRadioItemProps = {
3
+ /** Value this option selects in its MenuRadioGroup when activated. */
4
+ value: string;
5
+ disabled?: boolean;
6
+ /** Danger skin for destructive actions: danger-colored text and interaction states. */
7
+ danger?: boolean;
8
+ /** Inline-start icon slot; bare `svg` children are sized to 1em by the slot. */
9
+ icon?: ReactNode;
10
+ /** Inline-end shortcut hint (e.g. '⌘C'), muted and pushed to the item's end. */
11
+ kbdLabel?: ReactNode;
12
+ className?: string;
13
+ children: ReactNode;
14
+ };
15
+ /**
16
+ * One option of a MenuRadioGroup (`role="menuitemradio"`): activating
17
+ * it (click, Enter, Space) selects its `value` in the group — the
18
+ * previously selected sibling deselects. Must live inside a
19
+ * `MenuRadioGroup`.
20
+ */
21
+ export default function MenuRadioItem({ value, disabled, danger, icon, kbdLabel, className, children, }: MenuRadioItemProps): import("react").JSX.Element;
22
+ export type { MenuRadioItemProps };
@@ -1,7 +1,15 @@
1
1
  export { default as Menu } from './Menu';
2
- export type { MenuProps } from './Menu';
2
+ export type { MenuProps, MenuDataItem } from './Menu';
3
3
  export { default as MenuItem } from './MenuItem';
4
4
  export type { MenuItemProps } from './MenuItem';
5
+ export { default as MenuCheckboxItem } from './MenuCheckboxItem';
6
+ export type { MenuCheckboxItemProps } from './MenuCheckboxItem';
7
+ export { default as MenuRadioGroup } from './MenuRadioGroup';
8
+ export type { MenuRadioGroupProps } from './MenuRadioGroup';
9
+ export { default as MenuRadioItem } from './MenuRadioItem';
10
+ export type { MenuRadioItemProps } from './MenuRadioItem';
11
+ export { default as MenuGroup } from './MenuGroup';
12
+ export type { MenuGroupProps } from './MenuGroup';
5
13
  export { default as MenuDivider } from './MenuDivider';
6
14
  export { default as MenuSub } from './MenuSub';
7
15
  export type { MenuSubProps } from './MenuSub';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shared slot and variant skins for the Menu family's item types
3
+ * (MenuItem, MenuCheckboxItem, MenuRadioItem). Merged after each item's
4
+ * base class so the overrides win on equal specificity.
5
+ */
6
+ /**
7
+ * Danger skin for destructive actions: danger-colored text with a
8
+ * danger-subtle interaction background.
9
+ */
10
+ export declare const menuItemDanger: import("@linaria/core").LinariaClassName;
11
+ /**
12
+ * Inline-start icon slot. The slot sizes bare `svg` children to 1em —
13
+ * an svg without intrinsic dimensions collapses to 0×0 inside flex.
14
+ */
15
+ export declare const menuItemIcon: import("@linaria/core").LinariaClassName;
16
+ /**
17
+ * Inline-end shortcut hint (e.g. '⌘C'): muted, monospaced, pushed to
18
+ * the item's inline end.
19
+ */
20
+ export declare const menuItemKbd: import("@linaria/core").LinariaClassName;
21
+ /**
22
+ * Fixed-size state indicator box (check/dot) for checkbox and radio
23
+ * items: reserves its square whether or not the glyph renders, so
24
+ * labels align across mixed items.
25
+ */
26
+ export declare const menuItemIndicator: import("@linaria/core").LinariaClassName;
27
+ /** Group heading: muted, one step smaller than item text. Shared by MenuGroup and MenuRadioGroup's optional label. */
28
+ export declare const menuGroupLabel: import("@linaria/core").LinariaClassName;
@@ -37,6 +37,6 @@ declare const _default: import("react").ForwardRefExoticComponent<{
37
37
  */
38
38
  onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
39
39
  className?: string;
40
- } & Omit<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "className" | "children" | "onClick" | "href"> & import("react").RefAttributes<HTMLAnchorElement>>;
40
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "children" | "className" | "onClick" | "href"> & import("react").RefAttributes<HTMLAnchorElement>>;
41
41
  export default _default;
42
42
  export type { NavLinkProps };
@@ -1,11 +1,25 @@
1
- import type { ComponentPropsWithoutRef } from 'react';
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
3
  type PaginationProps = {
4
4
  page?: ControlOrValue<number>;
5
5
  total: number;
6
- pageSize?: number;
6
+ pageSize?: ControlOrValue<number>;
7
+ /** Page sizes offered by the size changer (`showSizeChanger`). */
8
+ pageSizeOptions?: number[];
9
+ /** Renders a page-size select; changing it resets to page 1. */
10
+ showSizeChanger?: boolean;
11
+ /** Renders a "Go to [input]" control that jumps on Enter (clamped). */
12
+ showQuickJumper?: boolean;
13
+ /** Renders a summary of `total` and the current page's item range. */
14
+ showTotal?: (total: number, range: [number, number]) => ReactNode;
15
+ /** Minimal mode: a page input plus prev/next instead of the page list. */
16
+ simple?: boolean;
17
+ /** Turns the ellipsis markers into buttons jumping ±5 pages (clamped). */
18
+ ellipsisJump?: boolean;
19
+ /** Value callback fired for every page jump and page-size change. */
20
+ onPageChange?: (page: number, pageSize: number) => void;
7
21
  size?: 'sm' | 'md' | 'lg';
8
22
  className?: string;
9
23
  } & Omit<ComponentPropsWithoutRef<'nav'>, 'onChange'>;
10
- export default function Pagination({ page: pageControl, total, pageSize, size, className, ...rest }: PaginationProps): import("react").JSX.Element;
24
+ export default function Pagination({ page: pageControl, total, pageSize: pageSizeControl, pageSizeOptions, showSizeChanger, showQuickJumper, showTotal, simple, ellipsisJump, onPageChange, size, className, ...rest }: PaginationProps): import("react").JSX.Element;
11
25
  export type { PaginationProps };
@@ -0,0 +1,33 @@
1
+ import type { ComponentPropsWithoutRef } from 'react';
2
+ type QRCodeLevel = 'L' | 'M' | 'Q' | 'H';
3
+ type QRCodeProps = {
4
+ /** Text or URL to encode. Must be non-empty. */
5
+ value: string;
6
+ /** Rendered edge length in px. Default 128. */
7
+ size?: number;
8
+ /** QR error correction level. Default 'M'. */
9
+ level?: QRCodeLevel;
10
+ /** Whether to wrap the code in a bordered, padded frame. Default true. */
11
+ bordered?: boolean;
12
+ /**
13
+ * Fill of the dark modules. Any CSS color string — defaults to the text
14
+ * token, so it follows the theme.
15
+ */
16
+ modulesColor?: string;
17
+ /**
18
+ * Fill of the light background. Any CSS color string — defaults to the
19
+ * bg token, so it follows the theme.
20
+ */
21
+ bgColor?: string;
22
+ } & Omit<ComponentPropsWithoutRef<'div'>, 'children'>;
23
+ /**
24
+ * QR code rendered as a single crisp SVG path over the `qrcode`
25
+ * dependency (statically imported, SortableTagGroup-style: the dist
26
+ * contract test pins the reference surface so qrcode only enters this
27
+ * module's import graph). The svg is the semantic image: `role="img"` with
28
+ * the encoded `value` as its accessible name, so screen readers announce
29
+ * what the code contains; the wrapper div receives the native `...rest`
30
+ * (e.g. `aria-hidden` on it silences the whole graphic).
31
+ */
32
+ export default function QRCode({ value, size, level, bordered, modulesColor, bgColor, className, ...rest }: QRCodeProps): import("react").JSX.Element;
33
+ export type { QRCodeProps, QRCodeLevel };
@@ -0,0 +1,2 @@
1
+ export { default as QRCode } from './QRCode';
2
+ export type { QRCodeProps, QRCodeLevel } from './QRCode';
@@ -0,0 +1,16 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ type ResultStatus = 'success' | 'error' | 'info' | 'warning' | '403' | '404' | '500';
3
+ type ResultProps = {
4
+ /** Determines the default illustration. Default 'info'. */
5
+ status?: ResultStatus;
6
+ /** Custom illustration replacing the status default. */
7
+ icon?: ReactNode;
8
+ /** Primary statement, rendered semibold at `--haze-text-xl`. */
9
+ title?: ReactNode;
10
+ /** Secondary explanation below the title. */
11
+ subTitle?: ReactNode;
12
+ /** Action area (buttons, links) below the content. */
13
+ extra?: ReactNode;
14
+ } & Omit<ComponentPropsWithoutRef<'div'>, 'title'>;
15
+ export default function Result({ status, icon, title, subTitle, extra, className, ...rest }: ResultProps): import("react").JSX.Element;
16
+ export type { ResultProps, ResultStatus };
@@ -0,0 +1,2 @@
1
+ export { default as Result } from './Result';
2
+ export type { ResultProps, ResultStatus } from './Result';
@@ -49,7 +49,7 @@ export declare const SidebarItem: import("react").ForwardRefExoticComponent<{
49
49
  */
50
50
  onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
51
51
  className?: string;
52
- } & Omit<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "className" | "children" | "onClick"> & import("react").RefAttributes<HTMLAnchorElement>>;
52
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "children" | "className" | "onClick"> & import("react").RefAttributes<HTMLAnchorElement>>;
53
53
  type SidebarFooterProps = {
54
54
  children: ReactNode;
55
55
  className?: string;
@@ -1,4 +1,4 @@
1
- import type { ComponentPropsWithoutRef, Ref } from 'react';
1
+ import type { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
2
2
  import type { ControlOrValue } from 'react-use-control';
3
3
  type SliderProps = {
4
4
  /** `number` in single mode, `[low, high]` when `range` is set. */
@@ -22,11 +22,33 @@ type SliderProps = {
22
22
  * identically named sliders are ambiguous — prefer the tuple).
23
23
  */
24
24
  'aria-label'?: string | [string, string];
25
+ /**
26
+ * Value bubble over the active thumb while dragging or focused
27
+ * (see SliderCoreProps.tooltip). Opt-in; in single mode it wraps the
28
+ * input in a positioning span (the input keeps `className`).
29
+ */
30
+ tooltip?: boolean;
31
+ /** Bubble content formatter (see SliderCoreProps.tooltipFormatter). */
32
+ tooltipFormatter?: (value: number) => ReactNode;
33
+ /**
34
+ * Tick labels under the track, clickable onto the nearest thumb
35
+ * (see SliderCoreProps.marks).
36
+ */
37
+ marks?: Record<number, ReactNode>;
38
+ /**
39
+ * Vertical orientation, bottom-to-top (see SliderCoreProps.vertical).
40
+ */
41
+ vertical?: boolean;
42
+ /**
43
+ * `null` restricts the selectable values to the `marks` keys
44
+ * (see SliderCoreProps.step); a number forwards to the native input.
45
+ */
46
+ step?: number | null;
25
47
  /**
26
48
  * Forwarded to the `<input type='range'>` — the only input in single
27
49
  * mode, the low thumb (first tab stop) in range mode.
28
50
  */
29
51
  ref?: Ref<HTMLInputElement>;
30
- } & Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'value' | 'aria-label'>;
52
+ } & Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'value' | 'aria-label' | 'step'>;
31
53
  export default function Slider({ value: valueControl, range, className, onChange, onValuesChange, ref, ...rest }: SliderProps): import("react").JSX.Element;
32
54
  export type { SliderProps };
@@ -1,4 +1,4 @@
1
- import type { ComponentPropsWithoutRef, Ref } from 'react';
1
+ import type { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
2
2
  type SliderCoreProps = {
3
3
  /** `number` in single mode, `[low, high]` when `range` is set. An
4
4
  * inverted tuple renders normalized (low ≤ high). */
@@ -21,6 +21,44 @@ type SliderCoreProps = {
21
21
  * pointer input.
22
22
  */
23
23
  range?: boolean;
24
+ /**
25
+ * Shows a value bubble over the active thumb while it is being
26
+ * dragged (pointerdown until pointerup) or focused. Opt-in: without
27
+ * it nothing extra renders. The bubble is visual only
28
+ * (`aria-hidden`) — the native input keeps exposing the value, so
29
+ * `aria-valuetext` semantics are untouched. In range mode each thumb
30
+ * carries its own bubble.
31
+ */
32
+ tooltip?: boolean;
33
+ /** Formats the bubble content (both modes); defaults to the raw
34
+ * number. */
35
+ tooltipFormatter?: (value: number) => ReactNode;
36
+ /**
37
+ * Tick labels rendered under the track (beside it when `vertical`).
38
+ * Clicking a label commits that value to the nearest thumb (ties go
39
+ * to the low thumb; a value past the other thumb still snaps against
40
+ * it instead of crossing). Combine with `step={null}` to restrict
41
+ * the selectable values to the mark keys.
42
+ */
43
+ marks?: Record<number, ReactNode>;
44
+ /**
45
+ * Vertical orientation (bottom-to-top) via the modern
46
+ * `writing-mode: vertical-lr; direction: rtl` slider recipe
47
+ * (Chromium 119+ / Firefox 120+ / Safari 17.4+; older engines keep
48
+ * rendering horizontally). Keyboard behavior stays native — the
49
+ * RTL arrow mirroring only applies to horizontal sliders. The track
50
+ * length defaults to `calc(var(--haze-space-16) * 2)`; override it
51
+ * by setting `--haze-slider-track` on the slider or an ancestor.
52
+ */
53
+ vertical?: boolean;
54
+ /**
55
+ * Pass `null` (with `marks`) to make the marks the only selectable
56
+ * values: the native inputs receive `step='any'` and every change —
57
+ * drag, click or keyboard — snaps to the nearest mark key. A number
58
+ * is forwarded to the native inputs as-is; omitted keeps the native
59
+ * default.
60
+ */
61
+ step?: number | null;
24
62
  className?: string;
25
63
  /**
26
64
  * Single mode: forwarded to the input untouched. Range mode: a
@@ -35,6 +73,6 @@ type SliderCoreProps = {
35
73
  * mode, the low thumb (first tab stop) in range mode.
36
74
  */
37
75
  ref?: Ref<HTMLInputElement>;
38
- } & Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'value' | 'onChange' | 'aria-label'>;
39
- export default function SliderCore({ value, onChange, onNativeChange, range, className, onKeyDown, 'aria-label': ariaLabel, ref, ...rest }: SliderCoreProps): import("react").JSX.Element;
76
+ } & Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'value' | 'onChange' | 'aria-label' | 'step'>;
77
+ export default function SliderCore({ value, onChange, onNativeChange, range, className, onKeyDown, 'aria-label': ariaLabel, tooltip, tooltipFormatter, marks, vertical, step, onPointerDown, onFocus, onBlur, ref, ...rest }: SliderCoreProps): import("react").JSX.Element;
40
78
  export type { SliderCoreProps };
@@ -1,9 +1,16 @@
1
1
  type StreamingTextProps = {
2
2
  text: string;
3
3
  speed?: number;
4
+ /**
5
+ * How often (ms) the screen-reader live region picks up a new snapshot
6
+ * of the streamed text. Everything streamed in between stays silent:
7
+ * announcing per character would restart the reader's utterance on
8
+ * every tick, so the throttle is the point, not an optimization.
9
+ */
10
+ announceInterval?: number;
4
11
  onComplete?: () => void;
5
12
  showCursor?: boolean;
6
13
  className?: string;
7
14
  };
8
- export default function StreamingText({ text, speed, onComplete, showCursor, className, }: StreamingTextProps): import("react").JSX.Element;
15
+ export default function StreamingText({ text, speed, announceInterval, onComplete, showCursor, className, }: StreamingTextProps): import("react").JSX.Element;
9
16
  export type { StreamingTextProps };
@@ -1,8 +1,9 @@
1
1
  import type { ReactNode } from 'react';
2
2
  /**
3
3
  * Drag-and-drop reorderable variant of TagGroup — built on @dnd-kit
4
- * (optional peers), so this module statically imports the dnd runtime;
5
- * the plain TagGroup stays free of it. Each chip becomes draggable;
4
+ * (a haze-ui dependency), so this module statically imports the dnd
5
+ * runtime; the plain TagGroup stays free of it. Each chip becomes
6
+ * draggable;
6
7
  * keyboard: focus a chip, Space lifts, arrows move, Space drops, Escape
7
8
  * cancels.
8
9
  */
@@ -4,7 +4,7 @@ type TagGroupProps = {
4
4
  className?: string;
5
5
  };
6
6
  /** Plain non-draggable tag row. For drag-and-drop reordering use
7
- * SortableTagGroup (which statically imports the dnd-kit optional peers);
7
+ * SortableTagGroup (which statically imports the @dnd-kit runtime);
8
8
  * this base component stays free of the dnd runtime. */
9
9
  export default function TagGroup({ children, className }: TagGroupProps): import("react").JSX.Element;
10
10
  export type { TagGroupProps };
@@ -23,9 +23,8 @@ type SortableTagInputProps = {
23
23
  };
24
24
  /**
25
25
  * Controllable-state sugar over `SortableTagInputCore`: drag-and-drop tag
26
- * reordering built on the @dnd-kit optional peers — install
27
- * `@dnd-kit/core`, `@dnd-kit/sortable` and `@dnd-kit/utilities` to use
28
- * it (the plain `TagInput` never touches them). Reorders leave through
26
+ * reordering built on the @dnd-kit dependency (the plain `TagInput` never
27
+ * touches it). Reorders leave through
29
28
  * `onChange` with the new array — the same single exit as add/remove.
30
29
  * Keyboard: focus a tag's label, Space lifts, arrows move, Space drops,
31
30
  * Escape cancels.