@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
@@ -1,11 +1,19 @@
1
1
  /**
2
2
  * scrollLock
3
3
  * ----------
4
- * Locks page scrolling while overlays are open.
5
- * Prevents background content movement.
4
+ * Utility to temporarily disable document scrolling.
5
+ * Essential for maintaining context when modals, drawers, or fullscreen overlays are open.
6
+ * Prevents the background content from moving while the user interacts with the overlay.
6
7
  */
7
8
  export declare const scrollLock: {
9
+ /**
10
+ * Locks the page scroll by applying `overflow: hidden` directly to the body's inline style.
11
+ */
8
12
  lock(): void;
13
+ /**
14
+ * Unlocks the page scroll by clearing the inline `overflow` style.
15
+ * This allows the body to fall back to its default state defined in the CSS stylesheets.
16
+ */
9
17
  unlock(): void;
10
18
  };
11
19
  //# sourceMappingURL=scrollLock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollLock.d.ts","sourceRoot":"","sources":["../../../../src/utils/scrolllock/scrollLock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;CAOtB,CAAC"}
1
+ {"version":3,"file":"scrollLock.d.ts","sourceRoot":"","sources":["../../../../src/utils/scrolllock/scrollLock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;YACK,IAAI;IAIZ;;;OAGG;cACO,IAAI;CAGf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export declare const Slottable: {
3
+ ({ children }: {
4
+ children: React.ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ export interface SlotProps extends React.HTMLAttributes<HTMLElement> {
9
+ children?: React.ReactNode;
10
+ }
11
+ export declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
12
+ //# sourceMappingURL=slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../../../src/utils/slot/slot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmE1B,eAAO,MAAM,SAAS;mBAAkB;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;;CAEpE,CAAC;AAgCF,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,IAAI,+EAuCf,CAAC"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * trapFocus
3
3
  * ---------
4
- * WCAG-compliant focus trap for modals, dialogs, menus.
5
- * Prevents keyboard users from escaping the component.
4
+ * A WCAG-compliant focus trap utility for modals, dialogs, and off-canvas menus.
5
+ * Prevents keyboard-only users (and screen readers) from tabbing out of the active
6
+ * component and interacting with background elements.
7
+ *
8
+ * @param container - The DOM element containing the focusable items.
9
+ * @returns A cleanup function to remove the 'keydown' event listener when the container unmounts.
6
10
  */
7
11
  export declare function trapFocus(container: HTMLElement): () => void;
8
12
  //# sourceMappingURL=trapFocus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trapFocus.d.ts","sourceRoot":"","sources":["../../../../src/utils/trapfocus/trapFocus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,WAAW,cAgC/C"}
1
+ {"version":3,"file":"trapFocus.d.ts","sourceRoot":"","sources":["../../../../src/utils/trapfocus/trapFocus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,CAkC5D"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(...o){const t=[];for(const e of o)if(e){if(typeof e=="string"||typeof e=="number")t.push(e.toString());else if(Array.isArray(e)){if(e.length){const n=i(...e);n&&t.push(n)}}else if(typeof e=="object")for(const n in e)e[n]&&t.push(n)}return t.join(" ")}exports.cn=i;
2
+ //# sourceMappingURL=cn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.cjs","sources":["../../../src/utils/cn/cn.ts"],"sourcesContent":["/**\n * Represents a dictionary of class names where the key is the class string\n * and the value is a boolean (or nullish) indicating if it should be applied.\n */\ntype ClassDictionary = Record<string, boolean | undefined | null>;\n\n/**\n * A recursive type representing the valid inputs for the cn utility.\n * Accepts strings, numbers, booleans, null/undefined, dictionaries, or an array of these.\n */\nexport type ClassValue = \n | string \n | number \n | boolean \n | undefined \n | null \n | ClassDictionary \n | ClassValue[]; \n\n/**\n * Conditionally joins class names together into a single string.\n * Evaluates objects for truthy values and recursively flattens nested arrays.\n * * @param inputs - A variadic list of class values to evaluate and merge.\n * @returns A space-separated string of the active class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n const classes: string[] = [];\n\n for (const input of inputs) {\n // 1. Skip falsy values (false, null, undefined, '')\n if (!input) continue;\n\n // 2. Handle flat strings and numbers\n if (typeof input === 'string' || typeof input === 'number') {\n classes.push(input.toString());\n } \n // 3. Handle arrays recursively\n else if (Array.isArray(input)) {\n if (input.length) {\n // Recursive call handles nested arrays (e.g., [['rounded']])\n const inner = cn(...input);\n if (inner) classes.push(inner);\n }\n } \n // 4. Handle object dictionaries\n else if (typeof input === 'object') {\n for (const key in input) {\n // Strict check to satisfy TypeScript\n if (input[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}"],"names":["cn","inputs","classes","input","inner","key"],"mappings":"gFAyBO,SAASA,KAAMC,EAA8B,CAClD,MAAMC,EAAoB,CAAA,EAE1B,UAAWC,KAASF,EAElB,GAAKE,GAGL,GAAI,OAAOA,GAAU,UAAY,OAAOA,GAAU,SAChDD,EAAQ,KAAKC,EAAM,UAAU,UAGtB,MAAM,QAAQA,CAAK,GAC1B,GAAIA,EAAM,OAAQ,CAEhB,MAAMC,EAAQJ,EAAG,GAAGG,CAAK,EACrBC,GAAOF,EAAQ,KAAKE,CAAK,CAC/B,UAGO,OAAOD,GAAU,SACxB,UAAWE,KAAOF,EAEZA,EAAME,CAAG,GACXH,EAAQ,KAAKG,CAAG,EAMxB,OAAOH,EAAQ,KAAK,GAAG,CACzB"}
@@ -0,0 +1,21 @@
1
+ function o(...i) {
2
+ const e = [];
3
+ for (const n of i)
4
+ if (n) {
5
+ if (typeof n == "string" || typeof n == "number")
6
+ e.push(n.toString());
7
+ else if (Array.isArray(n)) {
8
+ if (n.length) {
9
+ const t = o(...n);
10
+ t && e.push(t);
11
+ }
12
+ } else if (typeof n == "object")
13
+ for (const t in n)
14
+ n[t] && e.push(t);
15
+ }
16
+ return e.join(" ");
17
+ }
18
+ export {
19
+ o as cn
20
+ };
21
+ //# sourceMappingURL=cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.js","sources":["../../../src/utils/cn/cn.ts"],"sourcesContent":["/**\n * Represents a dictionary of class names where the key is the class string\n * and the value is a boolean (or nullish) indicating if it should be applied.\n */\ntype ClassDictionary = Record<string, boolean | undefined | null>;\n\n/**\n * A recursive type representing the valid inputs for the cn utility.\n * Accepts strings, numbers, booleans, null/undefined, dictionaries, or an array of these.\n */\nexport type ClassValue = \n | string \n | number \n | boolean \n | undefined \n | null \n | ClassDictionary \n | ClassValue[]; \n\n/**\n * Conditionally joins class names together into a single string.\n * Evaluates objects for truthy values and recursively flattens nested arrays.\n * * @param inputs - A variadic list of class values to evaluate and merge.\n * @returns A space-separated string of the active class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n const classes: string[] = [];\n\n for (const input of inputs) {\n // 1. Skip falsy values (false, null, undefined, '')\n if (!input) continue;\n\n // 2. Handle flat strings and numbers\n if (typeof input === 'string' || typeof input === 'number') {\n classes.push(input.toString());\n } \n // 3. Handle arrays recursively\n else if (Array.isArray(input)) {\n if (input.length) {\n // Recursive call handles nested arrays (e.g., [['rounded']])\n const inner = cn(...input);\n if (inner) classes.push(inner);\n }\n } \n // 4. Handle object dictionaries\n else if (typeof input === 'object') {\n for (const key in input) {\n // Strict check to satisfy TypeScript\n if (input[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}"],"names":["cn","inputs","classes","input","inner","key"],"mappings":"AAyBO,SAASA,KAAMC,GAA8B;AAClD,QAAMC,IAAoB,CAAA;AAE1B,aAAWC,KAASF;AAElB,QAAKE;AAGL,UAAI,OAAOA,KAAU,YAAY,OAAOA,KAAU;AAChD,QAAAD,EAAQ,KAAKC,EAAM,UAAU;AAAA,eAGtB,MAAM,QAAQA,CAAK;AAC1B,YAAIA,EAAM,QAAQ;AAEhB,gBAAMC,IAAQJ,EAAG,GAAGG,CAAK;AACzB,UAAIC,KAAOF,EAAQ,KAAKE,CAAK;AAAA,QAC/B;AAAA,iBAGO,OAAOD,KAAU;AACxB,mBAAWE,KAAOF;AAEhB,UAAIA,EAAME,CAAG,KACXH,EAAQ,KAAKG,CAAG;AAAA;AAMxB,SAAOH,EAAQ,KAAK,GAAG;AACzB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"inertManager.cjs","sources":["../../../src/utils/inertmanager/inertManager.ts"],"sourcesContent":["/**\r\n * inertManager.ts\r\n * ----------------\r\n * Applies true \"modalization\" to the page:\r\n * - disables ALL siblings of the modal overlay\r\n * - prevents keyboard interaction (inert)\r\n * - prevents screen reader access (aria-hidden)\r\n *\r\n * This is REQUIRED for WCAG-level dialog compliance.\r\n */\r\n\r\nexport function applyInertToSiblings(modalElement: HTMLElement) {\r\n const parent = modalElement.parentElement;\r\n if (!parent) return [];\r\n\r\n const affected: HTMLElement[] = [];\r\n\r\n Array.from(parent.children).forEach((child) => {\r\n if (child !== modalElement && child instanceof HTMLElement) {\r\n child.setAttribute('inert', '');\r\n child.setAttribute('aria-hidden', 'true');\r\n affected.push(child);\r\n }\r\n });\r\n\r\n return affected;\r\n}\r\n\r\nexport function removeInertFromSiblings(elements: HTMLElement[]) {\r\n elements.forEach((el) => {\r\n el.removeAttribute('inert');\r\n el.removeAttribute('aria-hidden');\r\n });\r\n}\r\n"],"names":["applyInertToSiblings","modalElement","parent","affected","child","removeInertFromSiblings","elements","el"],"mappings":"gFAWO,SAASA,EAAqBC,EAA2B,CAC9D,MAAMC,EAASD,EAAa,cAC5B,GAAI,CAACC,EAAQ,MAAO,CAAA,EAEpB,MAAMC,EAA0B,CAAA,EAEhC,aAAM,KAAKD,EAAO,QAAQ,EAAE,QAASE,GAAU,CACzCA,IAAUH,GAAgBG,aAAiB,cAC7CA,EAAM,aAAa,QAAS,EAAE,EAC9BA,EAAM,aAAa,cAAe,MAAM,EACxCD,EAAS,KAAKC,CAAK,EAEvB,CAAC,EAEMD,CACT,CAEO,SAASE,EAAwBC,EAAyB,CAC/DA,EAAS,QAASC,GAAO,CACvBA,EAAG,gBAAgB,OAAO,EAC1BA,EAAG,gBAAgB,aAAa,CAClC,CAAC,CACH"}
1
+ {"version":3,"file":"inertManager.cjs","sources":["../../../src/utils/inertmanager/inertManager.ts"],"sourcesContent":["/**\n * inertManager.ts\n * ----------------\n * Applies true \"modalization\" to the page:\n * - disables ALL siblings of the modal overlay\n * - prevents keyboard interaction (inert)\n * - prevents screen reader access (aria-hidden)\n *\n * This is REQUIRED for WCAG-level dialog compliance.\n */\n\n/**\n * Applies `inert` and `aria-hidden` attributes to all sibling elements of the provided modal.\n * This ensures focus is trapped and the rest of the page is hidden from screen readers.\n *\n * @param modalElement - The modal or overlay HTML element whose siblings should be disabled.\n * @returns An array of the HTMLElements that were modified, which is needed for cleanup.\n */\nexport function applyInertToSiblings(modalElement: HTMLElement): HTMLElement[] {\n const parent = modalElement.parentElement;\n if (!parent) return [];\n\n const affected: HTMLElement[] = [];\n\n Array.from(parent.children).forEach((child) => {\n if (child !== modalElement && child instanceof HTMLElement) {\n child.setAttribute('inert', '');\n child.setAttribute('aria-hidden', 'true');\n affected.push(child);\n }\n });\n\n return affected;\n}\n\n/**\n * Restores previously disabled sibling elements to their normal interactive state\n * by removing the `inert` and `aria-hidden` attributes.\n *\n * @param elements - The array of HTMLElements previously modified by `applyInertToSiblings`.\n */\nexport function removeInertFromSiblings(elements: HTMLElement[]): void {\n elements.forEach((el) => {\n el.removeAttribute('inert');\n el.removeAttribute('aria-hidden');\n });\n}"],"names":["applyInertToSiblings","modalElement","parent","affected","child","removeInertFromSiblings","elements","el"],"mappings":"gFAkBO,SAASA,EAAqBC,EAA0C,CAC7E,MAAMC,EAASD,EAAa,cAC5B,GAAI,CAACC,EAAQ,MAAO,CAAA,EAEpB,MAAMC,EAA0B,CAAA,EAEhC,aAAM,KAAKD,EAAO,QAAQ,EAAE,QAASE,GAAU,CACzCA,IAAUH,GAAgBG,aAAiB,cAC7CA,EAAM,aAAa,QAAS,EAAE,EAC9BA,EAAM,aAAa,cAAe,MAAM,EACxCD,EAAS,KAAKC,CAAK,EAEvB,CAAC,EAEMD,CACT,CAQO,SAASE,EAAwBC,EAA+B,CACrEA,EAAS,QAASC,GAAO,CACvBA,EAAG,gBAAgB,OAAO,EAC1BA,EAAG,gBAAgB,aAAa,CAClC,CAAC,CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"inertManager.js","sources":["../../../src/utils/inertmanager/inertManager.ts"],"sourcesContent":["/**\r\n * inertManager.ts\r\n * ----------------\r\n * Applies true \"modalization\" to the page:\r\n * - disables ALL siblings of the modal overlay\r\n * - prevents keyboard interaction (inert)\r\n * - prevents screen reader access (aria-hidden)\r\n *\r\n * This is REQUIRED for WCAG-level dialog compliance.\r\n */\r\n\r\nexport function applyInertToSiblings(modalElement: HTMLElement) {\r\n const parent = modalElement.parentElement;\r\n if (!parent) return [];\r\n\r\n const affected: HTMLElement[] = [];\r\n\r\n Array.from(parent.children).forEach((child) => {\r\n if (child !== modalElement && child instanceof HTMLElement) {\r\n child.setAttribute('inert', '');\r\n child.setAttribute('aria-hidden', 'true');\r\n affected.push(child);\r\n }\r\n });\r\n\r\n return affected;\r\n}\r\n\r\nexport function removeInertFromSiblings(elements: HTMLElement[]) {\r\n elements.forEach((el) => {\r\n el.removeAttribute('inert');\r\n el.removeAttribute('aria-hidden');\r\n });\r\n}\r\n"],"names":["applyInertToSiblings","modalElement","parent","affected","child","removeInertFromSiblings","elements","el"],"mappings":"AAWO,SAASA,EAAqBC,GAA2B;AAC9D,QAAMC,IAASD,EAAa;AAC5B,MAAI,CAACC,EAAQ,QAAO,CAAA;AAEpB,QAAMC,IAA0B,CAAA;AAEhC,eAAM,KAAKD,EAAO,QAAQ,EAAE,QAAQ,CAACE,MAAU;AAC7C,IAAIA,MAAUH,KAAgBG,aAAiB,gBAC7CA,EAAM,aAAa,SAAS,EAAE,GAC9BA,EAAM,aAAa,eAAe,MAAM,GACxCD,EAAS,KAAKC,CAAK;AAAA,EAEvB,CAAC,GAEMD;AACT;AAEO,SAASE,EAAwBC,GAAyB;AAC/D,EAAAA,EAAS,QAAQ,CAACC,MAAO;AACvB,IAAAA,EAAG,gBAAgB,OAAO,GAC1BA,EAAG,gBAAgB,aAAa;AAAA,EAClC,CAAC;AACH;"}
1
+ {"version":3,"file":"inertManager.js","sources":["../../../src/utils/inertmanager/inertManager.ts"],"sourcesContent":["/**\n * inertManager.ts\n * ----------------\n * Applies true \"modalization\" to the page:\n * - disables ALL siblings of the modal overlay\n * - prevents keyboard interaction (inert)\n * - prevents screen reader access (aria-hidden)\n *\n * This is REQUIRED for WCAG-level dialog compliance.\n */\n\n/**\n * Applies `inert` and `aria-hidden` attributes to all sibling elements of the provided modal.\n * This ensures focus is trapped and the rest of the page is hidden from screen readers.\n *\n * @param modalElement - The modal or overlay HTML element whose siblings should be disabled.\n * @returns An array of the HTMLElements that were modified, which is needed for cleanup.\n */\nexport function applyInertToSiblings(modalElement: HTMLElement): HTMLElement[] {\n const parent = modalElement.parentElement;\n if (!parent) return [];\n\n const affected: HTMLElement[] = [];\n\n Array.from(parent.children).forEach((child) => {\n if (child !== modalElement && child instanceof HTMLElement) {\n child.setAttribute('inert', '');\n child.setAttribute('aria-hidden', 'true');\n affected.push(child);\n }\n });\n\n return affected;\n}\n\n/**\n * Restores previously disabled sibling elements to their normal interactive state\n * by removing the `inert` and `aria-hidden` attributes.\n *\n * @param elements - The array of HTMLElements previously modified by `applyInertToSiblings`.\n */\nexport function removeInertFromSiblings(elements: HTMLElement[]): void {\n elements.forEach((el) => {\n el.removeAttribute('inert');\n el.removeAttribute('aria-hidden');\n });\n}"],"names":["applyInertToSiblings","modalElement","parent","affected","child","removeInertFromSiblings","elements","el"],"mappings":"AAkBO,SAASA,EAAqBC,GAA0C;AAC7E,QAAMC,IAASD,EAAa;AAC5B,MAAI,CAACC,EAAQ,QAAO,CAAA;AAEpB,QAAMC,IAA0B,CAAA;AAEhC,eAAM,KAAKD,EAAO,QAAQ,EAAE,QAAQ,CAACE,MAAU;AAC7C,IAAIA,MAAUH,KAAgBG,aAAiB,gBAC7CA,EAAM,aAAa,SAAS,EAAE,GAC9BA,EAAM,aAAa,eAAe,MAAM,GACxCD,EAAS,KAAKC,CAAK;AAAA,EAEvB,CAAC,GAEMD;AACT;AAQO,SAASE,EAAwBC,GAA+B;AACrE,EAAAA,EAAS,QAAQ,CAACC,MAAO;AACvB,IAAAA,EAAG,gBAAgB,OAAO,GAC1BA,EAAG,gBAAgB,aAAa;AAAA,EAClC,CAAC;AACH;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(n,o){function e(r){const t=n.current;t&&(t.contains(r.target)||o())}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}exports.onClickOutside=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function s(t,o){function e(n){(Array.isArray(t)?t:[t]).some(i=>{const r=i.current;return r&&r.contains(n.target)})||o(n)}return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}exports.onClickOutside=s;
2
2
  //# sourceMappingURL=onClickOutside.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"onClickOutside.cjs","sources":["../../../src/utils/onclickoutside/onClickOutside.ts"],"sourcesContent":["/**\r\n * onClickOutside\r\n * ---------------\r\n * Calls `handler` when the user clicks outside the\r\n * referenced element. Used in dropdowns, popovers, etc.\r\n */\r\n\r\n/**\r\n * onClickOutside\r\n * ---------------\r\n * Allows ANY element type (HTMLDivElement, HTMLButtonElement, etc.)\r\n * and supports both RefObject and MutableRefObject.\r\n */\r\n\r\nimport React from 'react';\r\n\r\nexport function onClickOutside<T extends HTMLElement>(\r\n ref: React.RefObject<T | null>,\r\n handler: () => void\r\n) {\r\n function listener(e: MouseEvent) {\r\n const el = ref.current;\r\n if (!el) return;\r\n if (el.contains(e.target as Node)) return;\r\n handler();\r\n }\r\n\r\n document.addEventListener('mousedown', listener);\r\n return () => document.removeEventListener('mousedown', listener);\r\n}\r\n"],"names":["onClickOutside","ref","handler","listener","e","el"],"mappings":"gFAgBO,SAASA,EACdC,EACAC,EACA,CACA,SAASC,EAASC,EAAe,CAC/B,MAAMC,EAAKJ,EAAI,QACVI,IACDA,EAAG,SAASD,EAAE,MAAc,GAChCF,EAAA,EACF,CAEA,gBAAS,iBAAiB,YAAaC,CAAQ,EACxC,IAAM,SAAS,oBAAoB,YAAaA,CAAQ,CACjE"}
1
+ {"version":3,"file":"onClickOutside.cjs","sources":["../../../src/utils/onclickoutside/onClickOutside.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * Executes a callback handler when the user clicks or taps outside of the referenced element(s).\n * Supports both single DOM elements and arrays of elements (useful for complex UI like modals or dropdowns with triggers).\n *\n * @param refs - A single React ref or an array of React refs representing the elements to ignore.\n * @param handler - The callback function to execute when an outside click/tap is detected.\n * @returns A cleanup function that removes the attached event listeners.\n */\nexport function onClickOutside(\n refs: React.RefObject<HTMLElement | null> | Array<React.RefObject<HTMLElement | null>>,\n handler: (e: MouseEvent | TouchEvent) => void\n) {\n function listener(e: MouseEvent | TouchEvent) {\n // Normalize to an array so we can check multiple refs easily\n const refArray = Array.isArray(refs) ? refs : [refs];\n \n // Check if the click target is inside ANY of the provided refs\n const isInsideAny = refArray.some((ref) => {\n const el = ref.current;\n return el && el.contains(e.target as Node);\n });\n\n // If they clicked inside any of our protected refs, do nothing\n if (isInsideAny) return;\n \n // Otherwise, they clicked outside. Fire the handler!\n handler(e);\n }\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n}"],"names":["onClickOutside","refs","handler","listener","e","ref","el"],"mappings":"gFAUO,SAASA,EACdC,EACAC,EACA,CACA,SAASC,EAASC,EAA4B,EAE3B,MAAM,QAAQH,CAAI,EAAIA,EAAO,CAACA,CAAI,GAGtB,KAAMI,GAAQ,CACzC,MAAMC,EAAKD,EAAI,QACf,OAAOC,GAAMA,EAAG,SAASF,EAAE,MAAc,CAC3C,CAAC,GAMDF,EAAQE,CAAC,CACX,CAEA,gBAAS,iBAAiB,YAAaD,CAAQ,EAC/C,SAAS,iBAAiB,aAAcA,CAAQ,EAEzC,IAAM,CACX,SAAS,oBAAoB,YAAaA,CAAQ,EAClD,SAAS,oBAAoB,aAAcA,CAAQ,CACrD,CACF"}
@@ -1,11 +1,15 @@
1
- function u(t, r) {
2
- function e(o) {
3
- const n = t.current;
4
- n && (n.contains(o.target) || r());
1
+ function c(n, o) {
2
+ function e(t) {
3
+ (Array.isArray(n) ? n : [n]).some((s) => {
4
+ const r = s.current;
5
+ return r && r.contains(t.target);
6
+ }) || o(t);
5
7
  }
6
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
8
+ return document.addEventListener("mousedown", e), document.addEventListener("touchstart", e), () => {
9
+ document.removeEventListener("mousedown", e), document.removeEventListener("touchstart", e);
10
+ };
7
11
  }
8
12
  export {
9
- u as onClickOutside
13
+ c as onClickOutside
10
14
  };
11
15
  //# sourceMappingURL=onClickOutside.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onClickOutside.js","sources":["../../../src/utils/onclickoutside/onClickOutside.ts"],"sourcesContent":["/**\r\n * onClickOutside\r\n * ---------------\r\n * Calls `handler` when the user clicks outside the\r\n * referenced element. Used in dropdowns, popovers, etc.\r\n */\r\n\r\n/**\r\n * onClickOutside\r\n * ---------------\r\n * Allows ANY element type (HTMLDivElement, HTMLButtonElement, etc.)\r\n * and supports both RefObject and MutableRefObject.\r\n */\r\n\r\nimport React from 'react';\r\n\r\nexport function onClickOutside<T extends HTMLElement>(\r\n ref: React.RefObject<T | null>,\r\n handler: () => void\r\n) {\r\n function listener(e: MouseEvent) {\r\n const el = ref.current;\r\n if (!el) return;\r\n if (el.contains(e.target as Node)) return;\r\n handler();\r\n }\r\n\r\n document.addEventListener('mousedown', listener);\r\n return () => document.removeEventListener('mousedown', listener);\r\n}\r\n"],"names":["onClickOutside","ref","handler","listener","e","el"],"mappings":"AAgBO,SAASA,EACdC,GACAC,GACA;AACA,WAASC,EAASC,GAAe;AAC/B,UAAMC,IAAKJ,EAAI;AACf,IAAKI,MACDA,EAAG,SAASD,EAAE,MAAc,KAChCF,EAAA;AAAA,EACF;AAEA,kBAAS,iBAAiB,aAAaC,CAAQ,GACxC,MAAM,SAAS,oBAAoB,aAAaA,CAAQ;AACjE;"}
1
+ {"version":3,"file":"onClickOutside.js","sources":["../../../src/utils/onclickoutside/onClickOutside.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * Executes a callback handler when the user clicks or taps outside of the referenced element(s).\n * Supports both single DOM elements and arrays of elements (useful for complex UI like modals or dropdowns with triggers).\n *\n * @param refs - A single React ref or an array of React refs representing the elements to ignore.\n * @param handler - The callback function to execute when an outside click/tap is detected.\n * @returns A cleanup function that removes the attached event listeners.\n */\nexport function onClickOutside(\n refs: React.RefObject<HTMLElement | null> | Array<React.RefObject<HTMLElement | null>>,\n handler: (e: MouseEvent | TouchEvent) => void\n) {\n function listener(e: MouseEvent | TouchEvent) {\n // Normalize to an array so we can check multiple refs easily\n const refArray = Array.isArray(refs) ? refs : [refs];\n \n // Check if the click target is inside ANY of the provided refs\n const isInsideAny = refArray.some((ref) => {\n const el = ref.current;\n return el && el.contains(e.target as Node);\n });\n\n // If they clicked inside any of our protected refs, do nothing\n if (isInsideAny) return;\n \n // Otherwise, they clicked outside. Fire the handler!\n handler(e);\n }\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n}"],"names":["onClickOutside","refs","handler","listener","e","ref","el"],"mappings":"AAUO,SAASA,EACdC,GACAC,GACA;AACA,WAASC,EAASC,GAA4B;AAW5C,KATiB,MAAM,QAAQH,CAAI,IAAIA,IAAO,CAACA,CAAI,GAGtB,KAAK,CAACI,MAAQ;AACzC,YAAMC,IAAKD,EAAI;AACf,aAAOC,KAAMA,EAAG,SAASF,EAAE,MAAc;AAAA,IAC3C,CAAC,KAMDF,EAAQE,CAAC;AAAA,EACX;AAEA,kBAAS,iBAAiB,aAAaD,CAAQ,GAC/C,SAAS,iBAAiB,cAAcA,CAAQ,GAEzC,MAAM;AACX,aAAS,oBAAoB,aAAaA,CAAQ,GAClD,SAAS,oBAAoB,cAAcA,CAAQ;AAAA,EACrD;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal.cjs","sources":["../../../src/utils/portal/portal.ts"],"sourcesContent":["/**\r\n * Portal\r\n * -------\r\n * Safely renders children into document.body.\r\n * Provides layering support for overlays & modals.\r\n */\r\nimport { createPortal } from 'react-dom';\r\n\r\nexport function Portal({ children }: { children: React.ReactNode }) {\r\n return createPortal(children, document.body);\r\n}\r\n"],"names":["Portal","children","createPortal"],"mappings":"6GAQO,SAASA,EAAO,CAAE,SAAAC,GAA2C,CAClE,OAAOC,eAAaD,EAAU,SAAS,IAAI,CAC7C"}
1
+ {"version":3,"file":"portal.cjs","sources":["../../../src/utils/portal/portal.ts"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type React from 'react';\n\n/**\n * Portal Component\n * ----------------\n * Safely escapes the current React DOM hierarchy and renders children directly into `document.body`.\n * Essential for building overlays, modals, tooltips, and dropdowns that need to break out of \n * `overflow: hidden` containers and manage global z-index layering.\n * * Note: In SSR environments, the parent consuming this component should ensure it is only \n * rendered on the client (e.g., using a `mounted` state) to prevent hydration errors.\n *\n * @param props.children - The React nodes to be portaled to the document body.\n * @returns A React Portal directly targeting `document.body`.\n */\nexport function Portal({ children }: { children: React.ReactNode }) {\n return createPortal(children, document.body);\n}"],"names":["Portal","children","createPortal"],"mappings":"6GAeO,SAASA,EAAO,CAAE,SAAAC,GAA2C,CAClE,OAAOC,eAAaD,EAAU,SAAS,IAAI,CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal.js","sources":["../../../src/utils/portal/portal.ts"],"sourcesContent":["/**\r\n * Portal\r\n * -------\r\n * Safely renders children into document.body.\r\n * Provides layering support for overlays & modals.\r\n */\r\nimport { createPortal } from 'react-dom';\r\n\r\nexport function Portal({ children }: { children: React.ReactNode }) {\r\n return createPortal(children, document.body);\r\n}\r\n"],"names":["Portal","children","createPortal"],"mappings":";AAQO,SAASA,EAAO,EAAE,UAAAC,KAA2C;AAClE,SAAOC,EAAaD,GAAU,SAAS,IAAI;AAC7C;"}
1
+ {"version":3,"file":"portal.js","sources":["../../../src/utils/portal/portal.ts"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type React from 'react';\n\n/**\n * Portal Component\n * ----------------\n * Safely escapes the current React DOM hierarchy and renders children directly into `document.body`.\n * Essential for building overlays, modals, tooltips, and dropdowns that need to break out of \n * `overflow: hidden` containers and manage global z-index layering.\n * * Note: In SSR environments, the parent consuming this component should ensure it is only \n * rendered on the client (e.g., using a `mounted` state) to prevent hydration errors.\n *\n * @param props.children - The React nodes to be portaled to the document body.\n * @returns A React Portal directly targeting `document.body`.\n */\nexport function Portal({ children }: { children: React.ReactNode }) {\n return createPortal(children, document.body);\n}"],"names":["Portal","children","createPortal"],"mappings":";AAeO,SAASA,EAAO,EAAE,UAAAC,KAA2C;AAClE,SAAOC,EAAaD,GAAU,SAAS,IAAI;AAC7C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"restoreFocus.cjs","sources":["../../../src/utils/restorefocus/restoreFocus.ts"],"sourcesContent":["/**\r\n * restoreFocus\r\n * -------------\r\n * Restores focus to a previously focused element.\r\n * Required for WCAG compliance on modals/dialogs.\r\n */\r\nexport function restoreFocus(element: HTMLElement | null) {\r\n element?.focus();\r\n}\r\n"],"names":["restoreFocus","element"],"mappings":"gFAMO,SAASA,EAAaC,EAA6B,CACxDA,GAAS,MAAA,CACX"}
1
+ {"version":3,"file":"restoreFocus.cjs","sources":["../../../src/utils/restorefocus/restoreFocus.ts"],"sourcesContent":["/**\n * Restores keyboard focus to a previously focused element.\n * --------------------------------------------------------\n * This is a strict WCAG accessibility requirement for modals, dialogs, and popovers.\n * When an overlay closes, the user's focus must be returned to the element \n * that originally triggered the overlay, preventing screen readers and keyboard \n * users from losing their place on the page.\n *\n * @param element - The HTML element to receive focus. Safely ignores `null` or `undefined`.\n */\nexport function restoreFocus(element: HTMLElement | null): void {\n element?.focus();\n}"],"names":["restoreFocus","element"],"mappings":"gFAUO,SAASA,EAAaC,EAAmC,CAC9DA,GAAS,MAAA,CACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"restoreFocus.js","sources":["../../../src/utils/restorefocus/restoreFocus.ts"],"sourcesContent":["/**\r\n * restoreFocus\r\n * -------------\r\n * Restores focus to a previously focused element.\r\n * Required for WCAG compliance on modals/dialogs.\r\n */\r\nexport function restoreFocus(element: HTMLElement | null) {\r\n element?.focus();\r\n}\r\n"],"names":["restoreFocus","element"],"mappings":"AAMO,SAASA,EAAaC,GAA6B;AACxD,EAAAA,GAAS,MAAA;AACX;"}
1
+ {"version":3,"file":"restoreFocus.js","sources":["../../../src/utils/restorefocus/restoreFocus.ts"],"sourcesContent":["/**\n * Restores keyboard focus to a previously focused element.\n * --------------------------------------------------------\n * This is a strict WCAG accessibility requirement for modals, dialogs, and popovers.\n * When an overlay closes, the user's focus must be returned to the element \n * that originally triggered the overlay, preventing screen readers and keyboard \n * users from losing their place on the page.\n *\n * @param element - The HTML element to receive focus. Safely ignores `null` or `undefined`.\n */\nexport function restoreFocus(element: HTMLElement | null): void {\n element?.focus();\n}"],"names":["restoreFocus","element"],"mappings":"AAUO,SAASA,EAAaC,GAAmC;AAC9D,EAAAA,GAAS,MAAA;AACX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrollLock.cjs","sources":["../../../src/utils/scrolllock/scrollLock.ts"],"sourcesContent":["/**\r\n * scrollLock\r\n * ----------\r\n * Locks page scrolling while overlays are open.\r\n * Prevents background content movement.\r\n */\r\nexport const scrollLock = {\r\n lock() {\r\n document.body.style.overflow = 'hidden';\r\n },\r\n unlock() {\r\n document.body.style.overflow = '';\r\n },\r\n};\r\n"],"names":["scrollLock"],"mappings":"gFAMO,MAAMA,EAAa,CACxB,MAAO,CACL,SAAS,KAAK,MAAM,SAAW,QACjC,EACA,QAAS,CACP,SAAS,KAAK,MAAM,SAAW,EACjC,CACF"}
1
+ {"version":3,"file":"scrollLock.cjs","sources":["../../../src/utils/scrolllock/scrollLock.ts"],"sourcesContent":["/**\n * scrollLock\n * ----------\n * Utility to temporarily disable document scrolling. \n * Essential for maintaining context when modals, drawers, or fullscreen overlays are open.\n * Prevents the background content from moving while the user interacts with the overlay.\n */\nexport const scrollLock = {\n /**\n * Locks the page scroll by applying `overflow: hidden` directly to the body's inline style.\n */\n lock(): void {\n document.body.style.overflow = 'hidden';\n },\n \n /**\n * Unlocks the page scroll by clearing the inline `overflow` style.\n * This allows the body to fall back to its default state defined in the CSS stylesheets.\n */\n unlock(): void {\n document.body.style.overflow = '';\n },\n};"],"names":["scrollLock"],"mappings":"gFAOO,MAAMA,EAAa,CAIxB,MAAa,CACX,SAAS,KAAK,MAAM,SAAW,QACjC,EAMA,QAAe,CACb,SAAS,KAAK,MAAM,SAAW,EACjC,CACF"}
@@ -1,7 +1,14 @@
1
1
  const o = {
2
+ /**
3
+ * Locks the page scroll by applying `overflow: hidden` directly to the body's inline style.
4
+ */
2
5
  lock() {
3
6
  document.body.style.overflow = "hidden";
4
7
  },
8
+ /**
9
+ * Unlocks the page scroll by clearing the inline `overflow` style.
10
+ * This allows the body to fall back to its default state defined in the CSS stylesheets.
11
+ */
5
12
  unlock() {
6
13
  document.body.style.overflow = "";
7
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scrollLock.js","sources":["../../../src/utils/scrolllock/scrollLock.ts"],"sourcesContent":["/**\r\n * scrollLock\r\n * ----------\r\n * Locks page scrolling while overlays are open.\r\n * Prevents background content movement.\r\n */\r\nexport const scrollLock = {\r\n lock() {\r\n document.body.style.overflow = 'hidden';\r\n },\r\n unlock() {\r\n document.body.style.overflow = '';\r\n },\r\n};\r\n"],"names":["scrollLock"],"mappings":"AAMO,MAAMA,IAAa;AAAA,EACxB,OAAO;AACL,aAAS,KAAK,MAAM,WAAW;AAAA,EACjC;AAAA,EACA,SAAS;AACP,aAAS,KAAK,MAAM,WAAW;AAAA,EACjC;AACF;"}
1
+ {"version":3,"file":"scrollLock.js","sources":["../../../src/utils/scrolllock/scrollLock.ts"],"sourcesContent":["/**\n * scrollLock\n * ----------\n * Utility to temporarily disable document scrolling. \n * Essential for maintaining context when modals, drawers, or fullscreen overlays are open.\n * Prevents the background content from moving while the user interacts with the overlay.\n */\nexport const scrollLock = {\n /**\n * Locks the page scroll by applying `overflow: hidden` directly to the body's inline style.\n */\n lock(): void {\n document.body.style.overflow = 'hidden';\n },\n \n /**\n * Unlocks the page scroll by clearing the inline `overflow` style.\n * This allows the body to fall back to its default state defined in the CSS stylesheets.\n */\n unlock(): void {\n document.body.style.overflow = '';\n },\n};"],"names":["scrollLock"],"mappings":"AAOO,MAAMA,IAAa;AAAA;AAAA;AAAA;AAAA,EAIxB,OAAa;AACX,aAAS,KAAK,MAAM,WAAW;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAe;AACb,aAAS,KAAK,MAAM,WAAW;AAAA,EACjC;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),l=require("react"),m=require("../cn/cn.cjs");function y(...o){return n=>{o.forEach(e=>{typeof e=="function"?e(n):e!=null&&typeof e=="object"&&(e.current=n)})}}function h(o){const n=o.props,e=o;return n.ref||e.ref}function S(o,n){const e={...n};for(const t in n){const r=o[t],s=n[t];/^on[A-Z]/.test(t)?typeof r=="function"&&typeof s=="function"?e[t]=(...c)=>{s(...c),r(...c)}:r&&(e[t]=r):t==="style"?e[t]={...r||{},...s||{}}:t==="className"&&(e[t]=m.cn(r,s))}return{...o,...e}}const a=({children:o})=>u.jsx(u.Fragment,{children:o});a.displayName="Slottable";const f=l.forwardRef((o,n)=>{const{children:e,...t}=o;if(l.isValidElement(e)){const r=h(e),s=e.props,i=S(t,s);return l.cloneElement(e,{...i,ref:n?y(n,r):r})}return l.Children.count(e)>1?l.Children.only(null):null});f.displayName="SlotClone";const d=l.forwardRef((o,n)=>{const{children:e,...t}=o,r=l.Children.toArray(e),s=r.find(i=>l.isValidElement(i)&&i.type===a);if(s){const i=s.props.children,c=r.map(p=>p===s?l.isValidElement(i)?i.props.children:null:p);return u.jsx(f,{...t,ref:n,children:l.isValidElement(i)?l.cloneElement(i,void 0,c):null})}return u.jsx(f,{...t,ref:n,children:e})});d.displayName="Slot";exports.Slot=d;exports.Slottable=a;
2
+ //# sourceMappingURL=slot.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.cjs","sources":["../../../src/utils/slot/slot.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../cn/cn';\n\ntype AnyProps = Record<string, unknown>;\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Compose Refs\n * -----------------------------------------------------------------------------------------------*/\nfunction composeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (node: T) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref != null && typeof ref === 'object') {\n (ref as React.MutableRefObject<T>).current = node;\n }\n });\n };\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Safely Extract Ref\n * Handles both React 18 (ref on element) and React 19 (ref on props) without using `any`.\n * -----------------------------------------------------------------------------------------------*/\nfunction getElementRef(element: React.ReactElement): React.Ref<HTMLElement> | undefined {\n const props = element.props as { ref?: React.Ref<HTMLElement> };\n const el = element as unknown as { ref?: React.Ref<HTMLElement> };\n return props.ref || el.ref;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Merge Props\n * -----------------------------------------------------------------------------------------------*/\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps): AnyProps {\n const overrideProps: AnyProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n\n if (isHandler) {\n if (typeof slotPropValue === 'function' && typeof childPropValue === 'function') {\n overrideProps[propName] = (...args: unknown[]) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === 'style') {\n overrideProps[propName] = {\n ...(slotPropValue as React.CSSProperties || {}),\n ...(childPropValue as React.CSSProperties || {}),\n };\n } else if (propName === 'className') {\n overrideProps[propName] = cn(slotPropValue as string, childPropValue as string);\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\nexport const Slottable = ({ children }: { children: React.ReactNode }) => {\n return <>{children}</>;\n};\nSlottable.displayName = 'Slottable';\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone (Internal)\n * -----------------------------------------------------------------------------------------------*/\ninterface SlotCloneProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n}\n\nconst SlotClone = React.forwardRef<HTMLElement, SlotCloneProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const childProps = children.props as AnyProps;\n const mergedProps = mergeProps(slotProps as AnyProps, childProps);\n\n // Casting the final merged result to React's expected attributes format\n return React.cloneElement(children, {\n ...mergedProps,\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef,\n } as React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>);\n }\n\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = 'SlotClone';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot (Public)\n * -----------------------------------------------------------------------------------------------*/\nexport interface SlotProps extends React.HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\nexport const Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n\n // Type Guard: Safely verify this is a Slottable component and extract its strict prop types\n const slottable = childrenArray.find(\n (child): child is React.ReactElement<{ children: React.ReactNode }> =>\n React.isValidElement(child) && child.type === Slottable\n );\n\n if (slottable) {\n // Because of the type guard above, TypeScript now knows slottable.props is safe to access\n const newElement = slottable.props.children;\n\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n // Another safety check before trying to read the Next.js Link's children\n if (React.isValidElement(newElement)) {\n return (newElement.props as { children?: React.ReactNode }).children;\n }\n return null;\n }\n return child;\n });\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {React.isValidElement(newElement)\n ? React.cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n );\n }\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {children}\n </SlotClone>\n );\n});\nSlot.displayName = 'Slot';"],"names":["composeRefs","refs","node","ref","getElementRef","element","props","el","mergeProps","slotProps","childProps","overrideProps","propName","slotPropValue","childPropValue","args","cn","Slottable","children","SlotClone","React","forwardedRef","childrenRef","mergedProps","Slot","childrenArray","slottable","child","newElement","newChildren"],"mappings":"kKAQA,SAASA,KAAkBC,EAAoC,CAC7D,OAAQC,GAAY,CAClBD,EAAK,QAASE,GAAQ,CAChB,OAAOA,GAAQ,WACjBA,EAAID,CAAI,EACCC,GAAO,MAAQ,OAAOA,GAAQ,WACtCA,EAAkC,QAAUD,EAEjD,CAAC,CACH,CACF,CAMA,SAASE,EAAcC,EAAiE,CACtF,MAAMC,EAAQD,EAAQ,MAChBE,EAAKF,EACX,OAAOC,EAAM,KAAOC,EAAG,GACzB,CAKA,SAASC,EAAWC,EAAqBC,EAAgC,CACvE,MAAMC,EAA0B,CAAE,GAAGD,CAAA,EAErC,UAAWE,KAAYF,EAAY,CACjC,MAAMG,EAAgBJ,EAAUG,CAAQ,EAClCE,EAAiBJ,EAAWE,CAAQ,EAExB,WAAW,KAAKA,CAAQ,EAGpC,OAAOC,GAAkB,YAAc,OAAOC,GAAmB,WACnEH,EAAcC,CAAQ,EAAI,IAAIG,IAAoB,CAChDD,EAAe,GAAGC,CAAI,EACtBF,EAAc,GAAGE,CAAI,CACvB,EACSF,IACTF,EAAcC,CAAQ,EAAIC,GAEnBD,IAAa,QACtBD,EAAcC,CAAQ,EAAI,CACxB,GAAIC,GAAwC,CAAA,EAC5C,GAAIC,GAAyC,CAAA,CAAC,EAEvCF,IAAa,cACtBD,EAAcC,CAAQ,EAAII,KAAGH,EAAyBC,CAAwB,EAElF,CAEA,MAAO,CAAE,GAAGL,EAAW,GAAGE,CAAA,CAC5B,CAKO,MAAMM,EAAY,CAAC,CAAE,SAAAC,uBAChB,SAAAA,EAAS,EAErBD,EAAU,YAAc,YASxB,MAAME,EAAYC,EAAM,WAAwC,CAACd,EAAOe,IAAiB,CACvF,KAAM,CAAE,SAAAH,EAAU,GAAGT,CAAA,EAAcH,EAEnC,GAAIc,EAAM,eAAeF,CAAQ,EAAG,CAClC,MAAMI,EAAclB,EAAcc,CAAQ,EACpCR,EAAaQ,EAAS,MACtBK,EAAcf,EAAWC,EAAuBC,CAAU,EAGhE,OAAOU,EAAM,aAAaF,EAAU,CAClC,GAAGK,EACH,IAAKF,EAAerB,EAAYqB,EAAcC,CAAW,EAAIA,CAAA,CACU,CAC3E,CAEA,OAAOF,EAAM,SAAS,MAAMF,CAAQ,EAAI,EAAIE,EAAM,SAAS,KAAK,IAAI,EAAI,IAC1E,CAAC,EACDD,EAAU,YAAc,YASjB,MAAMK,EAAOJ,EAAM,WAAmC,CAACd,EAAOe,IAAiB,CACpF,KAAM,CAAE,SAAAH,EAAU,GAAGT,CAAA,EAAcH,EAC7BmB,EAAgBL,EAAM,SAAS,QAAQF,CAAQ,EAG/CQ,EAAYD,EAAc,KAC7BE,GACCP,EAAM,eAAeO,CAAK,GAAKA,EAAM,OAASV,CAAA,EAGlD,GAAIS,EAAW,CAEb,MAAME,EAAaF,EAAU,MAAM,SAE7BG,EAAcJ,EAAc,IAAKE,GACjCA,IAAUD,EAERN,EAAM,eAAeQ,CAAU,EACzBA,EAAW,MAAyC,SAEvD,KAEFD,CACR,EAED,aACGR,EAAA,CAAW,GAAGV,EAAW,IAAKY,EAC5B,SAAAD,EAAM,eAAeQ,CAAU,EAC5BR,EAAM,aAAaQ,EAAY,OAAWC,CAAW,EACrD,KACN,CAEJ,CAEA,aACGV,EAAA,CAAW,GAAGV,EAAW,IAAKY,EAC5B,SAAAH,EACH,CAEJ,CAAC,EACDM,EAAK,YAAc"}
@@ -0,0 +1,57 @@
1
+ import { jsx as f, Fragment as m } from "react/jsx-runtime";
2
+ import l from "react";
3
+ import { cn as d } from "../cn/cn.js";
4
+ function y(...o) {
5
+ return (n) => {
6
+ o.forEach((e) => {
7
+ typeof e == "function" ? e(n) : e != null && typeof e == "object" && (e.current = n);
8
+ });
9
+ };
10
+ }
11
+ function h(o) {
12
+ const n = o.props, e = o;
13
+ return n.ref || e.ref;
14
+ }
15
+ function E(o, n) {
16
+ const e = { ...n };
17
+ for (const t in n) {
18
+ const r = o[t], s = n[t];
19
+ /^on[A-Z]/.test(t) ? typeof r == "function" && typeof s == "function" ? e[t] = (...c) => {
20
+ s(...c), r(...c);
21
+ } : r && (e[t] = r) : t === "style" ? e[t] = {
22
+ ...r || {},
23
+ ...s || {}
24
+ } : t === "className" && (e[t] = d(r, s));
25
+ }
26
+ return { ...o, ...e };
27
+ }
28
+ const a = ({ children: o }) => /* @__PURE__ */ f(m, { children: o });
29
+ a.displayName = "Slottable";
30
+ const p = l.forwardRef((o, n) => {
31
+ const { children: e, ...t } = o;
32
+ if (l.isValidElement(e)) {
33
+ const r = h(e), s = e.props, i = E(t, s);
34
+ return l.cloneElement(e, {
35
+ ...i,
36
+ ref: n ? y(n, r) : r
37
+ });
38
+ }
39
+ return l.Children.count(e) > 1 ? l.Children.only(null) : null;
40
+ });
41
+ p.displayName = "SlotClone";
42
+ const C = l.forwardRef((o, n) => {
43
+ const { children: e, ...t } = o, r = l.Children.toArray(e), s = r.find(
44
+ (i) => l.isValidElement(i) && i.type === a
45
+ );
46
+ if (s) {
47
+ const i = s.props.children, c = r.map((u) => u === s ? l.isValidElement(i) ? i.props.children : null : u);
48
+ return /* @__PURE__ */ f(p, { ...t, ref: n, children: l.isValidElement(i) ? l.cloneElement(i, void 0, c) : null });
49
+ }
50
+ return /* @__PURE__ */ f(p, { ...t, ref: n, children: e });
51
+ });
52
+ C.displayName = "Slot";
53
+ export {
54
+ C as Slot,
55
+ a as Slottable
56
+ };
57
+ //# sourceMappingURL=slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.js","sources":["../../../src/utils/slot/slot.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../cn/cn';\n\ntype AnyProps = Record<string, unknown>;\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Compose Refs\n * -----------------------------------------------------------------------------------------------*/\nfunction composeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (node: T) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref != null && typeof ref === 'object') {\n (ref as React.MutableRefObject<T>).current = node;\n }\n });\n };\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Safely Extract Ref\n * Handles both React 18 (ref on element) and React 19 (ref on props) without using `any`.\n * -----------------------------------------------------------------------------------------------*/\nfunction getElementRef(element: React.ReactElement): React.Ref<HTMLElement> | undefined {\n const props = element.props as { ref?: React.Ref<HTMLElement> };\n const el = element as unknown as { ref?: React.Ref<HTMLElement> };\n return props.ref || el.ref;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Utility: Merge Props\n * -----------------------------------------------------------------------------------------------*/\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps): AnyProps {\n const overrideProps: AnyProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n\n if (isHandler) {\n if (typeof slotPropValue === 'function' && typeof childPropValue === 'function') {\n overrideProps[propName] = (...args: unknown[]) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === 'style') {\n overrideProps[propName] = {\n ...(slotPropValue as React.CSSProperties || {}),\n ...(childPropValue as React.CSSProperties || {}),\n };\n } else if (propName === 'className') {\n overrideProps[propName] = cn(slotPropValue as string, childPropValue as string);\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\nexport const Slottable = ({ children }: { children: React.ReactNode }) => {\n return <>{children}</>;\n};\nSlottable.displayName = 'Slottable';\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone (Internal)\n * -----------------------------------------------------------------------------------------------*/\ninterface SlotCloneProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n}\n\nconst SlotClone = React.forwardRef<HTMLElement, SlotCloneProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const childProps = children.props as AnyProps;\n const mergedProps = mergeProps(slotProps as AnyProps, childProps);\n\n // Casting the final merged result to React's expected attributes format\n return React.cloneElement(children, {\n ...mergedProps,\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef,\n } as React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>);\n }\n\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = 'SlotClone';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot (Public)\n * -----------------------------------------------------------------------------------------------*/\nexport interface SlotProps extends React.HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\nexport const Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n\n // Type Guard: Safely verify this is a Slottable component and extract its strict prop types\n const slottable = childrenArray.find(\n (child): child is React.ReactElement<{ children: React.ReactNode }> =>\n React.isValidElement(child) && child.type === Slottable\n );\n\n if (slottable) {\n // Because of the type guard above, TypeScript now knows slottable.props is safe to access\n const newElement = slottable.props.children;\n\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n // Another safety check before trying to read the Next.js Link's children\n if (React.isValidElement(newElement)) {\n return (newElement.props as { children?: React.ReactNode }).children;\n }\n return null;\n }\n return child;\n });\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {React.isValidElement(newElement)\n ? React.cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n );\n }\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {children}\n </SlotClone>\n );\n});\nSlot.displayName = 'Slot';"],"names":["composeRefs","refs","node","ref","getElementRef","element","props","el","mergeProps","slotProps","childProps","overrideProps","propName","slotPropValue","childPropValue","args","cn","Slottable","children","SlotClone","React","forwardedRef","childrenRef","mergedProps","Slot","childrenArray","slottable","child","newElement","newChildren"],"mappings":";;;AAQA,SAASA,KAAkBC,GAAoC;AAC7D,SAAO,CAACC,MAAY;AAClB,IAAAD,EAAK,QAAQ,CAACE,MAAQ;AACpB,MAAI,OAAOA,KAAQ,aACjBA,EAAID,CAAI,IACCC,KAAO,QAAQ,OAAOA,KAAQ,aACtCA,EAAkC,UAAUD;AAAA,IAEjD,CAAC;AAAA,EACH;AACF;AAMA,SAASE,EAAcC,GAAiE;AACtF,QAAMC,IAAQD,EAAQ,OAChBE,IAAKF;AACX,SAAOC,EAAM,OAAOC,EAAG;AACzB;AAKA,SAASC,EAAWC,GAAqBC,GAAgC;AACvE,QAAMC,IAA0B,EAAE,GAAGD,EAAA;AAErC,aAAWE,KAAYF,GAAY;AACjC,UAAMG,IAAgBJ,EAAUG,CAAQ,GAClCE,IAAiBJ,EAAWE,CAAQ;AAI1C,IAFkB,WAAW,KAAKA,CAAQ,IAGpC,OAAOC,KAAkB,cAAc,OAAOC,KAAmB,aACnEH,EAAcC,CAAQ,IAAI,IAAIG,MAAoB;AAChD,MAAAD,EAAe,GAAGC,CAAI,GACtBF,EAAc,GAAGE,CAAI;AAAA,IACvB,IACSF,MACTF,EAAcC,CAAQ,IAAIC,KAEnBD,MAAa,UACtBD,EAAcC,CAAQ,IAAI;AAAA,MACxB,GAAIC,KAAwC,CAAA;AAAA,MAC5C,GAAIC,KAAyC,CAAA;AAAA,IAAC,IAEvCF,MAAa,gBACtBD,EAAcC,CAAQ,IAAII,EAAGH,GAAyBC,CAAwB;AAAA,EAElF;AAEA,SAAO,EAAE,GAAGL,GAAW,GAAGE,EAAA;AAC5B;AAKO,MAAMM,IAAY,CAAC,EAAE,UAAAC,+BAChB,UAAAA,GAAS;AAErBD,EAAU,cAAc;AASxB,MAAME,IAAYC,EAAM,WAAwC,CAACd,GAAOe,MAAiB;AACvF,QAAM,EAAE,UAAAH,GAAU,GAAGT,EAAA,IAAcH;AAEnC,MAAIc,EAAM,eAAeF,CAAQ,GAAG;AAClC,UAAMI,IAAclB,EAAcc,CAAQ,GACpCR,IAAaQ,EAAS,OACtBK,IAAcf,EAAWC,GAAuBC,CAAU;AAGhE,WAAOU,EAAM,aAAaF,GAAU;AAAA,MAClC,GAAGK;AAAA,MACH,KAAKF,IAAerB,EAAYqB,GAAcC,CAAW,IAAIA;AAAA,IAAA,CACU;AAAA,EAC3E;AAEA,SAAOF,EAAM,SAAS,MAAMF,CAAQ,IAAI,IAAIE,EAAM,SAAS,KAAK,IAAI,IAAI;AAC1E,CAAC;AACDD,EAAU,cAAc;AASjB,MAAMK,IAAOJ,EAAM,WAAmC,CAACd,GAAOe,MAAiB;AACpF,QAAM,EAAE,UAAAH,GAAU,GAAGT,EAAA,IAAcH,GAC7BmB,IAAgBL,EAAM,SAAS,QAAQF,CAAQ,GAG/CQ,IAAYD,EAAc;AAAA,IAC9B,CAACE,MACCP,EAAM,eAAeO,CAAK,KAAKA,EAAM,SAASV;AAAA,EAAA;AAGlD,MAAIS,GAAW;AAEb,UAAME,IAAaF,EAAU,MAAM,UAE7BG,IAAcJ,EAAc,IAAI,CAACE,MACjCA,MAAUD,IAERN,EAAM,eAAeQ,CAAU,IACzBA,EAAW,MAAyC,WAEvD,OAEFD,CACR;AAED,6BACGR,GAAA,EAAW,GAAGV,GAAW,KAAKY,GAC5B,UAAAD,EAAM,eAAeQ,CAAU,IAC5BR,EAAM,aAAaQ,GAAY,QAAWC,CAAW,IACrD,MACN;AAAA,EAEJ;AAEA,2BACGV,GAAA,EAAW,GAAGV,GAAW,KAAKY,GAC5B,UAAAH,GACH;AAEJ,CAAC;AACDM,EAAK,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"trapFocus.cjs","sources":["../../../src/utils/trapfocus/trapFocus.ts"],"sourcesContent":["/**\r\n * trapFocus\r\n * ---------\r\n * WCAG-compliant focus trap for modals, dialogs, menus.\r\n * Prevents keyboard users from escaping the component.\r\n */\r\nexport function trapFocus(container: HTMLElement) {\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n `a[href], button:not([disabled]), textarea,\r\n input, select, [tabindex]:not([tabindex=\"-1\"])`\r\n );\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n\r\n function handle(e: KeyboardEvent) {\r\n if (e.key !== 'Tab') return;\r\n\r\n // Shift+Tab → Move focus backwards\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n\r\n // Tab → Move focus forward\r\n if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n\r\n container.addEventListener('keydown', handle);\r\n\r\n // Initially focus the first element\r\n first?.focus();\r\n\r\n // Cleanup handler on removal\r\n return () => container.removeEventListener('keydown', handle);\r\n}\r\n"],"names":["trapFocus","container","focusable","first","last","handle"],"mappings":"gFAMO,SAASA,EAAUC,EAAwB,CAChD,MAAMC,EAAYD,EAAU,iBAC1B;AAAA,oDAAA,EAIIE,EAAQD,EAAU,CAAC,EACnBE,EAAOF,EAAUA,EAAU,OAAS,CAAC,EAE3C,SAASG,EAAO,EAAkB,CAC5B,EAAE,MAAQ,QAGV,EAAE,UAAY,SAAS,gBAAkBF,IAC3C,EAAE,eAAA,EACFC,EAAK,MAAA,GAIH,CAAC,EAAE,UAAY,SAAS,gBAAkBA,IAC5C,EAAE,eAAA,EACFD,EAAM,MAAA,GAEV,CAEA,OAAAF,EAAU,iBAAiB,UAAWI,CAAM,EAG5CF,GAAO,MAAA,EAGA,IAAMF,EAAU,oBAAoB,UAAWI,CAAM,CAC9D"}
1
+ {"version":3,"file":"trapFocus.cjs","sources":["../../../src/utils/trapfocus/trapFocus.ts"],"sourcesContent":["/**\n * trapFocus\n * ---------\n * A WCAG-compliant focus trap utility for modals, dialogs, and off-canvas menus.\n * Prevents keyboard-only users (and screen readers) from tabbing out of the active \n * component and interacting with background elements.\n *\n * @param container - The DOM element containing the focusable items.\n * @returns A cleanup function to remove the 'keydown' event listener when the container unmounts.\n */\nexport function trapFocus(container: HTMLElement): () => void {\n // Query all standard interactive HTML elements within the container\n const focusable = container.querySelectorAll<HTMLElement>(\n `a[href], button:not([disabled]), textarea,\n input, select, [tabindex]:not([tabindex=\"-1\"])`\n );\n\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n function handle(e: KeyboardEvent) {\n if (e.key !== 'Tab') return;\n\n // Shift+Tab → If focused on the first element, loop around to the last element\n if (e.shiftKey && document.activeElement === first) {\n e.preventDefault();\n last.focus();\n }\n\n // Tab → If focused on the last element, loop around to the first element\n if (!e.shiftKey && document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n }\n\n // Attach the boundary logic\n container.addEventListener('keydown', handle);\n\n // Automatically shift the user's focus into the trap when initialized\n first?.focus();\n\n // Return the cleanup handler\n return () => container.removeEventListener('keydown', handle);\n}"],"names":["trapFocus","container","focusable","first","last","handle"],"mappings":"gFAUO,SAASA,EAAUC,EAAoC,CAE5D,MAAMC,EAAYD,EAAU,iBAC1B;AAAA,oDAAA,EAIIE,EAAQD,EAAU,CAAC,EACnBE,EAAOF,EAAUA,EAAU,OAAS,CAAC,EAE3C,SAASG,EAAO,EAAkB,CAC5B,EAAE,MAAQ,QAGV,EAAE,UAAY,SAAS,gBAAkBF,IAC3C,EAAE,eAAA,EACFC,EAAK,MAAA,GAIH,CAAC,EAAE,UAAY,SAAS,gBAAkBA,IAC5C,EAAE,eAAA,EACFD,EAAM,MAAA,GAEV,CAGA,OAAAF,EAAU,iBAAiB,UAAWI,CAAM,EAG5CF,GAAO,MAAA,EAGA,IAAMF,EAAU,oBAAoB,UAAWI,CAAM,CAC9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"trapFocus.js","sources":["../../../src/utils/trapfocus/trapFocus.ts"],"sourcesContent":["/**\r\n * trapFocus\r\n * ---------\r\n * WCAG-compliant focus trap for modals, dialogs, menus.\r\n * Prevents keyboard users from escaping the component.\r\n */\r\nexport function trapFocus(container: HTMLElement) {\r\n const focusable = container.querySelectorAll<HTMLElement>(\r\n `a[href], button:not([disabled]), textarea,\r\n input, select, [tabindex]:not([tabindex=\"-1\"])`\r\n );\r\n\r\n const first = focusable[0];\r\n const last = focusable[focusable.length - 1];\r\n\r\n function handle(e: KeyboardEvent) {\r\n if (e.key !== 'Tab') return;\r\n\r\n // Shift+Tab → Move focus backwards\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n\r\n // Tab → Move focus forward\r\n if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n\r\n container.addEventListener('keydown', handle);\r\n\r\n // Initially focus the first element\r\n first?.focus();\r\n\r\n // Cleanup handler on removal\r\n return () => container.removeEventListener('keydown', handle);\r\n}\r\n"],"names":["trapFocus","container","focusable","first","last","handle"],"mappings":"AAMO,SAASA,EAAUC,GAAwB;AAChD,QAAMC,IAAYD,EAAU;AAAA,IAC1B;AAAA;AAAA,EAAA,GAIIE,IAAQD,EAAU,CAAC,GACnBE,IAAOF,EAAUA,EAAU,SAAS,CAAC;AAE3C,WAASG,EAAO,GAAkB;AAChC,IAAI,EAAE,QAAQ,UAGV,EAAE,YAAY,SAAS,kBAAkBF,MAC3C,EAAE,eAAA,GACFC,EAAK,MAAA,IAIH,CAAC,EAAE,YAAY,SAAS,kBAAkBA,MAC5C,EAAE,eAAA,GACFD,EAAM,MAAA;AAAA,EAEV;AAEA,SAAAF,EAAU,iBAAiB,WAAWI,CAAM,GAG5CF,GAAO,MAAA,GAGA,MAAMF,EAAU,oBAAoB,WAAWI,CAAM;AAC9D;"}
1
+ {"version":3,"file":"trapFocus.js","sources":["../../../src/utils/trapfocus/trapFocus.ts"],"sourcesContent":["/**\n * trapFocus\n * ---------\n * A WCAG-compliant focus trap utility for modals, dialogs, and off-canvas menus.\n * Prevents keyboard-only users (and screen readers) from tabbing out of the active \n * component and interacting with background elements.\n *\n * @param container - The DOM element containing the focusable items.\n * @returns A cleanup function to remove the 'keydown' event listener when the container unmounts.\n */\nexport function trapFocus(container: HTMLElement): () => void {\n // Query all standard interactive HTML elements within the container\n const focusable = container.querySelectorAll<HTMLElement>(\n `a[href], button:not([disabled]), textarea,\n input, select, [tabindex]:not([tabindex=\"-1\"])`\n );\n\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n function handle(e: KeyboardEvent) {\n if (e.key !== 'Tab') return;\n\n // Shift+Tab → If focused on the first element, loop around to the last element\n if (e.shiftKey && document.activeElement === first) {\n e.preventDefault();\n last.focus();\n }\n\n // Tab → If focused on the last element, loop around to the first element\n if (!e.shiftKey && document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n }\n\n // Attach the boundary logic\n container.addEventListener('keydown', handle);\n\n // Automatically shift the user's focus into the trap when initialized\n first?.focus();\n\n // Return the cleanup handler\n return () => container.removeEventListener('keydown', handle);\n}"],"names":["trapFocus","container","focusable","first","last","handle"],"mappings":"AAUO,SAASA,EAAUC,GAAoC;AAE5D,QAAMC,IAAYD,EAAU;AAAA,IAC1B;AAAA;AAAA,EAAA,GAIIE,IAAQD,EAAU,CAAC,GACnBE,IAAOF,EAAUA,EAAU,SAAS,CAAC;AAE3C,WAASG,EAAO,GAAkB;AAChC,IAAI,EAAE,QAAQ,UAGV,EAAE,YAAY,SAAS,kBAAkBF,MAC3C,EAAE,eAAA,GACFC,EAAK,MAAA,IAIH,CAAC,EAAE,YAAY,SAAS,kBAAkBA,MAC5C,EAAE,eAAA,GACFD,EAAM,MAAA;AAAA,EAEV;AAGA,SAAAF,EAAU,iBAAiB,WAAWI,CAAM,GAG5CF,GAAO,MAAA,GAGA,MAAMF,EAAU,oBAAoB,WAAWI,CAAM;AAC9D;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nofinite/nui",
3
- "version": "1.1.2",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -14,7 +14,7 @@
14
14
  "import": "./dist/index.js",
15
15
  "require": "./dist/index.cjs"
16
16
  },
17
- "./nui.css": "./dist/styles/nui.css",
17
+ "./styles.css": "./dist/styles/index.css",
18
18
  "./package.json": "./package.json"
19
19
  },
20
20
  "files": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"HStack.cjs","sources":["../../../src/components/layout/HStack.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Flex } from './Flex';\r\n\r\ninterface HStackProps extends React.HTMLAttributes<HTMLDivElement> {\r\n gap?: number | string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function HStack({ gap = 8, children, ...rest }: HStackProps) {\r\n return (\r\n <Flex direction=\"row\" gap={gap} {...rest}>\r\n {children}\r\n </Flex>\r\n );\r\n}\r\n"],"names":["HStack","gap","children","rest","Flex"],"mappings":"6IAQO,SAASA,EAAO,CAAE,IAAAC,EAAM,EAAG,SAAAC,EAAU,GAAGC,GAAqB,CAClE,aACGC,EAAAA,KAAA,CAAK,UAAU,MAAM,IAAAH,EAAW,GAAGE,EACjC,SAAAD,EACH,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HStack.js","sources":["../../../src/components/layout/HStack.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Flex } from './Flex';\r\n\r\ninterface HStackProps extends React.HTMLAttributes<HTMLDivElement> {\r\n gap?: number | string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function HStack({ gap = 8, children, ...rest }: HStackProps) {\r\n return (\r\n <Flex direction=\"row\" gap={gap} {...rest}>\r\n {children}\r\n </Flex>\r\n );\r\n}\r\n"],"names":["HStack","gap","children","rest","Flex"],"mappings":";;AAQO,SAASA,EAAO,EAAE,KAAAC,IAAM,GAAG,UAAAC,GAAU,GAAGC,KAAqB;AAClE,2BACGC,GAAA,EAAK,WAAU,OAAM,KAAAH,GAAW,GAAGE,GACjC,UAAAD,GACH;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stack.cjs","sources":["../../../src/components/layout/Stack.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Flex } from './Flex';\r\n\r\ninterface StackProps extends React.HTMLAttributes<HTMLDivElement> {\r\n gap?: number | string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function Stack({ gap = 8, children, ...rest }: StackProps) {\r\n return (\r\n <Flex direction=\"column\" gap={gap} {...rest}>\r\n {children}\r\n </Flex>\r\n );\r\n}\r\n"],"names":["Stack","gap","children","rest","Flex"],"mappings":"6IAQO,SAASA,EAAM,CAAE,IAAAC,EAAM,EAAG,SAAAC,EAAU,GAAGC,GAAoB,CAChE,aACGC,EAAAA,KAAA,CAAK,UAAU,SAAS,IAAAH,EAAW,GAAGE,EACpC,SAAAD,EACH,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stack.js","sources":["../../../src/components/layout/Stack.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Flex } from './Flex';\r\n\r\ninterface StackProps extends React.HTMLAttributes<HTMLDivElement> {\r\n gap?: number | string;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport function Stack({ gap = 8, children, ...rest }: StackProps) {\r\n return (\r\n <Flex direction=\"column\" gap={gap} {...rest}>\r\n {children}\r\n </Flex>\r\n );\r\n}\r\n"],"names":["Stack","gap","children","rest","Flex"],"mappings":";;AAQO,SAASA,EAAM,EAAE,KAAAC,IAAM,GAAG,UAAAC,GAAU,GAAGC,KAAoB;AAChE,2BACGC,GAAA,EAAK,WAAU,UAAS,KAAAH,GAAW,GAAGE,GACpC,UAAAD,GACH;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NUIProvider.cjs","sources":["../../src/theme/NUIProvider.tsx"],"sourcesContent":["/**\r\n * NUIProvider.tsx\r\n * ---------------------------------------\r\n * Global Theme Provider for entire UI system.\r\n * - Light / Dark theme\r\n * - Sync with `prefers-color-scheme`\r\n * - LocalStorage persistence\r\n * - No flash on load\r\n */\r\n\r\n/**\r\n * UIProvider.tsx (Lint-Clean Version)\r\n */\r\n\r\nimport React, { useEffect, useState, useLayoutEffect } from 'react';\r\nimport './theme.css';\r\n\r\nexport type ThemeMode = 'light' | 'dark' | 'system';\r\n\r\ninterface NUIProviderProps {\r\n defaultTheme?: ThemeMode;\r\n children: React.ReactNode;\r\n}\r\n\r\n// FIX: no empty function, use a safe fallback\r\nconst noop = () => {\r\n throw new Error('setTheme used outside of <UIProvider>');\r\n};\r\n\r\nexport const ThemeContext = React.createContext<{\r\n theme: ThemeMode;\r\n resolved: 'light' | 'dark';\r\n setTheme: (t: ThemeMode) => void;\r\n}>({\r\n theme: 'system',\r\n resolved: 'light',\r\n setTheme: noop,\r\n});\r\n\r\nexport function NUIProvider({\r\n defaultTheme = 'system',\r\n children,\r\n}: NUIProviderProps) {\r\n const [theme, setTheme] = useState<ThemeMode>(defaultTheme);\r\n const [resolved, setResolved] = useState<'light' | 'dark'>('light');\r\n\r\n /**\r\n * Apply theme — extracted so it can be reused safely\r\n */\r\n const applyTheme = (mode: ThemeMode) => {\r\n const final: 'light' | 'dark' =\r\n mode === 'system'\r\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\r\n ? 'dark'\r\n : 'light'\r\n : mode;\r\n\r\n document.documentElement.setAttribute('data-theme', final);\r\n setResolved(final);\r\n };\r\n\r\n /**\r\n * FIX: useLayoutEffect must include defaultTheme\r\n * We only run this logic once (when mounting),\r\n * so using defaultTheme in deps is correct.\r\n */\r\n useLayoutEffect(() => {\r\n const stored = localStorage.getItem('ui-theme') as ThemeMode | null;\r\n\r\n if (stored) {\r\n setTheme(stored);\r\n applyTheme(stored);\r\n } else {\r\n setTheme(defaultTheme);\r\n applyTheme(defaultTheme);\r\n }\r\n }, [defaultTheme]);\r\n\r\n /**\r\n * When theme changes manually\r\n */\r\n useEffect(() => {\r\n localStorage.setItem('ui-theme', theme);\r\n applyTheme(theme);\r\n }, [theme]);\r\n\r\n /**\r\n * System theme listener (only when theme === system)\r\n */\r\n useEffect(() => {\r\n if (theme !== 'system') return;\r\n\r\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\r\n const handler = () => applyTheme('system');\r\n\r\n mql.addEventListener('change', handler);\r\n return () => mql.removeEventListener('change', handler);\r\n }, [theme]);\r\n\r\n return (\r\n <ThemeContext.Provider value={{ theme, resolved, setTheme }}>\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n}\r\n"],"names":["noop","ThemeContext","React","NUIProvider","defaultTheme","children","theme","setTheme","useState","resolved","setResolved","applyTheme","mode","final","useLayoutEffect","stored","useEffect","mql","handler","jsx"],"mappings":"mKAyBA,MAAMA,EAAO,IAAM,CACjB,MAAM,IAAI,MAAM,uCAAuC,CACzD,EAEaC,EAAeC,EAAM,cAI/B,CACD,MAAO,SACP,SAAU,QACV,SAAUF,CACZ,CAAC,EAEM,SAASG,EAAY,CAC1B,aAAAC,EAAe,SACf,SAAAC,CACF,EAAqB,CACnB,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAoBJ,CAAY,EACpD,CAACK,EAAUC,CAAW,EAAIF,EAAAA,SAA2B,OAAO,EAK5DG,EAAcC,GAAoB,CACtC,MAAMC,EACJD,IAAS,SACL,OAAO,WAAW,8BAA8B,EAAE,QAChD,OACA,QACFA,EAEN,SAAS,gBAAgB,aAAa,aAAcC,CAAK,EACzDH,EAAYG,CAAK,CACnB,EAOAC,OAAAA,EAAAA,gBAAgB,IAAM,CACpB,MAAMC,EAAS,aAAa,QAAQ,UAAU,EAE1CA,GACFR,EAASQ,CAAM,EACfJ,EAAWI,CAAM,IAEjBR,EAASH,CAAY,EACrBO,EAAWP,CAAY,EAE3B,EAAG,CAACA,CAAY,CAAC,EAKjBY,EAAAA,UAAU,IAAM,CACd,aAAa,QAAQ,WAAYV,CAAK,EACtCK,EAAWL,CAAK,CAClB,EAAG,CAACA,CAAK,CAAC,EAKVU,EAAAA,UAAU,IAAM,CACd,GAAIV,IAAU,SAAU,OAExB,MAAMW,EAAM,OAAO,WAAW,8BAA8B,EACtDC,EAAU,IAAMP,EAAW,QAAQ,EAEzC,OAAAM,EAAI,iBAAiB,SAAUC,CAAO,EAC/B,IAAMD,EAAI,oBAAoB,SAAUC,CAAO,CACxD,EAAG,CAACZ,CAAK,CAAC,EAGRa,MAAClB,EAAa,SAAb,CAAsB,MAAO,CAAE,MAAAK,EAAO,SAAAG,EAAU,SAAAF,GAC9C,SAAAF,EACH,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NUIProvider.js","sources":["../../src/theme/NUIProvider.tsx"],"sourcesContent":["/**\r\n * NUIProvider.tsx\r\n * ---------------------------------------\r\n * Global Theme Provider for entire UI system.\r\n * - Light / Dark theme\r\n * - Sync with `prefers-color-scheme`\r\n * - LocalStorage persistence\r\n * - No flash on load\r\n */\r\n\r\n/**\r\n * UIProvider.tsx (Lint-Clean Version)\r\n */\r\n\r\nimport React, { useEffect, useState, useLayoutEffect } from 'react';\r\nimport './theme.css';\r\n\r\nexport type ThemeMode = 'light' | 'dark' | 'system';\r\n\r\ninterface NUIProviderProps {\r\n defaultTheme?: ThemeMode;\r\n children: React.ReactNode;\r\n}\r\n\r\n// FIX: no empty function, use a safe fallback\r\nconst noop = () => {\r\n throw new Error('setTheme used outside of <UIProvider>');\r\n};\r\n\r\nexport const ThemeContext = React.createContext<{\r\n theme: ThemeMode;\r\n resolved: 'light' | 'dark';\r\n setTheme: (t: ThemeMode) => void;\r\n}>({\r\n theme: 'system',\r\n resolved: 'light',\r\n setTheme: noop,\r\n});\r\n\r\nexport function NUIProvider({\r\n defaultTheme = 'system',\r\n children,\r\n}: NUIProviderProps) {\r\n const [theme, setTheme] = useState<ThemeMode>(defaultTheme);\r\n const [resolved, setResolved] = useState<'light' | 'dark'>('light');\r\n\r\n /**\r\n * Apply theme — extracted so it can be reused safely\r\n */\r\n const applyTheme = (mode: ThemeMode) => {\r\n const final: 'light' | 'dark' =\r\n mode === 'system'\r\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\r\n ? 'dark'\r\n : 'light'\r\n : mode;\r\n\r\n document.documentElement.setAttribute('data-theme', final);\r\n setResolved(final);\r\n };\r\n\r\n /**\r\n * FIX: useLayoutEffect must include defaultTheme\r\n * We only run this logic once (when mounting),\r\n * so using defaultTheme in deps is correct.\r\n */\r\n useLayoutEffect(() => {\r\n const stored = localStorage.getItem('ui-theme') as ThemeMode | null;\r\n\r\n if (stored) {\r\n setTheme(stored);\r\n applyTheme(stored);\r\n } else {\r\n setTheme(defaultTheme);\r\n applyTheme(defaultTheme);\r\n }\r\n }, [defaultTheme]);\r\n\r\n /**\r\n * When theme changes manually\r\n */\r\n useEffect(() => {\r\n localStorage.setItem('ui-theme', theme);\r\n applyTheme(theme);\r\n }, [theme]);\r\n\r\n /**\r\n * System theme listener (only when theme === system)\r\n */\r\n useEffect(() => {\r\n if (theme !== 'system') return;\r\n\r\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\r\n const handler = () => applyTheme('system');\r\n\r\n mql.addEventListener('change', handler);\r\n return () => mql.removeEventListener('change', handler);\r\n }, [theme]);\r\n\r\n return (\r\n <ThemeContext.Provider value={{ theme, resolved, setTheme }}>\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n}\r\n"],"names":["noop","ThemeContext","React","NUIProvider","defaultTheme","children","theme","setTheme","useState","resolved","setResolved","applyTheme","mode","final","useLayoutEffect","stored","useEffect","mql","handler","jsx"],"mappings":";;;AAyBA,MAAMA,IAAO,MAAM;AACjB,QAAM,IAAI,MAAM,uCAAuC;AACzD,GAEaC,IAAeC,EAAM,cAI/B;AAAA,EACD,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAUF;AACZ,CAAC;AAEM,SAASG,EAAY;AAAA,EAC1B,cAAAC,IAAe;AAAA,EACf,UAAAC;AACF,GAAqB;AACnB,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoBJ,CAAY,GACpD,CAACK,GAAUC,CAAW,IAAIF,EAA2B,OAAO,GAK5DG,IAAa,CAACC,MAAoB;AACtC,UAAMC,IACJD,MAAS,WACL,OAAO,WAAW,8BAA8B,EAAE,UAChD,SACA,UACFA;AAEN,aAAS,gBAAgB,aAAa,cAAcC,CAAK,GACzDH,EAAYG,CAAK;AAAA,EACnB;AAOA,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAS,aAAa,QAAQ,UAAU;AAE9C,IAAIA,KACFR,EAASQ,CAAM,GACfJ,EAAWI,CAAM,MAEjBR,EAASH,CAAY,GACrBO,EAAWP,CAAY;AAAA,EAE3B,GAAG,CAACA,CAAY,CAAC,GAKjBY,EAAU,MAAM;AACd,iBAAa,QAAQ,YAAYV,CAAK,GACtCK,EAAWL,CAAK;AAAA,EAClB,GAAG,CAACA,CAAK,CAAC,GAKVU,EAAU,MAAM;AACd,QAAIV,MAAU,SAAU;AAExB,UAAMW,IAAM,OAAO,WAAW,8BAA8B,GACtDC,IAAU,MAAMP,EAAW,QAAQ;AAEzC,WAAAM,EAAI,iBAAiB,UAAUC,CAAO,GAC/B,MAAMD,EAAI,oBAAoB,UAAUC,CAAO;AAAA,EACxD,GAAG,CAACZ,CAAK,CAAC,GAGR,gBAAAa,EAAClB,EAAa,UAAb,EAAsB,OAAO,EAAE,OAAAK,GAAO,UAAAG,GAAU,UAAAF,KAC9C,UAAAF,GACH;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.cjs","sources":["../../src/theme/useTheme.ts"],"sourcesContent":["/**\r\n * useTheme.ts\r\n * --------------------------\r\n * Hook wrapper for ThemeContext.\r\n */\r\n\r\nimport { useContext } from 'react';\r\nimport { ThemeContext } from './NUIProvider';\r\n\r\nexport function useTheme() {\r\n return useContext(ThemeContext);\r\n}\r\n"],"names":["useTheme","useContext","ThemeContext"],"mappings":"wIASO,SAASA,GAAW,CACzB,OAAOC,EAAAA,WAAWC,EAAAA,YAAY,CAChC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.js","sources":["../../src/theme/useTheme.ts"],"sourcesContent":["/**\r\n * useTheme.ts\r\n * --------------------------\r\n * Hook wrapper for ThemeContext.\r\n */\r\n\r\nimport { useContext } from 'react';\r\nimport { ThemeContext } from './NUIProvider';\r\n\r\nexport function useTheme() {\r\n return useContext(ThemeContext);\r\n}\r\n"],"names":["useTheme","useContext","ThemeContext"],"mappings":";;AASO,SAASA,IAAW;AACzB,SAAOC,EAAWC,CAAY;AAChC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HStack.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/HStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,MAAM,CAAC,EAAE,GAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,2CAMjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,2CAM/D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NUIProvider.d.ts","sourceRoot":"","sources":["../../../src/theme/NUIProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AAEH,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,UAAU,gBAAgB;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAOD,eAAO,MAAM,YAAY;WAChB,SAAS;cACN,OAAO,GAAG,MAAM;cAChB,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI;EAKhC,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAC1B,YAAuB,EACvB,QAAQ,GACT,EAAE,gBAAgB,2CA8DlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/useTheme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,wBAAgB,QAAQ;;;;EAEvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateId.cjs","sources":["../../../src/utils/generateid/generateId.ts"],"sourcesContent":["export function generateId(prefix: string) {\r\n return `${prefix}-${Math.random().toString(36).slice(2, 8)}`;\r\n}\r\n"],"names":["generateId","prefix"],"mappings":"gFAAO,SAASA,EAAWC,EAAgB,CACzC,MAAO,GAAGA,CAAM,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,EAAG,CAAC,CAAC,EAC5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateId.js","sources":["../../../src/utils/generateid/generateId.ts"],"sourcesContent":["export function generateId(prefix: string) {\r\n return `${prefix}-${Math.random().toString(36).slice(2, 8)}`;\r\n}\r\n"],"names":["generateId","prefix"],"mappings":"AAAO,SAASA,EAAWC,GAAgB;AACzC,SAAO,GAAGA,CAAM,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAC5D;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboardNav.cjs","sources":["../../../src/utils/keyboardnav/keyboardNav.ts"],"sourcesContent":["/**\r\n * createKeyboardNavigation\r\n * -------------------------\r\n * Enables arrow-key navigation between items.\r\n * Compliant with WAI-ARIA authoring practices.\r\n */\r\nexport function createKeyboardNavigation(options: {\r\n items: HTMLElement[];\r\n onSelect: (index: number) => void;\r\n}) {\r\n return function (e: KeyboardEvent) {\r\n const { items, onSelect } = options;\r\n const current = items.indexOf(document.activeElement as HTMLElement);\r\n\r\n if (current === -1) return;\r\n\r\n if (e.key === 'ArrowDown') {\r\n e.preventDefault();\r\n items[(current + 1) % items.length].focus();\r\n }\r\n\r\n if (e.key === 'ArrowUp') {\r\n e.preventDefault();\r\n items[(current - 1 + items.length) % items.length].focus();\r\n }\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n onSelect(current);\r\n }\r\n };\r\n}\r\n"],"names":["createKeyboardNavigation","options","items","onSelect","current"],"mappings":"gFAMO,SAASA,EAAyBC,EAGtC,CACD,OAAO,SAAU,EAAkB,CACjC,KAAM,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaF,EACtBG,EAAUF,EAAM,QAAQ,SAAS,aAA4B,EAE/DE,IAAY,KAEZ,EAAE,MAAQ,cACZ,EAAE,eAAA,EACFF,GAAOE,EAAU,GAAKF,EAAM,MAAM,EAAE,MAAA,GAGlC,EAAE,MAAQ,YACZ,EAAE,eAAA,EACFA,GAAOE,EAAU,EAAIF,EAAM,QAAUA,EAAM,MAAM,EAAE,MAAA,IAGjD,EAAE,MAAQ,SAAW,EAAE,MAAQ,OACjC,EAAE,eAAA,EACFC,EAASC,CAAO,GAEpB,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboardNav.js","sources":["../../../src/utils/keyboardnav/keyboardNav.ts"],"sourcesContent":["/**\r\n * createKeyboardNavigation\r\n * -------------------------\r\n * Enables arrow-key navigation between items.\r\n * Compliant with WAI-ARIA authoring practices.\r\n */\r\nexport function createKeyboardNavigation(options: {\r\n items: HTMLElement[];\r\n onSelect: (index: number) => void;\r\n}) {\r\n return function (e: KeyboardEvent) {\r\n const { items, onSelect } = options;\r\n const current = items.indexOf(document.activeElement as HTMLElement);\r\n\r\n if (current === -1) return;\r\n\r\n if (e.key === 'ArrowDown') {\r\n e.preventDefault();\r\n items[(current + 1) % items.length].focus();\r\n }\r\n\r\n if (e.key === 'ArrowUp') {\r\n e.preventDefault();\r\n items[(current - 1 + items.length) % items.length].focus();\r\n }\r\n\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n onSelect(current);\r\n }\r\n };\r\n}\r\n"],"names":["createKeyboardNavigation","options","items","onSelect","current"],"mappings":"AAMO,SAASA,EAAyBC,GAGtC;AACD,SAAO,SAAU,GAAkB;AACjC,UAAM,EAAE,OAAAC,GAAO,UAAAC,EAAA,IAAaF,GACtBG,IAAUF,EAAM,QAAQ,SAAS,aAA4B;AAEnE,IAAIE,MAAY,OAEZ,EAAE,QAAQ,gBACZ,EAAE,eAAA,GACFF,GAAOE,IAAU,KAAKF,EAAM,MAAM,EAAE,MAAA,IAGlC,EAAE,QAAQ,cACZ,EAAE,eAAA,GACFA,GAAOE,IAAU,IAAIF,EAAM,UAAUA,EAAM,MAAM,EAAE,MAAA,KAGjD,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAA,GACFC,EAASC,CAAO;AAAA,EAEpB;AACF;"}
File without changes
File without changes
File without changes
File without changes
File without changes