haze-ui 1.29.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 (386) hide show
  1. package/README.md +58 -0
  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 +14 -10
  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 +6 -5
  62. package/dist/components/DataTable/CellEditor.js +4 -4
  63. package/dist/components/DataTable/DataTable.js +236 -168
  64. package/dist/components/DateRangePicker/DateRangePickerCore.js +9 -0
  65. package/dist/components/Datepicker/Datepicker.js +14 -11
  66. package/dist/components/Datepicker/DatepickerCore.js +75 -60
  67. package/dist/components/Datepicker/datetime.js +14 -3
  68. package/dist/components/Descriptions/Descriptions.js +6 -0
  69. package/dist/components/Dialog/Dialog.js +13 -11
  70. package/dist/components/DiffViewer/DiffViewer.js +22 -13
  71. package/dist/components/Disclosure/Disclosure.js +10 -7
  72. package/dist/components/Divider/Divider.js +2 -0
  73. package/dist/components/Drawer/Drawer.js +10 -9
  74. package/dist/components/DropdownMenu/DropdownMenu.js +58 -35
  75. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +63 -0
  76. package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
  77. package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -0
  78. package/dist/components/DropdownMenu/DropdownMenuItem.js +29 -10
  79. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +30 -0
  80. package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +59 -0
  81. package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -0
  82. package/dist/components/DropdownMenu/DropdownMenuSub.js +1 -0
  83. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +1 -0
  84. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
  85. package/dist/components/DropdownMenu/dropdown-menu-item-styles.js +7 -0
  86. package/dist/components/DropdownMenu/index.js +12 -8
  87. package/dist/components/Ellipsis/Ellipsis.js +11 -8
  88. package/dist/components/Empty/Empty.js +4 -0
  89. package/dist/components/FileInput/FileInput.js +7 -5
  90. package/dist/components/FilePreview/FilePreview.js +19 -1
  91. package/dist/components/Flex/Flex.js +1 -0
  92. package/dist/components/FloatButton/FloatButton.js +4 -0
  93. package/dist/components/FloatButton/FloatButtonGroup.js +18 -13
  94. package/dist/components/Fullscreen/Fullscreen.js +6 -3
  95. package/dist/components/Grid/Grid.js +12 -7
  96. package/dist/components/Grid/GridItem.js +17 -7
  97. package/dist/components/Grid/grid-item-styles.js +58 -0
  98. package/dist/components/HoverCard/HoverCard.js +46 -43
  99. package/dist/components/Icon/Icon.js +1 -0
  100. package/dist/components/Image/Image.js +10 -7
  101. package/dist/components/Image/ImagePreview.js +42 -34
  102. package/dist/components/InlineCompletion/InlineCompletion.js +15 -11
  103. package/dist/components/InlineEdit/InlineEdit.js +8 -6
  104. package/dist/components/Input/InputCore.js +1 -0
  105. package/dist/components/JsonView/JsonView.js +104 -79
  106. package/dist/components/Kbd/Kbd.js +1 -0
  107. package/dist/components/List/List.js +1 -0
  108. package/dist/components/List/ListItem.js +1 -0
  109. package/dist/components/LocaleProvider/LocaleProvider.js +4 -4
  110. package/dist/components/LocaleProvider/ar-sa.js +24 -2
  111. package/dist/components/LocaleProvider/de-de.js +24 -2
  112. package/dist/components/LocaleProvider/es-es.js +24 -2
  113. package/dist/components/LocaleProvider/fr-fr.js +24 -2
  114. package/dist/components/LocaleProvider/it-it.js +24 -2
  115. package/dist/components/LocaleProvider/ja-jp.js +24 -2
  116. package/dist/components/LocaleProvider/ko-kr.js +24 -2
  117. package/dist/components/LocaleProvider/locale.js +24 -2
  118. package/dist/components/LocaleProvider/pt-br.js +24 -2
  119. package/dist/components/LocaleProvider/ru-ru.js +24 -2
  120. package/dist/components/LocaleProvider/zh-cn.js +24 -2
  121. package/dist/components/LogViewer/LogViewer.js +25 -14
  122. package/dist/components/MarkdownRenderer/MarkdownRenderer.js +6 -5
  123. package/dist/components/MarkdownRenderer/markdown-blocks.js +1 -1
  124. package/dist/components/Masonry/Masonry.js +13 -10
  125. package/dist/components/Mentions/MentionsCore.js +15 -11
  126. package/dist/components/Menu/Menu.js +58 -36
  127. package/dist/components/Menu/MenuCheckboxItem.js +63 -0
  128. package/dist/components/Menu/MenuDivider.js +1 -0
  129. package/dist/components/Menu/MenuGroup.js +26 -0
  130. package/dist/components/Menu/MenuItem.js +28 -9
  131. package/dist/components/Menu/MenuRadioGroup.js +30 -0
  132. package/dist/components/Menu/MenuRadioItem.js +59 -0
  133. package/dist/components/Menu/MenuSub.js +1 -0
  134. package/dist/components/Menu/MenuSubTrigger.js +1 -0
  135. package/dist/components/Menu/index.js +11 -7
  136. package/dist/components/Menu/menu-item-styles.js +7 -0
  137. package/dist/components/ModelPicker/ModelPicker.js +3 -0
  138. package/dist/components/NavigationBar/NavLink.js +7 -6
  139. package/dist/components/NavigationBar/NavigationBar.js +4 -0
  140. package/dist/components/NumberInput/NumberInputCore.js +4 -0
  141. package/dist/components/OTPInput/OTPInputCore.js +9 -7
  142. package/dist/components/Pagination/Pagination.js +125 -33
  143. package/dist/components/PasswordInput/PasswordInputCore.js +9 -6
  144. package/dist/components/Popover/Popover.js +9 -7
  145. package/dist/components/Progress/Progress.js +5 -0
  146. package/dist/components/PromptInput/PromptInput.js +49 -41
  147. package/dist/components/QRCode/QRCode.js +9 -7
  148. package/dist/components/Radio/Radio.js +2 -0
  149. package/dist/components/Radio/RadioGroupCore.js +7 -6
  150. package/dist/components/Rating/RatingCore.js +18 -15
  151. package/dist/components/Resizable/Resizable.js +25 -22
  152. package/dist/components/Result/Result.js +5 -0
  153. package/dist/components/ScrollArea/ScrollArea.js +1 -0
  154. package/dist/components/Segmented/SegmentedCore.js +9 -7
  155. package/dist/components/Select/Option.js +1 -0
  156. package/dist/components/Select/OptionGroup.js +1 -0
  157. package/dist/components/Select/SelectCore.js +11 -8
  158. package/dist/components/Select/SelectFloating.js +54 -36
  159. package/dist/components/Sidebar/Sidebar.js +52 -42
  160. package/dist/components/Signature/Signature.js +101 -91
  161. package/dist/components/Skeleton/Skeleton.js +1 -0
  162. package/dist/components/Slider/SliderCore.js +149 -43
  163. package/dist/components/Sources/Sources.js +31 -21
  164. package/dist/components/Spinner/Spinner.js +1 -0
  165. package/dist/components/Stat/Stat.js +7 -0
  166. package/dist/components/StepTimeline/StepTimeline.js +6 -0
  167. package/dist/components/Stepper/Step.js +8 -1
  168. package/dist/components/Stepper/Stepper.js +7 -6
  169. package/dist/components/StreamingText/StreamingText.js +62 -29
  170. package/dist/components/SwipeAction/SwipeAction.js +11 -9
  171. package/dist/components/Switch/SwitchCore.js +9 -5
  172. package/dist/components/Table/Table.js +2 -0
  173. package/dist/components/Table/TableBody.js +1 -0
  174. package/dist/components/Table/TableCell.js +1 -0
  175. package/dist/components/Table/TableHead.js +1 -0
  176. package/dist/components/Table/TableRow.js +1 -0
  177. package/dist/components/Tabs/Tab.js +1 -0
  178. package/dist/components/Tabs/TabList.js +5 -4
  179. package/dist/components/Tabs/TabPanel.js +1 -0
  180. package/dist/components/Tabs/Tabs.js +1 -0
  181. package/dist/components/Tag/Tag.js +2 -0
  182. package/dist/components/TagGroup/SortableTagGroup.js +7 -6
  183. package/dist/components/TagGroup/TagGroup.js +1 -0
  184. package/dist/components/TagGroup/TagGroupItem.js +3 -0
  185. package/dist/components/TagInput/SortableTagInputCore.js +13 -10
  186. package/dist/components/TagInput/TagInputCore.js +17 -12
  187. package/dist/components/Textarea/TextareaCore.js +1 -0
  188. package/dist/components/ThinkingIndicator/ThinkingIndicator.js +18 -4
  189. package/dist/components/TimePicker/TimePicker.js +30 -14
  190. package/dist/components/TimePicker/TimePickerCore.js +1 -0
  191. package/dist/components/TimePicker/TimePickerPanel.js +260 -0
  192. package/dist/components/TimePicker/time-picker-styles.js +7 -0
  193. package/dist/components/TimePicker/time.js +51 -0
  194. package/dist/components/Timeline/Timeline.js +14 -1
  195. package/dist/components/Toast/Toast.js +94 -48
  196. package/dist/components/Toast/ToastContainer.js +60 -56
  197. package/dist/components/Toast/ToastContext.js +3 -1
  198. package/dist/components/Toast/toast2.js +20 -14
  199. package/dist/components/Toast/useToast.js +36 -11
  200. package/dist/components/Toggle/ToggleCore.js +1 -0
  201. package/dist/components/TokenCounter/TokenCounter.js +8 -1
  202. package/dist/components/ToolCallCard/ToolCallCard.js +18 -2
  203. package/dist/components/Toolbar/Toolbar.js +9 -8
  204. package/dist/components/Toolbar/ToolbarButton.js +1 -0
  205. package/dist/components/Toolbar/ToolbarSeparator.js +1 -0
  206. package/dist/components/Toolbar/ToolbarToggle.js +1 -0
  207. package/dist/components/Tooltip/Tooltip.js +46 -42
  208. package/dist/components/Tour/Tour.js +76 -65
  209. package/dist/components/Transfer/TransferCore.js +31 -17
  210. package/dist/components/Tree/SortableTree.js +151 -0
  211. package/dist/components/Tree/Tree.js +163 -154
  212. package/dist/components/Tree/TreeItem.js +52 -39
  213. package/dist/components/Tree/index.js +2 -1
  214. package/dist/components/Tree/sortable-tree-styles.js +7 -0
  215. package/dist/components/Tree/sortable-tree-utils.js +36 -0
  216. package/dist/components/TreeSelect/TreeSelect.js +44 -34
  217. package/dist/components/Typography/Typography.js +3 -0
  218. package/dist/components/Upload/Upload.js +12 -11
  219. package/dist/components/Upload/UploadCore.js +92 -65
  220. package/dist/components/Upload/UploadList.js +177 -105
  221. package/dist/components/VirtualList/VirtualList.js +229 -124
  222. package/dist/components/Watermark/Watermark.js +8 -6
  223. package/dist/css/accordion.css +1 -1
  224. package/dist/css/alert.css +1 -1
  225. package/dist/css/async-section.css +1 -1
  226. package/dist/css/banner.css +1 -1
  227. package/dist/css/bottom-sheet.css +1 -1
  228. package/dist/css/button.css +2 -2
  229. package/dist/css/calendar.css +1 -1
  230. package/dist/css/carousel.css +1 -1
  231. package/dist/css/chat-message.css +1 -1
  232. package/dist/css/checkbox.css +1 -1
  233. package/dist/css/color-picker.css +2 -0
  234. package/dist/css/combobox.css +2 -2
  235. package/dist/css/context-menu.css +1 -1
  236. package/dist/css/dialog.css +1 -1
  237. package/dist/css/drawer.css +1 -1
  238. package/dist/css/dropdown-menu.css +7 -2
  239. package/dist/css/form.css +1 -1
  240. package/dist/css/grid.css +2 -1
  241. package/dist/css/hover-card.css +1 -1
  242. package/dist/css/input.css +1 -1
  243. package/dist/css/menu.css +9 -4
  244. package/dist/css/pagination.css +1 -1
  245. package/dist/css/popover.css +1 -1
  246. package/dist/css/progress.css +1 -1
  247. package/dist/css/radio.css +1 -1
  248. package/dist/css/rating.css +1 -1
  249. package/dist/css/segmented.css +1 -1
  250. package/dist/css/skeleton.css +1 -1
  251. package/dist/css/slider.css +1 -1
  252. package/dist/css/spinner.css +1 -1
  253. package/dist/css/stepper.css +1 -1
  254. package/dist/css/streaming-text.css +1 -1
  255. package/dist/css/switch.css +1 -1
  256. package/dist/css/tabs.css +1 -1
  257. package/dist/css/textarea.css +1 -1
  258. package/dist/css/thinking-indicator.css +1 -1
  259. package/dist/css/time-picker.css +1 -0
  260. package/dist/css/toast.css +1 -1
  261. package/dist/css/toggle.css +1 -1
  262. package/dist/css/tokens.css +1 -1
  263. package/dist/css/tooltip.css +1 -1
  264. package/dist/css/tree.css +2 -1
  265. package/dist/css/upload.css +1 -1
  266. package/dist/css/virtual-list.css +1 -1
  267. package/dist/css-manifest.json +22 -0
  268. package/dist/dates/adapter.js +13 -0
  269. package/dist/dates/gregory.js +44 -0
  270. package/dist/dates/islamic.js +87 -0
  271. package/dist/dates/registry.js +13 -0
  272. package/dist/dates/timezone.js +29 -0
  273. package/dist/design-tokens/cyan-dark.json +355 -0
  274. package/dist/design-tokens/cyan-light.json +355 -0
  275. package/dist/design-tokens/orange-dark.json +355 -0
  276. package/dist/design-tokens/orange-light.json +355 -0
  277. package/dist/design-tokens/rose-dark.json +355 -0
  278. package/dist/design-tokens/rose-light.json +355 -0
  279. package/dist/design-tokens/teal-dark.json +355 -0
  280. package/dist/design-tokens/teal-light.json +355 -0
  281. package/dist/design-tokens/violet-dark.json +355 -0
  282. package/dist/design-tokens/violet-light.json +355 -0
  283. package/dist/form/FormItem.js +71 -63
  284. package/dist/form/FormList.js +6 -6
  285. package/dist/form/form-item-styles.js +7 -0
  286. package/dist/haze-ui.css +63 -48
  287. package/dist/index.js +249 -232
  288. package/dist/mcp-docs.json +1011 -82
  289. package/dist/registry.json +17 -17
  290. package/dist/tokens/index.js +7 -7
  291. package/dist/tokens/motion.js +9 -2
  292. package/dist/tokens/palette.js +244 -84
  293. package/dist/tokens/registry.js +18 -22
  294. package/dist/types/components/Button/Button.d.ts +1 -1
  295. package/dist/types/components/Calendar/Calendar.d.ts +39 -14
  296. package/dist/types/components/Calendar/date.d.ts +51 -0
  297. package/dist/types/components/Calendar/index.d.ts +1 -1
  298. package/dist/types/components/Carousel/Carousel.d.ts +5 -1
  299. package/dist/types/components/Carousel/CarouselSlide.d.ts +3 -3
  300. package/dist/types/components/Chart/Chart.d.ts +13 -6
  301. package/dist/types/components/Chart/chart-elements.d.ts +27 -6
  302. package/dist/types/components/ChatMessage/ChatMessage.d.ts +10 -1
  303. package/dist/types/components/ColorPicker/ColorPicker.d.ts +44 -5
  304. package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -0
  305. package/dist/types/components/ColorPicker/color-math.d.ts +63 -0
  306. package/dist/types/components/ColorPicker/color-picker-styles.d.ts +50 -0
  307. package/dist/types/components/ConfigProvider/ConfigContext.d.ts +67 -0
  308. package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +25 -0
  309. package/dist/types/components/ConfigProvider/index.d.ts +4 -0
  310. package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +28 -0
  311. package/dist/types/components/Datepicker/Datepicker.d.ts +23 -10
  312. package/dist/types/components/Datepicker/DatepickerCore.d.ts +40 -10
  313. package/dist/types/components/Datepicker/datetime.d.ts +33 -11
  314. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +12 -2
  315. package/dist/types/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +26 -0
  316. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +16 -0
  317. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +7 -1
  318. package/dist/types/components/DropdownMenu/DropdownMenuRadioGroup.d.ts +21 -0
  319. package/dist/types/components/DropdownMenu/DropdownMenuRadioItem.d.ts +22 -0
  320. package/dist/types/components/DropdownMenu/dropdown-menu-item-styles.d.ts +29 -0
  321. package/dist/types/components/DropdownMenu/index.d.ts +9 -1
  322. package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -0
  323. package/dist/types/components/Grid/Grid.d.ts +8 -1
  324. package/dist/types/components/Grid/GridItem.d.ts +24 -1
  325. package/dist/types/components/Grid/grid-item-styles.d.ts +57 -0
  326. package/dist/types/components/HoverCard/HoverCard.d.ts +1 -1
  327. package/dist/types/components/LocaleProvider/locale.d.ts +24 -0
  328. package/dist/types/components/Menu/Menu.d.ts +11 -2
  329. package/dist/types/components/Menu/MenuCheckboxItem.d.ts +25 -0
  330. package/dist/types/components/Menu/MenuGroup.d.ts +16 -0
  331. package/dist/types/components/Menu/MenuItem.d.ts +7 -1
  332. package/dist/types/components/Menu/MenuRadioGroup.d.ts +20 -0
  333. package/dist/types/components/Menu/MenuRadioItem.d.ts +22 -0
  334. package/dist/types/components/Menu/index.d.ts +9 -1
  335. package/dist/types/components/Menu/menu-item-styles.d.ts +28 -0
  336. package/dist/types/components/NavigationBar/NavLink.d.ts +1 -1
  337. package/dist/types/components/Pagination/Pagination.d.ts +17 -3
  338. package/dist/types/components/Sidebar/Sidebar.d.ts +1 -1
  339. package/dist/types/components/Slider/Slider.d.ts +24 -2
  340. package/dist/types/components/Slider/SliderCore.d.ts +41 -3
  341. package/dist/types/components/StreamingText/StreamingText.d.ts +8 -1
  342. package/dist/types/components/TimePicker/TimePicker.d.ts +36 -4
  343. package/dist/types/components/TimePicker/TimePickerPanel.d.ts +26 -0
  344. package/dist/types/components/TimePicker/index.d.ts +1 -0
  345. package/dist/types/components/TimePicker/time-picker-styles.d.ts +30 -0
  346. package/dist/types/components/TimePicker/time.d.ts +49 -0
  347. package/dist/types/components/Toast/Toast.d.ts +19 -6
  348. package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
  349. package/dist/types/components/Toast/ToastContext.d.ts +22 -2
  350. package/dist/types/components/Toast/index.d.ts +1 -1
  351. package/dist/types/components/Toast/toast.d.ts +20 -14
  352. package/dist/types/components/Toast/useToast.d.ts +14 -4
  353. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  354. package/dist/types/components/Tree/SortableTree.d.ts +38 -0
  355. package/dist/types/components/Tree/Tree.d.ts +1 -1
  356. package/dist/types/components/Tree/index.d.ts +2 -0
  357. package/dist/types/components/Tree/sortable-tree-styles.d.ts +36 -0
  358. package/dist/types/components/Tree/sortable-tree-utils.d.ts +40 -0
  359. package/dist/types/components/Upload/Upload.d.ts +17 -10
  360. package/dist/types/components/Upload/UploadCore.d.ts +26 -12
  361. package/dist/types/components/Upload/UploadList.d.ts +10 -7
  362. package/dist/types/components/Upload/index.d.ts +1 -1
  363. package/dist/types/components/Upload/types.d.ts +33 -7
  364. package/dist/types/components/VirtualList/VirtualList.d.ts +79 -26
  365. package/dist/types/components/VirtualList/index.d.ts +1 -1
  366. package/dist/types/dates/adapter.d.ts +74 -0
  367. package/dist/types/dates/gregory.d.ts +10 -0
  368. package/dist/types/dates/index.d.ts +6 -0
  369. package/dist/types/dates/islamic.d.ts +17 -0
  370. package/dist/types/dates/registry.d.ts +13 -0
  371. package/dist/types/dates/timezone.d.ts +36 -0
  372. package/dist/types/form/FormItem.d.ts +31 -1
  373. package/dist/types/form/form-item-styles.d.ts +24 -0
  374. package/dist/types/index.d.ts +19 -11
  375. package/dist/types/tokens/index.d.ts +4 -2
  376. package/dist/types/tokens/motion.d.ts +16 -0
  377. package/dist/types/tokens/palette.d.ts +59 -2
  378. package/dist/types/utils/menuItems.d.ts +126 -0
  379. package/dist/types/utils/menuRadio.d.ts +21 -0
  380. package/dist/utils/floating.js +45 -44
  381. package/dist/utils/menuItems.js +55 -0
  382. package/dist/utils/menuKeyboard.js +31 -31
  383. package/dist/utils/menuRadio.js +28 -0
  384. package/dist/utils/sortable-shared.js +3 -3
  385. package/dist/utils/sortable.js +12 -11
  386. package/package.json +18 -9
