haze-ui 1.26.0 → 1.28.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 (479) hide show
  1. package/README.md +420 -36
  2. package/dist/components/Anchor/Anchor.js +78 -0
  3. package/dist/components/Anchor/index.js +3 -0
  4. package/dist/components/AppShell/AppShell.js +44 -0
  5. package/dist/components/AppShell/index.js +3 -0
  6. package/dist/components/AspectRatio/AspectRatio.js +0 -1
  7. package/dist/components/AspectRatio/index.js +0 -1
  8. package/dist/components/Badge/Badge.js +5 -17
  9. package/dist/components/Badge/badge-styles.js +15 -0
  10. package/dist/components/Badge/index.js +3 -3
  11. package/dist/components/BottomSheet/BottomSheet.js +133 -22
  12. package/dist/components/Button/index.js +4 -3
  13. package/dist/components/Calendar/Calendar.js +525 -78
  14. package/dist/components/Calendar/date.js +35 -2
  15. package/dist/components/Card/Card.js +0 -1
  16. package/dist/components/Card/index.js +0 -1
  17. package/dist/components/Carousel/Carousel.js +64 -41
  18. package/dist/components/Cascader/Cascader.js +222 -140
  19. package/dist/components/Chart/Chart.js +34 -0
  20. package/dist/components/Chart/chart-elements.js +164 -0
  21. package/dist/components/Chart/index.js +3 -0
  22. package/dist/components/ChatContainer/ChatContainer.js +36 -16
  23. package/dist/components/ChatInput/ChatInput.js +49 -29
  24. package/dist/components/ChatMessage/ChatMessage.js +76 -29
  25. package/dist/components/Checkbox/Checkbox.js +6 -5
  26. package/dist/components/Checkbox/CheckboxCore.js +6 -5
  27. package/dist/components/CodeBlock/CodeBlock.js +39 -10
  28. package/dist/components/CodeBlock/index.js +0 -1
  29. package/dist/components/Collapsible/Collapsible.js +23 -10
  30. package/dist/components/ColorPicker/ColorPicker.js +5 -4
  31. package/dist/components/ColorPicker/ColorPickerCore.js +5 -4
  32. package/dist/components/Combobox/Combobox.js +202 -75
  33. package/dist/components/Combobox/ComboboxGroup.js +23 -0
  34. package/dist/components/Combobox/ComboboxOption.js +7 -6
  35. package/dist/components/Combobox/index.js +4 -3
  36. package/dist/components/Command/Command.js +102 -59
  37. package/dist/components/Command/CommandDialog.js +48 -0
  38. package/dist/components/Command/command-filter.js +16 -0
  39. package/dist/components/Command/index.js +3 -2
  40. package/dist/components/ConfirmDialog/ConfirmDialog.js +3 -3
  41. package/dist/components/Container/Container.js +0 -1
  42. package/dist/components/Container/index.js +0 -1
  43. package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
  44. package/dist/components/DataTable/CellEditor.js +38 -0
  45. package/dist/components/DataTable/DataTable.js +394 -143
  46. package/dist/components/DataTable/csv.js +29 -0
  47. package/dist/components/DataTable/features.js +25 -0
  48. package/dist/components/DataTable/index.js +3 -1
  49. package/dist/components/DataTable/summary.js +17 -0
  50. package/dist/components/DateRangePicker/DateRangePicker.js +31 -13
  51. package/dist/components/DateRangePicker/DateRangePickerCore.js +59 -27
  52. package/dist/components/DateRangePicker/presets.js +43 -0
  53. package/dist/components/Datepicker/Datepicker.js +17 -12
  54. package/dist/components/Datepicker/DatepickerCore.js +73 -39
  55. package/dist/components/Datepicker/datetime.js +23 -0
  56. package/dist/components/Descriptions/Descriptions.js +46 -0
  57. package/dist/components/Descriptions/index.js +3 -0
  58. package/dist/components/Dialog/Dialog.js +56 -32
  59. package/dist/components/DiffViewer/DiffViewer.js +31 -30
  60. package/dist/components/Divider/Divider.js +0 -1
  61. package/dist/components/Divider/index.js +0 -1
  62. package/dist/components/Drawer/Drawer.js +49 -29
  63. package/dist/components/DropdownMenu/DropdownMenu.js +38 -26
  64. package/dist/components/DropdownMenu/DropdownMenuSub.js +23 -0
  65. package/dist/components/DropdownMenu/DropdownMenuSubContent.js +24 -0
  66. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +30 -0
  67. package/dist/components/DropdownMenu/index.js +4 -1
  68. package/dist/components/FilePreview/FilePreview.js +135 -0
  69. package/dist/components/FilePreview/file-preview-format.js +23 -0
  70. package/dist/components/FilePreview/index.js +3 -0
  71. package/dist/components/Flex/Flex.js +0 -1
  72. package/dist/components/Flex/index.js +0 -1
  73. package/dist/components/FloatButton/FloatButton.js +42 -0
  74. package/dist/components/FloatButton/FloatButtonGroup.js +58 -0
  75. package/dist/components/FloatButton/float-button-context.js +9 -0
  76. package/dist/components/FloatButton/float-button-glyphs.js +26 -0
  77. package/dist/components/FloatButton/float-button-styles.js +14 -0
  78. package/dist/components/FloatButton/index.js +4 -0
  79. package/dist/components/Fullscreen/Fullscreen.js +29 -0
  80. package/dist/components/Fullscreen/index.js +3 -0
  81. package/dist/components/Grid/Grid.js +0 -1
  82. package/dist/components/Grid/GridItem.js +0 -1
  83. package/dist/components/Grid/index.js +0 -1
  84. package/dist/components/Icon/Icon.js +0 -1
  85. package/dist/components/Icon/index.js +0 -1
  86. package/dist/components/Image/Image.js +37 -19
  87. package/dist/components/Image/ImagePreview.js +233 -0
  88. package/dist/components/InlineCompletion/InlineCompletion.js +81 -0
  89. package/dist/components/InlineCompletion/index.js +3 -0
  90. package/dist/components/Input/Input.js +6 -5
  91. package/dist/components/Input/InputCore.js +3 -2
  92. package/dist/components/JsonView/JsonView.js +209 -0
  93. package/dist/components/JsonView/index.js +3 -0
  94. package/dist/components/JsonView/json-view-utils.js +24 -0
  95. package/dist/components/Kbd/Kbd.js +0 -1
  96. package/dist/components/Kbd/index.js +0 -1
  97. package/dist/components/LocaleProvider/LocaleProvider.js +16 -13
  98. package/dist/components/LocaleProvider/index.js +5 -3
  99. package/dist/components/LocaleProvider/ja-jp.js +222 -0
  100. package/dist/components/LocaleProvider/locale.js +99 -5
  101. package/dist/components/LocaleProvider/strings.js +15 -0
  102. package/dist/components/LocaleProvider/useStrings.js +13 -11
  103. package/dist/components/LocaleProvider/zh-cn.js +99 -5
  104. package/dist/components/Masonry/Masonry.js +29 -0
  105. package/dist/components/Masonry/index.js +3 -0
  106. package/dist/components/Masonry/masonry-distribute.js +15 -0
  107. package/dist/components/Mentions/Mentions.js +6 -5
  108. package/dist/components/Mentions/MentionsCore.js +69 -68
  109. package/dist/components/Menu/Menu.js +5 -5
  110. package/dist/components/Menu/MenuSub.js +23 -0
  111. package/dist/components/Menu/MenuSubContent.js +24 -0
  112. package/dist/components/Menu/MenuSubTrigger.js +30 -0
  113. package/dist/components/Menu/index.js +4 -1
  114. package/dist/components/NumberInput/NumberInput.js +6 -5
  115. package/dist/components/NumberInput/NumberInputCore.js +9 -8
  116. package/dist/components/OTPInput/OTPInput.js +5 -4
  117. package/dist/components/OTPInput/OTPInputCore.js +34 -33
  118. package/dist/components/PasswordInput/PasswordInput.js +5 -4
  119. package/dist/components/PasswordInput/PasswordInputCore.js +8 -7
  120. package/dist/components/Popover/Popover.js +43 -31
  121. package/dist/components/PromptInput/PromptInput.js +213 -0
  122. package/dist/components/PromptInput/index.js +3 -0
  123. package/dist/components/Radio/Radio.js +7 -6
  124. package/dist/components/Radio/RadioGroup.js +5 -4
  125. package/dist/components/Radio/RadioGroupCore.js +23 -14
  126. package/dist/components/Rating/Rating.js +5 -4
  127. package/dist/components/Rating/RatingCore.js +62 -28
  128. package/dist/components/Resizable/index.js +1 -1
  129. package/dist/components/Segmented/Segmented.js +5 -4
  130. package/dist/components/Segmented/SegmentedCore.js +22 -18
  131. package/dist/components/Select/OptionGroup.js +12 -0
  132. package/dist/components/Select/Select.js +20 -9
  133. package/dist/components/Select/SelectCore.js +74 -13
  134. package/dist/components/Select/SelectFloating.js +256 -0
  135. package/dist/components/Select/index.js +5 -4
  136. package/dist/components/Select/select-options.js +57 -0
  137. package/dist/components/Sidebar/Sidebar.js +9 -9
  138. package/dist/components/Signature/Signature.js +165 -0
  139. package/dist/components/Signature/index.js +3 -0
  140. package/dist/components/Signature/signature-points.js +28 -0
  141. package/dist/components/Skeleton/Skeleton.js +0 -1
  142. package/dist/components/Skeleton/index.js +0 -1
  143. package/dist/components/Slider/Slider.js +16 -8
  144. package/dist/components/Slider/SliderCore.js +75 -12
  145. package/dist/components/Sources/Sources.js +109 -0
  146. package/dist/components/Sources/index.js +3 -0
  147. package/dist/components/Stat/Stat.js +0 -1
  148. package/dist/components/Stat/index.js +0 -1
  149. package/dist/components/Switch/Switch.js +6 -5
  150. package/dist/components/Switch/SwitchCore.js +3 -2
  151. package/dist/components/Tabs/Tab.js +7 -4
  152. package/dist/components/Tabs/TabList.js +38 -7
  153. package/dist/components/Tabs/TabPanel.js +4 -3
  154. package/dist/components/Tabs/Tabs.js +11 -6
  155. package/dist/components/TagGroup/SortableTagGroup.js +26 -0
  156. package/dist/components/TagGroup/TagGroup.js +4 -6
  157. package/dist/components/TagGroup/TagGroupItem.js +17 -11
  158. package/dist/components/TagGroup/index.js +2 -1
  159. package/dist/components/TagGroup/tag-group-styles.js +7 -0
  160. package/dist/components/TagInput/SortableTagInput.js +24 -0
  161. package/dist/components/TagInput/SortableTagInputCore.js +52 -0
  162. package/dist/components/TagInput/TagInput.js +5 -4
  163. package/dist/components/TagInput/TagInputCore.js +71 -57
  164. package/dist/components/TagInput/index.js +3 -1
  165. package/dist/components/TagInput/tag-input-styles.js +7 -0
  166. package/dist/components/Textarea/Textarea.js +6 -5
  167. package/dist/components/Textarea/TextareaCore.js +3 -2
  168. package/dist/components/TimePicker/TimePicker.js +6 -5
  169. package/dist/components/TimePicker/TimePickerCore.js +3 -2
  170. package/dist/components/Toast/Toast.js +44 -42
  171. package/dist/components/Toast/ToastContainer.js +67 -47
  172. package/dist/components/Toast/ToastContext.js +23 -4
  173. package/dist/components/Toast/toast2.js +63 -28
  174. package/dist/components/Toast/useToast.js +9 -7
  175. package/dist/components/Toggle/Toggle.js +20 -0
  176. package/dist/components/Toggle/ToggleCore.js +31 -0
  177. package/dist/components/Toggle/index.js +4 -0
  178. package/dist/components/Toolbar/Toolbar.js +33 -32
  179. package/dist/components/Toolbar/ToolbarToggle.js +31 -0
  180. package/dist/components/Toolbar/index.js +2 -1
  181. package/dist/components/Tooltip/Tooltip.js +1 -1
  182. package/dist/components/Tour/Tour.js +57 -53
  183. package/dist/components/Tree/Tree.js +265 -80
  184. package/dist/components/Tree/TreeItem.js +91 -55
  185. package/dist/components/Tree/utils.js +82 -10
  186. package/dist/components/Typography/Typography.js +0 -1
  187. package/dist/components/Typography/index.js +0 -1
  188. package/dist/components/Upload/Upload.js +24 -8
  189. package/dist/components/Upload/UploadCore.js +230 -37
  190. package/dist/components/Upload/UploadList.js +300 -0
  191. package/dist/components/Upload/xhr-upload.js +22 -0
  192. package/dist/components/VirtualList/VirtualList.js +84 -56
  193. package/dist/components/Watermark/Watermark.js +55 -0
  194. package/dist/components/Watermark/index.js +3 -0
  195. package/dist/css/anchor.css +2 -0
  196. package/dist/css/app-shell.css +2 -0
  197. package/dist/css/badge.css +1 -1
  198. package/dist/css/bottom-sheet.css +1 -1
  199. package/dist/css/button.css +1 -1
  200. package/dist/css/calendar.css +1 -1
  201. package/dist/css/cascader.css +1 -1
  202. package/dist/css/chart.css +2 -0
  203. package/dist/css/chat-container.css +1 -1
  204. package/dist/css/chat-message.css +1 -1
  205. package/dist/css/combobox.css +3 -2
  206. package/dist/css/command.css +2 -1
  207. package/dist/css/context-menu.css +1 -1
  208. package/dist/css/data-table.css +2 -1
  209. package/dist/css/date-range-picker.css +1 -1
  210. package/dist/css/datepicker.css +2 -2
  211. package/dist/css/descriptions.css +2 -0
  212. package/dist/css/dialog.css +1 -1
  213. package/dist/css/drawer.css +1 -1
  214. package/dist/css/dropdown-menu.css +4 -1
  215. package/dist/css/file-preview.css +2 -0
  216. package/dist/css/float-button.css +2 -0
  217. package/dist/css/image.css +2 -1
  218. package/dist/css/inline-completion.css +2 -0
  219. package/dist/css/json-view.css +2 -0
  220. package/dist/css/masonry.css +2 -0
  221. package/dist/css/menu.css +4 -1
  222. package/dist/css/popover.css +1 -1
  223. package/dist/css/prompt-input.css +2 -0
  224. package/dist/css/rating.css +1 -1
  225. package/dist/css/select.css +3 -1
  226. package/dist/css/signature.css +2 -0
  227. package/dist/css/slider.css +1 -1
  228. package/dist/css/sources.css +2 -0
  229. package/dist/css/tag-group.css +3 -1
  230. package/dist/css/tag-input.css +2 -1
  231. package/dist/css/toggle.css +2 -0
  232. package/dist/css/toolbar.css +1 -0
  233. package/dist/css/tooltip.css +1 -1
  234. package/dist/css/tree.css +2 -2
  235. package/dist/css/upload.css +2 -1
  236. package/dist/css/watermark.css +2 -0
  237. package/dist/css-manifest.json +75 -1
  238. package/dist/form/FormItem.js +55 -50
  239. package/dist/form/FormList.js +79 -0
  240. package/dist/form/index.js +5 -1
  241. package/dist/form/standard-schema.js +16 -0
  242. package/dist/haze-ui.css +61 -30
  243. package/dist/headless/index.js +19 -0
  244. package/dist/hooks/useClickOutside.js +24 -0
  245. package/dist/hooks/useDarkMode.js +27 -0
  246. package/dist/hooks/useFullscreen.js +42 -0
  247. package/dist/hooks/useHotkeys.js +77 -0
  248. package/dist/hooks/useInView.js +27 -0
  249. package/dist/hooks/useLocalStorage.js +8 -0
  250. package/dist/hooks/useMediaQuery.js +2 -1
  251. package/dist/hooks/usePrevious.js +11 -0
  252. package/dist/hooks/useSessionStorage.js +8 -0
  253. package/dist/hooks/useStorageState.js +80 -0
  254. package/dist/index.js +220 -171
  255. package/dist/registry.json +2435 -91
  256. package/dist/tokens/colors.js +0 -1
  257. package/dist/tokens/index.js +0 -1
  258. package/dist/tokens/motion.js +0 -1
  259. package/dist/tokens/oklch.js +0 -1
  260. package/dist/tokens/palette.js +0 -1
  261. package/dist/tokens/registry.js +17 -28
  262. package/dist/tokens/spacing.js +0 -1
  263. package/dist/tokens/typography.js +0 -1
  264. package/dist/types/components/Anchor/Anchor.d.ts +25 -0
  265. package/dist/types/components/Anchor/index.d.ts +2 -0
  266. package/dist/types/components/AppShell/AppShell.d.ts +17 -0
  267. package/dist/types/components/AppShell/index.d.ts +2 -0
  268. package/dist/types/components/Badge/badge-styles.d.ts +21 -0
  269. package/dist/types/components/Badge/index.d.ts +1 -0
  270. package/dist/types/components/BottomSheet/BottomSheet.d.ts +52 -3
  271. package/dist/types/components/BottomSheet/index.d.ts +1 -1
  272. package/dist/types/components/Button/Button.d.ts +7 -0
  273. package/dist/types/components/Button/ButtonLink.d.ts +3 -0
  274. package/dist/types/components/Button/index.d.ts +1 -0
  275. package/dist/types/components/Button/styles.d.ts +17 -0
  276. package/dist/types/components/Calendar/Calendar.d.ts +71 -7
  277. package/dist/types/components/Calendar/date.d.ts +52 -0
  278. package/dist/types/components/Calendar/index.d.ts +1 -1
  279. package/dist/types/components/Cascader/Cascader.d.ts +48 -3
  280. package/dist/types/components/Chart/Chart.d.ts +43 -0
  281. package/dist/types/components/Chart/chart-elements.d.ts +104 -0
  282. package/dist/types/components/Chart/index.d.ts +2 -0
  283. package/dist/types/components/ChatContainer/ChatContainer.d.ts +18 -3
  284. package/dist/types/components/ChatInput/ChatInput.d.ts +11 -1
  285. package/dist/types/components/ChatMessage/ChatMessage.d.ts +13 -1
  286. package/dist/types/components/Checkbox/Checkbox.d.ts +6 -2
  287. package/dist/types/components/Checkbox/CheckboxCore.d.ts +4 -2
  288. package/dist/types/components/CodeBlock/CodeBlock.d.ts +19 -2
  289. package/dist/types/components/CodeBlock/index.d.ts +1 -1
  290. package/dist/types/components/Collapsible/Collapsible.d.ts +24 -2
  291. package/dist/types/components/Collapsible/index.d.ts +1 -1
  292. package/dist/types/components/ColorPicker/ColorPicker.d.ts +7 -1
  293. package/dist/types/components/ColorPicker/ColorPickerCore.d.ts +7 -1
  294. package/dist/types/components/Combobox/Combobox.d.ts +111 -7
  295. package/dist/types/components/Combobox/ComboboxGroup.d.ts +22 -0
  296. package/dist/types/components/Combobox/ComboboxOption.d.ts +7 -2
  297. package/dist/types/components/Combobox/index.d.ts +3 -1
  298. package/dist/types/components/Command/Command.d.ts +70 -6
  299. package/dist/types/components/Command/CommandDialog.d.ts +36 -0
  300. package/dist/types/components/Command/command-filter.d.ts +34 -0
  301. package/dist/types/components/Command/index.d.ts +4 -2
  302. package/dist/types/components/DataTable/CellEditor.d.ts +24 -0
  303. package/dist/types/components/DataTable/DataTable.d.ts +184 -32
  304. package/dist/types/components/DataTable/csv.d.ts +36 -0
  305. package/dist/types/components/DataTable/features.d.ts +124 -0
  306. package/dist/types/components/DataTable/index.d.ts +4 -1
  307. package/dist/types/components/DataTable/summary.d.ts +19 -0
  308. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +28 -2
  309. package/dist/types/components/DateRangePicker/DateRangePickerCore.d.ts +26 -2
  310. package/dist/types/components/DateRangePicker/index.d.ts +2 -2
  311. package/dist/types/components/DateRangePicker/presets.d.ts +23 -0
  312. package/dist/types/components/Datepicker/Datepicker.d.ts +21 -1
  313. package/dist/types/components/Datepicker/DatepickerCore.d.ts +29 -2
  314. package/dist/types/components/Datepicker/datetime.d.ts +27 -0
  315. package/dist/types/components/Datepicker/index.d.ts +1 -1
  316. package/dist/types/components/Descriptions/Descriptions.d.ts +30 -0
  317. package/dist/types/components/Descriptions/index.d.ts +2 -0
  318. package/dist/types/components/Dialog/Dialog.d.ts +68 -3
  319. package/dist/types/components/Dialog/index.d.ts +1 -1
  320. package/dist/types/components/Drawer/Drawer.d.ts +33 -3
  321. package/dist/types/components/Drawer/index.d.ts +1 -1
  322. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +23 -3
  323. package/dist/types/components/DropdownMenu/DropdownMenuSub.d.ts +18 -0
  324. package/dist/types/components/DropdownMenu/DropdownMenuSubContent.d.ts +13 -0
  325. package/dist/types/components/DropdownMenu/DropdownMenuSubTrigger.d.ts +14 -0
  326. package/dist/types/components/DropdownMenu/index.d.ts +7 -1
  327. package/dist/types/components/FilePreview/FilePreview.d.ts +35 -0
  328. package/dist/types/components/FilePreview/file-preview-format.d.ts +20 -0
  329. package/dist/types/components/FilePreview/index.d.ts +2 -0
  330. package/dist/types/components/FloatButton/FloatButton.d.ts +43 -0
  331. package/dist/types/components/FloatButton/FloatButtonGroup.d.ts +33 -0
  332. package/dist/types/components/FloatButton/float-button-context.d.ts +11 -0
  333. package/dist/types/components/FloatButton/float-button-glyphs.d.ts +3 -0
  334. package/dist/types/components/FloatButton/float-button-styles.d.ts +58 -0
  335. package/dist/types/components/FloatButton/index.d.ts +4 -0
  336. package/dist/types/components/Fullscreen/Fullscreen.d.ts +34 -0
  337. package/dist/types/components/Fullscreen/index.d.ts +3 -0
  338. package/dist/types/components/Image/Image.d.ts +20 -5
  339. package/dist/types/components/Image/ImagePreview.d.ts +13 -0
  340. package/dist/types/components/Image/index.d.ts +1 -1
  341. package/dist/types/components/InlineCompletion/InlineCompletion.d.ts +29 -0
  342. package/dist/types/components/InlineCompletion/index.d.ts +2 -0
  343. package/dist/types/components/Input/Input.d.ts +5 -2
  344. package/dist/types/components/Input/InputCore.d.ts +4 -2
  345. package/dist/types/components/JsonView/JsonView.d.ts +26 -0
  346. package/dist/types/components/JsonView/index.d.ts +2 -0
  347. package/dist/types/components/JsonView/json-view-utils.d.ts +22 -0
  348. package/dist/types/components/LocaleProvider/LocaleContext.d.ts +9 -0
  349. package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +12 -1
  350. package/dist/types/components/LocaleProvider/index.d.ts +3 -0
  351. package/dist/types/components/LocaleProvider/ja-jp.d.ts +13 -0
  352. package/dist/types/components/LocaleProvider/locale.d.ts +100 -0
  353. package/dist/types/components/LocaleProvider/strings.d.ts +28 -0
  354. package/dist/types/components/Masonry/Masonry.d.ts +34 -0
  355. package/dist/types/components/Masonry/index.d.ts +2 -0
  356. package/dist/types/components/Masonry/masonry-distribute.d.ts +16 -0
  357. package/dist/types/components/Mentions/Mentions.d.ts +5 -2
  358. package/dist/types/components/Mentions/MentionsCore.d.ts +4 -2
  359. package/dist/types/components/Menu/MenuSub.d.ts +18 -0
  360. package/dist/types/components/Menu/MenuSubContent.d.ts +12 -0
  361. package/dist/types/components/Menu/MenuSubTrigger.d.ts +14 -0
  362. package/dist/types/components/Menu/index.d.ts +6 -0
  363. package/dist/types/components/NumberInput/NumberInput.d.ts +5 -2
  364. package/dist/types/components/NumberInput/NumberInputCore.d.ts +4 -2
  365. package/dist/types/components/OTPInput/OTPInput.d.ts +5 -1
  366. package/dist/types/components/OTPInput/OTPInputCore.d.ts +4 -1
  367. package/dist/types/components/PasswordInput/PasswordInput.d.ts +5 -1
  368. package/dist/types/components/PasswordInput/PasswordInputCore.d.ts +4 -1
  369. package/dist/types/components/Popover/Popover.d.ts +41 -3
  370. package/dist/types/components/Popover/index.d.ts +1 -1
  371. package/dist/types/components/PromptInput/PromptInput.d.ts +46 -0
  372. package/dist/types/components/PromptInput/index.d.ts +2 -0
  373. package/dist/types/components/Radio/Radio.d.ts +5 -2
  374. package/dist/types/components/Radio/RadioGroup.d.ts +8 -2
  375. package/dist/types/components/Radio/RadioGroupCore.d.ts +7 -2
  376. package/dist/types/components/Rating/Rating.d.ts +8 -1
  377. package/dist/types/components/Rating/RatingCore.d.ts +7 -1
  378. package/dist/types/components/Resizable/index.d.ts +2 -0
  379. package/dist/types/components/Segmented/Segmented.d.ts +8 -1
  380. package/dist/types/components/Segmented/SegmentedCore.d.ts +7 -2
  381. package/dist/types/components/Select/OptionGroup.d.ts +16 -0
  382. package/dist/types/components/Select/Select.d.ts +78 -4
  383. package/dist/types/components/Select/SelectCore.d.ts +79 -6
  384. package/dist/types/components/Select/SelectFloating.d.ts +94 -0
  385. package/dist/types/components/Select/index.d.ts +2 -0
  386. package/dist/types/components/Select/select-options.d.ts +53 -0
  387. package/dist/types/components/Signature/Signature.d.ts +51 -0
  388. package/dist/types/components/Signature/index.d.ts +2 -0
  389. package/dist/types/components/Signature/signature-points.d.ts +31 -0
  390. package/dist/types/components/Slider/Slider.d.ts +29 -4
  391. package/dist/types/components/Slider/SliderCore.d.ts +35 -6
  392. package/dist/types/components/Sources/Sources.d.ts +37 -0
  393. package/dist/types/components/Sources/index.d.ts +2 -0
  394. package/dist/types/components/Switch/Switch.d.ts +5 -2
  395. package/dist/types/components/Switch/SwitchCore.d.ts +4 -2
  396. package/dist/types/components/Tabs/TabList.d.ts +7 -0
  397. package/dist/types/components/Tabs/Tabs.d.ts +8 -1
  398. package/dist/types/components/Tabs/TabsContext.d.ts +20 -0
  399. package/dist/types/components/Tabs/index.d.ts +1 -0
  400. package/dist/types/components/TagGroup/SortableTagGroup.d.ts +20 -0
  401. package/dist/types/components/TagGroup/TagGroup.d.ts +3 -0
  402. package/dist/types/components/TagGroup/index.d.ts +2 -0
  403. package/dist/types/components/TagGroup/tag-group-styles.d.ts +7 -0
  404. package/dist/types/components/TagInput/SortableTagInput.d.ts +34 -0
  405. package/dist/types/components/TagInput/SortableTagInputCore.d.ts +18 -0
  406. package/dist/types/components/TagInput/TagInput.d.ts +5 -1
  407. package/dist/types/components/TagInput/TagInputCore.d.ts +6 -2
  408. package/dist/types/components/TagInput/index.d.ts +4 -0
  409. package/dist/types/components/TagInput/tag-input-styles.d.ts +12 -0
  410. package/dist/types/components/Textarea/Textarea.d.ts +5 -2
  411. package/dist/types/components/Textarea/TextareaCore.d.ts +4 -2
  412. package/dist/types/components/TimePicker/TimePicker.d.ts +5 -2
  413. package/dist/types/components/TimePicker/TimePickerCore.d.ts +4 -2
  414. package/dist/types/components/Toast/Toast.d.ts +31 -2
  415. package/dist/types/components/Toast/ToastContainer.d.ts +11 -1
  416. package/dist/types/components/Toast/ToastContext.d.ts +44 -3
  417. package/dist/types/components/Toast/index.d.ts +1 -1
  418. package/dist/types/components/Toast/toast.d.ts +35 -4
  419. package/dist/types/components/Toast/useToast.d.ts +16 -4
  420. package/dist/types/components/Toggle/Toggle.d.ts +19 -0
  421. package/dist/types/components/Toggle/ToggleCore.d.ts +23 -0
  422. package/dist/types/components/Toggle/index.d.ts +4 -0
  423. package/dist/types/components/Toolbar/ToolbarToggle.d.ts +19 -0
  424. package/dist/types/components/Toolbar/index.d.ts +2 -0
  425. package/dist/types/components/Tour/Tour.d.ts +3 -3
  426. package/dist/types/components/Tree/Tree.d.ts +3 -3
  427. package/dist/types/components/Tree/TreeItem.d.ts +16 -1
  428. package/dist/types/components/Tree/types.d.ts +51 -0
  429. package/dist/types/components/Tree/utils.d.ts +73 -0
  430. package/dist/types/components/Upload/Upload.d.ts +47 -3
  431. package/dist/types/components/Upload/UploadCore.d.ts +95 -4
  432. package/dist/types/components/Upload/UploadList.d.ts +18 -0
  433. package/dist/types/components/Upload/index.d.ts +1 -0
  434. package/dist/types/components/Upload/types.d.ts +60 -0
  435. package/dist/types/components/Upload/xhr-upload.d.ts +20 -0
  436. package/dist/types/components/VirtualList/VirtualList.d.ts +16 -1
  437. package/dist/types/components/Watermark/Watermark.d.ts +32 -0
  438. package/dist/types/components/Watermark/index.d.ts +2 -0
  439. package/dist/types/form/FormItem.d.ts +33 -8
  440. package/dist/types/form/FormList.d.ts +113 -0
  441. package/dist/types/form/index.d.ts +26 -0
  442. package/dist/types/form/standard-schema.d.ts +30 -0
  443. package/dist/types/headless/index.d.ts +399 -0
  444. package/dist/types/hooks/index.d.ts +13 -0
  445. package/dist/types/hooks/useClickOutside.d.ts +46 -0
  446. package/dist/types/hooks/useDarkMode.d.ts +40 -0
  447. package/dist/types/hooks/useFullscreen.d.ts +33 -0
  448. package/dist/types/hooks/useHotkeys.d.ts +53 -0
  449. package/dist/types/hooks/useInView.d.ts +32 -0
  450. package/dist/types/hooks/useLocalStorage.d.ts +33 -0
  451. package/dist/types/hooks/useMediaQuery.d.ts +3 -0
  452. package/dist/types/hooks/usePrevious.d.ts +18 -0
  453. package/dist/types/hooks/useSessionStorage.d.ts +26 -0
  454. package/dist/types/hooks/useStorageState.d.ts +12 -0
  455. package/dist/types/index.d.ts +79 -37
  456. package/dist/types/utils/collision.d.ts +39 -1
  457. package/dist/types/utils/direction.d.ts +22 -0
  458. package/dist/types/utils/floating.d.ts +32 -4
  459. package/dist/types/utils/focus-scope.d.ts +2 -1
  460. package/dist/types/utils/focus.d.ts +2 -1
  461. package/dist/types/utils/menuKeyboard.d.ts +19 -4
  462. package/dist/types/utils/refs.d.ts +16 -0
  463. package/dist/types/utils/sortable-handle.d.ts +25 -0
  464. package/dist/types/utils/sortable-shared.d.ts +30 -0
  465. package/dist/types/utils/sortable.d.ts +36 -0
  466. package/dist/types/utils/submenu.d.ts +63 -0
  467. package/dist/types/utils/view-transition.d.ts +28 -0
  468. package/dist/utils/classnames.js +0 -1
  469. package/dist/utils/collision.js +37 -26
  470. package/dist/utils/direction.js +34 -0
  471. package/dist/utils/floating.js +163 -143
  472. package/dist/utils/menuKeyboard.js +59 -46
  473. package/dist/utils/refs.js +9 -0
  474. package/dist/utils/sortable-handle.js +12 -0
  475. package/dist/utils/sortable-shared.js +16 -0
  476. package/dist/utils/sortable.js +47 -0
  477. package/dist/utils/submenu.js +106 -0
  478. package/dist/utils/view-transition.js +26 -0
  479. package/package.json +169 -16
