@nofinite/nui 1.1.2 → 2.0.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.

Potentially problematic release.


This version of @nofinite/nui might be problematic. Click here for more details.

Files changed (739) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +61 -48
  3. package/dist/CHANGELOG.md +8 -0
  4. package/dist/LICENSE +201 -0
  5. package/dist/README.md +48 -0
  6. package/dist/components/accordion/Accordion.cjs +1 -1
  7. package/dist/components/accordion/Accordion.cjs.map +1 -1
  8. package/dist/components/accordion/Accordion.js +64 -43
  9. package/dist/components/accordion/Accordion.js.map +1 -1
  10. package/dist/components/alert/Alert.cjs +1 -1
  11. package/dist/components/alert/Alert.cjs.map +1 -1
  12. package/dist/components/alert/Alert.js +39 -25
  13. package/dist/components/alert/Alert.js.map +1 -1
  14. package/dist/components/avatar/Avatar.cjs +1 -1
  15. package/dist/components/avatar/Avatar.cjs.map +1 -1
  16. package/dist/components/avatar/Avatar.js +58 -44
  17. package/dist/components/avatar/Avatar.js.map +1 -1
  18. package/dist/components/avatar/AvatarGroup.cjs +1 -1
  19. package/dist/components/avatar/AvatarGroup.cjs.map +1 -1
  20. package/dist/components/avatar/AvatarGroup.js +34 -25
  21. package/dist/components/avatar/AvatarGroup.js.map +1 -1
  22. package/dist/components/badge/Badge.cjs +1 -1
  23. package/dist/components/badge/Badge.cjs.map +1 -1
  24. package/dist/components/badge/Badge.js +43 -68
  25. package/dist/components/badge/Badge.js.map +1 -1
  26. package/dist/components/badge/BadgeGroup.cjs +1 -1
  27. package/dist/components/badge/BadgeGroup.cjs.map +1 -1
  28. package/dist/components/badge/BadgeGroup.js +20 -10
  29. package/dist/components/badge/BadgeGroup.js.map +1 -1
  30. package/dist/components/breadcrumbs/Breadcrumbs.cjs +1 -1
  31. package/dist/components/breadcrumbs/Breadcrumbs.cjs.map +1 -1
  32. package/dist/components/breadcrumbs/Breadcrumbs.js +59 -39
  33. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
  34. package/dist/components/button/Button.cjs +1 -1
  35. package/dist/components/button/Button.cjs.map +1 -1
  36. package/dist/components/button/Button.js +52 -17
  37. package/dist/components/button/Button.js.map +1 -1
  38. package/dist/components/card/Card.cjs +1 -1
  39. package/dist/components/card/Card.cjs.map +1 -1
  40. package/dist/components/card/Card.js +44 -41
  41. package/dist/components/card/Card.js.map +1 -1
  42. package/dist/components/checkbox/Checkbox.cjs +1 -1
  43. package/dist/components/checkbox/Checkbox.cjs.map +1 -1
  44. package/dist/components/checkbox/Checkbox.js +59 -40
  45. package/dist/components/checkbox/Checkbox.js.map +1 -1
  46. package/dist/components/chip/Chip.cjs +1 -1
  47. package/dist/components/chip/Chip.cjs.map +1 -1
  48. package/dist/components/chip/Chip.js +67 -47
  49. package/dist/components/chip/Chip.js.map +1 -1
  50. package/dist/components/combobox/Combobox.cjs +1 -1
  51. package/dist/components/combobox/Combobox.cjs.map +1 -1
  52. package/dist/components/combobox/Combobox.js +123 -108
  53. package/dist/components/combobox/Combobox.js.map +1 -1
  54. package/dist/components/commandpalette/CommandPalette.cjs +1 -1
  55. package/dist/components/commandpalette/CommandPalette.cjs.map +1 -1
  56. package/dist/components/commandpalette/CommandPalette.js +96 -73
  57. package/dist/components/commandpalette/CommandPalette.js.map +1 -1
  58. package/dist/components/contextmenu/ContextMenu.cjs +1 -1
  59. package/dist/components/contextmenu/ContextMenu.cjs.map +1 -1
  60. package/dist/components/contextmenu/ContextMenu.js +79 -58
  61. package/dist/components/contextmenu/ContextMenu.js.map +1 -1
  62. package/dist/components/datagrid/DataGrid.cjs +1 -1
  63. package/dist/components/datagrid/DataGrid.cjs.map +1 -1
  64. package/dist/components/datagrid/DataGrid.js +184 -202
  65. package/dist/components/datagrid/DataGrid.js.map +1 -1
  66. package/dist/components/datepicker/DatePicker.cjs +1 -1
  67. package/dist/components/datepicker/DatePicker.cjs.map +1 -1
  68. package/dist/components/datepicker/DatePicker.js +197 -164
  69. package/dist/components/datepicker/DatePicker.js.map +1 -1
  70. package/dist/components/daterangepicker/DateRangePicker.cjs +1 -1
  71. package/dist/components/daterangepicker/DateRangePicker.cjs.map +1 -1
  72. package/dist/components/daterangepicker/DateRangePicker.js +254 -213
  73. package/dist/components/daterangepicker/DateRangePicker.js.map +1 -1
  74. package/dist/components/dialog/DialogProvider.cjs +2 -0
  75. package/dist/components/dialog/DialogProvider.cjs.map +1 -0
  76. package/dist/components/dialog/DialogProvider.js +71 -0
  77. package/dist/components/dialog/DialogProvider.js.map +1 -0
  78. package/dist/components/dialog/dialogStore.cjs +2 -0
  79. package/dist/components/dialog/dialogStore.cjs.map +1 -0
  80. package/dist/components/dialog/dialogStore.js +60 -0
  81. package/dist/components/dialog/dialogStore.js.map +1 -0
  82. package/dist/components/drawer/Drawer.cjs +1 -1
  83. package/dist/components/drawer/Drawer.cjs.map +1 -1
  84. package/dist/components/drawer/Drawer.js +69 -47
  85. package/dist/components/drawer/Drawer.js.map +1 -1
  86. package/dist/components/dropdown/Dropdown.cjs +1 -1
  87. package/dist/components/dropdown/Dropdown.cjs.map +1 -1
  88. package/dist/components/dropdown/Dropdown.js +134 -108
  89. package/dist/components/dropdown/Dropdown.js.map +1 -1
  90. package/dist/components/fileuploader/FileUploader.cjs +1 -1
  91. package/dist/components/fileuploader/FileUploader.cjs.map +1 -1
  92. package/dist/components/fileuploader/FileUploader.js +96 -61
  93. package/dist/components/fileuploader/FileUploader.js.map +1 -1
  94. package/dist/components/hovercard/HoverCard.cjs +1 -1
  95. package/dist/components/hovercard/HoverCard.cjs.map +1 -1
  96. package/dist/components/hovercard/HoverCard.js +124 -69
  97. package/dist/components/hovercard/HoverCard.js.map +1 -1
  98. package/dist/components/input/Input.cjs +1 -1
  99. package/dist/components/input/Input.cjs.map +1 -1
  100. package/dist/components/input/Input.js +62 -37
  101. package/dist/components/input/Input.js.map +1 -1
  102. package/dist/components/layout/Container.cjs +1 -1
  103. package/dist/components/layout/Container.cjs.map +1 -1
  104. package/dist/components/layout/Container.js +21 -30
  105. package/dist/components/layout/Container.js.map +1 -1
  106. package/dist/components/layout/Flex.cjs +1 -1
  107. package/dist/components/layout/Flex.cjs.map +1 -1
  108. package/dist/components/layout/Flex.js +36 -19
  109. package/dist/components/layout/Flex.js.map +1 -1
  110. package/dist/components/layout/Grid.cjs +1 -1
  111. package/dist/components/layout/Grid.cjs.map +1 -1
  112. package/dist/components/layout/Grid.js +30 -18
  113. package/dist/components/layout/Grid.js.map +1 -1
  114. package/dist/components/link/Link.cjs +2 -0
  115. package/dist/components/link/Link.cjs.map +1 -0
  116. package/dist/components/link/Link.js +41 -0
  117. package/dist/components/link/Link.js.map +1 -0
  118. package/dist/components/megamenu/MegaMenu.cjs +1 -1
  119. package/dist/components/megamenu/MegaMenu.cjs.map +1 -1
  120. package/dist/components/megamenu/MegaMenu.js +107 -38
  121. package/dist/components/megamenu/MegaMenu.js.map +1 -1
  122. package/dist/components/modal/Modal.cjs +1 -1
  123. package/dist/components/modal/Modal.cjs.map +1 -1
  124. package/dist/components/modal/Modal.js +91 -83
  125. package/dist/components/modal/Modal.js.map +1 -1
  126. package/dist/components/multiselect/MultiSelect.cjs +2 -0
  127. package/dist/components/multiselect/MultiSelect.cjs.map +1 -0
  128. package/dist/components/multiselect/MultiSelect.js +176 -0
  129. package/dist/components/multiselect/MultiSelect.js.map +1 -0
  130. package/dist/components/nuiprovider/NUIProvider.cjs +2 -0
  131. package/dist/components/nuiprovider/NUIProvider.cjs.map +1 -0
  132. package/dist/components/nuiprovider/NUIProvider.js +36 -0
  133. package/dist/components/nuiprovider/NUIProvider.js.map +1 -0
  134. package/dist/components/pagination/Pagination.cjs +1 -1
  135. package/dist/components/pagination/Pagination.cjs.map +1 -1
  136. package/dist/components/pagination/Pagination.js +74 -41
  137. package/dist/components/pagination/Pagination.js.map +1 -1
  138. package/dist/components/popover/Popover.cjs +1 -1
  139. package/dist/components/popover/Popover.cjs.map +1 -1
  140. package/dist/components/popover/Popover.js +99 -100
  141. package/dist/components/popover/Popover.js.map +1 -1
  142. package/dist/components/progress/Progress.cjs +1 -1
  143. package/dist/components/progress/Progress.cjs.map +1 -1
  144. package/dist/components/progress/Progress.js +44 -22
  145. package/dist/components/progress/Progress.js.map +1 -1
  146. package/dist/components/radiogroup/RadioGroup.cjs +1 -1
  147. package/dist/components/radiogroup/RadioGroup.cjs.map +1 -1
  148. package/dist/components/radiogroup/RadioGroup.js +69 -74
  149. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  150. package/dist/components/rating/Rating.cjs +1 -1
  151. package/dist/components/rating/Rating.cjs.map +1 -1
  152. package/dist/components/rating/Rating.js +72 -33
  153. package/dist/components/rating/Rating.js.map +1 -1
  154. package/dist/components/resizable/Resizable.cjs +2 -0
  155. package/dist/components/resizable/Resizable.cjs.map +1 -0
  156. package/dist/components/resizable/Resizable.js +134 -0
  157. package/dist/components/resizable/Resizable.js.map +1 -0
  158. package/dist/components/select/Select.cjs +1 -1
  159. package/dist/components/select/Select.cjs.map +1 -1
  160. package/dist/components/select/Select.js +114 -113
  161. package/dist/components/select/Select.js.map +1 -1
  162. package/dist/components/skeleton/Skeleton.cjs +1 -1
  163. package/dist/components/skeleton/Skeleton.cjs.map +1 -1
  164. package/dist/components/skeleton/Skeleton.js +90 -67
  165. package/dist/components/skeleton/Skeleton.js.map +1 -1
  166. package/dist/components/slider/Slider.cjs +1 -1
  167. package/dist/components/slider/Slider.cjs.map +1 -1
  168. package/dist/components/slider/Slider.js +85 -82
  169. package/dist/components/slider/Slider.js.map +1 -1
  170. package/dist/components/spinner/Spinner.cjs +1 -1
  171. package/dist/components/spinner/Spinner.cjs.map +1 -1
  172. package/dist/components/spinner/Spinner.js +60 -17
  173. package/dist/components/spinner/Spinner.js.map +1 -1
  174. package/dist/components/stepper/Stepper.cjs +1 -5
  175. package/dist/components/stepper/Stepper.cjs.map +1 -1
  176. package/dist/components/stepper/Stepper.js +65 -39
  177. package/dist/components/stepper/Stepper.js.map +1 -1
  178. package/dist/components/switch/Switch.cjs +1 -1
  179. package/dist/components/switch/Switch.cjs.map +1 -1
  180. package/dist/components/switch/Switch.js +89 -62
  181. package/dist/components/switch/Switch.js.map +1 -1
  182. package/dist/components/table/Table.cjs +1 -1
  183. package/dist/components/table/Table.cjs.map +1 -1
  184. package/dist/components/table/Table.js +62 -35
  185. package/dist/components/table/Table.js.map +1 -1
  186. package/dist/components/tabs/Tabs.cjs +1 -1
  187. package/dist/components/tabs/Tabs.cjs.map +1 -1
  188. package/dist/components/tabs/Tabs.js +110 -50
  189. package/dist/components/tabs/Tabs.js.map +1 -1
  190. package/dist/components/textarea/Textarea.cjs +1 -1
  191. package/dist/components/textarea/Textarea.cjs.map +1 -1
  192. package/dist/components/textarea/Textarea.js +63 -58
  193. package/dist/components/textarea/Textarea.js.map +1 -1
  194. package/dist/components/timepicker/TimePicker.cjs +2 -0
  195. package/dist/components/timepicker/TimePicker.cjs.map +1 -0
  196. package/dist/components/timepicker/TimePicker.js +159 -0
  197. package/dist/components/timepicker/TimePicker.js.map +1 -0
  198. package/dist/components/timerangepicker/TimeRangePicker.cjs +2 -0
  199. package/dist/components/timerangepicker/TimeRangePicker.cjs.map +1 -0
  200. package/dist/components/timerangepicker/TimeRangePicker.js +208 -0
  201. package/dist/components/timerangepicker/TimeRangePicker.js.map +1 -0
  202. package/dist/components/toast/Toast.cjs +1 -1
  203. package/dist/components/toast/Toast.cjs.map +1 -1
  204. package/dist/components/toast/Toast.js +91 -38
  205. package/dist/components/toast/Toast.js.map +1 -1
  206. package/dist/components/tooltip/Tooltip.cjs +1 -1
  207. package/dist/components/tooltip/Tooltip.cjs.map +1 -1
  208. package/dist/components/tooltip/Tooltip.js +72 -56
  209. package/dist/components/tooltip/Tooltip.js.map +1 -1
  210. package/dist/components/treeview/TreeView.cjs +1 -1
  211. package/dist/components/treeview/TreeView.cjs.map +1 -1
  212. package/dist/components/treeview/TreeView.js +120 -90
  213. package/dist/components/treeview/TreeView.js.map +1 -1
  214. package/dist/components/virtuallist/VirtualList.cjs +1 -1
  215. package/dist/components/virtuallist/VirtualList.cjs.map +1 -1
  216. package/dist/components/virtuallist/VirtualList.js +52 -34
  217. package/dist/components/virtuallist/VirtualList.js.map +1 -1
  218. package/dist/dist/components/accordion/Accordion.cjs +2 -0
  219. package/dist/dist/components/accordion/Accordion.cjs.map +1 -0
  220. package/dist/dist/components/accordion/Accordion.js +51 -0
  221. package/dist/dist/components/accordion/Accordion.js.map +1 -0
  222. package/dist/dist/components/alert/Alert.cjs +2 -0
  223. package/dist/dist/components/alert/Alert.cjs.map +1 -0
  224. package/dist/dist/components/alert/Alert.js +32 -0
  225. package/dist/dist/components/alert/Alert.js.map +1 -0
  226. package/dist/dist/components/avatar/Avatar.cjs +2 -0
  227. package/dist/dist/components/avatar/Avatar.cjs.map +1 -0
  228. package/dist/dist/components/avatar/Avatar.js +51 -0
  229. package/dist/dist/components/avatar/Avatar.js.map +1 -0
  230. package/dist/dist/components/avatar/AvatarGroup.cjs +2 -0
  231. package/dist/dist/components/avatar/AvatarGroup.cjs.map +1 -0
  232. package/dist/dist/components/avatar/AvatarGroup.js +32 -0
  233. package/dist/dist/components/avatar/AvatarGroup.js.map +1 -0
  234. package/dist/dist/components/badge/Badge.cjs +2 -0
  235. package/dist/dist/components/badge/Badge.cjs.map +1 -0
  236. package/dist/dist/components/badge/Badge.js +81 -0
  237. package/dist/dist/components/badge/Badge.js.map +1 -0
  238. package/dist/dist/components/badge/BadgeGroup.cjs +2 -0
  239. package/dist/dist/components/badge/BadgeGroup.cjs.map +1 -0
  240. package/dist/dist/components/badge/BadgeGroup.js +17 -0
  241. package/dist/dist/components/badge/BadgeGroup.js.map +1 -0
  242. package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs +2 -0
  243. package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs.map +1 -0
  244. package/dist/dist/components/breadcrumbs/Breadcrumbs.js +46 -0
  245. package/dist/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -0
  246. package/dist/dist/components/button/Button.cjs +2 -0
  247. package/dist/dist/components/button/Button.cjs.map +1 -0
  248. package/dist/dist/components/button/Button.js +21 -0
  249. package/dist/dist/components/button/Button.js.map +1 -0
  250. package/dist/dist/components/card/Card.cjs +2 -0
  251. package/dist/dist/components/card/Card.cjs.map +1 -0
  252. package/dist/dist/components/card/Card.js +50 -0
  253. package/dist/dist/components/card/Card.js.map +1 -0
  254. package/dist/dist/components/checkbox/Checkbox.cjs +2 -0
  255. package/dist/dist/components/checkbox/Checkbox.cjs.map +1 -0
  256. package/dist/dist/components/checkbox/Checkbox.js +46 -0
  257. package/dist/dist/components/checkbox/Checkbox.js.map +1 -0
  258. package/dist/dist/components/chip/Chip.cjs +2 -0
  259. package/dist/dist/components/chip/Chip.cjs.map +1 -0
  260. package/dist/dist/components/chip/Chip.js +51 -0
  261. package/dist/dist/components/chip/Chip.js.map +1 -0
  262. package/dist/dist/components/combobox/Combobox.cjs +2 -0
  263. package/dist/dist/components/combobox/Combobox.cjs.map +1 -0
  264. package/dist/dist/components/combobox/Combobox.js +114 -0
  265. package/dist/dist/components/combobox/Combobox.js.map +1 -0
  266. package/dist/dist/components/commandpalette/CommandPalette.cjs +2 -0
  267. package/dist/dist/components/commandpalette/CommandPalette.cjs.map +1 -0
  268. package/dist/dist/components/commandpalette/CommandPalette.js +111 -0
  269. package/dist/dist/components/commandpalette/CommandPalette.js.map +1 -0
  270. package/dist/dist/components/contextmenu/ContextMenu.cjs +2 -0
  271. package/dist/dist/components/contextmenu/ContextMenu.cjs.map +1 -0
  272. package/dist/dist/components/contextmenu/ContextMenu.js +104 -0
  273. package/dist/dist/components/contextmenu/ContextMenu.js.map +1 -0
  274. package/dist/dist/components/datagrid/DataGrid.cjs +2 -0
  275. package/dist/dist/components/datagrid/DataGrid.cjs.map +1 -0
  276. package/dist/dist/components/datagrid/DataGrid.js +227 -0
  277. package/dist/dist/components/datagrid/DataGrid.js.map +1 -0
  278. package/dist/dist/components/datepicker/DatePicker.cjs +2 -0
  279. package/dist/dist/components/datepicker/DatePicker.cjs.map +1 -0
  280. package/dist/dist/components/datepicker/DatePicker.js +265 -0
  281. package/dist/dist/components/datepicker/DatePicker.js.map +1 -0
  282. package/dist/dist/components/daterangepicker/DateRangePicker.cjs +2 -0
  283. package/dist/dist/components/daterangepicker/DateRangePicker.cjs.map +1 -0
  284. package/dist/dist/components/daterangepicker/DateRangePicker.js +322 -0
  285. package/dist/dist/components/daterangepicker/DateRangePicker.js.map +1 -0
  286. package/dist/dist/components/drawer/Drawer.cjs +2 -0
  287. package/dist/dist/components/drawer/Drawer.cjs.map +1 -0
  288. package/dist/dist/components/drawer/Drawer.js +57 -0
  289. package/dist/dist/components/drawer/Drawer.js.map +1 -0
  290. package/dist/dist/components/dropdown/Dropdown.cjs +2 -0
  291. package/dist/dist/components/dropdown/Dropdown.cjs.map +1 -0
  292. package/dist/dist/components/dropdown/Dropdown.js +115 -0
  293. package/dist/dist/components/dropdown/Dropdown.js.map +1 -0
  294. package/dist/dist/components/fileuploader/FileUploader.cjs +2 -0
  295. package/dist/dist/components/fileuploader/FileUploader.cjs.map +1 -0
  296. package/dist/dist/components/fileuploader/FileUploader.js +83 -0
  297. package/dist/dist/components/fileuploader/FileUploader.js.map +1 -0
  298. package/dist/dist/components/hovercard/HoverCard.cjs +2 -0
  299. package/dist/dist/components/hovercard/HoverCard.cjs.map +1 -0
  300. package/dist/dist/components/hovercard/HoverCard.js +78 -0
  301. package/dist/dist/components/hovercard/HoverCard.js.map +1 -0
  302. package/dist/dist/components/input/Input.cjs +2 -0
  303. package/dist/dist/components/input/Input.cjs.map +1 -0
  304. package/dist/dist/components/input/Input.js +41 -0
  305. package/dist/dist/components/input/Input.js.map +1 -0
  306. package/dist/dist/components/layout/Container.cjs +2 -0
  307. package/dist/dist/components/layout/Container.cjs.map +1 -0
  308. package/dist/dist/components/layout/Container.js +33 -0
  309. package/dist/dist/components/layout/Container.js.map +1 -0
  310. package/dist/dist/components/layout/Flex.cjs +2 -0
  311. package/dist/dist/components/layout/Flex.cjs.map +1 -0
  312. package/dist/dist/components/layout/Flex.js +26 -0
  313. package/dist/dist/components/layout/Flex.js.map +1 -0
  314. package/dist/dist/components/layout/Grid.cjs +2 -0
  315. package/dist/dist/components/layout/Grid.cjs.map +1 -0
  316. package/dist/dist/components/layout/Grid.js +21 -0
  317. package/dist/dist/components/layout/Grid.js.map +1 -0
  318. package/dist/dist/components/layout/HStack.cjs.map +1 -0
  319. package/dist/dist/components/layout/HStack.js.map +1 -0
  320. package/dist/dist/components/layout/Stack.cjs.map +1 -0
  321. package/dist/dist/components/layout/Stack.js.map +1 -0
  322. package/dist/dist/components/megamenu/MegaMenu.cjs +2 -0
  323. package/dist/dist/components/megamenu/MegaMenu.cjs.map +1 -0
  324. package/dist/dist/components/megamenu/MegaMenu.js +43 -0
  325. package/dist/dist/components/megamenu/MegaMenu.js.map +1 -0
  326. package/dist/dist/components/modal/Modal.cjs +2 -0
  327. package/dist/dist/components/modal/Modal.cjs.map +1 -0
  328. package/dist/dist/components/modal/Modal.js +91 -0
  329. package/dist/dist/components/modal/Modal.js.map +1 -0
  330. package/dist/dist/components/pagination/Pagination.cjs +2 -0
  331. package/dist/dist/components/pagination/Pagination.cjs.map +1 -0
  332. package/dist/dist/components/pagination/Pagination.js +62 -0
  333. package/dist/dist/components/pagination/Pagination.js.map +1 -0
  334. package/dist/dist/components/popover/Popover.cjs +2 -0
  335. package/dist/dist/components/popover/Popover.cjs.map +1 -0
  336. package/dist/dist/components/popover/Popover.js +123 -0
  337. package/dist/dist/components/popover/Popover.js.map +1 -0
  338. package/dist/dist/components/progress/Progress.cjs +2 -0
  339. package/dist/dist/components/progress/Progress.cjs.map +1 -0
  340. package/dist/dist/components/progress/Progress.js +33 -0
  341. package/dist/dist/components/progress/Progress.js.map +1 -0
  342. package/dist/dist/components/radiogroup/RadioGroup.cjs +2 -0
  343. package/dist/dist/components/radiogroup/RadioGroup.cjs.map +1 -0
  344. package/dist/dist/components/radiogroup/RadioGroup.js +79 -0
  345. package/dist/dist/components/radiogroup/RadioGroup.js.map +1 -0
  346. package/dist/dist/components/rating/Rating.cjs +2 -0
  347. package/dist/dist/components/rating/Rating.cjs.map +1 -0
  348. package/dist/dist/components/rating/Rating.js +49 -0
  349. package/dist/dist/components/rating/Rating.js.map +1 -0
  350. package/dist/dist/components/skeleton/Skeleton.cjs +2 -0
  351. package/dist/dist/components/skeleton/Skeleton.cjs.map +1 -0
  352. package/dist/dist/components/skeleton/Skeleton.js +86 -0
  353. package/dist/dist/components/skeleton/Skeleton.js.map +1 -0
  354. package/dist/dist/components/slider/Slider.cjs +2 -0
  355. package/dist/dist/components/slider/Slider.cjs.map +1 -0
  356. package/dist/dist/components/slider/Slider.js +116 -0
  357. package/dist/dist/components/slider/Slider.js.map +1 -0
  358. package/dist/dist/components/spinner/Spinner.cjs +2 -0
  359. package/dist/dist/components/spinner/Spinner.cjs.map +1 -0
  360. package/dist/dist/components/spinner/Spinner.js +21 -0
  361. package/dist/dist/components/spinner/Spinner.js.map +1 -0
  362. package/dist/dist/components/stepper/Stepper.cjs +6 -0
  363. package/dist/dist/components/stepper/Stepper.cjs.map +1 -0
  364. package/dist/dist/components/stepper/Stepper.js +43 -0
  365. package/dist/dist/components/stepper/Stepper.js.map +1 -0
  366. package/dist/dist/components/switch/Switch.cjs +2 -0
  367. package/dist/dist/components/switch/Switch.cjs.map +1 -0
  368. package/dist/dist/components/switch/Switch.js +67 -0
  369. package/dist/dist/components/switch/Switch.js.map +1 -0
  370. package/dist/dist/components/table/Table.cjs +2 -0
  371. package/dist/dist/components/table/Table.cjs.map +1 -0
  372. package/dist/dist/components/table/Table.js +46 -0
  373. package/dist/dist/components/table/Table.js.map +1 -0
  374. package/dist/dist/components/tabs/Tabs.cjs +2 -0
  375. package/dist/dist/components/tabs/Tabs.cjs.map +1 -0
  376. package/dist/dist/components/tabs/Tabs.js +56 -0
  377. package/dist/dist/components/tabs/Tabs.js.map +1 -0
  378. package/dist/dist/components/textarea/Textarea.cjs +2 -0
  379. package/dist/dist/components/textarea/Textarea.cjs.map +1 -0
  380. package/dist/dist/components/textarea/Textarea.js +75 -0
  381. package/dist/dist/components/textarea/Textarea.js.map +1 -0
  382. package/dist/dist/components/toast/Toast.cjs +2 -0
  383. package/dist/dist/components/toast/Toast.cjs.map +1 -0
  384. package/dist/dist/components/toast/Toast.js +52 -0
  385. package/dist/dist/components/toast/Toast.js.map +1 -0
  386. package/dist/dist/components/tooltip/Tooltip.cjs +2 -0
  387. package/dist/dist/components/tooltip/Tooltip.cjs.map +1 -0
  388. package/dist/dist/components/tooltip/Tooltip.js +73 -0
  389. package/dist/dist/components/tooltip/Tooltip.js.map +1 -0
  390. package/dist/dist/components/treeview/TreeView.cjs +2 -0
  391. package/dist/dist/components/treeview/TreeView.cjs.map +1 -0
  392. package/dist/dist/components/treeview/TreeView.js +98 -0
  393. package/dist/dist/components/treeview/TreeView.js.map +1 -0
  394. package/dist/dist/components/virtuallist/VirtualList.cjs +2 -0
  395. package/dist/dist/components/virtuallist/VirtualList.cjs.map +1 -0
  396. package/dist/dist/components/virtuallist/VirtualList.js +58 -0
  397. package/dist/dist/components/virtuallist/VirtualList.js.map +1 -0
  398. package/dist/dist/index.cjs +2 -0
  399. package/dist/dist/index.cjs.map +1 -0
  400. package/dist/dist/index.js +109 -0
  401. package/dist/dist/index.js.map +1 -0
  402. package/dist/dist/styles/index.css +1 -0
  403. package/dist/dist/theme/NUIProvider.cjs.map +1 -0
  404. package/dist/dist/theme/NUIProvider.js.map +1 -0
  405. package/dist/dist/theme/useTheme.cjs.map +1 -0
  406. package/dist/dist/theme/useTheme.js.map +1 -0
  407. package/dist/dist/types/components/accordion/Accordion.d.ts +18 -0
  408. package/dist/dist/types/components/accordion/Accordion.d.ts.map +1 -0
  409. package/dist/dist/types/components/alert/Alert.d.ts +13 -0
  410. package/dist/dist/types/components/alert/Alert.d.ts.map +1 -0
  411. package/dist/dist/types/components/avatar/Avatar.d.ts +18 -0
  412. package/dist/dist/types/components/avatar/Avatar.d.ts.map +1 -0
  413. package/dist/dist/types/components/avatar/AvatarGroup.d.ts +10 -0
  414. package/dist/dist/types/components/avatar/AvatarGroup.d.ts.map +1 -0
  415. package/dist/dist/types/components/badge/Badge.d.ts +22 -0
  416. package/dist/dist/types/components/badge/Badge.d.ts.map +1 -0
  417. package/dist/dist/types/components/badge/BadgeGroup.d.ts +9 -0
  418. package/dist/dist/types/components/badge/BadgeGroup.d.ts.map +1 -0
  419. package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +15 -0
  420. package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  421. package/dist/dist/types/components/button/Button.d.ts +15 -0
  422. package/dist/dist/types/components/button/Button.d.ts.map +1 -0
  423. package/dist/dist/types/components/card/Card.d.ts +27 -0
  424. package/dist/dist/types/components/card/Card.d.ts.map +1 -0
  425. package/dist/dist/types/components/checkbox/Checkbox.d.ts +15 -0
  426. package/dist/dist/types/components/checkbox/Checkbox.d.ts.map +1 -0
  427. package/dist/dist/types/components/chip/Chip.d.ts +21 -0
  428. package/dist/dist/types/components/chip/Chip.d.ts.map +1 -0
  429. package/dist/dist/types/components/combobox/Combobox.d.ts +24 -0
  430. package/dist/dist/types/components/combobox/Combobox.d.ts.map +1 -0
  431. package/dist/dist/types/components/commandpalette/CommandPalette.d.ts +21 -0
  432. package/dist/dist/types/components/commandpalette/CommandPalette.d.ts.map +1 -0
  433. package/dist/dist/types/components/contextmenu/ContextMenu.d.ts +17 -0
  434. package/dist/dist/types/components/contextmenu/ContextMenu.d.ts.map +1 -0
  435. package/dist/dist/types/components/datagrid/DataGrid.d.ts +28 -0
  436. package/dist/dist/types/components/datagrid/DataGrid.d.ts.map +1 -0
  437. package/dist/dist/types/components/datepicker/DatePicker.d.ts +14 -0
  438. package/dist/dist/types/components/datepicker/DatePicker.d.ts.map +1 -0
  439. package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts +19 -0
  440. package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts.map +1 -0
  441. package/dist/dist/types/components/drawer/Drawer.d.ts +12 -0
  442. package/dist/dist/types/components/drawer/Drawer.d.ts.map +1 -0
  443. package/dist/dist/types/components/dropdown/Dropdown.d.ts +18 -0
  444. package/dist/dist/types/components/dropdown/Dropdown.d.ts.map +1 -0
  445. package/dist/dist/types/components/fileuploader/FileUploader.d.ts +9 -0
  446. package/dist/dist/types/components/fileuploader/FileUploader.d.ts.map +1 -0
  447. package/dist/dist/types/components/hovercard/HoverCard.d.ts +10 -0
  448. package/dist/dist/types/components/hovercard/HoverCard.d.ts.map +1 -0
  449. package/dist/dist/types/components/input/Input.d.ts +15 -0
  450. package/dist/dist/types/components/input/Input.d.ts.map +1 -0
  451. package/dist/dist/types/components/layout/Container.d.ts +8 -0
  452. package/dist/dist/types/components/layout/Container.d.ts.map +1 -0
  453. package/dist/dist/types/components/layout/Flex.d.ts +14 -0
  454. package/dist/dist/types/components/layout/Flex.d.ts.map +1 -0
  455. package/dist/dist/types/components/layout/Grid.d.ts +10 -0
  456. package/dist/dist/types/components/layout/Grid.d.ts.map +1 -0
  457. package/dist/dist/types/components/layout/HStack.d.ts.map +1 -0
  458. package/dist/dist/types/components/layout/Stack.d.ts.map +1 -0
  459. package/dist/dist/types/components/megamenu/MegaMenu.d.ts +12 -0
  460. package/dist/dist/types/components/megamenu/MegaMenu.d.ts.map +1 -0
  461. package/dist/dist/types/components/modal/Modal.d.ts +16 -0
  462. package/dist/dist/types/components/modal/Modal.d.ts.map +1 -0
  463. package/dist/dist/types/components/pagination/Pagination.d.ts +9 -0
  464. package/dist/dist/types/components/pagination/Pagination.d.ts.map +1 -0
  465. package/dist/dist/types/components/popover/Popover.d.ts +21 -0
  466. package/dist/dist/types/components/popover/Popover.d.ts.map +1 -0
  467. package/dist/dist/types/components/progress/Progress.d.ts +13 -0
  468. package/dist/dist/types/components/progress/Progress.d.ts.map +1 -0
  469. package/dist/dist/types/components/radiogroup/RadioGroup.d.ts +18 -0
  470. package/dist/dist/types/components/radiogroup/RadioGroup.d.ts.map +1 -0
  471. package/dist/dist/types/components/rating/Rating.d.ts +19 -0
  472. package/dist/dist/types/components/rating/Rating.d.ts.map +1 -0
  473. package/dist/dist/types/components/select/Select.d.ts +20 -0
  474. package/dist/dist/types/components/select/Select.d.ts.map +1 -0
  475. package/dist/dist/types/components/skeleton/Skeleton.d.ts +44 -0
  476. package/dist/dist/types/components/skeleton/Skeleton.d.ts.map +1 -0
  477. package/dist/dist/types/components/slider/Slider.d.ts +13 -0
  478. package/dist/dist/types/components/slider/Slider.d.ts.map +1 -0
  479. package/dist/dist/types/components/spinner/Spinner.d.ts +7 -0
  480. package/dist/dist/types/components/spinner/Spinner.d.ts.map +1 -0
  481. package/dist/dist/types/components/stepper/Stepper.d.ts +12 -0
  482. package/dist/dist/types/components/stepper/Stepper.d.ts.map +1 -0
  483. package/dist/dist/types/components/switch/Switch.d.ts +15 -0
  484. package/dist/dist/types/components/switch/Switch.d.ts.map +1 -0
  485. package/dist/dist/types/components/table/Table.d.ts +14 -0
  486. package/dist/dist/types/components/table/Table.d.ts.map +1 -0
  487. package/dist/dist/types/components/tabs/Tabs.d.ts +14 -0
  488. package/dist/dist/types/components/tabs/Tabs.d.ts.map +1 -0
  489. package/dist/dist/types/components/textarea/Textarea.d.ts +14 -0
  490. package/dist/dist/types/components/textarea/Textarea.d.ts.map +1 -0
  491. package/dist/dist/types/components/toast/Toast.d.ts +16 -0
  492. package/dist/dist/types/components/toast/Toast.d.ts.map +1 -0
  493. package/dist/dist/types/components/tooltip/Tooltip.d.ts +10 -0
  494. package/dist/dist/types/components/tooltip/Tooltip.d.ts.map +1 -0
  495. package/dist/dist/types/components/treeview/TreeView.d.ts +16 -0
  496. package/dist/dist/types/components/treeview/TreeView.d.ts.map +1 -0
  497. package/dist/dist/types/components/virtuallist/VirtualList.d.ts +23 -0
  498. package/dist/dist/types/components/virtuallist/VirtualList.d.ts.map +1 -0
  499. package/dist/dist/types/index.d.ts +50 -0
  500. package/dist/dist/types/index.d.ts.map +1 -0
  501. package/dist/dist/types/theme/NUIProvider.d.ts.map +1 -0
  502. package/dist/dist/types/theme/useTheme.d.ts.map +1 -0
  503. package/dist/dist/types/utils/generateid/generateId.d.ts +2 -0
  504. package/dist/dist/types/utils/generateid/generateId.d.ts.map +1 -0
  505. package/dist/dist/types/utils/index.d.ts +9 -0
  506. package/dist/dist/types/utils/index.d.ts.map +1 -0
  507. package/dist/dist/types/utils/inertmanager/inertManager.d.ts +13 -0
  508. package/dist/dist/types/utils/inertmanager/inertManager.d.ts.map +1 -0
  509. package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts +11 -0
  510. package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts.map +1 -0
  511. package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts +3 -0
  512. package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts.map +1 -0
  513. package/dist/dist/types/utils/portal/portal.d.ts +4 -0
  514. package/dist/dist/types/utils/portal/portal.d.ts.map +1 -0
  515. package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts +8 -0
  516. package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts.map +1 -0
  517. package/dist/dist/types/utils/scrolllock/scrollLock.d.ts +11 -0
  518. package/dist/dist/types/utils/scrolllock/scrollLock.d.ts.map +1 -0
  519. package/dist/dist/types/utils/trapfocus/trapFocus.d.ts +8 -0
  520. package/dist/dist/types/utils/trapfocus/trapFocus.d.ts.map +1 -0
  521. package/dist/dist/utils/generateid/generateId.cjs.map +1 -0
  522. package/dist/dist/utils/generateid/generateId.js.map +1 -0
  523. package/dist/dist/utils/inertmanager/inertManager.cjs +2 -0
  524. package/dist/dist/utils/inertmanager/inertManager.cjs.map +1 -0
  525. package/dist/dist/utils/inertmanager/inertManager.js +18 -0
  526. package/dist/dist/utils/inertmanager/inertManager.js.map +1 -0
  527. package/dist/dist/utils/keyboardnav/keyboardNav.cjs.map +1 -0
  528. package/dist/dist/utils/keyboardnav/keyboardNav.js.map +1 -0
  529. package/dist/dist/utils/onclickoutside/onClickOutside.cjs +2 -0
  530. package/dist/dist/utils/onclickoutside/onClickOutside.cjs.map +1 -0
  531. package/dist/dist/utils/onclickoutside/onClickOutside.js +11 -0
  532. package/dist/dist/utils/onclickoutside/onClickOutside.js.map +1 -0
  533. package/dist/dist/utils/portal/portal.cjs +2 -0
  534. package/dist/dist/utils/portal/portal.cjs.map +1 -0
  535. package/dist/dist/utils/portal/portal.js +8 -0
  536. package/dist/dist/utils/portal/portal.js.map +1 -0
  537. package/dist/dist/utils/restorefocus/restoreFocus.cjs +2 -0
  538. package/dist/dist/utils/restorefocus/restoreFocus.cjs.map +1 -0
  539. package/dist/dist/utils/restorefocus/restoreFocus.js +7 -0
  540. package/dist/dist/utils/restorefocus/restoreFocus.js.map +1 -0
  541. package/dist/dist/utils/scrolllock/scrollLock.cjs +2 -0
  542. package/dist/dist/utils/scrolllock/scrollLock.cjs.map +1 -0
  543. package/dist/dist/utils/scrolllock/scrollLock.js +12 -0
  544. package/dist/dist/utils/scrolllock/scrollLock.js.map +1 -0
  545. package/dist/dist/utils/trapfocus/trapFocus.cjs +3 -0
  546. package/dist/dist/utils/trapfocus/trapFocus.cjs.map +1 -0
  547. package/dist/dist/utils/trapfocus/trapFocus.js +14 -0
  548. package/dist/dist/utils/trapfocus/trapFocus.js.map +1 -0
  549. package/dist/index.cjs +1 -1
  550. package/dist/index.js +118 -107
  551. package/dist/index.js.map +1 -1
  552. package/dist/package.json +2 -2
  553. package/dist/styles/nui.css +1 -1
  554. package/dist/types/components/accordion/Accordion.d.ts +7 -3
  555. package/dist/types/components/accordion/Accordion.d.ts.map +1 -1
  556. package/dist/types/components/alert/Alert.d.ts +18 -5
  557. package/dist/types/components/alert/Alert.d.ts.map +1 -1
  558. package/dist/types/components/avatar/Avatar.d.ts +12 -8
  559. package/dist/types/components/avatar/Avatar.d.ts.map +1 -1
  560. package/dist/types/components/avatar/AvatarGroup.d.ts +11 -4
  561. package/dist/types/components/avatar/AvatarGroup.d.ts.map +1 -1
  562. package/dist/types/components/badge/Badge.d.ts +19 -11
  563. package/dist/types/components/badge/Badge.d.ts.map +1 -1
  564. package/dist/types/components/badge/BadgeGroup.d.ts +7 -4
  565. package/dist/types/components/badge/BadgeGroup.d.ts.map +1 -1
  566. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +14 -6
  567. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  568. package/dist/types/components/button/Button.d.ts +25 -10
  569. package/dist/types/components/button/Button.d.ts.map +1 -1
  570. package/dist/types/components/card/Card.d.ts +12 -21
  571. package/dist/types/components/card/Card.d.ts.map +1 -1
  572. package/dist/types/components/checkbox/Checkbox.d.ts +12 -7
  573. package/dist/types/components/checkbox/Checkbox.d.ts.map +1 -1
  574. package/dist/types/components/chip/Chip.d.ts +14 -11
  575. package/dist/types/components/chip/Chip.d.ts.map +1 -1
  576. package/dist/types/components/combobox/Combobox.d.ts +15 -4
  577. package/dist/types/components/combobox/Combobox.d.ts.map +1 -1
  578. package/dist/types/components/commandpalette/CommandPalette.d.ts +12 -3
  579. package/dist/types/components/commandpalette/CommandPalette.d.ts.map +1 -1
  580. package/dist/types/components/contextmenu/ContextMenu.d.ts +14 -6
  581. package/dist/types/components/contextmenu/ContextMenu.d.ts.map +1 -1
  582. package/dist/types/components/datagrid/DataGrid.d.ts +16 -4
  583. package/dist/types/components/datagrid/DataGrid.d.ts.map +1 -1
  584. package/dist/types/components/datepicker/DatePicker.d.ts +13 -1
  585. package/dist/types/components/datepicker/DatePicker.d.ts.map +1 -1
  586. package/dist/types/components/daterangepicker/DateRangePicker.d.ts +3 -1
  587. package/dist/types/components/daterangepicker/DateRangePicker.d.ts.map +1 -1
  588. package/dist/types/components/dialog/DialogProvider.d.ts +2 -0
  589. package/dist/types/components/dialog/DialogProvider.d.ts.map +1 -0
  590. package/dist/types/components/dialog/dialogStore.d.ts +42 -0
  591. package/dist/types/components/dialog/dialogStore.d.ts.map +1 -0
  592. package/dist/types/components/drawer/Drawer.d.ts +18 -4
  593. package/dist/types/components/drawer/Drawer.d.ts.map +1 -1
  594. package/dist/types/components/dropdown/Dropdown.d.ts +21 -16
  595. package/dist/types/components/dropdown/Dropdown.d.ts.map +1 -1
  596. package/dist/types/components/fileuploader/FileUploader.d.ts +22 -3
  597. package/dist/types/components/fileuploader/FileUploader.d.ts.map +1 -1
  598. package/dist/types/components/hovercard/HoverCard.d.ts +45 -5
  599. package/dist/types/components/hovercard/HoverCard.d.ts.map +1 -1
  600. package/dist/types/components/input/Input.d.ts +20 -10
  601. package/dist/types/components/input/Input.d.ts.map +1 -1
  602. package/dist/types/components/layout/Container.d.ts +8 -4
  603. package/dist/types/components/layout/Container.d.ts.map +1 -1
  604. package/dist/types/components/layout/Flex.d.ts +27 -10
  605. package/dist/types/components/layout/Flex.d.ts.map +1 -1
  606. package/dist/types/components/layout/Grid.d.ts +11 -5
  607. package/dist/types/components/layout/Grid.d.ts.map +1 -1
  608. package/dist/types/components/link/Link.d.ts +22 -0
  609. package/dist/types/components/link/Link.d.ts.map +1 -0
  610. package/dist/types/components/megamenu/MegaMenu.d.ts +8 -11
  611. package/dist/types/components/megamenu/MegaMenu.d.ts.map +1 -1
  612. package/dist/types/components/modal/Modal.d.ts +8 -7
  613. package/dist/types/components/modal/Modal.d.ts.map +1 -1
  614. package/dist/types/components/multiselect/MultiSelect.d.ts +33 -0
  615. package/dist/types/components/multiselect/MultiSelect.d.ts.map +1 -0
  616. package/dist/types/components/nuiprovider/NUIProvider.d.ts +29 -0
  617. package/dist/types/components/nuiprovider/NUIProvider.d.ts.map +1 -0
  618. package/dist/types/components/pagination/Pagination.d.ts +17 -3
  619. package/dist/types/components/pagination/Pagination.d.ts.map +1 -1
  620. package/dist/types/components/popover/Popover.d.ts +54 -16
  621. package/dist/types/components/popover/Popover.d.ts.map +1 -1
  622. package/dist/types/components/progress/Progress.d.ts +17 -7
  623. package/dist/types/components/progress/Progress.d.ts.map +1 -1
  624. package/dist/types/components/radiogroup/RadioGroup.d.ts +15 -10
  625. package/dist/types/components/radiogroup/RadioGroup.d.ts.map +1 -1
  626. package/dist/types/components/rating/Rating.d.ts +24 -10
  627. package/dist/types/components/rating/Rating.d.ts.map +1 -1
  628. package/dist/types/components/resizable/Resizable.d.ts +24 -0
  629. package/dist/types/components/resizable/Resizable.d.ts.map +1 -0
  630. package/dist/types/components/select/Select.d.ts +17 -8
  631. package/dist/types/components/select/Select.d.ts.map +1 -1
  632. package/dist/types/components/skeleton/Skeleton.d.ts +37 -36
  633. package/dist/types/components/skeleton/Skeleton.d.ts.map +1 -1
  634. package/dist/types/components/slider/Slider.d.ts +15 -4
  635. package/dist/types/components/slider/Slider.d.ts.map +1 -1
  636. package/dist/types/components/spinner/Spinner.d.ts +14 -4
  637. package/dist/types/components/spinner/Spinner.d.ts.map +1 -1
  638. package/dist/types/components/stepper/Stepper.d.ts +17 -3
  639. package/dist/types/components/stepper/Stepper.d.ts.map +1 -1
  640. package/dist/types/components/switch/Switch.d.ts +20 -5
  641. package/dist/types/components/switch/Switch.d.ts.map +1 -1
  642. package/dist/types/components/table/Table.d.ts +24 -4
  643. package/dist/types/components/table/Table.d.ts.map +1 -1
  644. package/dist/types/components/tabs/Tabs.d.ts +25 -12
  645. package/dist/types/components/tabs/Tabs.d.ts.map +1 -1
  646. package/dist/types/components/textarea/Textarea.d.ts +8 -5
  647. package/dist/types/components/textarea/Textarea.d.ts.map +1 -1
  648. package/dist/types/components/timepicker/TimePicker.d.ts +26 -0
  649. package/dist/types/components/timepicker/TimePicker.d.ts.map +1 -0
  650. package/dist/types/components/timerangepicker/TimeRangePicker.d.ts +32 -0
  651. package/dist/types/components/timerangepicker/TimeRangePicker.d.ts.map +1 -0
  652. package/dist/types/components/toast/Toast.d.ts +23 -7
  653. package/dist/types/components/toast/Toast.d.ts.map +1 -1
  654. package/dist/types/components/tooltip/Tooltip.d.ts +13 -2
  655. package/dist/types/components/tooltip/Tooltip.d.ts.map +1 -1
  656. package/dist/types/components/treeview/TreeView.d.ts +20 -6
  657. package/dist/types/components/treeview/TreeView.d.ts.map +1 -1
  658. package/dist/types/components/virtuallist/VirtualList.d.ts +12 -16
  659. package/dist/types/components/virtuallist/VirtualList.d.ts.map +1 -1
  660. package/dist/types/index.d.ts +8 -4
  661. package/dist/types/index.d.ts.map +1 -1
  662. package/dist/types/utils/cn/cn.d.ts +19 -0
  663. package/dist/types/utils/cn/cn.d.ts.map +1 -0
  664. package/dist/types/utils/generateid/generateId.d.ts +7 -0
  665. package/dist/types/utils/generateid/generateId.d.ts.map +1 -1
  666. package/dist/types/utils/index.d.ts +2 -0
  667. package/dist/types/utils/index.d.ts.map +1 -1
  668. package/dist/types/utils/inertmanager/inertManager.d.ts +13 -0
  669. package/dist/types/utils/inertmanager/inertManager.d.ts.map +1 -1
  670. package/dist/types/utils/keyboardnav/keyboardNav.d.ts +17 -6
  671. package/dist/types/utils/keyboardnav/keyboardNav.d.ts.map +1 -1
  672. package/dist/types/utils/onclickoutside/onClickOutside.d.ts +9 -1
  673. package/dist/types/utils/onclickoutside/onClickOutside.d.ts.map +1 -1
  674. package/dist/types/utils/portal/portal.d.ts +14 -1
  675. package/dist/types/utils/portal/portal.d.ts.map +1 -1
  676. package/dist/types/utils/restorefocus/restoreFocus.d.ts +8 -4
  677. package/dist/types/utils/restorefocus/restoreFocus.d.ts.map +1 -1
  678. package/dist/types/utils/scrolllock/scrollLock.d.ts +10 -2
  679. package/dist/types/utils/scrolllock/scrollLock.d.ts.map +1 -1
  680. package/dist/types/utils/slot/slot.d.ts +12 -0
  681. package/dist/types/utils/slot/slot.d.ts.map +1 -0
  682. package/dist/types/utils/trapfocus/trapFocus.d.ts +6 -2
  683. package/dist/types/utils/trapfocus/trapFocus.d.ts.map +1 -1
  684. package/dist/utils/cn/cn.cjs +2 -0
  685. package/dist/utils/cn/cn.cjs.map +1 -0
  686. package/dist/utils/cn/cn.js +21 -0
  687. package/dist/utils/cn/cn.js.map +1 -0
  688. package/dist/utils/inertmanager/inertManager.cjs.map +1 -1
  689. package/dist/utils/inertmanager/inertManager.js.map +1 -1
  690. package/dist/utils/onclickoutside/onClickOutside.cjs +1 -1
  691. package/dist/utils/onclickoutside/onClickOutside.cjs.map +1 -1
  692. package/dist/utils/onclickoutside/onClickOutside.js +10 -6
  693. package/dist/utils/onclickoutside/onClickOutside.js.map +1 -1
  694. package/dist/utils/portal/portal.cjs.map +1 -1
  695. package/dist/utils/portal/portal.js.map +1 -1
  696. package/dist/utils/restorefocus/restoreFocus.cjs.map +1 -1
  697. package/dist/utils/restorefocus/restoreFocus.js.map +1 -1
  698. package/dist/utils/scrolllock/scrollLock.cjs.map +1 -1
  699. package/dist/utils/scrolllock/scrollLock.js +7 -0
  700. package/dist/utils/scrolllock/scrollLock.js.map +1 -1
  701. package/dist/utils/slot/slot.cjs +2 -0
  702. package/dist/utils/slot/slot.cjs.map +1 -0
  703. package/dist/utils/slot/slot.js +57 -0
  704. package/dist/utils/slot/slot.js.map +1 -0
  705. package/dist/utils/trapfocus/trapFocus.cjs.map +1 -1
  706. package/dist/utils/trapfocus/trapFocus.js.map +1 -1
  707. package/package.json +2 -2
  708. package/dist/components/layout/HStack.cjs.map +0 -1
  709. package/dist/components/layout/HStack.js.map +0 -1
  710. package/dist/components/layout/Stack.cjs.map +0 -1
  711. package/dist/components/layout/Stack.js.map +0 -1
  712. package/dist/theme/NUIProvider.cjs.map +0 -1
  713. package/dist/theme/NUIProvider.js.map +0 -1
  714. package/dist/theme/useTheme.cjs.map +0 -1
  715. package/dist/theme/useTheme.js.map +0 -1
  716. package/dist/types/components/layout/HStack.d.ts.map +0 -1
  717. package/dist/types/components/layout/Stack.d.ts.map +0 -1
  718. package/dist/types/theme/NUIProvider.d.ts.map +0 -1
  719. package/dist/types/theme/useTheme.d.ts.map +0 -1
  720. package/dist/utils/generateid/generateId.cjs.map +0 -1
  721. package/dist/utils/generateid/generateId.js.map +0 -1
  722. package/dist/utils/keyboardnav/keyboardNav.cjs.map +0 -1
  723. package/dist/utils/keyboardnav/keyboardNav.js.map +0 -1
  724. /package/dist/{components → dist/components}/layout/HStack.cjs +0 -0
  725. /package/dist/{components → dist/components}/layout/HStack.js +0 -0
  726. /package/dist/{components → dist/components}/layout/Stack.cjs +0 -0
  727. /package/dist/{components → dist/components}/layout/Stack.js +0 -0
  728. /package/dist/{theme → dist/theme}/NUIProvider.cjs +0 -0
  729. /package/dist/{theme → dist/theme}/NUIProvider.js +0 -0
  730. /package/dist/{theme → dist/theme}/useTheme.cjs +0 -0
  731. /package/dist/{theme → dist/theme}/useTheme.js +0 -0
  732. /package/dist/{types → dist/types}/components/layout/HStack.d.ts +0 -0
  733. /package/dist/{types → dist/types}/components/layout/Stack.d.ts +0 -0
  734. /package/dist/{types → dist/types}/theme/NUIProvider.d.ts +0 -0
  735. /package/dist/{types → dist/types}/theme/useTheme.d.ts +0 -0
  736. /package/dist/{utils → dist/utils}/generateid/generateId.cjs +0 -0
  737. /package/dist/{utils → dist/utils}/generateid/generateId.js +0 -0
  738. /package/dist/{utils → dist/utils}/keyboardnav/keyboardNav.cjs +0 -0
  739. /package/dist/{utils → dist/utils}/keyboardnav/keyboardNav.js +0 -0