@@ -3,16 +3,16 @@
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
4
  import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
5
  /* empty css */
6
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
7
- import { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
6
+ import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region src/lib/components/ChatContainer/ChatContainer.tsx
9
9
  var c = 40, l = "haze-ChatContainer__container", u = "haze-ChatContainer__jumpPill";
10
10
  function d({ children: d, autoScroll: f = !0, unreadLabel: p, className: m, ...h }) {
11
- let g = o(null), [_, v] = s(!1), y = o(!0), b = t("chat"), x = i(() => {
11
+ let g = i(null), [_, v] = a(!1), y = i(!0), b = t("chat"), x = n(() => {
12
12
  let e = g.current;
13
13
  e && (y.current = !0, e.scrollTop = e.scrollHeight, v(!1));
14
14
  }, []);
15
- return a(() => {
15
+ return r(() => {
16
16
  let e = g.current;
17
17
  if (!e || !f) return;
18
18
  let t = () => e.scrollHeight - e.scrollTop - e.clientHeight, n = () => {
@@ -28,15 +28,17 @@ function d({ children: d, autoScroll: f = !0, unreadLabel: p, className: m, ...h
28
28
  }), () => {
29
29
  e.removeEventListener("scroll", n), r.disconnect();
30
30
  };
31
- }, [f]), /* @__PURE__ */ r("div", {
31
+ }, [f]), /* @__PURE__ */ s("div", {
32
32
  ref: g,
33
+ "data-slot": "chat-container",
33
34
  ...h,
34
35
  className: e([l, m]),
35
- children: [d, f && _ && /* @__PURE__ */ r("button", {
36
+ children: [d, f && _ && /* @__PURE__ */ s("button", {
36
37
  type: "button",
38
+ "data-slot": "jump-button",
37
39
  onClick: x,
38
40
  className: e([u]),
39
- children: [/* @__PURE__ */ n("span", {
41
+ children: [/* @__PURE__ */ o("span", {
40
42
  "aria-hidden": "true",
41
43
  children: "↓"
42
44
  }), p ?? b.newMessages]
@@ -3,18 +3,18 @@
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
4
  import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
5
  /* empty css */
6
- import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
7
- import { useCallback as a, useRef as o } from "react";
6
+ import { useCallback as n, useRef as r } from "react";
7
+ import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
8
8
  import { useControl as s } from "react-use-control";
9
9
  //#region src/lib/components/ChatInput/ChatInput.tsx
10
- var c = "haze-ChatInput__wrapper", l = "haze-ChatInput__textarea", u = "haze-ChatInput__sendBtn", d = () => /* @__PURE__ */ r("svg", {
10
+ var c = "haze-ChatInput__wrapper", l = "haze-ChatInput__textarea", u = "haze-ChatInput__sendBtn", d = () => /* @__PURE__ */ a("svg", {
11
11
  width: "12",
12
12
  height: "12",
13
13
  viewBox: "0 0 12 12",
14
14
  fill: "currentColor",
15
15
  "aria-hidden": "true",
16
16
  focusable: "false",
17
- children: r("rect", {
17
+ children: a("rect", {
18
18
  x: "2",
19
19
  y: "2",
20
20
  width: "8",
@@ -23,7 +23,7 @@ var c = "haze-ChatInput__wrapper", l = "haze-ChatInput__textarea", u = "haze-Cha
23
23
  })
24
24
  });
25
25
  function f({ value: f, onSend: p, generating: m = !1, onStop: h, placeholder: g, disabled: _, maxLength: v, className: y }) {
26
- let [b, x] = s(f, ""), S = o(null), C = t("chatInput"), w = t("chat"), T = g ?? C.placeholder, E = a(() => {
26
+ let [b, x] = s(f, ""), S = r(null), C = t("chatInput"), w = t("chat"), T = g ?? C.placeholder, E = n(() => {
27
27
  if (m) {
28
28
  h?.();
29
29
  return;
@@ -38,10 +38,12 @@ function f({ value: f, onSend: p, generating: m = !1, onStop: h, placeholder: g,
38
38
  p,
39
39
  x
40
40
  ]);
41
- return /* @__PURE__ */ i("div", {
41
+ return /* @__PURE__ */ o("div", {
42
+ "data-slot": "chat-input",
42
43
  className: e([c, y]),
43
- children: [/* @__PURE__ */ r("textarea", {
44
+ children: [/* @__PURE__ */ a("textarea", {
44
45
  ref: S,
46
+ "data-slot": "input",
45
47
  value: b,
46
48
  onChange: (e) => {
47
49
  x(e.target.value), S.current && (S.current.style.height = "auto", S.current.style.height = `${S.current.scrollHeight}px`);
@@ -54,13 +56,14 @@ function f({ value: f, onSend: p, generating: m = !1, onStop: h, placeholder: g,
54
56
  maxLength: v,
55
57
  rows: 1,
56
58
  className: e([l])
57
- }), /* @__PURE__ */ r("button", {
59
+ }), /* @__PURE__ */ a("button", {
60
+ "data-slot": m ? "stop-button" : "send-button",
58
61
  type: "button",
59
62
  onClick: E,
60
63
  disabled: _ || !m && !b.trim(),
61
64
  "aria-label": m ? w.stopGeneration : C.send,
62
65
  className: e([u]),
63
- children: m ? /* @__PURE__ */ r(d, {}) : /* @__PURE__ */ r(n, { children: "↑" })
66
+ children: m ? /* @__PURE__ */ a(d, {}) : /* @__PURE__ */ a(i, { children: "↑" })
64
67
  })]
65
68
  });
66
69
  }
@@ -4,14 +4,22 @@ import { classnames as e } from "../../utils/classnames.js";
4
4
  import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
5
  import { useClipboard as n } from "../../hooks/useClipboard.js";
6
6
  /* empty css */
7
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
8
- import { useRef as a } from "react";
7
+ import { useEffect as r, useRef as i, useState as a } from "react";
8
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
9
9
  //#region src/lib/components/ChatMessage/ChatMessage.tsx
10
- var o = 1500, s = "haze-ChatMessage__actionsRow", c = "haze-ChatMessage__wrapper", l = "haze-ChatMessage__wrapperUser", u = "haze-ChatMessage__avatarSlot", d = "haze-ChatMessage__body", f = "haze-ChatMessage__header", p = "haze-ChatMessage__headerUser", m = "haze-ChatMessage__bubble", h = "haze-ChatMessage__bubbleUser", g = "haze-ChatMessage__bubbleAssistant", _ = "haze-ChatMessage__bubbleSystem", v = "haze-ChatMessage__statusText", y = "haze-ChatMessage__statusError", b = "haze-ChatMessage__actionBtn", x = "haze-ChatMessage__actionBtnCopied", S = {
11
- user: h,
12
- assistant: g,
13
- system: _
14
- }, C = () => /* @__PURE__ */ i("svg", {
10
+ var c = 1500, l = 1200, u = "haze-ChatMessage__actionsRow", d = "haze-ChatMessage__wrapper", f = "haze-ChatMessage__wrapperUser", p = "haze-ChatMessage__avatarSlot", m = "haze-ChatMessage__body", h = "haze-ChatMessage__header", g = "haze-ChatMessage__headerUser", _ = "haze-ChatMessage__bubble", v = "haze-ChatMessage__bubbleUser", y = "haze-ChatMessage__bubbleAssistant", b = "haze-ChatMessage__bubbleSystem", x = "haze-ChatMessage__statusText", S = "haze-ChatMessage__statusError", C = "haze-ChatMessage__actionBtn", w = "haze-ChatMessage__actionBtnCopied", T = "haze-ChatMessage__srOnly";
11
+ function E(e) {
12
+ if (!e) return "";
13
+ if (e.querySelector("[data-slot='live-region']") === null) return e.textContent;
14
+ let t = e.cloneNode(!0);
15
+ for (let e of t.querySelectorAll("[data-slot='live-region']")) e.remove();
16
+ return t.textContent;
17
+ }
18
+ var D = {
19
+ user: v,
20
+ assistant: y,
21
+ system: b
22
+ }, O = () => /* @__PURE__ */ s("svg", {
15
23
  width: "14",
16
24
  height: "14",
17
25
  viewBox: "0 0 24 24",
@@ -22,15 +30,15 @@ var o = 1500, s = "haze-ChatMessage__actionsRow", c = "haze-ChatMessage__wrapper
22
30
  strokeLinejoin: "round",
23
31
  "aria-hidden": "true",
24
32
  focusable: "false",
25
- children: [/* @__PURE__ */ r("rect", {
33
+ children: [/* @__PURE__ */ o("rect", {
26
34
  x: "9",
27
35
  y: "9",
28
36
  width: "13",
29
37
  height: "13",
30
38
  rx: "2",
31
39
  ry: "2"
32
- }), /* @__PURE__ */ r("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })]
33
- }), w = () => /* @__PURE__ */ r("svg", {
40
+ }), /* @__PURE__ */ o("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })]
41
+ }), k = () => /* @__PURE__ */ o("svg", {
34
42
  width: "14",
35
43
  height: "14",
36
44
  viewBox: "0 0 24 24",
@@ -41,50 +49,81 @@ var o = 1500, s = "haze-ChatMessage__actionsRow", c = "haze-ChatMessage__wrapper
41
49
  strokeLinejoin: "round",
42
50
  "aria-hidden": "true",
43
51
  focusable: "false",
44
- children: r("path", { d: "M20 6 9 17l-5-5" })
52
+ children: o("path", { d: "M20 6 9 17l-5-5" })
45
53
  });
46
- function T({ role: h, avatar: g, name: _, timestamp: T, status: E, copyable: D = !1, actions: O, children: k, className: A }) {
47
- let j = h === "user", M = t("chatMessage"), N = t("chat"), P = a(null), { copied: F, copy: I } = n(o), L = D || O !== void 0;
48
- return /* @__PURE__ */ i("div", {
49
- "data-chat-actions": L ? !0 : void 0,
54
+ function A({ role: v, avatar: y, name: b, timestamp: A, status: j, streaming: M = !1, copyable: N = !1, actions: P, children: F, className: I }) {
55
+ let L = v === "user", R = t("chatMessage"), z = t("chat"), B = t("streamingText"), V = i(null), { copied: H, copy: U } = n(c), W = N || P !== void 0, [G, K] = a(""), q = i(!1);
56
+ return r(() => {
57
+ if (!M) {
58
+ q.current && (q.current = !1, K(E(V.current)));
59
+ return;
60
+ }
61
+ q.current = !0, K(B.generating);
62
+ let e = setInterval(() => {
63
+ K(E(V.current));
64
+ }, l);
65
+ return () => clearInterval(e);
66
+ }, [M, B.generating]), /* @__PURE__ */ s("div", {
67
+ "data-slot": "chat-message",
68
+ "data-chat-actions": W ? !0 : void 0,
50
69
  className: e([
51
- c,
52
- j && l,
53
- A
70
+ d,
71
+ L && f,
72
+ I
54
73
  ]),
55
- children: [h !== "system" && /* @__PURE__ */ r("div", {
56
- className: e([u]),
57
- children: g || (h === "user" ? "U" : "A")
58
- }), /* @__PURE__ */ i("div", {
59
- className: e([d]),
74
+ children: [v !== "system" && /* @__PURE__ */ o("div", {
75
+ "data-slot": "avatar",
76
+ className: e([p]),
77
+ children: y || (v === "user" ? "U" : "A")
78
+ }), /* @__PURE__ */ s("div", {
79
+ "data-slot": "body",
80
+ className: e([m]),
60
81
  children: [
61
- (_ || T) && /* @__PURE__ */ i("div", {
62
- className: e([f, j && p]),
63
- children: [_ && /* @__PURE__ */ r("span", { children: _ }), T && /* @__PURE__ */ r("span", { children: T })]
82
+ (b || A) && /* @__PURE__ */ s("div", {
83
+ "data-slot": "header",
84
+ className: e([h, L && g]),
85
+ children: [b && /* @__PURE__ */ o("span", {
86
+ "data-slot": "name",
87
+ children: b
88
+ }), A && /* @__PURE__ */ o("span", {
89
+ "data-slot": "timestamp",
90
+ children: A
91
+ })]
92
+ }),
93
+ /* @__PURE__ */ o("div", {
94
+ "data-slot": "bubble",
95
+ ref: V,
96
+ "aria-busy": M || void 0,
97
+ className: e([_, D[v]]),
98
+ children: F
64
99
  }),
65
- /* @__PURE__ */ r("div", {
66
- ref: P,
67
- className: e([m, S[h]]),
68
- children: k
100
+ v === "assistant" && /* @__PURE__ */ o("span", {
101
+ "data-slot": "live-region",
102
+ role: "status",
103
+ className: e([T]),
104
+ children: G
69
105
  }),
70
- L && /* @__PURE__ */ i("div", {
71
- className: e([s]),
72
- children: [D && /* @__PURE__ */ r("button", {
106
+ W && /* @__PURE__ */ s("div", {
107
+ "data-slot": "actions",
108
+ className: e([u]),
109
+ children: [N && /* @__PURE__ */ o("button", {
73
110
  type: "button",
111
+ "data-slot": "copy-button",
74
112
  onClick: () => {
75
- I(P.current?.textContent ?? "");
113
+ U(E(V.current));
76
114
  },
77
- "aria-label": N.copy,
78
- className: e([b, F && x]),
79
- children: r(F ? w : C, {})
80
- }), O]
115
+ "aria-label": z.copy,
116
+ className: e([C, H && w]),
117
+ children: o(H ? k : O, {})
118
+ }), P]
81
119
  }),
82
- E && /* @__PURE__ */ i("div", {
83
- className: e([v, E === "error" && y]),
120
+ j && /* @__PURE__ */ s("div", {
121
+ "data-slot": "status",
122
+ className: e([x, j === "error" && S]),
84
123
  children: [
85
- E === "sending" && M.sending,
86
- E === "sent" && M.sent,
87
- E === "error" && M.failedToSend
124
+ j === "sending" && R.sending,
125
+ j === "sent" && R.sent,
126
+ j === "error" && R.failedToSend
88
127
  ]
89
128
  })
90
129
  ]
@@ -92,4 +131,4 @@ function T({ role: h, avatar: g, name: _, timestamp: T, status: E, copyable: D =
92
131
  });
93
132
  }
94
133
  //#endregion
95
- export { T as default };
134
+ export { A as default };
@@ -9,6 +9,7 @@ function a({ checked: a, onChange: o, onNativeChange: s, className: c, label: l,
9
9
  let f = /* @__PURE__ */ t("input", {
10
10
  ref: u,
11
11
  type: "checkbox",
12
+ "data-slot": "checkbox",
12
13
  checked: a,
13
14
  onChange: (e) => {
14
15
  o(e.target.checked), s?.(e);
@@ -17,6 +18,7 @@ function a({ checked: a, onChange: o, onNativeChange: s, className: c, label: l,
17
18
  className: e([r, c])
18
19
  });
19
20
  return l === void 0 ? f : /* @__PURE__ */ n("label", {
21
+ "data-slot": "label",
20
22
  className: e(i),
21
23
  children: [f, l]
22
24
  });
@@ -21,6 +21,7 @@ var i = "haze-Chip__base", a = {
21
21
  function l({ variant: l = "solid", color: u = "default", icon: d, onClose: f, className: p, children: m }) {
22
22
  let h = t("chip"), g = l === "outline" ? o[u] : a[u];
23
23
  return /* @__PURE__ */ r("span", {
24
+ "data-slot": "chip",
24
25
  className: e([
25
26
  i,
26
27
  g,
@@ -28,11 +29,13 @@ function l({ variant: l = "solid", color: u = "default", icon: d, onClose: f, cl
28
29
  ]),
29
30
  children: [
30
31
  d && /* @__PURE__ */ n("span", {
32
+ "data-slot": "icon",
31
33
  className: e([s]),
32
34
  children: d
33
35
  }),
34
36
  m,
35
37
  f && /* @__PURE__ */ n("button", {
38
+ "data-slot": "remove-button",
36
39
  type: "button",
37
40
  onClick: f,
38
41
  "aria-label": h.remove,
@@ -1,12 +1,12 @@
1
1
 
2
2
  import { classnames as e } from "../../utils/classnames.js";
3
3
  /* empty css */
4
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
5
- import { useEffect as r, useMemo as i, useState as a } from "react";
4
+ import { useEffect as t, useMemo as n, useState as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
6
  //#region src/lib/components/CodeBlock/CodeBlock.tsx
7
7
  var o = "haze-CodeBlock__block", s = "haze-CodeBlock__pre", c = "haze-CodeBlock__lang";
8
8
  function l({ children: l, language: u, highlight: d, className: f }) {
9
- let p = typeof l == "string" ? l : void 0, m = i(() => {
9
+ let p = typeof l == "string" ? l : void 0, m = n(() => {
10
10
  if (d !== void 0 && p !== void 0) try {
11
11
  return d(p, u ?? "");
12
12
  } catch {
@@ -16,8 +16,8 @@ function l({ children: l, language: u, highlight: d, className: f }) {
16
16
  d,
17
17
  p,
18
18
  u
19
- ]), h = m instanceof Promise ? m : void 0, [g, _] = a(null);
20
- r(() => {
19
+ ]), h = m instanceof Promise ? m : void 0, [g, _] = r(null);
20
+ t(() => {
21
21
  if (h === void 0) return;
22
22
  let e = !0;
23
23
  return h.then((t) => {
@@ -35,14 +35,23 @@ function l({ children: l, language: u, highlight: d, className: f }) {
35
35
  };
36
36
  }, [h]);
37
37
  let v = typeof m == "string" ? m : g !== null && g.pending === h ? g.html : null;
38
- return /* @__PURE__ */ n("div", {
38
+ return /* @__PURE__ */ a("div", {
39
+ "data-slot": "code-block",
39
40
  className: e([o, f]),
40
- children: [u && /* @__PURE__ */ t("span", {
41
+ children: [u && /* @__PURE__ */ i("span", {
42
+ "data-slot": "language-label",
41
43
  className: e([c]),
42
44
  children: u
43
- }), /* @__PURE__ */ t("pre", {
45
+ }), /* @__PURE__ */ i("pre", {
46
+ "data-slot": "code",
44
47
  className: e([s]),
45
- children: v === null ? /* @__PURE__ */ t("code", { children: l }) : /* @__PURE__ */ t("code", { dangerouslySetInnerHTML: { __html: v } })
48
+ children: v === null ? /* @__PURE__ */ i("code", {
49
+ "data-slot": "code-text",
50
+ children: l
51
+ }) : /* @__PURE__ */ i("code", {
52
+ "data-slot": "code-text",
53
+ dangerouslySetInnerHTML: { __html: v }
54
+ })
46
55
  })]
47
56
  });
48
57
  }
@@ -3,63 +3,66 @@
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
4
  import { Presence as t } from "../../utils/presence.js";
5
5
  /* empty css */
6
- import { jsx as n } from "react/jsx-runtime";
7
- import { createContext as r, useContext as i } from "react";
6
+ import { createContext as n, useContext as r } from "react";
7
+ import { jsx as i } from "react/jsx-runtime";
8
8
  import { useControl as a } from "react-use-control";
9
9
  //#region src/lib/components/Collapsible/Collapsible.tsx
10
- var o = r(void 0);
10
+ var o = n(void 0);
11
11
  function s() {
12
- let e = i(o);
12
+ let e = r(o);
13
13
  if (!e) throw Error("Collapsible sub-components must be used within <Collapsible>");
14
14
  return e;
15
15
  }
16
16
  var c = "haze-Collapsible__base";
17
- function l({ open: t, defaultOpen: r = !1, classNames: i, children: s, className: l }) {
18
- let [u, d] = a(t, r);
19
- return /* @__PURE__ */ n(o.Provider, {
17
+ function l({ open: t, defaultOpen: n = !1, classNames: r, children: s, className: l }) {
18
+ let [u, d] = a(t, n);
19
+ return /* @__PURE__ */ i(o.Provider, {
20
20
  value: {
21
21
  open: u,
22
22
  toggle: () => d((e) => !e),
23
- classNames: i
23
+ classNames: r
24
24
  },
25
- children: n("div", {
25
+ children: i("div", {
26
+ "data-slot": "collapsible",
26
27
  className: e([
27
28
  c,
28
29
  l,
29
- i?.root
30
+ r?.root
30
31
  ]),
31
32
  children: s
32
33
  })
33
34
  });
34
35
  }
35
36
  var u = "haze-Collapsible__triggerStyle";
36
- function d({ children: t, className: r }) {
37
- let { toggle: i, classNames: a } = s();
38
- return /* @__PURE__ */ n("button", {
37
+ function d({ children: t, className: n }) {
38
+ let { toggle: r, classNames: a } = s();
39
+ return /* @__PURE__ */ i("button", {
39
40
  type: "button",
40
- onClick: i,
41
+ "data-slot": "trigger",
42
+ onClick: r,
41
43
  className: e([
42
44
  u,
43
- r,
45
+ n,
44
46
  a?.trigger
45
47
  ]),
46
48
  children: t
47
49
  });
48
50
  }
49
51
  var f = "haze-Collapsible__contentOuter", p = "haze-Collapsible__contentInner";
50
- function m({ children: r, className: i }) {
52
+ function m({ children: n, className: r }) {
51
53
  let { open: a, classNames: o } = s();
52
- return /* @__PURE__ */ n(t, {
54
+ return /* @__PURE__ */ i(t, {
53
55
  present: a,
54
- children: n("div", {
56
+ children: i("div", {
57
+ "data-slot": "content",
55
58
  className: e([
56
59
  f,
57
- i,
60
+ r,
58
61
  o?.content
59
62
  ]),
60
- children: /* @__PURE__ */ n("div", {
63
+ children: /* @__PURE__ */ i("div", {
61
64
  className: e(p),
62
- children: r
65
+ children: n
63
66
  })
64
67
  })
65
68
  });
@@ -1,19 +1,90 @@
1
+
1
2
  "use client";
2
- import e from "./ColorPickerCore.js";
3
- import { jsx as t } from "react/jsx-runtime";
4
- import { useControl as n } from "react-use-control";
3
+ import { classnames as e } from "../../utils/classnames.js";
4
+ import { mergeRefs as t } from "../../utils/refs.js";
5
+ import { useStrings as n } from "../LocaleProvider/useStrings.js";
6
+ import { FloatingPanel as r, useFloating as i } from "../../utils/floating.js";
7
+ import { cssColor as a, parseColor as o, rgbHexKey as s } from "./color-math.js";
8
+ import { checkerboard as c, panelVisuals as l, swatchFill as u, trigger as d } from "./color-picker-styles.js";
9
+ import f from "./ColorPickerPanel.js";
10
+ /* empty css */
11
+ import { useCallback as p, useEffect as m, useId as h, useRef as g, useState as _ } from "react";
12
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
13
+ import { useControl as b } from "react-use-control";
5
14
  //#region src/lib/components/ColorPicker/ColorPicker.tsx
6
- function r({ value: r, presets: i, onChange: a, className: o, ref: s }) {
7
- let [c, l] = n(r, "#000000");
8
- return /* @__PURE__ */ t(e, {
9
- ref: s,
10
- value: c,
11
- onChange: (e) => {
12
- l(e), a?.(e);
13
- },
14
- presets: i,
15
- className: o
15
+ var x = 10, S = "haze-ColorPicker__container";
16
+ function C({ value: C, onChange: w, open: T, inline: E = !1, format: D = "hex", allowAlpha: O = !1, presets: k, recent: A = !1, className: j, "aria-label": M, ref: N }) {
17
+ let P = n("colorPicker"), [F, I] = b(C, "#000000"), [L, R] = b(T, !1), z = M ?? P.pickColor, B = o(F)?.rgb ?? {
18
+ r: 0,
19
+ g: 0,
20
+ b: 0
21
+ }, V = p((e) => {
22
+ I(e), w?.(e);
23
+ }, [I, w]), [H, U] = _([]), W = p((e) => {
24
+ if (!A) return;
25
+ let t = s(o(e)?.rgb ?? {
26
+ r: 0,
27
+ g: 0,
28
+ b: 0
29
+ });
30
+ U((n) => [e, ...n.filter((e) => {
31
+ let n = o(e);
32
+ return n === null || s(n.rgb) !== t;
33
+ })].slice(0, x));
34
+ }, [A]), G = /* @__PURE__ */ v(f, {
35
+ value: F,
36
+ onChange: V,
37
+ onCommit: W,
38
+ format: D,
39
+ allowAlpha: O,
40
+ presets: k,
41
+ recentColors: A ? H : void 0
42
+ }), K = g(null), q = g(null), J = p((e) => t(K, N)(e), [N]), Y = h(), X = i({
43
+ open: L,
44
+ setOpen: R,
45
+ triggerRef: K,
46
+ panelRef: q,
47
+ animated: !0
48
+ });
49
+ return m(() => {
50
+ X.shown && q.current?.querySelector("[role='slider']")?.focus();
51
+ }, [X.shown]), E ? /* @__PURE__ */ v("div", {
52
+ ref: N,
53
+ "data-slot": "color-picker",
54
+ className: e([l, j]),
55
+ children: G
56
+ }) : /* @__PURE__ */ y("span", {
57
+ "data-slot": "color-picker",
58
+ className: S,
59
+ children: [/* @__PURE__ */ v("button", {
60
+ ref: J,
61
+ type: "button",
62
+ "data-slot": "trigger",
63
+ style: X.triggerStyle,
64
+ "aria-label": z,
65
+ "aria-haspopup": "dialog",
66
+ "aria-expanded": L,
67
+ "aria-controls": Y,
68
+ onPointerDown: X.onTriggerPointerDown,
69
+ onClick: X.onTriggerClick,
70
+ className: e([d, c]),
71
+ children: /* @__PURE__ */ v("span", {
72
+ "data-slot": "swatch",
73
+ style: { background: a(B) },
74
+ className: e([u])
75
+ })
76
+ }), /* @__PURE__ */ v(r, {
77
+ ref: q,
78
+ behavior: X,
79
+ placement: "bottom",
80
+ id: Y,
81
+ role: "dialog",
82
+ "aria-label": z,
83
+ visualClass: l,
84
+ className: j,
85
+ children: G
86
+ })]
16
87
  });
17
88
  }
18
89
  //#endregion
19
- export { r as default };
90
+ export { C as default };
@@ -9,27 +9,33 @@ var i = "haze-ColorPickerCore__container", a = "haze-ColorPickerCore__previewRow
9
9
  function d({ value: d, onChange: f, presets: p, className: m, ref: h }) {
10
10
  let g = t("colorPicker");
11
11
  return /* @__PURE__ */ r("div", {
12
+ "data-slot": "color-picker",
12
13
  className: e([i, m]),
13
14
  children: [/* @__PURE__ */ r("div", {
15
+ "data-slot": "preview",
14
16
  className: e([a]),
15
17
  children: [/* @__PURE__ */ n("input", {
16
18
  ref: h,
17
19
  type: "color",
20
+ "data-slot": "color-input",
18
21
  value: d,
19
22
  "aria-label": g.pickColor,
20
23
  onChange: (e) => f(e.target.value),
21
24
  className: e([o])
22
25
  }), /* @__PURE__ */ n("input", {
23
26
  type: "text",
27
+ "data-slot": "text-input",
24
28
  value: d,
25
29
  "aria-label": g.hexColor,
26
30
  onChange: (e) => f(e.target.value),
27
31
  className: e([s])
28
32
  })]
29
33
  }), p && p.length > 0 && /* @__PURE__ */ n("div", {
34
+ "data-slot": "swatch-row",
30
35
  className: e([c]),
31
36
  children: p.map((t) => /* @__PURE__ */ n("button", {
32
37
  type: "button",
38
+ "data-slot": "swatch-item",
33
39
  style: { background: t },
34
40
  "aria-label": t,
35
41
  onClick: () => f(t),