@@ -1,193 +1,444 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
- import t from "../Checkbox/CheckboxCore.js";
5
- import n from "../Skeleton/Skeleton.js";
6
- import r from "../VirtualList/VirtualList.js";
7
- import ee from "../Table/TableHead.js";
8
- import i from "../Table/TableBody.js";
9
- import a from "../Table/TableCell.js";
10
- import te from "../Empty/Empty.js";
11
- import o from "../Pagination/Pagination.js";
4
+ import t from "../Input/Input.js";
5
+ import { getDirection as n, useDirection as r } from "../../utils/direction.js";
6
+ import { useStrings as i } from "../LocaleProvider/useStrings.js";
7
+ import a from "../VirtualList/VirtualList.js";
8
+ import o from "../Checkbox/CheckboxCore.js";
9
+ import s from "../Skeleton/Skeleton.js";
10
+ import c from "../Table/TableHead.js";
11
+ import l from "../Table/TableBody.js";
12
+ import u from "../Table/TableCell.js";
13
+ import ee from "../Empty/Empty.js";
14
+ import te from "../Pagination/Pagination.js";
15
+ import ne from "../DropdownMenu/DropdownMenu.js";
16
+ import re from "../DropdownMenu/DropdownMenuTrigger.js";
17
+ import ie from "../DropdownMenu/DropdownMenuContent.js";
18
+ import ae from "./CellEditor.js";
19
+ import { dataTableFeatures as oe } from "./features.js";
12
20
  /* empty css */