@@ -0,0 +1,265 @@
1
+ import { jsxs as f, jsx as o } from "react/jsx-runtime";
2
+ import { useState as D, useRef as S, useEffect as A, useMemo as v } from "react";
3
+ /* empty css */
4
+ import { onClickOutside as ue } from "../../utils/onclickoutside/onClickOutside.js";
5
+ import { restoreFocus as de } from "../../utils/restorefocus/restoreFocus.js";
6
+ import { Portal as me } from "../../utils/portal/portal.js";
7
+ const V = (n) => n < 10 ? `0${n}` : `${n}`, q = (n) => `${n.getFullYear()}-${V(n.getMonth() + 1)}-${V(n.getDate())}`;
8
+ function I(n) {
9
+ if (!n) return null;
10
+ const [h, Y, $] = n.split("-").map(Number), w = new Date(h, Y - 1, $);
11
+ return Number.isNaN(w.getTime()) ? null : w;
12
+ }
13
+ const z = (n) => new Date(n.getFullYear(), n.getMonth(), 1), M = (n, h) => new Date(n.getFullYear(), n.getMonth() + h, 1), G = (n) => new Date(n.getFullYear(), n.getMonth() + 1, 0).getDate();
14
+ function be({
15
+ value: n,
16
+ defaultValue: h,
17
+ onChange: Y,
18
+ minDate: $,
19
+ maxDate: w,
20
+ placeholder: H = "Select date",
21
+ name: P,
22
+ locale: p = "en-US",
23
+ id: J,
24
+ className: Q = ""
25
+ }) {
26
+ const R = n !== void 0, [W, X] = D(h), b = R ? n : W, Z = I(b) ?? /* @__PURE__ */ new Date(), [a, d] = D(z(Z)), [i, g] = D(!1), [F, u] = D(!1), y = S(null), L = S(null), O = S({}), N = I($) ?? void 0, k = I(w) ?? void 0, E = (e) => !!(N && e < N || k && e > k);
27
+ A(() => {
28
+ if (i)
29
+ return ue(L, () => {
30
+ g(!1), u(!1);
31
+ });
32
+ }, [i]), A(() => {
33
+ if (!i) return;
34
+ const e = y.current;
35
+ return () => {
36
+ de(e ?? null), u(!1);
37
+ };
38
+ }, [i]);
39
+ const [x, ee] = D(null);
40
+ A(() => {
41
+ if (!i || !y.current) return;
42
+ const e = y.current.getBoundingClientRect();
43
+ ee({ top: e.bottom + 8, left: e.left });
44
+ }, [i, a]);
45
+ const m = v(() => {
46
+ const t = z(a).getDay(), r = G(a), l = [];
47
+ for (let s = 0; s < t; s++) l.push(null);
48
+ for (let s = 1; s <= r; s++) l.push(s);
49
+ for (; l.length % 7 !== 0; ) l.push(null);
50
+ return l;
51
+ }, [a]), te = v(
52
+ () => Array.from({ length: 7 }).map(
53
+ (e, t) => new Date(2020, 5, 7 + t).toLocaleDateString(p, {
54
+ weekday: "short"
55
+ })
56
+ ),
57
+ [p]
58
+ ), ne = a.getFullYear(), _ = 100, U = ne - _, re = v(
59
+ () => Array.from({ length: _ * 2 + 1 }).map((e, t) => U + t),
60
+ [U]
61
+ ), ae = v(
62
+ () => Array.from({ length: 12 }).map(
63
+ (e, t) => new Date(2020, t, 1).toLocaleDateString(p, { month: "short" })
64
+ ),
65
+ [p]
66
+ ), se = (e, t) => {
67
+ const r = new Date(e, t, 1), l = new Date(e, t, G(r));
68
+ return !!(N && l < N || k && r > k);
69
+ }, j = (e) => {
70
+ const t = new Date(a.getFullYear(), a.getMonth(), e);
71
+ if (E(t)) return;
72
+ const r = q(t);
73
+ R || X(r), Y?.(r), g(!1), u(!1);
74
+ }, oe = (e) => {
75
+ d(new Date(a.getFullYear(), e, 1)), u(!1);
76
+ }, le = (e) => {
77
+ d(new Date(e, a.getMonth(), 1));
78
+ }, ie = (e) => {
79
+ if (e < 0 || e >= m.length) return;
80
+ const t = m[e];
81
+ if (!t) return;
82
+ const r = `${a.getFullYear()}-${a.getMonth()}-${t}`;
83
+ O.current[r]?.focus();
84
+ }, ce = (e, t) => {
85
+ const r = m.findIndex((c) => c === t);
86
+ if (r === -1) return;
87
+ const l = 7;
88
+ let s = null;
89
+ switch (e.key) {
90
+ case "ArrowRight":
91
+ s = r + 1;
92
+ break;
93
+ case "ArrowLeft":
94
+ s = r - 1;
95
+ break;
96
+ case "ArrowDown":
97
+ s = r + l;
98
+ break;
99
+ case "ArrowUp":
100
+ s = r - l;
101
+ break;
102
+ case "Enter":
103
+ case " ":
104
+ e.preventDefault(), j(t);
105
+ return;
106
+ case "PageUp":
107
+ d((c) => M(c, -1));
108
+ return;
109
+ case "PageDown":
110
+ d((c) => M(c, 1));
111
+ return;
112
+ case "Escape":
113
+ g(!1);
114
+ return;
115
+ default:
116
+ return;
117
+ }
118
+ e.preventDefault(), s !== null && (s < 0 || s >= m.length || m[s] != null && ie(s));
119
+ }, B = a.toLocaleDateString(p, {
120
+ month: "long"
121
+ }), K = a.getFullYear();
122
+ return /* @__PURE__ */ f("div", { className: `ui-datepicker minimal ${Q}`, children: [
123
+ P && /* @__PURE__ */ o("input", { type: "hidden", name: P, value: b ?? "" }),
124
+ /* @__PURE__ */ o(
125
+ "button",
126
+ {
127
+ id: J,
128
+ ref: y,
129
+ type: "button",
130
+ className: "ui-datepicker-input",
131
+ "aria-haspopup": "dialog",
132
+ "aria-expanded": i,
133
+ onClick: () => {
134
+ g((e) => !e), u(!1);
135
+ },
136
+ children: b ?? H
137
+ }
138
+ ),
139
+ i && x && /* @__PURE__ */ o(me, { children: /* @__PURE__ */ o(
140
+ "div",
141
+ {
142
+ ref: L,
143
+ className: "ui-datepicker-popover",
144
+ style: {
145
+ position: "fixed",
146
+ top: x.top,
147
+ left: x.left
148
+ },
149
+ children: /* @__PURE__ */ f("div", { className: "ui-datepicker-panel minimal", children: [
150
+ /* @__PURE__ */ f("div", { className: "ui-header-row", children: [
151
+ /* @__PURE__ */ o(
152
+ "button",
153
+ {
154
+ className: "ui-arrow",
155
+ "aria-label": "Previous month",
156
+ onClick: () => d((e) => M(e, -1)),
157
+ children: "‹"
158
+ }
159
+ ),
160
+ /* @__PURE__ */ f(
161
+ "button",
162
+ {
163
+ className: "ui-header-center",
164
+ onClick: () => u((e) => !e),
165
+ "aria-expanded": F,
166
+ children: [
167
+ B,
168
+ " ",
169
+ K
170
+ ]
171
+ }
172
+ ),
173
+ /* @__PURE__ */ o(
174
+ "button",
175
+ {
176
+ className: "ui-arrow",
177
+ "aria-label": "Next month",
178
+ onClick: () => d((e) => M(e, 1)),
179
+ children: "›"
180
+ }
181
+ )
182
+ ] }),
183
+ F && /* @__PURE__ */ f("div", { className: "ui-ym-panel", children: [
184
+ /* @__PURE__ */ o("div", { className: "ui-year-grid", children: re.map((e) => {
185
+ const t = e === a.getFullYear();
186
+ return /* @__PURE__ */ o(
187
+ "button",
188
+ {
189
+ className: `ui-year-item ${t ? "selected" : ""}`,
190
+ onClick: () => le(e),
191
+ children: e
192
+ },
193
+ e
194
+ );
195
+ }) }),
196
+ /* @__PURE__ */ o("div", { className: "ui-month-grid", children: ae.map((e, t) => {
197
+ const r = se(
198
+ a.getFullYear(),
199
+ t
200
+ ), l = t === a.getMonth();
201
+ return /* @__PURE__ */ o(
202
+ "button",
203
+ {
204
+ className: `ui-month-item ${r ? "disabled" : ""} ${l ? "selected" : ""}`,
205
+ disabled: r ? !0 : void 0,
206
+ onClick: () => !r && oe(t),
207
+ children: e
208
+ },
209
+ t
210
+ );
211
+ }) })
212
+ ] }),
213
+ !F && /* @__PURE__ */ f(
214
+ "div",
215
+ {
216
+ className: "ui-calendar minimal",
217
+ role: "grid",
218
+ "aria-label": `${B} ${K}`,
219
+ children: [
220
+ /* @__PURE__ */ o("div", { className: "ui-weekdays", children: te.map((e, t) => /* @__PURE__ */ o("div", { className: "ui-weekday", children: e }, t)) }),
221
+ /* @__PURE__ */ o("div", { className: "ui-days-grid", children: m.map((e, t) => {
222
+ if (e === null)
223
+ return /* @__PURE__ */ o("div", { className: "ui-day-empty" }, t);
224
+ const r = new Date(
225
+ a.getFullYear(),
226
+ a.getMonth(),
227
+ e
228
+ ), l = q(r), s = E(r), c = b === l, T = `${a.getFullYear()}-${a.getMonth()}-${e}`;
229
+ return /* @__PURE__ */ o(
230
+ "button",
231
+ {
232
+ ref: (C) => {
233
+ O.current[T] = C;
234
+ },
235
+ className: `ui-day ${c ? "selected" : ""}`,
236
+ "aria-selected": c || void 0,
237
+ onClick: () => !s && j(e),
238
+ onKeyDown: (C) => ce(C, e),
239
+ disabled: s ? !0 : void 0,
240
+ children: e
241
+ },
242
+ T
243
+ );
244
+ }) })
245
+ ]
246
+ }
247
+ ),
248
+ /* @__PURE__ */ o("div", { className: "ui-footer", children: /* @__PURE__ */ o(
249
+ "button",
250
+ {
251
+ onClick: () => {
252
+ g(!1), u(!1);
253
+ },
254
+ children: "Close"
255
+ }
256
+ ) })
257
+ ] })
258
+ }
259
+ ) })
260
+ ] });
261
+ }
262
+ export {
263
+ be as DatePicker
264
+ };
265
+ //# sourceMappingURL=DatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.js","sources":["../../../../src/components/datepicker/DatePicker.tsx"],"sourcesContent":["// DatePicker.tsx\r\n// Final Version — Minimal, Elegant, Inline Year + Month Selector\r\n// Calendar hides during year/month selection. No dependencies. Zero warnings.\r\n\r\nimport { useState, useRef, useEffect, KeyboardEvent, useMemo } from 'react';\r\nimport './DatePicker.css';\r\nimport { Portal, onClickOutside, restoreFocus } from '../../utils/index';\r\n\r\n/* ------------------------------------------\r\n Helpers\r\n------------------------------------------- */\r\n\r\nconst pad = (n: number) => (n < 10 ? `0${n}` : `${n}`);\r\nconst toISO = (d: Date) =>\r\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\r\n\r\nfunction fromISO(s?: string | null): Date | null {\r\n if (!s) return null;\r\n const [y, m, d] = s.split('-').map(Number);\r\n const dt = new Date(y, m - 1, d);\r\n return Number.isNaN(dt.getTime()) ? null : dt;\r\n}\r\n\r\nconst startOfMonth = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\r\nconst addMonths = (d: Date, n: number) =>\r\n new Date(d.getFullYear(), d.getMonth() + n, 1);\r\nconst daysInMonth = (d: Date) =>\r\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\r\n\r\n/* ------------------------------------------\r\n Component Props\r\n------------------------------------------- */\r\n\r\nexport interface DatePickerProps {\r\n value?: string; // YYYY-MM-DD\r\n defaultValue?: string;\r\n onChange?: (v: string) => void;\r\n minDate?: string;\r\n maxDate?: string;\r\n placeholder?: string;\r\n name?: string;\r\n locale?: string;\r\n id?: string;\r\n className?: string;\r\n}\r\n\r\n/* ------------------------------------------\r\n Component\r\n------------------------------------------- */\r\n\r\nexport function DatePicker({\r\n value,\r\n defaultValue,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n placeholder = 'Select date',\r\n name,\r\n locale = 'en-US',\r\n id,\r\n className = '',\r\n}: DatePickerProps) {\r\n const controlled = value !== undefined;\r\n const [internal, setInternal] = useState<string | undefined>(defaultValue);\r\n const selected = controlled ? value : internal;\r\n const selectedDate = fromISO(selected) ?? new Date();\r\n\r\n const [visible, setVisible] = useState<Date>(startOfMonth(selectedDate));\r\n const [open, setOpen] = useState(false);\r\n const [showYMM, setShowYMM] = useState(false);\r\n\r\n const triggerRef = useRef<HTMLButtonElement | null>(null);\r\n const popRef = useRef<HTMLDivElement | null>(null);\r\n const gridDayRefs = useRef<Record<string, HTMLButtonElement | null>>({});\r\n\r\n /* ------------------------------------------\r\n Min/Max handling\r\n ------------------------------------------- */\r\n\r\n const minDt = fromISO(minDate) ?? undefined;\r\n const maxDt = fromISO(maxDate) ?? undefined;\r\n\r\n const isDisabledDate = (d: Date): boolean => {\r\n if (minDt && d < minDt) return true;\r\n if (maxDt && d > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ------------------------------------------\r\n Click outside\r\n ------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n return onClickOutside(popRef, () => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n });\r\n }, [open]);\r\n\r\n /* ------------------------------------------\r\n Restore focus when closing\r\n ------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const t = triggerRef.current;\r\n return () => {\r\n restoreFocus(t ?? null);\r\n setShowYMM(false);\r\n };\r\n }, [open]);\r\n\r\n /* ------------------------------------------\r\n Positioning\r\n ------------------------------------------- */\r\n\r\n const [pos, setPos] = useState<{ top: number; left: number } | null>(null);\r\n\r\n useEffect(() => {\r\n if (!open || !triggerRef.current) return;\r\n const r = triggerRef.current.getBoundingClientRect();\r\n setPos({ top: r.bottom + 8, left: r.left });\r\n }, [open, visible]);\r\n\r\n /* ------------------------------------------\r\n Calendar Grid\r\n ------------------------------------------- */\r\n const grid = useMemo(() => {\r\n const first = startOfMonth(visible);\r\n const startDow = first.getDay();\r\n const totalDays = daysInMonth(visible);\r\n\r\n const cells: (number | null)[] = [];\r\n\r\n for (let i = 0; i < startDow; i++) cells.push(null);\r\n for (let d = 1; d <= totalDays; d++) cells.push(d);\r\n while (cells.length % 7 !== 0) cells.push(null);\r\n\r\n return cells;\r\n }, [visible]);\r\n\r\n const weekdays = useMemo(\r\n () =>\r\n Array.from({ length: 7 }).map((_, i) =>\r\n new Date(2020, 5, 7 + i).toLocaleDateString(locale, {\r\n weekday: 'short',\r\n })\r\n ),\r\n [locale]\r\n );\r\n\r\n /* ------------------------------------------\r\n Year & Month Overlay Grids\r\n ------------------------------------------- */\r\n\r\n const visibleYear = visible.getFullYear();\r\n const YEAR_SPAN = 100;\r\n const yearStart = visibleYear - YEAR_SPAN;\r\n\r\n const years = useMemo(\r\n () =>\r\n Array.from({ length: YEAR_SPAN * 2 + 1 }).map((_, i) => yearStart + i),\r\n [yearStart]\r\n );\r\n\r\n const months = useMemo(\r\n () =>\r\n Array.from({ length: 12 }).map((_, i) =>\r\n new Date(2020, i, 1).toLocaleDateString(locale, { month: 'short' })\r\n ),\r\n [locale]\r\n );\r\n\r\n const isMonthDisabled = (year: number, month: number): boolean => {\r\n const start = new Date(year, month, 1);\r\n const end = new Date(year, month, daysInMonth(start));\r\n if (minDt && end < minDt) return true;\r\n if (maxDt && start > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ------------------------------------------\r\n Commit selections\r\n ------------------------------------------- */\r\n\r\n const commitDay = (d: number) => {\r\n const dt = new Date(visible.getFullYear(), visible.getMonth(), d);\r\n if (isDisabledDate(dt)) return;\r\n\r\n const iso = toISO(dt);\r\n if (!controlled) setInternal(iso);\r\n onChange?.(iso);\r\n\r\n setOpen(false);\r\n setShowYMM(false);\r\n };\r\n\r\n const commitMonth = (month: number) => {\r\n setVisible(new Date(visible.getFullYear(), month, 1));\r\n setShowYMM(false); // close overlay\r\n };\r\n\r\n const commitYear = (year: number) => {\r\n setVisible(new Date(year, visible.getMonth(), 1));\r\n // leave overlay open for month selection\r\n };\r\n\r\n /* ------------------------------------------\r\n Keyboard navigation for days\r\n ------------------------------------------- */\r\n\r\n const focusDayByIndex = (idx: number) => {\r\n if (idx < 0 || idx >= grid.length) return;\r\n const day = grid[idx];\r\n if (!day) return;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${day}`;\r\n gridDayRefs.current[key]?.focus();\r\n };\r\n\r\n const onDayKey = (e: KeyboardEvent<HTMLButtonElement>, day: number) => {\r\n const idx = grid.findIndex((c) => c === day);\r\n if (idx === -1) return;\r\n\r\n const cols = 7;\r\n let nextIdx: number | null = null;\r\n\r\n switch (e.key) {\r\n case 'ArrowRight':\r\n nextIdx = idx + 1;\r\n break;\r\n case 'ArrowLeft':\r\n nextIdx = idx - 1;\r\n break;\r\n case 'ArrowDown':\r\n nextIdx = idx + cols;\r\n break;\r\n case 'ArrowUp':\r\n nextIdx = idx - cols;\r\n break;\r\n case 'Enter':\r\n case ' ':\r\n e.preventDefault();\r\n commitDay(day);\r\n return;\r\n case 'PageUp':\r\n setVisible((v) => addMonths(v, -1));\r\n return;\r\n case 'PageDown':\r\n setVisible((v) => addMonths(v, 1));\r\n return;\r\n case 'Escape':\r\n setOpen(false);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n if (nextIdx === null) return;\r\n if (nextIdx < 0 || nextIdx >= grid.length) return;\r\n\r\n if (grid[nextIdx] != null) focusDayByIndex(nextIdx);\r\n };\r\n\r\n /* ------------------------------------------\r\n Labels\r\n ------------------------------------------- */\r\n\r\n const headerMonthLabel = visible.toLocaleDateString(locale, {\r\n month: 'long',\r\n });\r\n const headerYearLabel = visible.getFullYear();\r\n\r\n /* ------------------------------------------\r\n Render\r\n ------------------------------------------- */\r\n\r\n return (\r\n <div className={`ui-datepicker minimal ${className}`}>\r\n {name && <input type=\"hidden\" name={name} value={selected ?? ''} />}\r\n\r\n <button\r\n id={id}\r\n ref={triggerRef}\r\n type=\"button\"\r\n className=\"ui-datepicker-input\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n onClick={() => {\r\n setOpen((s) => !s);\r\n setShowYMM(false);\r\n }}\r\n >\r\n {selected ?? placeholder}\r\n </button>\r\n\r\n {open && pos && (\r\n <Portal>\r\n <div\r\n ref={popRef}\r\n className=\"ui-datepicker-popover\"\r\n style={{\r\n position: 'fixed',\r\n top: pos.top,\r\n left: pos.left,\r\n }}\r\n >\r\n <div className=\"ui-datepicker-panel minimal\">\r\n {/* Header */}\r\n <div className=\"ui-header-row\">\r\n <button\r\n className=\"ui-arrow\"\r\n aria-label=\"Previous month\"\r\n onClick={() => setVisible((v) => addMonths(v, -1))}\r\n >\r\n ‹\r\n </button>\r\n\r\n <button\r\n className=\"ui-header-center\"\r\n onClick={() => setShowYMM((s) => !s)}\r\n aria-expanded={showYMM}\r\n >\r\n {headerMonthLabel} {headerYearLabel}\r\n </button>\r\n\r\n <button\r\n className=\"ui-arrow\"\r\n aria-label=\"Next month\"\r\n onClick={() => setVisible((v) => addMonths(v, 1))}\r\n >\r\n ›\r\n </button>\r\n </div>\r\n\r\n {/* Year + Month Selector */}\r\n {showYMM && (\r\n <div className=\"ui-ym-panel\">\r\n <div className=\"ui-year-grid\">\r\n {years.map((y) => {\r\n const sel = y === visible.getFullYear();\r\n return (\r\n <button\r\n key={y}\r\n className={`ui-year-item ${sel ? 'selected' : ''}`}\r\n onClick={() => commitYear(y)}\r\n >\r\n {y}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"ui-month-grid\">\r\n {months.map((label, i) => {\r\n const disabled = isMonthDisabled(\r\n visible.getFullYear(),\r\n i\r\n );\r\n const sel = i === visible.getMonth();\r\n\r\n return (\r\n <button\r\n key={i}\r\n className={`ui-month-item ${\r\n disabled ? 'disabled' : ''\r\n } ${sel ? 'selected' : ''}`}\r\n disabled={disabled ? true : undefined}\r\n onClick={() => !disabled && commitMonth(i)}\r\n >\r\n {label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Calendar ONLY when overlay hidden */}\r\n {!showYMM && (\r\n <div\r\n className=\"ui-calendar minimal\"\r\n role=\"grid\"\r\n aria-label={`${headerMonthLabel} ${headerYearLabel}`}\r\n >\r\n <div className=\"ui-weekdays\">\r\n {weekdays.map((w, i) => (\r\n <div key={i} className=\"ui-weekday\">\r\n {w}\r\n </div>\r\n ))}\r\n </div>\r\n\r\n <div className=\"ui-days-grid\">\r\n {grid.map((cell, idx) => {\r\n if (cell === null)\r\n return <div key={idx} className=\"ui-day-empty\" />;\r\n\r\n const dt = new Date(\r\n visible.getFullYear(),\r\n visible.getMonth(),\r\n cell\r\n );\r\n const iso = toISO(dt);\r\n const disabled = isDisabledDate(dt);\r\n const sel = selected === iso;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${cell}`;\r\n\r\n return (\r\n <button\r\n key={key}\r\n ref={(el) => {\r\n gridDayRefs.current[key] = el;\r\n }}\r\n className={`ui-day ${sel ? 'selected' : ''}`}\r\n aria-selected={sel || undefined}\r\n onClick={() => !disabled && commitDay(cell)}\r\n onKeyDown={(e) => onDayKey(e, cell)}\r\n disabled={disabled ? true : undefined}\r\n >\r\n {cell}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"ui-footer\">\r\n <button\r\n onClick={() => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </Portal>\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["pad","toISO","d","fromISO","s","y","m","dt","startOfMonth","addMonths","n","daysInMonth","DatePicker","value","defaultValue","onChange","minDate","maxDate","placeholder","name","locale","id","className","controlled","internal","setInternal","useState","selected","selectedDate","visible","setVisible","open","setOpen","showYMM","setShowYMM","triggerRef","useRef","popRef","gridDayRefs","minDt","maxDt","isDisabledDate","useEffect","onClickOutside","t","restoreFocus","pos","setPos","r","grid","useMemo","startDow","totalDays","cells","i","weekdays","_","visibleYear","YEAR_SPAN","yearStart","years","months","isMonthDisabled","year","month","start","end","commitDay","iso","commitMonth","commitYear","focusDayByIndex","idx","day","key","onDayKey","cols","nextIdx","v","headerMonthLabel","headerYearLabel","jsxs","jsx","Portal","sel","label","disabled","w","cell","el","e"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react");;/* empty css */const je=require("../../utils/onclickoutside/onClickOutside.cjs"),ke=require("../../utils/restorefocus/restoreFocus.cjs"),Ne=require("../../utils/portal/portal.cjs"),Z=o=>o<10?`0${o}`:`${o}`,D=o=>`${o.getFullYear()}-${Z(o.getMonth()+1)}-${Z(o.getDate())}`;function C(o){if(!o)return null;const[v,w,P]=o.split("-").map(Number),N=new Date(v,w-1,P);return Number.isNaN(N.getTime())?null:N}const ee=o=>o||null,F=o=>new Date(o.getFullYear(),o.getMonth(),1),E=(o,v)=>new Date(o.getFullYear(),o.getMonth()+v,1),te=o=>new Date(o.getFullYear(),o.getMonth()+1,0).getDate();function Me({value:o,defaultValue:v,onChange:w,minDate:P,maxDate:N,placeholder:ne="Pick range",locale:x="en-US",id:re,className:se="",nameFrom:q,nameTo:L}){const M=o!==void 0,[oe,_]=a.useState(v),c=M?o||{}:oe||{},g=C(c.from),p=C(c.to),ae=F(g??p??new Date),[i,h]=a.useState(ae),[u,d]=a.useState(!1),[U,f]=a.useState(!1),[T,K]=a.useState("from"),S=a.useRef(null),V=a.useRef(null),z=a.useRef({}),$=C(P),R=C(N),B=e=>!!($&&e<$||R&&e>R),[b,G]=a.useState(null),[y,A]=a.useState(null),[Y,H]=a.useState(!1),ie=e=>{if(!Y||!b||!y)return!1;const t=e.getTime(),n=b.getTime(),r=y.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)};a.useEffect(()=>{if(u)return je.onClickOutside(V,()=>{d(!1),f(!1)})},[u]),a.useEffect(()=>{if(!u)return;const e=S.current;return()=>ke.restoreFocus(e)},[u]);const[I,le]=a.useState(null);a.useEffect(()=>{if(!u||!S.current)return;const e=S.current.getBoundingClientRect();le({top:e.bottom+8,left:e.left})},[u,i]);const j=a.useMemo(()=>{const t=F(i).getDay(),n=te(i),r=[];for(let l=0;l<t;l++)r.push(null);for(let l=1;l<=n;l++)r.push(l);for(;r.length%7!==0;)r.push(null);return r},[i]),ce=a.useMemo(()=>Array.from({length:7}).map((e,t)=>new Date(2020,5,7+t).toLocaleDateString(x,{weekday:"short"})),[x]),ue=i.getFullYear(),J=100,Q=ue-J,de=a.useMemo(()=>Array.from({length:J*2+1}).map((e,t)=>Q+t),[Q]),fe=a.useMemo(()=>Array.from({length:12}).map((e,t)=>new Date(2020,t,1).toLocaleDateString(x,{month:"short"})),[x]),me=(e,t)=>{const n=new Date(e,t,1),r=new Date(e,t,te(n));return!!($&&r<$||R&&n>R)},ge=(e,t)=>{if(!e&&!t)return{from:void 0,to:void 0};if(!e)return{from:void 0,to:t?D(t):void 0};if(!t)return{from:D(e),to:void 0};const n=e.getTime(),r=t.getTime();return n<=r?{from:D(e),to:D(t)}:{from:D(t),to:D(e)}},O=a.useCallback((e,t)=>{const n=ge(e,t);M||_(n),w?.(n)},[w,M]),W=e=>{const t=new Date(i.getFullYear(),i.getMonth(),e);if(B(t))return;let n=g,r=p;T==="from"?(n=t,r&&t>r&&(r=null)):(r=t,n&&t<n&&(n=t,r=null)),O(ee(n),ee(r)),n&&r&&(d(!1),f(!1))};a.useEffect(()=>{const e=()=>{if(Y){if(H(!1),b&&y){const t=b,n=y,r=t<=n?t:n,l=t<=n?n:t;O(r,l),d(!1),f(!1)}G(null),A(null)}};return window.addEventListener("mouseup",e),()=>window.removeEventListener("mouseup",e)},[Y,b,y,O]);const pe=e=>!g||!p?!1:e>g&&e<p,he=e=>g&&e.getTime()===g.getTime(),De=e=>p&&e.getTime()===p.getTime(),ve=e=>{if(e<0||e>=j.length)return;const t=j[e];if(!t)return;const n=`${i.getFullYear()}-${i.getMonth()}-${t}`;z.current[n]?.focus()},we=(e,t)=>{const n=j.findIndex(m=>m===t);if(n===-1)return;const r=7;let l=null;switch(e.key){case"ArrowRight":l=n+1;break;case"ArrowLeft":l=n-1;break;case"ArrowDown":l=n+r;break;case"ArrowUp":l=n-r;break;case"Enter":case" ":e.preventDefault(),W(t);return;case"PageUp":h(m=>E(m,-1));return;case"PageDown":h(m=>E(m,1));return;case"Escape":d(!1);return;default:return}e.preventDefault(),l!=null&&j[l]!=null&&ve(l)},xe=()=>!c.from&&!c.to?ne:c.from&&!c.to?`${c.from} → `:!c.from&&c.to?` → ${c.to}`:`${c.from} → ${c.to}`;return s.jsxs("div",{className:`ui-daterange-picker ${se}`,children:[q&&s.jsx("input",{type:"hidden",name:q,value:c.from??""}),L&&s.jsx("input",{type:"hidden",name:L,value:c.to??""}),s.jsx("button",{id:re,ref:S,type:"button",className:"drp-trigger","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>{d(e=>!e),f(!1)},children:xe()}),s.jsxs("div",{className:"drp-actions",children:[s.jsx("button",{className:`drp-part ${T==="from"?"active":""}`,onClick:()=>K("from"),children:"From"}),s.jsx("button",{className:`drp-part ${T==="to"?"active":""}`,onClick:()=>K("to"),children:"To"})]}),u&&I&&s.jsx(Ne.Portal,{children:s.jsx("div",{ref:V,className:"drp-popover",style:{position:"fixed",top:I.top,left:I.left},children:s.jsxs("div",{className:"drp-panel",children:[s.jsxs("div",{className:"drp-header",children:[s.jsx("button",{className:"drp-arrow",onClick:()=>h(e=>E(e,-1)),children:"‹"}),s.jsxs("button",{className:"drp-title",onClick:()=>f(e=>!e),children:[i.toLocaleDateString(x,{month:"long"})," ",i.getFullYear()]}),s.jsx("button",{className:"drp-arrow",onClick:()=>h(e=>E(e,1)),children:"›"})]}),U&&s.jsxs("div",{className:"drp-ym",children:[s.jsx("div",{className:"drp-year-grid",children:de.map(e=>s.jsx("button",{className:`drp-year ${e===i.getFullYear()?"selected":""}`,onClick:()=>h(F(new Date(e,i.getMonth(),1))),children:e},e))}),s.jsx("div",{className:"drp-month-grid",children:fe.map((e,t)=>{const n=me(i.getFullYear(),t);return s.jsx("button",{className:`drp-month ${n?"disabled":""} ${t===i.getMonth()?"selected":""}`,disabled:n?!0:void 0,onClick:()=>!n&&h(F(new Date(i.getFullYear(),t,1))),children:e},t)})})]}),!U&&s.jsxs("div",{className:"drp-calendar",children:[s.jsx("div",{className:"drp-weekdays",children:ce.map((e,t)=>s.jsx("div",{className:"drp-weekday",children:e},t))}),s.jsx("div",{className:"drp-days",children:j.map((e,t)=>{if(e===null)return s.jsx("div",{className:"drp-day-empty"},t);const n=new Date(i.getFullYear(),i.getMonth(),e),r=B(n),l=he(n),m=De(n),be=pe(n),ye=ie(n),X=`${i.getFullYear()}-${i.getMonth()}-${e}`;return s.jsx("button",{ref:k=>{z.current[X]=k},disabled:r?!0:void 0,className:["drp-day",l?"start":"",m?"end":"",be?"between":"",ye?"dragging":"",r?"disabled":""].join(" "),onClick:()=>!r&&W(e),onKeyDown:k=>we(k,e),onMouseDown:k=>{r||(k.preventDefault(),G(n),A(n),H(!0))},onMouseEnter:()=>{!Y||r||A(n)},children:e},X)})})]}),s.jsxs("div",{className:"drp-footer",children:[s.jsx("button",{className:"drp-clear",onClick:()=>{const e={from:void 0,to:void 0};M||_(e),w?.(e),d(!1),f(!1)},children:"Clear"}),s.jsx("button",{className:"drp-close",onClick:()=>{d(!1),f(!1)},children:"Close"})]})]})})})]})}exports.DateRangePicker=Me;
2
+ //# sourceMappingURL=DateRangePicker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangePicker.cjs","sources":["../../../../src/components/daterangepicker/DateRangePicker.tsx"],"sourcesContent":["// DateRangePicker.tsx\r\n// Fully compliant, theme-aware, drag-select range picker\r\n// Matches your DatePicker UX exactly.\r\n\r\n// DateRangePicker.tsx — Final, Clean, Fully-Compliant Version\r\n\r\nimport {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n KeyboardEvent,\r\n} from 'react';\r\nimport './DateRangePicker.css';\r\nimport { Portal, onClickOutside, restoreFocus } from '../../utils/index';\r\n\r\n/* ----------------------------------------------------\r\n Helpers\r\n---------------------------------------------------- */\r\n\r\nconst pad = (n: number) => (n < 10 ? `0${n}` : `${n}`);\r\nconst toISO = (d: Date) =>\r\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\r\n\r\nfunction fromISO(s?: string | null): Date | null {\r\n if (!s) return null;\r\n const [y, m, d] = s.split('-').map(Number);\r\n const dt = new Date(y, m - 1, d);\r\n return Number.isNaN(dt.getTime()) ? null : dt;\r\n}\r\n\r\nconst asDate = (v: Date | null | undefined): Date | null => (v ? v : null);\r\n\r\nconst startOfMonth = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\r\nconst addMonths = (d: Date, n: number) =>\r\n new Date(d.getFullYear(), d.getMonth() + n, 1);\r\nconst daysInMonth = (d: Date) =>\r\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\r\n\r\n/* ----------------------------------------------------\r\n Types\r\n---------------------------------------------------- */\r\n\r\nexport interface DateRange {\r\n from?: string;\r\n to?: string;\r\n}\r\n\r\nexport interface DateRangePickerProps {\r\n value?: DateRange;\r\n defaultValue?: DateRange;\r\n onChange?: (r: DateRange) => void;\r\n\r\n minDate?: string;\r\n maxDate?: string;\r\n\r\n placeholder?: string;\r\n locale?: string;\r\n\r\n id?: string;\r\n className?: string;\r\n\r\n nameFrom?: string;\r\n nameTo?: string;\r\n}\r\n\r\n/* ----------------------------------------------------\r\n Component\r\n---------------------------------------------------- */\r\n\r\nexport function DateRangePicker({\r\n value,\r\n defaultValue,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n placeholder = 'Pick range',\r\n locale = 'en-US',\r\n id,\r\n className = '',\r\n nameFrom,\r\n nameTo,\r\n}: DateRangePickerProps) {\r\n const controlled = value !== undefined;\r\n const [internal, setInternal] = useState<DateRange | undefined>(defaultValue);\r\n const range: DateRange = controlled ? value || {} : internal || {};\r\n\r\n const fromDate = fromISO(range.from);\r\n const toDate = fromISO(range.to);\r\n\r\n const today = new Date();\r\n const initialVisible = startOfMonth(fromDate ?? toDate ?? today);\r\n\r\n const [visible, setVisible] = useState<Date>(initialVisible);\r\n const [open, setOpen] = useState(false);\r\n const [showYMM, setShowYMM] = useState(false);\r\n\r\n const [activePart, setActivePart] = useState<'from' | 'to'>('from');\r\n\r\n const triggerRef = useRef<HTMLButtonElement | null>(null);\r\n const popRef = useRef<HTMLDivElement | null>(null);\r\n const dayRefs = useRef<Record<string, HTMLButtonElement | null>>({});\r\n\r\n /* ----------------------------------------------------\r\n Min/max\r\n ---------------------------------------------------- */\r\n\r\n const minDt = fromISO(minDate);\r\n const maxDt = fromISO(maxDate);\r\n\r\n const isDisabled = (d: Date) => {\r\n if (minDt && d < minDt) return true;\r\n if (maxDt && d > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Drag select\r\n ---------------------------------------------------- */\r\n\r\n const [dragStart, setDragStart] = useState<Date | null>(null);\r\n const [dragEnd, setDragEnd] = useState<Date | null>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n const inDragRange = (d: Date) => {\r\n if (!isDragging || !dragStart || !dragEnd) return false;\r\n const t = d.getTime();\r\n const a = dragStart.getTime();\r\n const b = dragEnd.getTime();\r\n return t >= Math.min(a, b) && t <= Math.max(a, b);\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Click outside to close\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n return onClickOutside(popRef, () => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n });\r\n }, [open]);\r\n\r\n /* ----------------------------------------------------\r\n Restore focus\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const t = triggerRef.current;\r\n return () => restoreFocus(t);\r\n }, [open]);\r\n\r\n /* ----------------------------------------------------\r\n Popover position\r\n ---------------------------------------------------- */\r\n\r\n const [pos, setPos] = useState<{ top: number; left: number } | null>(null);\r\n\r\n useEffect(() => {\r\n if (!open || !triggerRef.current) return;\r\n const r = triggerRef.current.getBoundingClientRect();\r\n setPos({ top: r.bottom + 8, left: r.left });\r\n }, [open, visible]);\r\n\r\n /* ----------------------------------------------------\r\n Grid computation\r\n ---------------------------------------------------- */\r\n\r\n const grid = useMemo(() => {\r\n const first = startOfMonth(visible);\r\n const startDow = first.getDay();\r\n const total = daysInMonth(visible);\r\n\r\n const g: (number | null)[] = [];\r\n for (let i = 0; i < startDow; i++) g.push(null);\r\n for (let d = 1; d <= total; d++) g.push(d);\r\n while (g.length % 7 !== 0) g.push(null);\r\n return g;\r\n }, [visible]);\r\n\r\n const weekdays = useMemo(\r\n () =>\r\n Array.from({ length: 7 }).map((_, i) =>\r\n new Date(2020, 5, 7 + i).toLocaleDateString(locale, {\r\n weekday: 'short',\r\n })\r\n ),\r\n [locale]\r\n );\r\n\r\n /* ----------------------------------------------------\r\n Month/year panel\r\n ---------------------------------------------------- */\r\n\r\n const visibleYear = visible.getFullYear();\r\n const YEAR_SPAN = 100;\r\n const yearStart = visibleYear - YEAR_SPAN;\r\n\r\n const years = useMemo(\r\n () =>\r\n Array.from({ length: YEAR_SPAN * 2 + 1 }).map((_, i) => yearStart + i),\r\n [yearStart]\r\n );\r\n\r\n const months = useMemo(\r\n () =>\r\n Array.from({ length: 12 }).map((_, i) =>\r\n new Date(2020, i, 1).toLocaleDateString(locale, { month: 'short' })\r\n ),\r\n [locale]\r\n );\r\n\r\n const isMonthDisabled = (y: number, m: number) => {\r\n const s = new Date(y, m, 1);\r\n const e = new Date(y, m, daysInMonth(s));\r\n if (minDt && e < minDt) return true;\r\n if (maxDt && s > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Normalize + commit range\r\n ---------------------------------------------------- */\r\n\r\n const normalizeRange = (a: Date | null, b: Date | null) => {\r\n if (!a && !b) return { from: undefined, to: undefined };\r\n if (!a) return { from: undefined, to: b ? toISO(b) : undefined };\r\n if (!b) return { from: toISO(a), to: undefined };\r\n\r\n const ta = a.getTime();\r\n const tb = b.getTime();\r\n\r\n return ta <= tb\r\n ? { from: toISO(a), to: toISO(b) }\r\n : { from: toISO(b), to: toISO(a) };\r\n };\r\n\r\n const commitRange = useCallback(\r\n (a: Date | null, b: Date | null) => {\r\n const out = normalizeRange(a, b);\r\n if (!controlled) setInternal(out);\r\n onChange?.(out);\r\n },\r\n [onChange, controlled]\r\n );\r\n\r\n /* ----------------------------------------------------\r\n Clicking days\r\n ---------------------------------------------------- */\r\n\r\n const pickDay = (d: number) => {\r\n const dt = new Date(visible.getFullYear(), visible.getMonth(), d);\r\n if (isDisabled(dt)) return;\r\n\r\n let s = fromDate;\r\n let e = toDate;\r\n\r\n if (activePart === 'from') {\r\n s = dt;\r\n if (e && dt > e) e = null;\r\n } else {\r\n e = dt;\r\n if (s && dt < s) {\r\n s = dt;\r\n e = null;\r\n }\r\n }\r\n\r\n commitRange(asDate(s), asDate(e));\r\n\r\n if (s && e) {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Drag end (global)\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n const stopDrag = () => {\r\n if (!isDragging) return;\r\n\r\n setIsDragging(false);\r\n\r\n if (dragStart && dragEnd) {\r\n const a = dragStart;\r\n const b = dragEnd;\r\n const s = a <= b ? a : b;\r\n const e = a <= b ? b : a;\r\n\r\n commitRange(s, e);\r\n setOpen(false);\r\n setShowYMM(false);\r\n }\r\n\r\n setDragStart(null);\r\n setDragEnd(null);\r\n };\r\n\r\n window.addEventListener('mouseup', stopDrag);\r\n return () => window.removeEventListener('mouseup', stopDrag);\r\n }, [isDragging, dragStart, dragEnd, commitRange]);\r\n\r\n /* ----------------------------------------------------\r\n Range flags\r\n ---------------------------------------------------- */\r\n\r\n const inRange = (dt: Date) => {\r\n if (!fromDate || !toDate) return false;\r\n return dt > fromDate && dt < toDate;\r\n };\r\n\r\n const isStart = (dt: Date) => fromDate && dt.getTime() === fromDate.getTime();\r\n const isEnd = (dt: Date) => toDate && dt.getTime() === toDate.getTime();\r\n\r\n /* ----------------------------------------------------\r\n Keyboard nav\r\n ---------------------------------------------------- */\r\n\r\n const focusDay = (idx: number) => {\r\n if (idx < 0 || idx >= grid.length) return;\r\n const d = grid[idx];\r\n if (!d) return;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${d}`;\r\n dayRefs.current[key]?.focus();\r\n };\r\n\r\n const onDayKey = (e: KeyboardEvent<HTMLButtonElement>, day: number) => {\r\n const idx = grid.findIndex((c) => c === day);\r\n if (idx === -1) return;\r\n\r\n const cols = 7;\r\n let nextIdx: number | null = null;\r\n\r\n switch (e.key) {\r\n case 'ArrowRight':\r\n nextIdx = idx + 1;\r\n break;\r\n case 'ArrowLeft':\r\n nextIdx = idx - 1;\r\n break;\r\n case 'ArrowDown':\r\n nextIdx = idx + cols;\r\n break;\r\n case 'ArrowUp':\r\n nextIdx = idx - cols;\r\n break;\r\n case 'Enter':\r\n case ' ':\r\n e.preventDefault();\r\n pickDay(day);\r\n return;\r\n case 'PageUp':\r\n setVisible((v) => addMonths(v, -1));\r\n return;\r\n case 'PageDown':\r\n setVisible((v) => addMonths(v, 1));\r\n return;\r\n case 'Escape':\r\n setOpen(false);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n if (nextIdx != null && grid[nextIdx] != null) focusDay(nextIdx);\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Trigger label\r\n ---------------------------------------------------- */\r\n\r\n const label = (): string => {\r\n if (!range.from && !range.to) return placeholder;\r\n if (range.from && !range.to) return `${range.from} → `;\r\n if (!range.from && range.to) return ` → ${range.to}`;\r\n return `${range.from} → ${range.to}`;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Render\r\n ---------------------------------------------------- */\r\n\r\n return (\r\n <div className={`ui-daterange-picker ${className}`}>\r\n {nameFrom && (\r\n <input type=\"hidden\" name={nameFrom} value={range.from ?? ''} />\r\n )}\r\n {nameTo && <input type=\"hidden\" name={nameTo} value={range.to ?? ''} />}\r\n\r\n <button\r\n id={id}\r\n ref={triggerRef}\r\n type=\"button\"\r\n className=\"drp-trigger\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n onClick={() => {\r\n setOpen((s) => !s);\r\n setShowYMM(false);\r\n }}\r\n >\r\n {label()}\r\n </button>\r\n\r\n <div className=\"drp-actions\">\r\n <button\r\n className={`drp-part ${activePart === 'from' ? 'active' : ''}`}\r\n onClick={() => setActivePart('from')}\r\n >\r\n From\r\n </button>\r\n\r\n <button\r\n className={`drp-part ${activePart === 'to' ? 'active' : ''}`}\r\n onClick={() => setActivePart('to')}\r\n >\r\n To\r\n </button>\r\n </div>\r\n\r\n {open && pos && (\r\n <Portal>\r\n <div\r\n ref={popRef}\r\n className=\"drp-popover\"\r\n style={{ position: 'fixed', top: pos.top, left: pos.left }}\r\n >\r\n <div className=\"drp-panel\">\r\n {/* HEADER */}\r\n <div className=\"drp-header\">\r\n <button\r\n className=\"drp-arrow\"\r\n onClick={() => setVisible((v) => addMonths(v, -1))}\r\n >\r\n ‹\r\n </button>\r\n\r\n <button\r\n className=\"drp-title\"\r\n onClick={() => setShowYMM((s) => !s)}\r\n >\r\n {visible.toLocaleDateString(locale, {\r\n month: 'long',\r\n })}{' '}\r\n {visible.getFullYear()}\r\n </button>\r\n\r\n <button\r\n className=\"drp-arrow\"\r\n onClick={() => setVisible((v) => addMonths(v, 1))}\r\n >\r\n ›\r\n </button>\r\n </div>\r\n\r\n {/* YEAR + MONTH PANEL */}\r\n {showYMM && (\r\n <div className=\"drp-ym\">\r\n <div className=\"drp-year-grid\">\r\n {years.map((y) => (\r\n <button\r\n key={y}\r\n className={`drp-year ${\r\n y === visible.getFullYear() ? 'selected' : ''\r\n }`}\r\n onClick={() =>\r\n setVisible(\r\n startOfMonth(new Date(y, visible.getMonth(), 1))\r\n )\r\n }\r\n >\r\n {y}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n <div className=\"drp-month-grid\">\r\n {months.map((ml, i) => {\r\n const disabled = isMonthDisabled(\r\n visible.getFullYear(),\r\n i\r\n );\r\n return (\r\n <button\r\n key={i}\r\n className={`drp-month ${disabled ? 'disabled' : ''} ${\r\n i === visible.getMonth() ? 'selected' : ''\r\n }`}\r\n disabled={disabled ? true : undefined}\r\n onClick={() =>\r\n !disabled &&\r\n setVisible(\r\n startOfMonth(\r\n new Date(visible.getFullYear(), i, 1)\r\n )\r\n )\r\n }\r\n >\r\n {ml}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* CALENDAR */}\r\n {!showYMM && (\r\n <div className=\"drp-calendar\">\r\n <div className=\"drp-weekdays\">\r\n {weekdays.map((w, i) => (\r\n <div key={i} className=\"drp-weekday\">\r\n {w}\r\n </div>\r\n ))}\r\n </div>\r\n\r\n <div className=\"drp-days\">\r\n {grid.map((cell, idx) => {\r\n if (cell === null)\r\n return <div key={idx} className=\"drp-day-empty\" />;\r\n\r\n const dt = new Date(\r\n visible.getFullYear(),\r\n visible.getMonth(),\r\n cell\r\n );\r\n const disabled = isDisabled(dt);\r\n\r\n const start = isStart(dt);\r\n const end = isEnd(dt);\r\n const between = inRange(dt);\r\n const drag = inDragRange(dt);\r\n\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${cell}`;\r\n\r\n return (\r\n <button\r\n key={key}\r\n ref={(el) => {\r\n dayRefs.current[key] = el;\r\n }}\r\n disabled={disabled ? true : undefined}\r\n className={[\r\n 'drp-day',\r\n start ? 'start' : '',\r\n end ? 'end' : '',\r\n between ? 'between' : '',\r\n drag ? 'dragging' : '',\r\n disabled ? 'disabled' : '',\r\n ].join(' ')}\r\n onClick={() => !disabled && pickDay(cell)}\r\n onKeyDown={(e) => onDayKey(e, cell)}\r\n onMouseDown={(e) => {\r\n if (disabled) return;\r\n e.preventDefault();\r\n setDragStart(dt);\r\n setDragEnd(dt);\r\n setIsDragging(true);\r\n }}\r\n onMouseEnter={() => {\r\n if (!isDragging || disabled) return;\r\n setDragEnd(dt);\r\n }}\r\n >\r\n {cell}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* FOOTER */}\r\n <div className=\"drp-footer\">\r\n <button\r\n className=\"drp-clear\"\r\n onClick={() => {\r\n const empty = { from: undefined, to: undefined };\r\n if (!controlled) setInternal(empty);\r\n onChange?.(empty);\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Clear\r\n </button>\r\n\r\n <button\r\n className=\"drp-close\"\r\n onClick={() => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </Portal>\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["pad","n","toISO","d","fromISO","s","y","m","dt","asDate","v","startOfMonth","addMonths","daysInMonth","DateRangePicker","value","defaultValue","onChange","minDate","maxDate","placeholder","locale","id","className","nameFrom","nameTo","controlled","internal","setInternal","useState","range","fromDate","toDate","initialVisible","visible","setVisible","open","setOpen","showYMM","setShowYMM","activePart","setActivePart","triggerRef","useRef","popRef","dayRefs","minDt","maxDt","isDisabled","dragStart","setDragStart","dragEnd","setDragEnd","isDragging","setIsDragging","inDragRange","a","b","useEffect","onClickOutside","t","restoreFocus","pos","setPos","r","grid","useMemo","startDow","total","g","i","weekdays","_","visibleYear","YEAR_SPAN","yearStart","years","months","isMonthDisabled","e","normalizeRange","ta","tb","commitRange","useCallback","out","pickDay","stopDrag","inRange","isStart","isEnd","focusDay","idx","key","onDayKey","day","c","cols","nextIdx","label","jsxs","jsx","Portal","ml","disabled","w","cell","start","end","between","drag","el","empty"],"mappings":"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"}