13
- import { Fragment as ne, jsx as s, jsxs as c } from "react/jsx-runtime";
14
- import { useEffect as l, useMemo as u, useRef as d, useState as re } from "react";
15
- import { useControl as f } from "react-use-control";
16
- import { createPaginatedRowModel as p, createSortedRowModel as m, metaHelper as h, rowPaginationFeature as g, rowSelectionFeature as _, rowSortingFeature as v, sortFn_alphanumeric as y, sortFn_text as b, tableFeatures as x, useTable as S } from "@tanstack/react-table";
21
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
22
+ import { Fragment as se, useEffect as ce, useId as le, useMemo as ue, useRef as de, useState as fe } from "react";
23
+ import { isControl as pe, useControl as m, useThru as me, watch as he } from "react-use-control";
24
+ import { useTable as ge } from "@tanstack/react-table";
17
25
  //#region src/lib/components/DataTable/DataTable.tsx
18
- var C = x({
19
- rowPaginationFeature: g,
20
- paginatedRowModel: p(),
21
- rowSelectionFeature: _,
22
- rowSortingFeature: v,
23
- sortedRowModel: m(),
24
- sortFns: {
25
- alphanumeric: y,
26
- text: b
27
- },
28
- columnMeta: h()
29
- });
30
- function w(e, t) {
26
+ function _e(e, t) {
31
27
  let n = {
32
28
  ...e,
33
- enableSorting: e.enableSorting ?? e.meta?.sortable ?? t
29
+ enableSorting: e.enableSorting ?? e.meta?.sortable ?? t.sortable,
30
+ enableResizing: e.enableResizing ?? e.meta?.resizable ?? !0,
31
+ enableHiding: e.enableHiding ?? e.meta?.hideable !== !1,
32
+ enableColumnFilter: e.enableColumnFilter ?? e.meta?.filterable ?? t.filterable,
33
+ filterFn: e.filterFn ?? "includesString",
34
+ size: t.resizable && typeof e.meta?.width == "number" ? e.meta.width : e.size
34
35
  };
35
36
  return "columns" in n && n.columns ? {
36
37
  ...n,
37
- columns: n.columns.map((e) => w(e, t))
38
+ columns: n.columns.map((e) => _e(e, t))
38
39
  } : n;
39
40
  }
40
- var ie = 34, ae = "haze-DataTable__root", oe = "haze-DataTable__scrollArea", se = "haze-DataTable__stickyScrollArea", ce = "haze-DataTable__virtualArea", T = "haze-DataTable__fixedLayout", le = "haze-DataTable__virtualRowTable", ue = "haze-DataTable__virtualCheckCell", E = "haze-DataTable__tableBase", de = "haze-DataTable__stickyHead", fe = "haze-DataTable__sortButton", pe = "haze-DataTable__sortIcon", me = "haze-DataTable__rowHover", he = "haze-DataTable__rowSelected", ge = "haze-DataTable__clickableRow", D = "haze-DataTable__checkCell", O = "haze-DataTable__emptyCell", k = "haze-DataTable__footer";
41
- function A({ columns: p, data: m, sortable: h = !1, selectable: g = !1, rowSelection: _, sorting: v, pageSize: y, page: b, loading: x = !1, stickyHeader: A = !1, virtualized: j, getRowId: M, onRowClick: N, empty: P, className: F, ...I }) {
42
- let [L, _e] = f(v, []), [ve, ye] = f(_, {}), [R, be, xe] = f(b, 1), z = j === !0 || typeof j == "object", B = typeof j == "object" ? j.rowHeight : ie, Se = typeof j == "object" ? j.overscan : void 0, V = y ?? Math.max(m.length, 1), Ce = u(() => p.map((e) => w(e, h)), [p, h]), H = S({
43
- features: C,
44
- columns: Ce,
45
- data: m,
46
- getRowId: M,
41
+ function h(e) {
42
+ let t = e.columnDef.header;
43
+ return typeof t == "string" ? t : e.id;
44
+ }
45
+ function ve(e) {
46
+ let t = e.meta?.width ?? e.size;
47
+ return typeof t == "number" ? `${t}px` : t;
48
+ }
49
+ function ye(e) {
50
+ if (e.length === 0) return "0px";
51
+ let [t] = e;
52
+ return e.length === 1 && t !== void 0 && !t.includes("(") ? t : `calc(${e.join(" + ")})`;
53
+ }
54
+ function g(e) {
55
+ return e ? {
56
+ left: e.side === "left" ? e.offset : void 0,
57
+ right: e.side === "right" ? e.offset : void 0
58
+ } : void 0;
59
+ }
60
+ var be = "calc(var(--haze-space-3) * 2 + var(--haze-space-5))", xe = "(var(--haze-space-3) * 2 + var(--haze-space-5))", Se = 34, Ce = "haze-DataTable__root", we = "haze-DataTable__scrollArea", Te = "haze-DataTable__stickyScrollArea", Ee = "haze-DataTable__virtualArea", _ = "haze-DataTable__fixedLayout", De = "haze-DataTable__virtualRowTable", v = "haze-DataTable__tableBase", Oe = "haze-DataTable__stickyHead", ke = "haze-DataTable__sortButton", Ae = "haze-DataTable__sortIcon", je = "haze-DataTable__rowHover", Me = "haze-DataTable__rowSelected", Ne = "haze-DataTable__clickableRow", Pe = "haze-DataTable__checkCell", Fe = "haze-DataTable__checkCellCol", y = "haze-DataTable__fixedCell", b = "haze-DataTable__fixedCellSelected", Ie = "haze-DataTable__fixedHeadCell", x = "haze-DataTable__fixedLeftEdge", Le = "haze-DataTable__fixedRightEdge", Re = "haze-DataTable__emptyCell", ze = "haze-DataTable__footer", Be = "haze-DataTable__toolbar", Ve = "haze-DataTable__footerMenu", He = "haze-DataTable__columnsTrigger", Ue = "haze-DataTable__toggleRow", We = "haze-DataTable__resizableHead", Ge = "haze-DataTable__resizeHandle", Ke = "haze-DataTable__expander", qe = "haze-DataTable__expanderIcon", Je = "haze-DataTable__panelCell", Ye = "haze-DataTable__treeIndent", Xe = "haze-DataTable__summaryFoot", Ze = "haze-DataTable__stickyFoot", Qe = "haze-DataTable__editableCell";
61
+ function S({ columns: S, data: C, sortable: $e = !1, selectable: w = !1, rowSelection: et, sorting: T, pageSize: E, page: D, manual: O = !1, pageCount: tt, onPageChange: nt, onSortChange: rt, loading: k = !1, stickyHeader: it = !1, virtualized: A, getRowId: at, onRowClick: j, empty: ot, resizable: M = !1, expanded: st, getRowCanExpand: N, renderExpandedRow: P, subRowsKey: ct = "subRows", columnVisibility: lt, columnToggle: ut = !1, filterable: F = !1, summary: dt, stickyFooter: ft = !1, editable: pt = !1, onCellEdit: mt, className: ht, ...gt }) {
62
+ let _t = pe(T), [vt, yt] = m(me(_t ? T : void 0, he((e) => rt?.(e))), _t ? [] : T ?? []), [bt, xt] = m(et, {}), St = pe(D), [Ct, wt, Tt] = m(me(St ? D : void 0, he((e) => nt?.(e))), St ? 1 : D ?? 1), [Et, Dt] = m(st, {}), [Ot, kt] = m(lt, {}), [I, L] = fe(null), At = r(), jt = le(), Mt = i("dataTable"), R = A === !0 || typeof A == "object", z = typeof A == "object" ? A.rowHeight : Se, Nt = typeof A == "object" ? A.overscan : void 0, Pt = E ?? Infinity, Ft = N !== void 0 || P !== void 0, It = N === void 0 && P === void 0 && C.some((e) => {
63
+ let t = e[ct];
64
+ return Array.isArray(t) && t.length > 0;
65
+ }), Lt = ue(() => S.map((e) => _e(e, {
66
+ sortable: $e,
67
+ resizable: M,
68
+ filterable: F
69
+ })), [
70
+ S,
71
+ $e,
72
+ M,
73
+ F
74
+ ]), B = ge({
75
+ features: oe,
76
+ columns: Lt,
77
+ data: C,
78
+ getRowId: at,
79
+ getSubRows: It ? (e) => e[ct] : void 0,
47
80
  state: {
48
- sorting: L,
49
- rowSelection: ve,
81
+ sorting: vt,
82
+ rowSelection: bt,
50
83
  pagination: {
51
- pageIndex: R - 1,
52
- pageSize: V
53
- }
84
+ pageIndex: Ct - 1,
85
+ pageSize: Pt
86
+ },
87
+ expanded: Et,
88
+ columnVisibility: Ot
54
89
  },
55
- onSortingChange: _e,
56
- onRowSelectionChange: ye,
90
+ onSortingChange: yt,
91
+ onRowSelectionChange: xt,
92
+ onExpandedChange: Dt,
93
+ onColumnVisibilityChange: kt,
94
+ manualSorting: O,
95
+ manualPagination: O,
96
+ getRowCanExpand: N ?? (P === void 0 ? void 0 : () => !0),
97
+ enableColumnFilters: F,
98
+ enableColumnResizing: M,
99
+ columnResizeMode: "onChange",
100
+ columnResizeDirection: At,
101
+ defaultColumn: { size: void 0 },
57
102
  onPaginationChange: (e) => {
58
103
  let t = typeof e == "function" ? e({
59
- pageIndex: R - 1,
60
- pageSize: V
104
+ pageIndex: Ct - 1,
105
+ pageSize: Pt
61
106
  }) : e;
62
- be(Math.max(1, t.pageIndex + 1));
107
+ wt(Math.max(1, t.pageIndex + 1));
63
108
  }
64
- }), U = d(null), we = H.getIsSomeRowsSelected() && !H.getIsAllRowsSelected();
65
- l(() => {
66
- let e = U.current?.querySelector("input");
67
- e && (e.indeterminate = we);
109
+ }), Rt = de(null), zt = B.getIsSomeRowsSelected() && !B.getIsAllRowsSelected();
110
+ ce(() => {
111
+ let e = Rt.current?.querySelector("input");
112
+ e && (e.indeterminate = zt);
68
113
  });
69
- let W = d(null), [Te, Ee] = re(0);
70
- l(() => {
71
- if (!z) return;
72
- let e = W.current, t = e?.querySelector("thead");
114
+ let Bt = de(null), [Vt, Ht] = fe(0);
115
+ ce(() => {
116
+ if (!R) return;
117
+ let e = Bt.current, t = e?.querySelector("thead");
73
118
  if (!e || !t) return;
74
119
  let n = () => {
75
120
  let n = Math.floor(e.getBoundingClientRect().height), r = Math.floor(t.getBoundingClientRect().height);
76
- Ee(Math.max(B, n - r));
121
+ Ht(Math.max(z, n - r));
77
122
  };
78
123
  n();
79
124
  let r = new ResizeObserver(n);
80
125
  return r.observe(e), r.observe(t), () => r.disconnect();
81
- }, [z, B]);
82
- let G = H.getHeaderGroups(), K = H.getLeafHeaders(), De = K.length + +!!g, q = H.getRowModel().rows, J = N ? (e, t) => {
83
- t.target instanceof Element && t.target.closest("button, input, select, textarea, a") || N(e, t);
84
- } : void 0, Y = z ? ue : D, X = /* @__PURE__ */ s(ee, {
85
- className: A ? de : void 0,
86
- children: G.map((n, r) => /* @__PURE__ */ c("tr", { children: [g && r === 0 && /* @__PURE__ */ s(a, {
126
+ }, [R, z]);
127
+ let V = B.getHeaderGroups(), H = B.getLeafHeaders(), Ut = H.length + +!!w, U = B.getRowModel().rows, Wt = B.state.columnSizing, W = H.map((e) => {
128
+ let t = Wt[e.column.id];
129
+ return t === void 0 ? ve(e.column.columnDef) : `${t}px`;
130
+ }), Gt = W.some((e) => e !== void 0), Kt = (e, t) => {
131
+ let n = e.column.columnDef, r = n.minSize ?? 20, i = n.maxSize ?? 2 ** 53 - 1, a = Wt[e.column.id] ?? e.column.getSize(), o = Math.min(Math.max(Math.round(a + t), r), i);
132
+ B.setColumnSizing((t) => ({
133
+ ...t,
134
+ [e.column.id]: o
135
+ }));
136
+ }, G = H.map((e) => e.column.columnDef.meta?.fixed), K = !R && w && G.some((e) => e === "left") ? {
137
+ side: "left",
138
+ offset: "0px",
139
+ edge: G[0] !== "left"
140
+ } : void 0, q = /* @__PURE__ */ new Map();
141
+ if (!R) {
142
+ let e = K ? [xe] : [];
143
+ H.forEach((t, n) => {
144
+ if (G[n] !== "left") return;
145
+ q.set(t.column.id, {
146
+ side: "left",
147
+ offset: ye(e),
148
+ edge: G[n + 1] !== "left"
149
+ });
150
+ let r = W[n];
151
+ r && e.push(r);
152
+ });
153
+ let t = [];
154
+ for (let e = H.length - 1; e >= 0; --e) {
155
+ let n = H[e];
156
+ if (!n || G[e] !== "right") continue;
157
+ q.set(n.column.id, {
158
+ side: "right",
159
+ offset: ye(t),
160
+ edge: G[e - 1] !== "right"
161
+ });
162
+ let r = W[e];
163
+ r && t.push(r);
164
+ }
165
+ }
166
+ let J = R || Gt || M ? /* @__PURE__ */ p("colgroup", { children: [w && /* @__PURE__ */ f("col", { style: { width: be } }), H.map((e, t) => /* @__PURE__ */ f("col", { style: W[t] ? { width: W[t] } : void 0 }, e.id))] }) : void 0, Y = R || Gt || M ? Fe : Pe, qt = j ? (e, t) => {
167
+ t.target instanceof Element && t.target.closest("button, input, select, textarea, a") || j(e, t);
168
+ } : void 0, Jt = /* @__PURE__ */ f(c, {
169
+ className: it ? Oe : void 0,
170
+ children: V.map((t, r) => /* @__PURE__ */ p("tr", { children: [w && r === 0 && /* @__PURE__ */ f(u, {
87
171
  as: "th",
88
- rowSpan: G.length > 1 ? G.length : void 0,
89
- className: e([Y]),
90
- children: /* @__PURE__ */ s("span", {
91
- ref: U,
92
- children: /* @__PURE__ */ s(t, {
93
- checked: H.getIsAllRowsSelected(),
94
- onChange: (e) => H.toggleAllRowsSelected(e),
95
- "aria-label": "Select all rows"
172
+ rowSpan: V.length > 1 ? V.length : void 0,
173
+ style: g(K),
174
+ className: e([
175
+ Y,
176
+ K && y,
177
+ K && Ie
178
+ ]),
179
+ children: /* @__PURE__ */ f("span", {
180
+ ref: Rt,
181
+ children: /* @__PURE__ */ f(o, {
182
+ checked: B.getIsAllRowsSelected(),
183
+ onChange: (e) => B.toggleAllRowsSelected(e),
184
+ "aria-label": Mt.selectAll
96
185
  })
97
186
  })
98
- }), n.headers.map((t) => {
187
+ }), t.headers.map((t) => {
99
188
  if (t.rowSpan === 0) return null;
100
- if (t.isPlaceholder) return /* @__PURE__ */ s(a, {
189
+ if (t.isPlaceholder) return /* @__PURE__ */ f(u, {
101
190
  as: "th",
102
191
  children: null
103
192
  }, t.placeholderId ?? t.id);
104
- let n = t.column.getIsSorted();
105
- return /* @__PURE__ */ s(a, {
193
+ let r = t.column.getIsSorted(), i = t.subHeaders.length === 0 ? q.get(t.column.id) : void 0, a = M && t.subHeaders.length === 0 && t.column.getCanResize();
194
+ return /* @__PURE__ */ p(u, {
106
195
  as: "th",
107
196
  colSpan: t.colSpan > 1 ? t.colSpan : void 0,
108
197
  rowSpan: t.rowSpan > 1 ? t.rowSpan : void 0,
109
- "aria-sort": n === "asc" ? "ascending" : n === "desc" ? "descending" : void 0,
110
- children: t.column.getCanSort() ? /* @__PURE__ */ c("button", {
198
+ style: g(i),
199
+ "aria-sort": r === "asc" ? "ascending" : r === "desc" ? "descending" : void 0,
200
+ className: e([
201
+ i && y,
202
+ i && Ie,
203
+ a && We
204
+ ]),
205
+ children: [t.column.getCanSort() ? /* @__PURE__ */ p("button", {
111
206
  type: "button",
112
207
  onClick: t.column.getToggleSortingHandler(),
113
- className: e([fe]),
114
- children: [/* @__PURE__ */ s(H.FlexRender, { header: t }), /* @__PURE__ */ s("span", {
208
+ className: e([ke]),
209
+ children: [/* @__PURE__ */ f(B.FlexRender, { header: t }), /* @__PURE__ */ f("span", {
115
210
  "aria-hidden": "true",
116
- className: e([pe]),
117
- children: n === "asc" ? "↑" : n === "desc" ? "↓" : "↕"
211
+ className: e([Ae]),
212
+ children: r === "asc" ? "↑" : r === "desc" ? "↓" : "↕"
118
213
  })]
119
- }) : /* @__PURE__ */ s(H.FlexRender, { header: t })
214
+ }) : /* @__PURE__ */ f(B.FlexRender, { header: t }), a && /* @__PURE__ */ f("div", {
215
+ role: "separator",
216
+ "aria-orientation": "vertical",
217
+ "aria-label": `Resize ${h(t.column)}`,
218
+ tabIndex: 0,
219
+ onMouseDown: (e) => {
220
+ e.preventDefault(), t.getResizeHandler()(e);
221
+ },
222
+ onDoubleClick: () => t.column.resetSize(),
223
+ onKeyDown: (e) => {
224
+ if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
225
+ e.preventDefault();
226
+ let r = n(e.currentTarget) === "rtl", i = e.key === "ArrowRight" !== r;
227
+ Kt(t, i ? 5 : -5);
228
+ },
229
+ className: e([Ge])
230
+ })]
120
231
  }, t.id);
121
- })] }, n.id))
122
- }), Z = (n) => /* @__PURE__ */ c("tr", {
123
- onClick: J ? (e) => J(n.original, e) : void 0,
232
+ })] }, t.id))
233
+ }), Yt = (e) => `${jt}-${e.replace(/\s+/g, "-")}-panel`, X = (t) => /* @__PURE__ */ p(se, { children: [/* @__PURE__ */ p("tr", {
234
+ onClick: qt ? (e) => qt(t.original, e) : void 0,
124
235
  className: e([
125
- me,
126
- n.getIsSelected() && he,
127
- N && ge
236
+ je,
237
+ t.getIsSelected() && Me,
238
+ j && Ne
128
239
  ]),
129
- children: [g && /* @__PURE__ */ s(a, {
130
- className: e([Y]),
131
- children: /* @__PURE__ */ s(t, {
132
- checked: n.getIsSelected(),
133
- onChange: (e) => n.toggleSelected(e),
134
- "aria-label": `Select row ${n.id}`
240
+ children: [w && /* @__PURE__ */ f(u, {
241
+ style: g(K),
242
+ className: e([
243
+ Y,
244
+ K && y,
245
+ K?.edge && x,
246
+ t.getIsSelected() && b
247
+ ]),
248
+ children: /* @__PURE__ */ f(o, {
249
+ checked: t.getIsSelected(),
250
+ onChange: (e) => t.toggleSelected(e),
251
+ "aria-label": `Select row ${t.id}`
135
252
  })
136
- }), n.getAllCells().map((e) => /* @__PURE__ */ s(a, { children: /* @__PURE__ */ s(H.FlexRender, { cell: e }) }, e.id))]
137
- }, n.id), Oe = (t) => /* @__PURE__ */ c("tr", { children: [g && /* @__PURE__ */ s(a, {
138
- className: e([Y]),
139
- children: /* @__PURE__ */ s(n, {})
140
- }), K.map((e) => /* @__PURE__ */ s(a, { children: /* @__PURE__ */ s(n, {}) }, e.id))] }, `skeleton-${t}`), Q = Array.from({ length: y ?? 5 }, (e, t) => Oe(t)), $ = /* @__PURE__ */ s("tr", { children: s(a, {
141
- colSpan: De,
142
- className: e([O]),
143
- children: P ?? /* @__PURE__ */ s(te, {})
144
- }) });
145
- return /* @__PURE__ */ c("div", {
146
- className: e([ae, F]),
147
- children: [z ? /* @__PURE__ */ c("div", {
148
- ref: W,
149
- className: e([ce]),
150
- children: [/* @__PURE__ */ s("table", {
151
- ...I,
152
- className: e([E, T]),
153
- children: X
154
- }), x ? /* @__PURE__ */ s("table", {
155
- className: e([E, T]),
156
- children: /* @__PURE__ */ s(i, { children: Q })
157
- }) : q.length > 0 ? /* @__PURE__ */ s(r, {
158
- items: q,
159
- height: Te,
160
- itemHeight: B,
161
- overscan: Se,
162
- renderItem: (t) => /* @__PURE__ */ s("table", {
163
- className: e([
164
- E,
165
- T,
166
- le
167
- ]),
168
- children: /* @__PURE__ */ s(i, { children: Z(t) })
169
- })
170
- }) : /* @__PURE__ */ s("table", {
171
- className: e([E, T]),
172
- children: /* @__PURE__ */ s(i, { children: $ })
253
+ }), t.getVisibleCells().map((n, r) => {
254
+ let i = q.get(n.column.id), a = pt ? n.column.columnDef.meta?.editor ?? "text" : !1, o = a !== !1, s = I !== null && I.rowId === t.id && I.columnId === n.column.id, c = (e) => {
255
+ L(null);
256
+ let r = n.getValue();
257
+ Object.is(e, r) || mt?.(t.id, n.column.id, e, r);
258
+ };
259
+ return /* @__PURE__ */ f(u, {
260
+ style: g(i),
261
+ tabIndex: o ? 0 : void 0,
262
+ onDoubleClick: o && !s ? () => L({
263
+ rowId: t.id,
264
+ columnId: n.column.id
265
+ }) : void 0,
266
+ onKeyDown: o && !s ? (e) => {
267
+ e.key === "Enter" && (e.preventDefault(), L({
268
+ rowId: t.id,
269
+ columnId: n.column.id
270
+ }));
271
+ } : void 0,
272
+ className: e([
273
+ i && y,
274
+ i?.edge && (i.side === "left" ? x : Le),
275
+ t.getIsSelected() && b,
276
+ o && Qe
277
+ ]),
278
+ children: s && o ? typeof a == "function" ? a({
279
+ value: n.getValue(),
280
+ row: t,
281
+ column: n.column,
282
+ onSave: c,
283
+ onCancel: () => L(null)
284
+ }) : /* @__PURE__ */ f(ae, {
285
+ kind: a === "number" ? "number" : "text",
286
+ value: n.getValue(),
287
+ ariaLabel: `Edit ${h(n.column)} in row ${t.id}`,
288
+ onSave: c,
289
+ onCancel: () => L(null)
290
+ }) : /* @__PURE__ */ p(d, { children: [
291
+ r === 0 && t.depth > 0 && /* @__PURE__ */ f("span", {
292
+ "aria-hidden": "true",
293
+ style: { width: `calc(var(--haze-space-4) * ${t.depth})` },
294
+ className: e([Ye])
295
+ }),
296
+ r === 0 && t.getCanExpand() && /* @__PURE__ */ f("button", {
297
+ type: "button",
298
+ "aria-expanded": t.getIsExpanded(),
299
+ "aria-controls": P === void 0 ? void 0 : Yt(t.id),
300
+ "aria-label": t.getIsExpanded() ? `Collapse row ${t.id}` : `Expand row ${t.id}`,
301
+ onClick: t.getToggleExpandedHandler(),
302
+ className: e([Ke]),
303
+ children: /* @__PURE__ */ f("span", {
304
+ "aria-hidden": "true",
305
+ className: e([qe]),
306
+ children: "▸"
307
+ })
308
+ }),
309
+ /* @__PURE__ */ f(B.FlexRender, { cell: n })
310
+ ] })
311
+ }, n.id);
312
+ })]
313
+ }, t.id), P !== void 0 && t.getCanExpand() && t.getIsExpanded() && /* @__PURE__ */ f("tr", { children: /* @__PURE__ */ f(u, {
314
+ colSpan: Ut,
315
+ id: Yt(t.id),
316
+ className: e([Je]),
317
+ children: P(t)
318
+ }) }, `${t.id}-panel`)] }, t.id), Xt = (t) => /* @__PURE__ */ p("tr", { children: [w && /* @__PURE__ */ f(u, {
319
+ style: g(K),
320
+ className: e([
321
+ Y,
322
+ K && y,
323
+ K?.edge && x
324
+ ]),
325
+ children: /* @__PURE__ */ f(s, {})
326
+ }), H.map((t) => {
327
+ let n = q.get(t.column.id);
328
+ return /* @__PURE__ */ f(u, {
329
+ style: g(n),
330
+ className: e([n && y, n?.edge && (n.side === "left" ? x : Le)]),
331
+ children: /* @__PURE__ */ f(s, {})
332
+ }, t.id);
333
+ })] }, `skeleton-${t}`), Zt = Array.from({ length: E ?? 5 }, (e, t) => Xt(t)), Qt = /* @__PURE__ */ f("tr", { children: f(u, {
334
+ colSpan: Ut,
335
+ className: e([Re]),
336
+ children: ot ?? /* @__PURE__ */ f(ee, {})
337
+ }) }), $t = F ? /* @__PURE__ */ f(l, { children: p("tr", { children: [w && /* @__PURE__ */ f(u, { children: null }), H.map((e) => /* @__PURE__ */ f(u, { children: e.column.getCanFilter() ? /* @__PURE__ */ f(t, {
338
+ size: "sm",
339
+ "aria-label": `Filter ${h(e.column)}`,
340
+ placeholder: Mt.filterPlaceholder,
341
+ value: e.column.getFilterValue() ?? "",
342
+ onChange: (t) => e.column.setFilterValue(t.target.value)
343
+ }) : null }, `filter-${e.id}`))] }) }) : void 0, en = B.getFilteredRowModel().flatRows, Z = dt !== void 0 && !k && U.length > 0 ? dt(en) : void 0, Q = Z !== void 0 && Z.length > 0 ? /* @__PURE__ */ f("tfoot", {
344
+ className: e([Xe, ft && Ze]),
345
+ children: Z.map((e, t) => /* @__PURE__ */ p("tr", {
346
+ "aria-label": e.label,
347
+ children: [w && /* @__PURE__ */ f(u, { children: null }), H.map((t, n) => {
348
+ let r = e.cells[n];
349
+ return /* @__PURE__ */ f(u, { children: typeof r == "function" ? r(en) : r }, t.id);
173
350
  })]
174
- }) : /* @__PURE__ */ s("div", {
175
- className: e([A ? se : oe]),
176
- children: /* @__PURE__ */ c("table", {
177
- ...I,
178
- className: e([E]),
179
- children: [X, /* @__PURE__ */ s(i, { children: x ? Q : /* @__PURE__ */ c(ne, { children: [q.map(Z), q.length === 0 && $] }) })]
180
- })
181
- }), y !== void 0 && /* @__PURE__ */ s("div", {
182
- className: e([k]),
183
- children: /* @__PURE__ */ s(o, {
184
- page: xe,
185
- total: m.length,
186
- pageSize: y,
187
- size: "sm"
188
- })
351
+ }, `summary-${t}`))
352
+ }) : void 0, $ = ut ? /* @__PURE__ */ p(ne, {
353
+ className: E === void 0 ? void 0 : Ve,
354
+ children: [/* @__PURE__ */ f(re, {
355
+ className: e([He]),
356
+ children: "Columns"
357
+ }), /* @__PURE__ */ f(ie, {
358
+ align: "end",
359
+ children: B.getAllLeafColumns().filter((e) => e.getCanHide()).map((t) => /* @__PURE__ */ p("label", {
360
+ className: e([Ue]),
361
+ children: [/* @__PURE__ */ f(o, {
362
+ role: "menuitemcheckbox",
363
+ "aria-checked": t.getIsVisible(),
364
+ checked: t.getIsVisible(),
365
+ onChange: () => t.toggleVisibility(),
366
+ "aria-label": `Show ${h(t)}`
367
+ }), /* @__PURE__ */ f("span", { children: h(t) })]
368
+ }, t.id))
189
369
  })]
370
+ }) : void 0;
371
+ return /* @__PURE__ */ p("div", {
372
+ className: e([Ce, ht]),
373
+ children: [
374
+ $ && E === void 0 && /* @__PURE__ */ f("div", {
375
+ className: e([Be]),
376
+ children: $
377
+ }),
378
+ R ? /* @__PURE__ */ p("div", {
379
+ ref: Bt,
380
+ className: e([Ee]),
381
+ children: [
382
+ /* @__PURE__ */ p("table", {
383
+ ...gt,
384
+ className: e([v, _]),
385
+ children: [
386
+ J,
387
+ Jt,
388
+ $t
389
+ ]
390
+ }),
391
+ k ? /* @__PURE__ */ p("table", {
392
+ className: e([v, _]),
393
+ children: [J, /* @__PURE__ */ f(l, { children: Zt })]
394
+ }) : U.length > 0 ? /* @__PURE__ */ f(a, {
395
+ items: U,
396
+ height: Vt,
397
+ itemHeight: z,
398
+ estimatedItemHeight: Ft ? z : void 0,
399
+ overscan: Nt,
400
+ renderItem: (t) => /* @__PURE__ */ p("table", {
401
+ className: e([
402
+ v,
403
+ _,
404
+ De
405
+ ]),
406
+ children: [J, /* @__PURE__ */ f(l, { children: X(t) })]
407
+ })
408
+ }) : /* @__PURE__ */ p("table", {
409
+ className: e([v, _]),
410
+ children: [J, /* @__PURE__ */ f(l, { children: Qt })]
411
+ }),
412
+ Q !== void 0 && /* @__PURE__ */ p("table", {
413
+ className: e([v, _]),
414
+ children: [J, Q]
415
+ })
416
+ ]
417
+ }) : /* @__PURE__ */ f("div", {
418
+ className: e([it ? Te : we]),
419
+ children: /* @__PURE__ */ p("table", {
420
+ ...gt,
421
+ className: e([v]),
422
+ children: [
423
+ J,
424
+ Jt,
425
+ $t,
426
+ /* @__PURE__ */ f(l, { children: k ? Zt : /* @__PURE__ */ p(d, { children: [U.map(X), U.length === 0 && Qt] }) }),
427
+ Q
428
+ ]
429
+ })
430
+ }),
431
+ E !== void 0 && /* @__PURE__ */ p("div", {
432
+ className: e([ze]),
433
+ children: [$, /* @__PURE__ */ f(te, {
434
+ page: Tt,
435
+ total: O && tt !== void 0 ? Math.max(0, tt) * E : C.length,
436
+ pageSize: E,
437
+ size: "sm"
438
+ })]
439
+ })
440
+ ]
190
441
  });
191
442
  }
192
443
  //#endregion
193
- export { A as default };
444
+ export { S as default };
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ //#region src/lib/components/DataTable/csv.ts
3
+ function e(e) {
4
+ return e.id === void 0 ? "accessorKey" in e ? e.accessorKey : "" : e.id;
5
+ }
6
+ function t(e) {
7
+ return e.flatMap((e) => "columns" in e && e.columns ? t(e.columns) : [e]);
8
+ }
9
+ function n(t, n) {
10
+ return t.meta?.excludeFromExport || !("accessorKey" in t) && !("accessorFn" in t) ? !1 : n?.[e(t)] !== !1;
11
+ }
12
+ function r(e, t) {
13
+ if ("accessorFn" in e) return e.accessorFn(t, 0);
14
+ if ("accessorKey" in e) return t[e.accessorKey];
15
+ }
16
+ function i(e) {
17
+ return e == null ? "" : e instanceof Date ? e.toISOString() : typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint" ? String(e) : typeof e == "function" || typeof e == "symbol" ? "" : JSON.stringify(e);
18
+ }
19
+ function a(e) {
20
+ return /["\r\n,]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e;
21
+ }
22
+ function o(o, s, c) {
23
+ let l = t(s).filter((e) => n(e, c?.columnVisibility));
24
+ if (l.length === 0) return "";
25
+ let u = l.map((t) => a(i(typeof t.header == "string" ? t.header : e(t)))).join(","), d = o.map((e) => l.map((t) => a(i(r(t, e)))).join(","));
26
+ return `${c?.bom === !1 ? "" : ""}${[u, ...d].join("\r\n")}`;
27
+ }
28
+ //#endregion
29
+ export { o as dataTableToCsv };
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { columnFilteringFeature as e, columnResizingFeature as t, columnSizingFeature as n, columnVisibilityFeature as r, createExpandedRowModel as i, createFilteredRowModel as a, createPaginatedRowModel as o, createSortedRowModel as s, filterFn_includesString as c, metaHelper as l, rowExpandingFeature as u, rowPaginationFeature as d, rowSelectionFeature as f, rowSortingFeature as p, sortFn_alphanumeric as m, sortFn_text as h, tableFeatures as g } from "@tanstack/react-table";
3
+ //#region src/lib/components/DataTable/features.ts
4
+ var _ = g({
5
+ rowPaginationFeature: d,
6
+ paginatedRowModel: o(),
7
+ rowSelectionFeature: f,
8
+ rowSortingFeature: p,
9
+ sortedRowModel: s(),
10
+ sortFns: {
11
+ alphanumeric: m,
12
+ text: h
13
+ },
14
+ rowExpandingFeature: u,
15
+ expandedRowModel: i(),
16
+ columnVisibilityFeature: r,
17
+ columnFilteringFeature: e,
18
+ filteredRowModel: a(),
19
+ filterFns: { includesString: c },
20
+ columnSizingFeature: n,
21
+ columnResizingFeature: t,
22
+ columnMeta: l()
23
+ });
24
+ //#endregion
25
+ export { _ as dataTableFeatures };
@@ -1,3 +1,5 @@
1
1
  "use client";
2
2
  import e from "./DataTable.js";
3
- export { e as DataTable };
3
+ import { dataTableToCsv as t } from "./csv.js";
4
+ import { dataTableAvg as n, dataTableCount as r, dataTableSum as i } from "./summary.js";
5
+ export { e as DataTable, n as dataTableAvg, r as dataTableCount, i as dataTableSum, t as dataTableToCsv };