h2o-library 1.7.1 → 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.
Files changed (691) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +149 -13
  3. package/assets/logo.svg +3 -0
  4. package/dist/charts/charts/index.d.ts +8 -0
  5. package/dist/charts/charts/src/bar/chart-bar.d.ts +27 -0
  6. package/dist/charts/charts/src/chart/chart.d.ts +35 -0
  7. package/dist/charts/charts/src/chart-tooltip-styles.d.ts +4 -0
  8. package/dist/charts/charts/src/gantt/chart-gantt.d.ts +25 -0
  9. package/dist/charts/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  10. package/dist/charts/charts/src/legend/legend.d.ts +19 -0
  11. package/dist/charts/charts/src/line/chart-line.d.ts +28 -0
  12. package/dist/charts/charts/src/pie/chart-pie.d.ts +19 -0
  13. package/dist/charts/charts/src/recharts-tick-props.d.ts +11 -0
  14. package/dist/charts/charts/src/stat/chart-stat.d.ts +21 -0
  15. package/dist/charts/components/index.d.ts +36 -0
  16. package/dist/charts/components/src/accordion/accordion.d.ts +32 -0
  17. package/dist/charts/components/src/button/button.d.ts +41 -0
  18. package/dist/charts/components/src/calendar/calendar.d.ts +43 -0
  19. package/dist/charts/components/src/checkbox/checkbox.d.ts +58 -0
  20. package/dist/charts/components/src/chip/chip.d.ts +37 -0
  21. package/dist/charts/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  22. package/dist/charts/components/src/content-switch/content-switch.d.ts +39 -0
  23. package/dist/charts/components/src/date-picker/date-picker.d.ts +35 -0
  24. package/dist/charts/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  25. package/dist/charts/components/src/dropdown/dropdown.d.ts +53 -0
  26. package/dist/charts/components/src/expandable-table/expandable-table.d.ts +61 -0
  27. package/dist/charts/components/src/icon/icon-paths.d.ts +3 -0
  28. package/dist/charts/components/src/icon/icon.d.ts +28 -0
  29. package/dist/charts/components/src/input/input.d.ts +29 -0
  30. package/dist/charts/components/src/loader/loader.d.ts +12 -0
  31. package/dist/charts/components/src/logo/logo.d.ts +12 -0
  32. package/dist/charts/components/src/message/message.d.ts +34 -0
  33. package/dist/charts/components/src/modal/modal.d.ts +35 -0
  34. package/dist/charts/components/src/month-calendar/month-calendar.d.ts +28 -0
  35. package/dist/charts/components/src/multi-menu/multi-menu.d.ts +39 -0
  36. package/dist/charts/components/src/multi-select/multi-select.d.ts +49 -0
  37. package/dist/charts/components/src/pagination/pagination.d.ts +33 -0
  38. package/dist/charts/components/src/popover/popover.d.ts +53 -0
  39. package/dist/charts/components/src/radio/radio.d.ts +31 -0
  40. package/dist/charts/components/src/radio-group/radio-group.d.ts +42 -0
  41. package/dist/charts/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  42. package/dist/charts/components/src/side-panel/side-panel.d.ts +36 -0
  43. package/dist/charts/components/src/skeleton/skeleton.d.ts +15 -0
  44. package/dist/charts/components/src/slider/slider.d.ts +46 -0
  45. package/dist/charts/components/src/table/table-utils.d.ts +2 -0
  46. package/dist/charts/components/src/table/table.d.ts +78 -0
  47. package/dist/charts/components/src/tabs/tabs.d.ts +35 -0
  48. package/dist/charts/components/src/tag/tag.d.ts +26 -0
  49. package/dist/charts/components/src/textarea/textarea.d.ts +33 -0
  50. package/dist/charts/components/src/time-picker/time-picker.d.ts +31 -0
  51. package/dist/charts/components/src/toast/toast.d.ts +54 -0
  52. package/dist/charts/components/src/toggle/toggle.d.ts +35 -0
  53. package/dist/charts/components/src/tooltip/tooltip.d.ts +38 -0
  54. package/dist/charts/entries/charts.d.ts +4 -0
  55. package/dist/charts/entries/hooks.d.ts +4 -0
  56. package/dist/charts/entries/types.d.ts +9 -0
  57. package/dist/charts/entries/utils.d.ts +5 -0
  58. package/dist/charts/hooks/index.d.ts +18 -0
  59. package/dist/charts/hooks/src/use-click-outside.d.ts +13 -0
  60. package/dist/charts/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  61. package/dist/charts/hooks/src/use-debounce.d.ts +9 -0
  62. package/dist/charts/hooks/src/use-dropdown-position.d.ts +10 -0
  63. package/dist/charts/hooks/src/use-event-listener.d.ts +15 -0
  64. package/dist/charts/hooks/src/use-focus-trap.d.ts +8 -0
  65. package/dist/charts/hooks/src/use-hover.d.ts +10 -0
  66. package/dist/charts/hooks/src/use-idle.d.ts +15 -0
  67. package/dist/charts/hooks/src/use-interval.d.ts +7 -0
  68. package/dist/charts/hooks/src/use-key-press.d.ts +13 -0
  69. package/dist/charts/hooks/src/use-long-press.d.ts +20 -0
  70. package/dist/charts/hooks/src/use-media-query.d.ts +7 -0
  71. package/dist/charts/hooks/src/use-mouse.d.ts +12 -0
  72. package/dist/charts/hooks/src/use-timeout.d.ts +8 -0
  73. package/dist/charts/hooks/src/use-toast.d.ts +15 -0
  74. package/dist/charts/hooks/src/use-window-scroll.d.ts +10 -0
  75. package/dist/charts/hooks/src/use-window-size.d.ts +10 -0
  76. package/dist/charts/index.cjs.js +2 -0
  77. package/dist/charts/index.d.ts +4 -0
  78. package/dist/charts/index.js +2 -0
  79. package/dist/charts/src/bar/chart-bar.d.ts +27 -0
  80. package/dist/charts/src/chart/chart.d.ts +35 -0
  81. package/dist/charts/src/chart-tooltip-styles.d.ts +4 -0
  82. package/dist/charts/src/gantt/chart-gantt.d.ts +25 -0
  83. package/dist/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  84. package/dist/charts/src/legend/legend.d.ts +19 -0
  85. package/dist/charts/src/line/chart-line.d.ts +28 -0
  86. package/dist/charts/src/pie/chart-pie.d.ts +19 -0
  87. package/dist/charts/src/recharts-tick-props.d.ts +11 -0
  88. package/dist/charts/src/stat/chart-stat.d.ts +21 -0
  89. package/dist/charts/types/index.d.ts +2 -0
  90. package/dist/charts/types/src/icon.d.ts +1 -0
  91. package/dist/charts/utils/index.d.ts +7 -0
  92. package/dist/charts/utils/src/array.d.ts +24 -0
  93. package/dist/charts/utils/src/async.d.ts +32 -0
  94. package/dist/charts/utils/src/cn.d.ts +9 -0
  95. package/dist/charts/utils/src/format.d.ts +20 -0
  96. package/dist/charts/utils/src/math.d.ts +22 -0
  97. package/dist/charts/utils/src/object.d.ts +36 -0
  98. package/dist/charts/utils/src/string.d.ts +24 -0
  99. package/dist/components/index.d.ts +36 -41
  100. package/dist/components/src/accordion/accordion.d.ts +32 -0
  101. package/dist/components/src/button/button.d.ts +41 -0
  102. package/dist/components/src/calendar/calendar.d.ts +43 -0
  103. package/dist/components/src/checkbox/checkbox.d.ts +58 -0
  104. package/dist/components/src/chip/chip.d.ts +37 -0
  105. package/dist/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  106. package/dist/components/src/content-switch/content-switch.d.ts +39 -0
  107. package/dist/components/src/date-picker/date-picker.d.ts +35 -0
  108. package/dist/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  109. package/dist/components/src/dropdown/dropdown.d.ts +53 -0
  110. package/dist/components/src/expandable-table/expandable-table.d.ts +61 -0
  111. package/dist/components/src/icon/icon-paths.d.ts +3 -0
  112. package/dist/components/src/icon/icon.d.ts +28 -0
  113. package/dist/components/src/input/input.d.ts +29 -0
  114. package/dist/components/src/loader/loader.d.ts +12 -0
  115. package/dist/components/src/logo/logo.d.ts +12 -0
  116. package/dist/components/src/message/message.d.ts +34 -0
  117. package/dist/components/src/modal/modal.d.ts +35 -0
  118. package/dist/components/src/month-calendar/month-calendar.d.ts +28 -0
  119. package/dist/components/src/multi-menu/multi-menu.d.ts +39 -0
  120. package/dist/components/src/multi-select/multi-select.d.ts +49 -0
  121. package/dist/components/src/pagination/pagination.d.ts +33 -0
  122. package/dist/components/src/popover/popover.d.ts +53 -0
  123. package/dist/components/src/radio/radio.d.ts +31 -0
  124. package/dist/components/src/radio-group/radio-group.d.ts +42 -0
  125. package/dist/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  126. package/dist/components/src/side-panel/side-panel.d.ts +36 -0
  127. package/dist/components/src/skeleton/skeleton.d.ts +15 -0
  128. package/dist/components/src/slider/slider.d.ts +46 -0
  129. package/dist/components/src/table/table-utils.d.ts +2 -0
  130. package/dist/components/src/table/table.d.ts +78 -0
  131. package/dist/components/src/tabs/tabs.d.ts +35 -0
  132. package/dist/components/src/tag/tag.d.ts +26 -0
  133. package/dist/components/src/textarea/textarea.d.ts +33 -0
  134. package/dist/components/src/time-picker/time-picker.d.ts +31 -0
  135. package/dist/components/src/toast/toast.d.ts +54 -0
  136. package/dist/components/src/toggle/toggle.d.ts +35 -0
  137. package/dist/components/src/tooltip/tooltip.d.ts +38 -0
  138. package/dist/entries/charts.d.ts +4 -0
  139. package/dist/entries/hooks.d.ts +4 -0
  140. package/dist/entries/types.d.ts +9 -0
  141. package/dist/entries/utils.d.ts +5 -0
  142. package/dist/esm/charts/charts.css +377 -0
  143. package/dist/esm/charts/index.d.ts +8 -0
  144. package/dist/esm/charts/src/bar/chart-bar.d.ts +27 -0
  145. package/dist/esm/charts/src/chart/chart.d.ts +35 -0
  146. package/dist/esm/charts/src/chart-tooltip-styles.d.ts +4 -0
  147. package/dist/esm/charts/src/gantt/chart-gantt.d.ts +25 -0
  148. package/dist/esm/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  149. package/dist/{css/src → esm/charts/src/legend}/legend.css +6 -1
  150. package/dist/esm/charts/src/legend/legend.d.ts +19 -0
  151. package/dist/esm/charts/src/line/chart-line.d.ts +28 -0
  152. package/dist/esm/charts/src/pie/chart-pie.d.ts +19 -0
  153. package/dist/esm/charts/src/recharts-tick-props.d.ts +11 -0
  154. package/dist/esm/charts/src/stat/chart-stat.d.ts +21 -0
  155. package/dist/esm/components/index.d.ts +36 -41
  156. package/dist/{css/src → esm/components/src/accordion}/accordion.css +8 -2
  157. package/dist/esm/components/src/accordion/accordion.d.ts +32 -0
  158. package/dist/esm/components/src/accordion/accordion.js +2 -0
  159. package/dist/{css/src → esm/components/src/button}/button.css +19 -8
  160. package/dist/esm/components/src/button/button.d.ts +41 -0
  161. package/dist/esm/components/src/button/button.js +2 -0
  162. package/dist/{css/src → esm/components/src/calendar}/calendar.css +62 -96
  163. package/dist/esm/components/src/calendar/calendar.d.ts +43 -0
  164. package/dist/esm/components/src/calendar/calendar.js +2 -0
  165. package/dist/{css/src → esm/components/src/checkbox}/checkbox.css +97 -19
  166. package/dist/esm/components/src/checkbox/checkbox.d.ts +58 -0
  167. package/dist/esm/components/src/checkbox/checkbox.js +2 -0
  168. package/dist/esm/components/src/chip/chip.css +123 -0
  169. package/dist/esm/components/src/chip/chip.d.ts +37 -0
  170. package/dist/esm/components/src/chip/chip.js +2 -0
  171. package/dist/{css/src → esm/components/src/compact-multi-select}/compact-multi-select.css +14 -38
  172. package/dist/esm/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  173. package/dist/esm/components/src/compact-multi-select/compact-multi-select.js +2 -0
  174. package/dist/{css/src → esm/components/src/content-switch}/content-switch.css +17 -1
  175. package/dist/esm/components/src/content-switch/content-switch.d.ts +39 -0
  176. package/dist/esm/components/src/content-switch/content-switch.js +2 -0
  177. package/dist/esm/components/src/date-picker/date-picker.css +160 -0
  178. package/dist/esm/components/src/date-picker/date-picker.d.ts +35 -0
  179. package/dist/esm/components/src/date-picker/date-picker.js +2 -0
  180. package/dist/{css/src → esm/components/src/date-range-picker}/date-range-picker.css +3 -4
  181. package/dist/esm/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  182. package/dist/esm/components/src/date-range-picker/date-range-picker.js +2 -0
  183. package/dist/{css/src → esm/components/src/dropdown}/dropdown.css +26 -13
  184. package/dist/esm/components/src/dropdown/dropdown.d.ts +53 -0
  185. package/dist/esm/components/src/dropdown/dropdown.js +2 -0
  186. package/dist/{css/src → esm/components/src/expandable-table}/expandable-table.css +27 -10
  187. package/dist/esm/components/src/expandable-table/expandable-table.d.ts +61 -0
  188. package/dist/esm/components/src/expandable-table/expandable-table.js +2 -0
  189. package/dist/esm/components/src/icon/icon-paths.d.ts +3 -0
  190. package/dist/esm/components/src/icon/icon-paths.js +2 -0
  191. package/dist/esm/components/src/icon/icon.d.ts +28 -0
  192. package/dist/esm/components/src/icon/icon.js +2 -0
  193. package/dist/{css/src → esm/components/src/input}/input.css +11 -12
  194. package/dist/esm/components/src/input/input.d.ts +29 -0
  195. package/dist/esm/components/src/input/input.js +2 -0
  196. package/dist/esm/components/src/loader/loader.css +109 -0
  197. package/dist/esm/components/src/loader/loader.d.ts +12 -0
  198. package/dist/esm/components/src/loader/loader.js +2 -0
  199. package/dist/esm/components/src/logo/logo.d.ts +12 -0
  200. package/dist/esm/components/src/logo/logo.js +2 -0
  201. package/dist/{css/src → esm/components/src/message}/message.css +21 -0
  202. package/dist/esm/components/src/message/message.d.ts +34 -0
  203. package/dist/esm/components/src/message/message.js +2 -0
  204. package/dist/{css/src → esm/components/src/modal}/modal.css +36 -2
  205. package/dist/esm/components/src/modal/modal.d.ts +35 -0
  206. package/dist/esm/components/src/modal/modal.js +2 -0
  207. package/dist/{css/src → esm/components/src/month-calendar}/month-calendar.css +1 -2
  208. package/dist/esm/components/src/month-calendar/month-calendar.d.ts +28 -0
  209. package/dist/esm/components/src/month-calendar/month-calendar.js +2 -0
  210. package/dist/{css/src → esm/components/src/multi-menu}/multi-menu.css +40 -54
  211. package/dist/esm/components/src/multi-menu/multi-menu.d.ts +39 -0
  212. package/dist/esm/components/src/multi-menu/multi-menu.js +2 -0
  213. package/dist/{css/src → esm/components/src/multi-select}/multi-select.css +94 -2
  214. package/dist/esm/components/src/multi-select/multi-select.d.ts +49 -0
  215. package/dist/esm/components/src/multi-select/multi-select.js +2 -0
  216. package/dist/{css/src → esm/components/src/pagination}/pagination.css +17 -0
  217. package/dist/esm/components/src/pagination/pagination.d.ts +33 -0
  218. package/dist/esm/components/src/pagination/pagination.js +2 -0
  219. package/dist/{css/src → esm/components/src/popover}/popover.css +11 -2
  220. package/dist/esm/components/src/popover/popover.d.ts +53 -0
  221. package/dist/esm/components/src/popover/popover.js +2 -0
  222. package/dist/esm/components/src/radio/radio.css +196 -0
  223. package/dist/esm/components/src/radio/radio.d.ts +31 -0
  224. package/dist/esm/components/src/radio/radio.js +2 -0
  225. package/dist/esm/components/src/radio-group/radio-group.css +93 -0
  226. package/dist/esm/components/src/radio-group/radio-group.d.ts +42 -0
  227. package/dist/esm/components/src/radio-group/radio-group.js +2 -0
  228. package/dist/{css/src → esm/components/src/segmented-toggle}/segmented-toggle.css +1 -1
  229. package/dist/esm/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  230. package/dist/esm/components/src/segmented-toggle/segmented-toggle.js +2 -0
  231. package/dist/{css/src → esm/components/src/side-panel}/side-panel.css +62 -9
  232. package/dist/esm/components/src/side-panel/side-panel.d.ts +36 -0
  233. package/dist/esm/components/src/side-panel/side-panel.js +2 -0
  234. package/dist/esm/components/src/skeleton/skeleton.css +79 -0
  235. package/dist/esm/components/src/skeleton/skeleton.d.ts +15 -0
  236. package/dist/esm/components/src/skeleton/skeleton.js +2 -0
  237. package/dist/esm/components/src/slider/slider.css +211 -0
  238. package/dist/esm/components/src/slider/slider.d.ts +46 -0
  239. package/dist/esm/components/src/slider/slider.js +2 -0
  240. package/dist/esm/components/src/table/table-utils.d.ts +2 -0
  241. package/dist/esm/components/src/table/table-utils.js +2 -0
  242. package/dist/{css/src → esm/components/src/table}/table.css +5 -9
  243. package/dist/esm/components/src/table/table.d.ts +78 -0
  244. package/dist/esm/components/src/table/table.js +2 -0
  245. package/dist/{css/src → esm/components/src/tabs}/tabs.css +32 -0
  246. package/dist/esm/components/src/tabs/tabs.d.ts +35 -0
  247. package/dist/esm/components/src/tabs/tabs.js +2 -0
  248. package/dist/{css/src → esm/components/src/tag}/tag.css +17 -2
  249. package/dist/esm/components/src/tag/tag.d.ts +26 -0
  250. package/dist/esm/components/src/tag/tag.js +2 -0
  251. package/dist/{css/src → esm/components/src/textarea}/textarea.css +28 -31
  252. package/dist/esm/components/src/textarea/textarea.d.ts +33 -0
  253. package/dist/esm/components/src/textarea/textarea.js +2 -0
  254. package/dist/esm/components/src/time-picker/time-picker.css +249 -0
  255. package/dist/esm/components/src/time-picker/time-picker.d.ts +31 -0
  256. package/dist/esm/components/src/time-picker/time-picker.js +2 -0
  257. package/dist/{css/src → esm/components/src/toast}/toast.css +50 -12
  258. package/dist/esm/components/src/toast/toast.d.ts +54 -0
  259. package/dist/esm/components/src/toast/toast.js +2 -0
  260. package/dist/{css/src → esm/components/src/toggle}/toggle.css +102 -12
  261. package/dist/esm/components/src/toggle/toggle.d.ts +35 -0
  262. package/dist/esm/components/src/toggle/toggle.js +2 -0
  263. package/dist/{css/src → esm/components/src/tooltip}/tooltip.css +47 -7
  264. package/dist/esm/components/src/tooltip/tooltip.d.ts +38 -0
  265. package/dist/esm/components/src/tooltip/tooltip.js +2 -0
  266. package/dist/esm/entries/charts.d.ts +4 -0
  267. package/dist/esm/entries/hooks.d.ts +4 -0
  268. package/dist/esm/entries/types.d.ts +9 -0
  269. package/dist/esm/entries/utils.d.ts +5 -0
  270. package/dist/esm/hooks/index.d.ts +16 -0
  271. package/dist/esm/hooks/src/use-click-outside.d.ts +10 -1
  272. package/dist/esm/hooks/src/use-click-outside.js +2 -0
  273. package/dist/esm/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  274. package/dist/esm/hooks/src/use-debounce.d.ts +9 -0
  275. package/dist/esm/hooks/src/use-dropdown-position.d.ts +10 -0
  276. package/dist/esm/hooks/src/use-dropdown-position.js +2 -0
  277. package/dist/esm/hooks/src/use-event-listener.d.ts +15 -0
  278. package/dist/esm/hooks/src/use-focus-trap.d.ts +8 -0
  279. package/dist/esm/hooks/src/use-focus-trap.js +2 -0
  280. package/dist/esm/hooks/src/use-hover.d.ts +10 -0
  281. package/dist/esm/hooks/src/use-idle.d.ts +15 -0
  282. package/dist/esm/hooks/src/use-interval.d.ts +7 -0
  283. package/dist/esm/hooks/src/use-key-press.d.ts +13 -0
  284. package/dist/esm/hooks/src/use-long-press.d.ts +20 -0
  285. package/dist/esm/hooks/src/use-media-query.d.ts +6 -0
  286. package/dist/esm/hooks/src/use-mouse.d.ts +12 -0
  287. package/dist/esm/hooks/src/use-timeout.d.ts +8 -0
  288. package/dist/esm/hooks/src/use-toast.d.ts +15 -0
  289. package/dist/esm/hooks/src/use-window-scroll.d.ts +10 -0
  290. package/dist/esm/hooks/src/use-window-size.d.ts +10 -0
  291. package/dist/esm/index.d.ts +0 -4
  292. package/dist/esm/index.js +1 -23
  293. package/dist/esm/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +2 -0
  294. package/dist/esm/node_modules/@dnd-kit/core/dist/core.esm.js +2 -0
  295. package/dist/esm/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +2 -0
  296. package/dist/esm/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +2 -0
  297. package/dist/esm/node_modules/clsx/dist/clsx.mjs.js +2 -0
  298. package/dist/esm/node_modules/tailwind-merge/dist/bundle-mjs.mjs.js +2 -0
  299. package/dist/esm/node_modules/tslib/tslib.es6.mjs.js +2 -0
  300. package/dist/esm/styles/index.css +68 -0
  301. package/dist/esm/types/src/icon.d.ts +1 -1
  302. package/dist/esm/utils/index.d.ts +7 -2
  303. package/dist/esm/utils/src/array.d.ts +24 -0
  304. package/dist/esm/utils/src/async.d.ts +32 -0
  305. package/dist/esm/utils/src/cn.d.ts +9 -0
  306. package/dist/esm/utils/src/cn.js +2 -0
  307. package/dist/esm/utils/src/format.d.ts +20 -0
  308. package/dist/esm/utils/src/math.d.ts +22 -0
  309. package/dist/esm/utils/src/math.js +2 -0
  310. package/dist/esm/utils/src/object.d.ts +36 -0
  311. package/dist/esm/utils/src/string.d.ts +24 -0
  312. package/dist/hooks/charts/index.d.ts +8 -0
  313. package/dist/hooks/charts/src/bar/chart-bar.d.ts +27 -0
  314. package/dist/hooks/charts/src/chart/chart.d.ts +35 -0
  315. package/dist/hooks/charts/src/chart-tooltip-styles.d.ts +4 -0
  316. package/dist/hooks/charts/src/gantt/chart-gantt.d.ts +25 -0
  317. package/dist/hooks/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  318. package/dist/hooks/charts/src/legend/legend.d.ts +19 -0
  319. package/dist/hooks/charts/src/line/chart-line.d.ts +28 -0
  320. package/dist/hooks/charts/src/pie/chart-pie.d.ts +19 -0
  321. package/dist/hooks/charts/src/recharts-tick-props.d.ts +11 -0
  322. package/dist/hooks/charts/src/stat/chart-stat.d.ts +21 -0
  323. package/dist/hooks/components/index.d.ts +36 -0
  324. package/dist/hooks/components/src/accordion/accordion.d.ts +32 -0
  325. package/dist/hooks/components/src/button/button.d.ts +41 -0
  326. package/dist/hooks/components/src/calendar/calendar.d.ts +43 -0
  327. package/dist/hooks/components/src/checkbox/checkbox.d.ts +58 -0
  328. package/dist/hooks/components/src/chip/chip.d.ts +37 -0
  329. package/dist/hooks/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  330. package/dist/hooks/components/src/content-switch/content-switch.d.ts +39 -0
  331. package/dist/hooks/components/src/date-picker/date-picker.d.ts +35 -0
  332. package/dist/hooks/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  333. package/dist/hooks/components/src/dropdown/dropdown.d.ts +53 -0
  334. package/dist/hooks/components/src/expandable-table/expandable-table.d.ts +61 -0
  335. package/dist/hooks/components/src/icon/icon-paths.d.ts +3 -0
  336. package/dist/hooks/components/src/icon/icon.d.ts +28 -0
  337. package/dist/hooks/components/src/input/input.d.ts +29 -0
  338. package/dist/hooks/components/src/loader/loader.d.ts +12 -0
  339. package/dist/hooks/components/src/logo/logo.d.ts +12 -0
  340. package/dist/hooks/components/src/message/message.d.ts +34 -0
  341. package/dist/hooks/components/src/modal/modal.d.ts +35 -0
  342. package/dist/hooks/components/src/month-calendar/month-calendar.d.ts +28 -0
  343. package/dist/hooks/components/src/multi-menu/multi-menu.d.ts +39 -0
  344. package/dist/hooks/components/src/multi-select/multi-select.d.ts +49 -0
  345. package/dist/hooks/components/src/pagination/pagination.d.ts +33 -0
  346. package/dist/hooks/components/src/popover/popover.d.ts +53 -0
  347. package/dist/hooks/components/src/radio/radio.d.ts +31 -0
  348. package/dist/hooks/components/src/radio-group/radio-group.d.ts +42 -0
  349. package/dist/hooks/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  350. package/dist/hooks/components/src/side-panel/side-panel.d.ts +36 -0
  351. package/dist/hooks/components/src/skeleton/skeleton.d.ts +15 -0
  352. package/dist/hooks/components/src/slider/slider.d.ts +46 -0
  353. package/dist/hooks/components/src/table/table-utils.d.ts +2 -0
  354. package/dist/hooks/components/src/table/table.d.ts +78 -0
  355. package/dist/hooks/components/src/tabs/tabs.d.ts +35 -0
  356. package/dist/hooks/components/src/tag/tag.d.ts +26 -0
  357. package/dist/hooks/components/src/textarea/textarea.d.ts +33 -0
  358. package/dist/hooks/components/src/time-picker/time-picker.d.ts +31 -0
  359. package/dist/hooks/components/src/toast/toast.d.ts +54 -0
  360. package/dist/hooks/components/src/toggle/toggle.d.ts +35 -0
  361. package/dist/hooks/components/src/tooltip/tooltip.d.ts +38 -0
  362. package/dist/hooks/entries/charts.d.ts +4 -0
  363. package/dist/hooks/entries/hooks.d.ts +4 -0
  364. package/dist/hooks/entries/types.d.ts +9 -0
  365. package/dist/hooks/entries/utils.d.ts +5 -0
  366. package/dist/hooks/hooks/index.d.ts +18 -0
  367. package/dist/hooks/hooks/src/use-click-outside.d.ts +13 -0
  368. package/dist/hooks/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  369. package/dist/hooks/hooks/src/use-debounce.d.ts +9 -0
  370. package/dist/hooks/hooks/src/use-dropdown-position.d.ts +10 -0
  371. package/dist/hooks/hooks/src/use-event-listener.d.ts +15 -0
  372. package/dist/hooks/hooks/src/use-focus-trap.d.ts +8 -0
  373. package/dist/hooks/hooks/src/use-hover.d.ts +10 -0
  374. package/dist/hooks/hooks/src/use-idle.d.ts +15 -0
  375. package/dist/hooks/hooks/src/use-interval.d.ts +7 -0
  376. package/dist/hooks/hooks/src/use-key-press.d.ts +13 -0
  377. package/dist/hooks/hooks/src/use-long-press.d.ts +20 -0
  378. package/dist/hooks/hooks/src/use-media-query.d.ts +7 -0
  379. package/dist/hooks/hooks/src/use-mouse.d.ts +12 -0
  380. package/dist/hooks/hooks/src/use-timeout.d.ts +8 -0
  381. package/dist/hooks/hooks/src/use-toast.d.ts +15 -0
  382. package/dist/hooks/hooks/src/use-window-scroll.d.ts +10 -0
  383. package/dist/hooks/hooks/src/use-window-size.d.ts +10 -0
  384. package/dist/hooks/index.cjs.js +2 -0
  385. package/dist/hooks/index.d.ts +4 -2
  386. package/dist/hooks/index.js +2 -0
  387. package/dist/hooks/src/use-click-outside.d.ts +10 -1
  388. package/dist/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  389. package/dist/hooks/src/use-debounce.d.ts +9 -0
  390. package/dist/hooks/src/use-dropdown-position.d.ts +10 -0
  391. package/dist/hooks/src/use-event-listener.d.ts +15 -0
  392. package/dist/hooks/src/use-focus-trap.d.ts +8 -0
  393. package/dist/hooks/src/use-hover.d.ts +10 -0
  394. package/dist/hooks/src/use-idle.d.ts +15 -0
  395. package/dist/hooks/src/use-interval.d.ts +7 -0
  396. package/dist/hooks/src/use-key-press.d.ts +13 -0
  397. package/dist/hooks/src/use-long-press.d.ts +20 -0
  398. package/dist/hooks/src/use-media-query.d.ts +6 -0
  399. package/dist/hooks/src/use-mouse.d.ts +12 -0
  400. package/dist/hooks/src/use-timeout.d.ts +8 -0
  401. package/dist/hooks/src/use-toast.d.ts +15 -0
  402. package/dist/hooks/src/use-window-scroll.d.ts +10 -0
  403. package/dist/hooks/src/use-window-size.d.ts +10 -0
  404. package/dist/hooks/types/index.d.ts +2 -0
  405. package/dist/hooks/types/src/icon.d.ts +1 -0
  406. package/dist/hooks/utils/index.d.ts +7 -0
  407. package/dist/hooks/utils/src/array.d.ts +24 -0
  408. package/dist/hooks/utils/src/async.d.ts +32 -0
  409. package/dist/hooks/utils/src/cn.d.ts +9 -0
  410. package/dist/hooks/utils/src/format.d.ts +20 -0
  411. package/dist/hooks/utils/src/math.d.ts +22 -0
  412. package/dist/hooks/utils/src/object.d.ts +36 -0
  413. package/dist/hooks/utils/src/string.d.ts +24 -0
  414. package/dist/index.cjs.js +1 -23
  415. package/dist/index.css +2 -0
  416. package/dist/index.d.ts +4 -4
  417. package/dist/styles/index.css +68 -0
  418. package/dist/types/charts/index.d.ts +8 -0
  419. package/dist/types/charts/src/bar/chart-bar.d.ts +27 -0
  420. package/dist/types/charts/src/chart/chart.d.ts +35 -0
  421. package/dist/types/charts/src/chart-tooltip-styles.d.ts +4 -0
  422. package/dist/types/charts/src/gantt/chart-gantt.d.ts +25 -0
  423. package/dist/types/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  424. package/dist/types/charts/src/legend/legend.d.ts +19 -0
  425. package/dist/types/charts/src/line/chart-line.d.ts +28 -0
  426. package/dist/types/charts/src/pie/chart-pie.d.ts +19 -0
  427. package/dist/types/charts/src/recharts-tick-props.d.ts +11 -0
  428. package/dist/types/charts/src/stat/chart-stat.d.ts +21 -0
  429. package/dist/types/components/index.d.ts +36 -0
  430. package/dist/types/components/src/accordion/accordion.d.ts +32 -0
  431. package/dist/types/components/src/button/button.d.ts +41 -0
  432. package/dist/types/components/src/calendar/calendar.d.ts +43 -0
  433. package/dist/types/components/src/checkbox/checkbox.d.ts +58 -0
  434. package/dist/types/components/src/chip/chip.d.ts +37 -0
  435. package/dist/types/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  436. package/dist/types/components/src/content-switch/content-switch.d.ts +39 -0
  437. package/dist/types/components/src/date-picker/date-picker.d.ts +35 -0
  438. package/dist/types/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  439. package/dist/types/components/src/dropdown/dropdown.d.ts +53 -0
  440. package/dist/types/components/src/expandable-table/expandable-table.d.ts +61 -0
  441. package/dist/types/components/src/icon/icon-paths.d.ts +3 -0
  442. package/dist/types/components/src/icon/icon.d.ts +28 -0
  443. package/dist/types/components/src/input/input.d.ts +29 -0
  444. package/dist/types/components/src/loader/loader.d.ts +12 -0
  445. package/dist/types/components/src/logo/logo.d.ts +12 -0
  446. package/dist/types/components/src/message/message.d.ts +34 -0
  447. package/dist/types/components/src/modal/modal.d.ts +35 -0
  448. package/dist/types/components/src/month-calendar/month-calendar.d.ts +28 -0
  449. package/dist/types/components/src/multi-menu/multi-menu.d.ts +39 -0
  450. package/dist/types/components/src/multi-select/multi-select.d.ts +49 -0
  451. package/dist/types/components/src/pagination/pagination.d.ts +33 -0
  452. package/dist/types/components/src/popover/popover.d.ts +53 -0
  453. package/dist/types/components/src/radio/radio.d.ts +31 -0
  454. package/dist/types/components/src/radio-group/radio-group.d.ts +42 -0
  455. package/dist/types/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  456. package/dist/types/components/src/side-panel/side-panel.d.ts +36 -0
  457. package/dist/types/components/src/skeleton/skeleton.d.ts +15 -0
  458. package/dist/types/components/src/slider/slider.d.ts +46 -0
  459. package/dist/types/components/src/table/table-utils.d.ts +2 -0
  460. package/dist/types/components/src/table/table.d.ts +78 -0
  461. package/dist/types/components/src/tabs/tabs.d.ts +35 -0
  462. package/dist/types/components/src/tag/tag.d.ts +26 -0
  463. package/dist/types/components/src/textarea/textarea.d.ts +33 -0
  464. package/dist/types/components/src/time-picker/time-picker.d.ts +31 -0
  465. package/dist/types/components/src/toast/toast.d.ts +54 -0
  466. package/dist/types/components/src/toggle/toggle.d.ts +35 -0
  467. package/dist/types/components/src/tooltip/tooltip.d.ts +38 -0
  468. package/dist/types/entries/charts.d.ts +4 -0
  469. package/dist/types/entries/hooks.d.ts +4 -0
  470. package/dist/types/entries/types.d.ts +9 -0
  471. package/dist/types/entries/utils.d.ts +5 -0
  472. package/dist/types/hooks/index.d.ts +18 -0
  473. package/dist/types/hooks/src/use-click-outside.d.ts +13 -0
  474. package/dist/types/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  475. package/dist/types/hooks/src/use-debounce.d.ts +9 -0
  476. package/dist/types/hooks/src/use-dropdown-position.d.ts +10 -0
  477. package/dist/types/hooks/src/use-event-listener.d.ts +15 -0
  478. package/dist/types/hooks/src/use-focus-trap.d.ts +8 -0
  479. package/dist/types/hooks/src/use-hover.d.ts +10 -0
  480. package/dist/types/hooks/src/use-idle.d.ts +15 -0
  481. package/dist/types/hooks/src/use-interval.d.ts +7 -0
  482. package/dist/types/hooks/src/use-key-press.d.ts +13 -0
  483. package/dist/types/hooks/src/use-long-press.d.ts +20 -0
  484. package/dist/types/hooks/src/use-media-query.d.ts +7 -0
  485. package/dist/types/hooks/src/use-mouse.d.ts +12 -0
  486. package/dist/types/hooks/src/use-timeout.d.ts +8 -0
  487. package/dist/types/hooks/src/use-toast.d.ts +15 -0
  488. package/dist/types/hooks/src/use-window-scroll.d.ts +10 -0
  489. package/dist/types/hooks/src/use-window-size.d.ts +10 -0
  490. package/dist/types/index.cjs.js +2 -0
  491. package/dist/types/index.d.ts +9 -2
  492. package/dist/types/index.js +2 -0
  493. package/dist/types/src/icon.d.ts +1 -1
  494. package/dist/types/types/index.d.ts +2 -0
  495. package/dist/types/types/src/icon.d.ts +1 -0
  496. package/dist/types/utils/index.d.ts +7 -0
  497. package/dist/types/utils/src/array.d.ts +24 -0
  498. package/dist/types/utils/src/async.d.ts +32 -0
  499. package/dist/types/utils/src/cn.d.ts +9 -0
  500. package/dist/types/utils/src/format.d.ts +20 -0
  501. package/dist/types/utils/src/math.d.ts +22 -0
  502. package/dist/types/utils/src/object.d.ts +36 -0
  503. package/dist/types/utils/src/string.d.ts +24 -0
  504. package/dist/utils/charts/index.d.ts +8 -0
  505. package/dist/utils/charts/src/bar/chart-bar.d.ts +27 -0
  506. package/dist/utils/charts/src/chart/chart.d.ts +35 -0
  507. package/dist/utils/charts/src/chart-tooltip-styles.d.ts +4 -0
  508. package/dist/utils/charts/src/gantt/chart-gantt.d.ts +25 -0
  509. package/dist/utils/charts/src/heatmap/chart-heatmap.d.ts +18 -0
  510. package/dist/utils/charts/src/legend/legend.d.ts +19 -0
  511. package/dist/utils/charts/src/line/chart-line.d.ts +28 -0
  512. package/dist/utils/charts/src/pie/chart-pie.d.ts +19 -0
  513. package/dist/utils/charts/src/recharts-tick-props.d.ts +11 -0
  514. package/dist/utils/charts/src/stat/chart-stat.d.ts +21 -0
  515. package/dist/utils/components/index.d.ts +36 -0
  516. package/dist/utils/components/src/accordion/accordion.d.ts +32 -0
  517. package/dist/utils/components/src/button/button.d.ts +41 -0
  518. package/dist/utils/components/src/calendar/calendar.d.ts +43 -0
  519. package/dist/utils/components/src/checkbox/checkbox.d.ts +58 -0
  520. package/dist/utils/components/src/chip/chip.d.ts +37 -0
  521. package/dist/utils/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
  522. package/dist/utils/components/src/content-switch/content-switch.d.ts +39 -0
  523. package/dist/utils/components/src/date-picker/date-picker.d.ts +35 -0
  524. package/dist/utils/components/src/date-range-picker/date-range-picker.d.ts +39 -0
  525. package/dist/utils/components/src/dropdown/dropdown.d.ts +53 -0
  526. package/dist/utils/components/src/expandable-table/expandable-table.d.ts +61 -0
  527. package/dist/utils/components/src/icon/icon-paths.d.ts +3 -0
  528. package/dist/utils/components/src/icon/icon.d.ts +28 -0
  529. package/dist/utils/components/src/input/input.d.ts +29 -0
  530. package/dist/utils/components/src/loader/loader.d.ts +12 -0
  531. package/dist/utils/components/src/logo/logo.d.ts +12 -0
  532. package/dist/utils/components/src/message/message.d.ts +34 -0
  533. package/dist/utils/components/src/modal/modal.d.ts +35 -0
  534. package/dist/utils/components/src/month-calendar/month-calendar.d.ts +28 -0
  535. package/dist/utils/components/src/multi-menu/multi-menu.d.ts +39 -0
  536. package/dist/utils/components/src/multi-select/multi-select.d.ts +49 -0
  537. package/dist/utils/components/src/pagination/pagination.d.ts +33 -0
  538. package/dist/utils/components/src/popover/popover.d.ts +53 -0
  539. package/dist/utils/components/src/radio/radio.d.ts +31 -0
  540. package/dist/utils/components/src/radio-group/radio-group.d.ts +42 -0
  541. package/dist/utils/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
  542. package/dist/utils/components/src/side-panel/side-panel.d.ts +36 -0
  543. package/dist/utils/components/src/skeleton/skeleton.d.ts +15 -0
  544. package/dist/utils/components/src/slider/slider.d.ts +46 -0
  545. package/dist/utils/components/src/table/table-utils.d.ts +2 -0
  546. package/dist/utils/components/src/table/table.d.ts +78 -0
  547. package/dist/utils/components/src/tabs/tabs.d.ts +35 -0
  548. package/dist/utils/components/src/tag/tag.d.ts +26 -0
  549. package/dist/utils/components/src/textarea/textarea.d.ts +33 -0
  550. package/dist/utils/components/src/time-picker/time-picker.d.ts +31 -0
  551. package/dist/utils/components/src/toast/toast.d.ts +54 -0
  552. package/dist/utils/components/src/toggle/toggle.d.ts +35 -0
  553. package/dist/utils/components/src/tooltip/tooltip.d.ts +38 -0
  554. package/dist/utils/entries/charts.d.ts +4 -0
  555. package/dist/utils/entries/hooks.d.ts +4 -0
  556. package/dist/utils/entries/types.d.ts +9 -0
  557. package/dist/utils/entries/utils.d.ts +5 -0
  558. package/dist/utils/hooks/index.d.ts +18 -0
  559. package/dist/utils/hooks/src/use-click-outside.d.ts +13 -0
  560. package/dist/utils/hooks/src/use-copy-to-clipboard.d.ts +15 -0
  561. package/dist/utils/hooks/src/use-debounce.d.ts +9 -0
  562. package/dist/utils/hooks/src/use-dropdown-position.d.ts +10 -0
  563. package/dist/utils/hooks/src/use-event-listener.d.ts +15 -0
  564. package/dist/utils/hooks/src/use-focus-trap.d.ts +8 -0
  565. package/dist/utils/hooks/src/use-hover.d.ts +10 -0
  566. package/dist/utils/hooks/src/use-idle.d.ts +15 -0
  567. package/dist/utils/hooks/src/use-interval.d.ts +7 -0
  568. package/dist/utils/hooks/src/use-key-press.d.ts +13 -0
  569. package/dist/utils/hooks/src/use-long-press.d.ts +20 -0
  570. package/dist/utils/hooks/src/use-media-query.d.ts +7 -0
  571. package/dist/utils/hooks/src/use-mouse.d.ts +12 -0
  572. package/dist/utils/hooks/src/use-timeout.d.ts +8 -0
  573. package/dist/utils/hooks/src/use-toast.d.ts +15 -0
  574. package/dist/utils/hooks/src/use-window-scroll.d.ts +10 -0
  575. package/dist/utils/hooks/src/use-window-size.d.ts +10 -0
  576. package/dist/utils/index.cjs.js +2 -0
  577. package/dist/utils/index.d.ts +5 -2
  578. package/dist/utils/index.js +2 -0
  579. package/dist/utils/src/array.d.ts +24 -0
  580. package/dist/utils/src/async.d.ts +32 -0
  581. package/dist/utils/src/cn.d.ts +9 -0
  582. package/dist/utils/src/format.d.ts +20 -0
  583. package/dist/utils/src/math.d.ts +22 -0
  584. package/dist/utils/src/object.d.ts +36 -0
  585. package/dist/utils/src/string.d.ts +24 -0
  586. package/dist/utils/types/index.d.ts +2 -0
  587. package/dist/utils/types/src/icon.d.ts +1 -0
  588. package/dist/utils/utils/index.d.ts +7 -0
  589. package/dist/utils/utils/src/array.d.ts +24 -0
  590. package/dist/utils/utils/src/async.d.ts +32 -0
  591. package/dist/utils/utils/src/cn.d.ts +9 -0
  592. package/dist/utils/utils/src/format.d.ts +20 -0
  593. package/dist/utils/utils/src/math.d.ts +22 -0
  594. package/dist/utils/utils/src/object.d.ts +36 -0
  595. package/dist/utils/utils/src/string.d.ts +24 -0
  596. package/package.json +66 -6
  597. package/dist/components/src/accordion.d.ts +0 -13
  598. package/dist/components/src/button.d.ts +0 -15
  599. package/dist/components/src/calendar.d.ts +0 -19
  600. package/dist/components/src/chart-bar.d.ts +0 -26
  601. package/dist/components/src/chart-heatmap.d.ts +0 -20
  602. package/dist/components/src/chart-line.d.ts +0 -25
  603. package/dist/components/src/chart-pie.d.ts +0 -16
  604. package/dist/components/src/chart-stat.d.ts +0 -20
  605. package/dist/components/src/chart.d.ts +0 -36
  606. package/dist/components/src/checkbox.d.ts +0 -18
  607. package/dist/components/src/chip.d.ts +0 -13
  608. package/dist/components/src/compact-multi-select.d.ts +0 -25
  609. package/dist/components/src/content-switch.d.ts +0 -15
  610. package/dist/components/src/date-range-picker.d.ts +0 -12
  611. package/dist/components/src/dropdown.d.ts +0 -22
  612. package/dist/components/src/expandable-table.d.ts +0 -39
  613. package/dist/components/src/expandable.d.ts +0 -9
  614. package/dist/components/src/icon.d.ts +0 -9
  615. package/dist/components/src/input.d.ts +0 -16
  616. package/dist/components/src/legend.d.ts +0 -17
  617. package/dist/components/src/loader.d.ts +0 -5
  618. package/dist/components/src/logo.d.ts +0 -5
  619. package/dist/components/src/message.d.ts +0 -12
  620. package/dist/components/src/modal.d.ts +0 -16
  621. package/dist/components/src/month-calendar.d.ts +0 -10
  622. package/dist/components/src/multi-menu.d.ts +0 -18
  623. package/dist/components/src/multi-select.d.ts +0 -18
  624. package/dist/components/src/pagination.d.ts +0 -14
  625. package/dist/components/src/popover.d.ts +0 -16
  626. package/dist/components/src/radio-group.d.ts +0 -17
  627. package/dist/components/src/radio.d.ts +0 -6
  628. package/dist/components/src/segmented-toggle.d.ts +0 -20
  629. package/dist/components/src/side-panel.d.ts +0 -16
  630. package/dist/components/src/status.d.ts +0 -8
  631. package/dist/components/src/table.d.ts +0 -43
  632. package/dist/components/src/tabs.d.ts +0 -10
  633. package/dist/components/src/tag.d.ts +0 -9
  634. package/dist/components/src/textarea.d.ts +0 -15
  635. package/dist/components/src/toast.d.ts +0 -20
  636. package/dist/components/src/toggle.d.ts +0 -9
  637. package/dist/components/src/tooltip.d.ts +0 -18
  638. package/dist/css/index.css +0 -1
  639. package/dist/css/src/chart.css +0 -76
  640. package/dist/css/src/charts.css +0 -136
  641. package/dist/css/src/chip.css +0 -54
  642. package/dist/css/src/index.css +0 -70
  643. package/dist/css/src/loader.css +0 -18
  644. package/dist/css/src/radio-group.css +0 -44
  645. package/dist/css/src/radio.css +0 -146
  646. package/dist/css/src/search.css +0 -148
  647. package/dist/css/src/status.css +0 -31
  648. package/dist/esm/components/src/accordion.d.ts +0 -13
  649. package/dist/esm/components/src/button.d.ts +0 -15
  650. package/dist/esm/components/src/calendar.d.ts +0 -19
  651. package/dist/esm/components/src/chart-bar.d.ts +0 -26
  652. package/dist/esm/components/src/chart-heatmap.d.ts +0 -20
  653. package/dist/esm/components/src/chart-line.d.ts +0 -25
  654. package/dist/esm/components/src/chart-pie.d.ts +0 -16
  655. package/dist/esm/components/src/chart-stat.d.ts +0 -20
  656. package/dist/esm/components/src/chart.d.ts +0 -36
  657. package/dist/esm/components/src/checkbox.d.ts +0 -18
  658. package/dist/esm/components/src/chip.d.ts +0 -13
  659. package/dist/esm/components/src/compact-multi-select.d.ts +0 -25
  660. package/dist/esm/components/src/content-switch.d.ts +0 -15
  661. package/dist/esm/components/src/date-range-picker.d.ts +0 -12
  662. package/dist/esm/components/src/dropdown.d.ts +0 -22
  663. package/dist/esm/components/src/expandable-table.d.ts +0 -39
  664. package/dist/esm/components/src/expandable.d.ts +0 -9
  665. package/dist/esm/components/src/icon.d.ts +0 -9
  666. package/dist/esm/components/src/input.d.ts +0 -16
  667. package/dist/esm/components/src/legend.d.ts +0 -17
  668. package/dist/esm/components/src/loader.d.ts +0 -5
  669. package/dist/esm/components/src/logo.d.ts +0 -5
  670. package/dist/esm/components/src/message.d.ts +0 -12
  671. package/dist/esm/components/src/modal.d.ts +0 -16
  672. package/dist/esm/components/src/month-calendar.d.ts +0 -10
  673. package/dist/esm/components/src/multi-menu.d.ts +0 -18
  674. package/dist/esm/components/src/multi-select.d.ts +0 -18
  675. package/dist/esm/components/src/pagination.d.ts +0 -14
  676. package/dist/esm/components/src/popover.d.ts +0 -16
  677. package/dist/esm/components/src/radio-group.d.ts +0 -17
  678. package/dist/esm/components/src/radio.d.ts +0 -6
  679. package/dist/esm/components/src/segmented-toggle.d.ts +0 -20
  680. package/dist/esm/components/src/side-panel.d.ts +0 -16
  681. package/dist/esm/components/src/status.d.ts +0 -8
  682. package/dist/esm/components/src/table.d.ts +0 -43
  683. package/dist/esm/components/src/tabs.d.ts +0 -10
  684. package/dist/esm/components/src/tag.d.ts +0 -9
  685. package/dist/esm/components/src/textarea.d.ts +0 -15
  686. package/dist/esm/components/src/toast.d.ts +0 -20
  687. package/dist/esm/components/src/toggle.d.ts +0 -9
  688. package/dist/esm/components/src/tooltip.d.ts +0 -18
  689. package/dist/esm/css/index.css +0 -1
  690. package/dist/esm/index.js.map +0 -1
  691. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare const isInteractiveElement: (element: HTMLElement | null) => boolean;
2
+ export declare const hasInteractiveParent: (element: HTMLElement | null, stopAt: HTMLElement | null) => boolean;
@@ -0,0 +1,78 @@
1
+ import "./table.css";
2
+ import React from "react";
3
+ /**
4
+ * Sort state for a column: ascending, descending, or unsorted.
5
+ * @type {("asc"|"desc"|null)}
6
+ */
7
+ export type SortDirection = "asc" | "desc" | null;
8
+ /**
9
+ * One column: accessor `key` maps to `row[key]`, with optional `render` for custom cells.
10
+ * @template T - Row type.
11
+ * @property {string} key - Object key on each row, or a synthetic key for custom columns.
12
+ * @property {boolean} [sortable] - When `true` and `onSort` is provided, header is clickable.
13
+ * @property {function(unknown, T): React.ReactNode} [render] - If omitted, `String(row[key])` is used.
14
+ */
15
+ export interface TableColumn<T> {
16
+ key: string;
17
+ label: string;
18
+ sortable?: boolean;
19
+ minWidth?: string;
20
+ maxWidth?: string;
21
+ width?: string;
22
+ render?: (value: unknown, row: T) => React.ReactNode;
23
+ }
24
+ /**
25
+ * @template T - Row object type; keys should match `TableColumn.key` where possible.
26
+ * Full data grid: sort, optional row selection, column edit popover (drag/drop + visibility), pagination, loading.
27
+ *
28
+ * @property {TableColumn<T>[]} columns - Column defs; can include a synthetic `__selection` for checkboxes.
29
+ * @property {T[]} data - Rows to render; order is preserved.
30
+ * @property {string} [sortKey] - **Controlled** sort column; use with `sortDirection` and `onSort`.
31
+ * @property {SortDirection} [sortDirection] - Current direction for `sortKey`.
32
+ * @property {boolean} [columnsEditable] - Enables “Edit columns” popover. Default `false`.
33
+ * @property {string[]} [visibleColumns] - **Controlled** list of column keys to show. Pair with `onVisibleColumnsChange`.
34
+ * @property {T[]} [selectedRows] - **Controlled** selected rows. Pair with `onSelectionChange` and `rowKey`.
35
+ * @property {keyof T} [rowKey] - Unique key field on `T` for selection identity. Often `"id"`.
36
+ * @property {number} [currentPage] - 1-based page index when `Pagination` is used.
37
+ * @property {string} [maxHeight] - Max height of the scrollable table body.
38
+ */
39
+ interface TableProps<T extends Record<string, unknown>> {
40
+ columns: TableColumn<T>[];
41
+ data: T[];
42
+ isLoading?: boolean;
43
+ className?: string;
44
+ containerClassName?: string;
45
+ rowHeight?: string;
46
+ sortKey?: string;
47
+ sortDirection?: SortDirection;
48
+ columnsEditable?: boolean;
49
+ currentPage?: number;
50
+ totalPages?: number;
51
+ perPage?: number;
52
+ perPageOptions?: {
53
+ label: string;
54
+ value: number;
55
+ }[];
56
+ onSort?: (key: string, direction: SortDirection) => void;
57
+ onPageChange?: (page: number) => void;
58
+ onPerPageChange?: (perPage: number) => void;
59
+ onVisibleColumnsChange?: (keys: string[]) => void;
60
+ maxHeight?: string;
61
+ visibleColumns?: string[];
62
+ maxVisibleColumns?: number;
63
+ defaultVisibleColumns?: string[];
64
+ trailingColumns?: string[];
65
+ selectedRows?: T[];
66
+ onSelectionChange?: (rows: T[]) => void;
67
+ rowKey?: keyof T;
68
+ onRowClick?: (row: T, rowIndex: number) => void;
69
+ }
70
+ /**
71
+ * Renders a full-featured table: headers, body, optional selection column, sort indicators, edit-columns popover, and pagination.
72
+ *
73
+ * @template T - Row record type.
74
+ * @param {object} props - Column definitions, data, and optional controlled sorting / pagination / selection.
75
+ * @returns {JSX.Element} The table shell, scroll region, and optional `Pagination` / `Loader`.
76
+ */
77
+ export declare function Table<T extends Record<string, unknown>>({ columns, data, isLoading, className, rowHeight, sortKey, sortDirection, onSort, currentPage, totalPages, perPage, perPageOptions, onPageChange, onPerPageChange, maxHeight, columnsEditable, containerClassName, visibleColumns, onVisibleColumnsChange, maxVisibleColumns, defaultVisibleColumns, trailingColumns, selectedRows, onSelectionChange, rowKey, onRowClick, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
78
+ export {};
@@ -0,0 +1,35 @@
1
+ import "./tabs.css";
2
+ /**
3
+ * One entry in a `Tabs` `tabs` list.
4
+ * @property {string} value - Emitted to `onChange` when the tab is activated.
5
+ */
6
+ export type TabItem = {
7
+ label: string;
8
+ value: string;
9
+ disabled?: boolean;
10
+ };
11
+ /**
12
+ * **Controlled** tab strip: `selectedTab` must match a `TabItem.value` for the active state.
13
+ *
14
+ * @property {TabItem[]} tabs - Tab metadata; `disabled` items are skipped in keyboard nav.
15
+ * @property {string} selectedTab - Current `value` of the active tab.
16
+ * @property {(value: string) => void} onChange - Fires with the new tab `value` on click or keyboard.
17
+ * @property {"sm"|"md"|"lg"} [size] - Size token for the tab list. Default `"md"`.
18
+ */
19
+ interface TabsProps {
20
+ tabs: TabItem[];
21
+ selectedTab: string;
22
+ onChange: (tab: string) => void;
23
+ ariaLabel?: string;
24
+ size?: "sm" | "md" | "lg";
25
+ tabClassName?: string;
26
+ className?: string;
27
+ }
28
+ /**
29
+ * Renders a `tablist` with one `button` per tab, roving tabindex, and arrow-key / Home / End support.
30
+ *
31
+ * @param {TabsProps} props - `tabs` / `selectedTab` / `onChange` plus `ariaLabel` for the list.
32
+ * @returns {JSX.Element} The horizontal tab list.
33
+ */
34
+ export declare const Tabs: ({ tabs, selectedTab, onChange, ariaLabel, size, tabClassName, className, }: TabsProps) => import("react/jsx-runtime").JSX.Element;
35
+ export {};
@@ -0,0 +1,26 @@
1
+ import "./tag.css";
2
+ import React from "react";
3
+ /**
4
+ * Removable label chip with primary/secondary styles and sizes.
5
+ *
6
+ * @property {string} label - Visible text and remove `aria-label` source.
7
+ * @property {"primary"|"secondary"} [variant] - Color scheme. Default `"primary"`.
8
+ * @property {"sm"|"md"|"lg"} [size] - Typographic and hit-target scale. Default `"md"`.
9
+ * @property {() => void} onRemove - Fires when the user clicks the “×” control.
10
+ */
11
+ type TagProps = {
12
+ label: string;
13
+ variant?: "primary" | "secondary";
14
+ size?: "sm" | "md" | "lg";
15
+ onRemove: () => void;
16
+ className?: string;
17
+ };
18
+ /**
19
+ * A dismissible tag used in multi-selects and filter lists; forwards ref to the root `div`.
20
+ *
21
+ * @param {TagProps} props - `label`, `onRemove`, and presentation props.
22
+ * @param {React.Ref<HTMLDivElement>} ref - Root element ref.
23
+ * @returns {React.ReactElement} The tag row and remove button.
24
+ */
25
+ export declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLDivElement>>;
26
+ export {};
@@ -0,0 +1,33 @@
1
+ import "./textarea.css";
2
+ import React from "react";
3
+ import type { TooltipPosition } from "../../../types";
4
+ /**
5
+ * Props for `Textarea`: extends `HTMLTextAreaElement` attributes (omits legacy HTML `size`).
6
+ *
7
+ * @property {string} [label] - Optional field label with optional info tooltip.
8
+ * @property {boolean} [showClear] - Renders clear when non-empty. Default `false`.
9
+ * @property {string} [note] - Helper line under the field.
10
+ * @property {string} [error] - Error line; invalid styling when set.
11
+ * @property {number} [maxLength] - When set, shows a live character counter vs this cap (e.g., 12/200).
12
+ * @property {"none"|"vertical"} [resize] - CSS resize mode. Default `"none"`.
13
+ */
14
+ interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> {
15
+ label?: string;
16
+ showClear?: boolean;
17
+ note?: string;
18
+ error?: string;
19
+ containerClassName?: string;
20
+ tooltip?: string;
21
+ tooltipPosition?: TooltipPosition;
22
+ maxLength?: number;
23
+ resize?: "none" | "vertical";
24
+ }
25
+ /**
26
+ * Multi-line input with label, clear, optional counter from `maxLength`, and note/error rows.
27
+ *
28
+ * @param {TextareaProps} props - Native `textarea` props plus H2O chrome.
29
+ * @param {React.Ref<HTMLTextAreaElement>} ref - Forwarded to `<textarea>`.
30
+ * @returns {React.ReactElement} Labeled field wrapper and counter when applicable.
31
+ */
32
+ export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
33
+ export {};
@@ -0,0 +1,31 @@
1
+ import "./time-picker.css";
2
+ /**
3
+ * Time selection UI: one clock or a start/end **range**; hour/minute columns with optional 12h format.
4
+ *
5
+ * @property {"single"|"range"} [mode] - `single` uses `value` as `string | null`; `range` as `[string|null, string|null]`. Default `"single"`.
6
+ * @property {string|null|[string|null,string|null]} [value] - `"HH:MM"`, partial `"HH:"` while picking hour, or `null` for empty. Range: tuple of same.
7
+ * @property {(v: string|null|[string|null,string|null]) => void} [onChange] - Emits the same shapes as `value` as the user picks.
8
+ * @property {12|24} [hourFormat] - 12- or 24-hour labels. Default `24`.
9
+ * @property {number} [minuteStep] - Minutes grid step, e.g. `5` → `00,05,…,55`. Default `5`.
10
+ */
11
+ interface TimePickerProps {
12
+ mode?: "single" | "range";
13
+ value?: string | null | [string | null, string | null];
14
+ onChange?: (value: string | null | [string | null, string | null]) => void;
15
+ hourFormat?: 12 | 24;
16
+ minuteStep?: number;
17
+ startLabel?: string;
18
+ endLabel?: string;
19
+ disabled?: boolean;
20
+ className?: string;
21
+ error?: string;
22
+ note?: string;
23
+ }
24
+ /**
25
+ * Picker for a time or time range, with hour/minute dropdowns and optional labels or validation chrome.
26
+ *
27
+ * @param {TimePickerProps} props - Mode, `value`/`onChange` shape, and `hourFormat` / `minuteStep`.
28
+ * @returns {JSX.Element} The field group(s) and time lists when open.
29
+ */
30
+ export declare const TimePicker: ({ mode, value, onChange, hourFormat, minuteStep, startLabel, endLabel, disabled, className, error, note, }: TimePickerProps) => import("react/jsx-runtime").JSX.Element;
31
+ export {};
@@ -0,0 +1,54 @@
1
+ import "./toast.css";
2
+ import type React from "react";
3
+ /**
4
+ * Color/semantic key for a toast: maps to icon and ARIA `role` (`error`/`warning` → `alert`, others often `status`).
5
+ * @type {("info"|"error"|"warning"|"success")}
6
+ */
7
+ export type ToastVariant = "info" | "error" | "warning" | "success";
8
+ /**
9
+ * Viewport region where `ToastProvider` positions the toast container (CSS BEM variant).
10
+ * @type {("top-right"|"top-left"|"bottom-right"|"bottom-left"|"top-center"|"bottom-center")}
11
+ */
12
+ export type ToastPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center";
13
+ interface ToastAction {
14
+ label: string;
15
+ action: () => void;
16
+ }
17
+ /**
18
+ * Options passed to `useToast().show(options)`; describes one transient notification.
19
+ *
20
+ * @property {ToastVariant} variant - Visual/semantic style.
21
+ * @property {string} title - Bold heading in the toast header.
22
+ * @property {string} [description] - Optional body copy under the title.
23
+ * @property {ToastAction} [primaryAction] - Primary CTA; presence disables auto-dismiss by default.
24
+ * @property {ToastAction} [secondaryAction] - Secondary CTA; same as primary for auto-dismiss rules.
25
+ * @property {number} [duration] - Auto-close delay in ms. Default `5000`; `0` disables (`primaryAction` / `secondaryAction` also keep it open without timer).
26
+ */
27
+ export interface ToastOptions {
28
+ variant: ToastVariant;
29
+ title: string;
30
+ description?: string;
31
+ primaryAction?: ToastAction;
32
+ secondaryAction?: ToastAction;
33
+ duration?: number;
34
+ }
35
+ /**
36
+ * Props for `ToastProvider` — mount once near the app root to enable `useToast()`.
37
+ *
38
+ * @property {React.ReactNode} children - Your app; context is available to descendants.
39
+ * @property {ToastPosition} [position] - Viewport region for the stack. Default `"bottom-right"`.
40
+ * @property {number} [maxToasts] - Max simultaneous toasts; older may be evicted. Default `5`.
41
+ */
42
+ interface ToastProviderProps {
43
+ children: React.ReactNode;
44
+ position?: ToastPosition;
45
+ maxToasts?: number;
46
+ }
47
+ /**
48
+ * Context provider: renders `children` and a fixed-position stack of toasts; wires timers and `maxToasts` cap.
49
+ *
50
+ * @param {object} props - `position`, `maxToasts`, and `children`.
51
+ * @returns {JSX.Element} Provider element plus the global toast region.
52
+ */
53
+ export declare const ToastProvider: React.FC<ToastProviderProps>;
54
+ export {};
@@ -0,0 +1,35 @@
1
+ import "./toggle.css";
2
+ import React from "react";
3
+ import type { TooltipPosition } from "../../../types";
4
+ type BaseToggleProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
5
+ label?: string;
6
+ description?: string;
7
+ containerClassName?: string;
8
+ size?: "sm" | "md" | "lg";
9
+ error?: string;
10
+ note?: string;
11
+ tooltip?: string;
12
+ tooltipPosition?: TooltipPosition;
13
+ };
14
+ type CardToggleProps = BaseToggleProps & {
15
+ isCard: true;
16
+ isDraggable?: boolean;
17
+ };
18
+ type InlineToggleProps = BaseToggleProps & {
19
+ isCard?: false;
20
+ isDraggable?: never;
21
+ };
22
+ /**
23
+ * Discriminated union: `isCard: true` enables card layout and optional `isDraggable`; otherwise inline switch.
24
+ * `size` is visual (`"sm"|"md"|"lg"`), not the HTML `size` attribute.
25
+ */
26
+ type ToggleProps = CardToggleProps | InlineToggleProps;
27
+ /**
28
+ * Switch UI backed by a checkbox input; supports inline, card, draggable card, and label tooltip.
29
+ *
30
+ * @param {ToggleProps} props - Union of card vs inline props; `ref` targets the `input`.
31
+ * @param {React.Ref<HTMLInputElement>} ref - Native checkbox ref.
32
+ * @returns {React.ReactElement} The toggle wrapper and `input` + visual thumb track.
33
+ */
34
+ export declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLInputElement>>;
35
+ export {};
@@ -0,0 +1,38 @@
1
+ import "./tooltip.css";
2
+ import type React from "react";
3
+ import type { TooltipPosition } from "../../../types";
4
+ type BaseProps = {
5
+ position?: TooltipPosition;
6
+ className?: string;
7
+ contentClassName?: string;
8
+ children: React.ReactNode;
9
+ variant?: "dark" | "light";
10
+ delay?: number;
11
+ maxWidth?: string | number;
12
+ };
13
+ type TextTooltip = BaseProps & {
14
+ text: string;
15
+ content?: never;
16
+ };
17
+ type ContentTooltip = BaseProps & {
18
+ content: React.ReactNode;
19
+ text?: never;
20
+ };
21
+ /**
22
+ * Props for `Tooltip`: **either** `text` (plain string) **or** `content` (rich `ReactNode`), not both.
23
+ *
24
+ * @property {import("../../../types").TooltipPosition} [position] - Placement vs the trigger. Default `"top"`.
25
+ * @property {React.ReactNode} children - Trigger element(s) wrapped for hover/focus.
26
+ * @property {"dark"|"light"} [variant] - Surface style. Default `"dark"`.
27
+ * @property {number} [delay] - Show delay in ms. Default `0`.
28
+ * @property {string|number} [maxWidth] - Tooltip body max width (CSS value).
29
+ */
30
+ type TooltipProps = TextTooltip | ContentTooltip;
31
+ /**
32
+ * Hover/focus tooltip: positions in a `createPortal` layer, hides on scroll (capture), and supports string or custom body.
33
+ *
34
+ * @param {TooltipProps} props - `text` XOR `content`, plus `children` as trigger.
35
+ * @returns {JSX.Element | null} Wrapper around `children` and the portaled bubble when visible.
36
+ */
37
+ export declare const Tooltip: React.FC<TooltipProps>;
38
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Subpath entry: `h2o-library/charts`
3
+ */
4
+ export * from "../charts/index";
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Subpath entry: `h2o-library/hooks`
3
+ */
4
+ export * from "../hooks";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Subpath entry: `h2o-library/types`
3
+ * Type-only re-exports (no runtime values). Requires TypeScript 5+.
4
+ */
5
+ export type * from "../types";
6
+ export type * from "../hooks";
7
+ export type * from "../components";
8
+ export type * from "../charts";
9
+ export type * from "../utils";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Subpath entry: `h2o-library/utils`
3
+ * Runtime utilities (e.g. `cn`). No React component surface.
4
+ */
5
+ export * from "../utils";
@@ -0,0 +1,18 @@
1
+ export * from "./src/use-click-outside";
2
+ export * from "./src/use-copy-to-clipboard";
3
+ export * from "./src/use-debounce";
4
+ export * from "./src/use-event-listener";
5
+ export { useEventListener as useEventListner } from "./src/use-event-listener";
6
+ export * from "./src/use-dropdown-position";
7
+ export * from "./src/use-focus-trap";
8
+ export * from "./src/use-idle";
9
+ export * from "./src/use-interval";
10
+ export * from "./src/use-hover";
11
+ export * from "./src/use-key-press";
12
+ export * from "./src/use-long-press";
13
+ export * from "./src/use-media-query";
14
+ export * from "./src/use-mouse";
15
+ export * from "./src/use-timeout";
16
+ export { useToast, ToastContext, type ToastContextType } from "./src/use-toast";
17
+ export * from "./src/use-window-scroll";
18
+ export * from "./src/use-window-size";
@@ -0,0 +1,13 @@
1
+ import type { RefObject } from "react";
2
+ type Handler = (event: MouseEvent | TouchEvent) => void;
3
+ /**
4
+ * Run a handler when the user clicks/taps outside a referenced element.
5
+ *
6
+ * Commonly used to close popovers, dropdowns, menus, and dialogs.
7
+ *
8
+ * @param ref - Element ref that defines the “inside” area.
9
+ * @param handler - Called when an outside interaction happens.
10
+ * @param mouseEvent - Which mouse event to listen for (defaults to `"mousedown"`).
11
+ */
12
+ export declare function useClickOutside<T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: Handler, mouseEvent?: "mousedown" | "mouseup"): void;
13
+ export {};
@@ -0,0 +1,15 @@
1
+ export type UseCopyToClipboardState = {
2
+ copied: boolean;
3
+ error: Error | null;
4
+ };
5
+ /**
6
+ * Copy text to the system clipboard and track success for UI feedback.
7
+ *
8
+ * @param resetDelay - If set, `copied` resets to `false` after this many ms. @defaultValue 2000
9
+ * @returns `copy` function and `copied` / `error` state.
10
+ */
11
+ export declare function useCopyToClipboard(resetDelay?: number): {
12
+ readonly copy: (text: string) => Promise<boolean>;
13
+ readonly copied: boolean;
14
+ readonly error: Error | null;
15
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a value that only updates `delay` ms after `value` stops changing
3
+ * (leading/trailing: trailing only).
4
+ *
5
+ * @param value - Source value (often a string from an input).
6
+ * @param delay - Debounce window in ms.
7
+ * @returns The last stable value after the quiet period.
8
+ */
9
+ export declare function useDebounce<T>(value: T, delay: number): T;
@@ -0,0 +1,10 @@
1
+ import type { RefObject } from "react";
2
+ /**
3
+ * Decide whether a dropdown/menu should open above or below its trigger.
4
+ *
5
+ * @param containerRef - Ref to the trigger/container element.
6
+ * @param isOpen - Only measures while open.
7
+ * @param direction - Force `"top"`/`"bottom"` or let it auto-detect.
8
+ * @param menuHeight - Expected menu height (px) used for the calculation.
9
+ */
10
+ export declare function useDropdownPosition(containerRef: RefObject<HTMLElement>, isOpen: boolean, direction?: "top" | "bottom" | "auto", menuHeight?: number): "top" | "bottom";
@@ -0,0 +1,15 @@
1
+ import type { RefObject } from "react";
2
+ type AddOptions = boolean | AddEventListenerOptions;
3
+ /**
4
+ * Subscribes to a DOM `EventTarget` and keeps the latest `handler` without
5
+ * re-attaching on every render.
6
+ *
7
+ * @param event - Event name (e.g. `\"resize\"`, `\"click\"`).
8
+ * @param handler - Listener invoked when the event fires.
9
+ * @param target - `window` when `undefined`, nothing when `null`, the ref’s
10
+ * `current` when a ref, or a raw element.
11
+ * @param options - Same as `addEventListener`’s third argument.
12
+ */
13
+ export declare function useEventListener<K extends keyof WindowEventMap>(event: K, handler: (ev: WindowEventMap[K]) => void, target?: RefObject<EventTarget | null> | EventTarget | null, options?: AddOptions): void;
14
+ export declare function useEventListener(event: string, handler: (ev: Event) => void, target?: RefObject<EventTarget | null> | EventTarget | null, options?: AddOptions): void;
15
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { RefObject } from "react";
2
+ /**
3
+ * Trap keyboard focus inside a container while `active` is true.
4
+ *
5
+ * @param ref - Container element that should contain focus.
6
+ * @param active - Enables/disables the trap.
7
+ */
8
+ export declare function useFocusTrap(ref: RefObject<HTMLElement | null>, active: boolean): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tracks whether the pointer is over a given element.
3
+ *
4
+ * @returns A tuple: `isHovered` and a **ref callback** to pass to a host element’s
5
+ * `ref` prop (stores the node and wires `mouseenter` / `mouseleave`).
6
+ */
7
+ export declare function useHover<T extends HTMLElement = HTMLElement>(): [
8
+ boolean,
9
+ (node: T | null) => void
10
+ ];
@@ -0,0 +1,15 @@
1
+ export type UseIdleOptions = {
2
+ /**
3
+ * DOM events on `window` that reset the idle timer. @defaultValue common
4
+ * user interaction events.
5
+ */
6
+ events?: Array<keyof WindowEventMap>;
7
+ };
8
+ /**
9
+ * Returns `true` when the user has been inactive (no registered events) for at least `ms`.
10
+ *
11
+ * @param ms - Idle duration in milliseconds.
12
+ * @param options - Optional list of `window` events that count as activity.
13
+ * @returns Whether the user is currently considered idle.
14
+ */
15
+ export declare function useIdle(ms: number, options?: UseIdleOptions): boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Repeats `callback` every `delay` ms. Pauses when `delay` is `null`.
3
+ *
4
+ * @param callback - Function called on each tick.
5
+ * @param delay - Interval in ms, or `null` to clear the interval.
6
+ */
7
+ export declare function useInterval(callback: () => void, delay: number | null): void;
@@ -0,0 +1,13 @@
1
+ type KeyTarget = string | readonly string[];
2
+ /**
3
+ * Listens for `keydown` on `window` and either reports whether a key is held
4
+ * or runs a callback on each matching press.
5
+ *
6
+ * @param key - `KeyboardEvent.key` value, or a list of keys.
7
+ * @param handler - If provided, called for each matching `keydown`; no return value.
8
+ * @returns If `handler` is omitted: whether the key is currently held (`keydown`
9
+ * without a matching `keyup` yet). If `handler` is provided: `undefined`.
10
+ */
11
+ export declare function useKeyPress(key: KeyTarget, handler: (event: KeyboardEvent) => void): void;
12
+ export declare function useKeyPress(key: KeyTarget, handler?: undefined): boolean;
13
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { MouseEvent, PointerEvent } from "react";
2
+ export type UseLongPressOptions = {
3
+ delay?: number;
4
+ moveThreshold?: number;
5
+ onClick?: (event: MouseEvent<HTMLElement> | PointerEvent<HTMLElement>) => void;
6
+ };
7
+ /**
8
+ * Pointer handlers to attach to an element to detect a long-press (hold) vs a short click.
9
+ *
10
+ * @param onLongPress - Invoked if the pointer stays down for `delay` without excess movement.
11
+ * @param options - Timing, move tolerance, and optional short-click handler.
12
+ * @returns Props to spread on a host element (`onPointerDown`, `onPointerMove`, `onPointerUp`, etc.).
13
+ */
14
+ export declare function useLongPress(onLongPress: (event: React.PointerEvent<HTMLElement>) => void, options?: UseLongPressOptions): {
15
+ readonly onPointerDown: (event: React.PointerEvent<HTMLElement>) => void;
16
+ readonly onPointerMove: (event: React.PointerEvent<HTMLElement>) => void;
17
+ readonly onPointerUp: (event: React.PointerEvent<HTMLElement>) => void;
18
+ readonly onPointerCancel: (event: React.PointerEvent<HTMLElement>) => void;
19
+ readonly onPointerLeave: (event: React.PointerEvent<HTMLElement>) => void;
20
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Subscribe to a media query and get whether it currently matches.
3
+ *
4
+ * @param query - Any valid CSS media query, e.g. `\"(min-width: 768px)\"`.
5
+ * @returns `true` when the query matches.
6
+ */
7
+ export declare const useMediaQuery: (query: string) => boolean;
@@ -0,0 +1,12 @@
1
+ export type MouseState = {
2
+ x: number;
3
+ y: number;
4
+ hasMoved: boolean;
5
+ };
6
+ /**
7
+ * Tracks the latest pointer position from `window` `pointermove` / `mousemove` events.
8
+ *
9
+ * @param enabled - When `false`, stops listening. @defaultValue true
10
+ * @returns Last coordinates and whether a move has been observed.
11
+ */
12
+ export declare function useMouse(enabled?: boolean): MouseState;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Runs `callback` once after `delay` ms. The timer resets when `delay` or
3
+ * `callback` identity changes; set `delay` to `null` to cancel.
4
+ *
5
+ * @param callback - Function to invoke after the delay.
6
+ * @param delay - Milliseconds, or `null` to skip scheduling.
7
+ */
8
+ export declare function useTimeout(callback: () => void, delay: number | null): void;
@@ -0,0 +1,15 @@
1
+ import type { ToastOptions } from "../../components/src/toast/toast";
2
+ /**
3
+ * Return type of `useToast()`: imperative API to show and remove toasts.
4
+ */
5
+ export interface ToastContextType {
6
+ /** Show a toast. Returns the toast id. */
7
+ show: (options: ToastOptions) => string;
8
+ /** Programmatically dismiss a toast by id. */
9
+ dismiss: (id: string) => void;
10
+ }
11
+ export declare const ToastContext: import("react").Context<ToastContextType | undefined>;
12
+ /**
13
+ * Subscribes to the toast context; throws if `ToastProvider` is not an ancestor.
14
+ */
15
+ export declare const useToast: () => ToastContextType;
@@ -0,0 +1,10 @@
1
+ export type WindowScrollState = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ /**
6
+ * Subscribes to `window` scroll and returns the current `scrollX` / `scrollY`.
7
+ *
8
+ * @returns Latest scroll offsets; `{ x: 0, y: 0 }` during SSR.
9
+ */
10
+ export declare function useWindowScroll(): WindowScrollState;
@@ -0,0 +1,10 @@
1
+ export type WindowSize = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ /**
6
+ * Subscribes to `window` `resize` and returns `innerWidth` / `innerHeight`.
7
+ *
8
+ * @returns Viewport size; `{ width: 0, height: 0 }` before mount / during SSR.
9
+ */
10
+ export declare function useWindowSize(): WindowSize;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function t(t,n,r,o){const u=e.useRef(n);e.useEffect((()=>{u.current=n}),[n]),e.useEffect((()=>{const e=function(e){return void 0===e?"undefined"!=typeof window?window:null:null===e?null:null!=(t=e)&&"object"==typeof t&&"current"in t?e.current:e;var t}(r);if(null==e)return;const n=e=>u.current(e);return e.addEventListener(t,n,o),()=>{e.removeEventListener(t,n,o)}}),[t,r,o])}const n=["a[href]","button:not([disabled])","input:not([disabled])","textarea:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");const r=["mousemove","mousedown","keydown","touchstart","scroll","wheel"];function o(e,t){return"string"==typeof t?e===t:t.includes(e)}const u=400,s=8;const c=e.createContext(void 0),i=()=>"undefined"==typeof window?{x:0,y:0}:{x:window.scrollX,y:window.scrollY};const d=()=>"undefined"==typeof window?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight};exports.ToastContext=c,exports.useClickOutside=function(t,n,r="mousedown"){e.useEffect((()=>{const e=e=>{const r=e.target,o=t.current;o&&!o.contains(r)&&n(e)};return document.addEventListener(r,e),document.addEventListener("touchstart",e),()=>{document.removeEventListener(r,e),document.removeEventListener("touchstart",e)}}),[t,n,r])},exports.useCopyToClipboard=function(t=2e3){const[n,r]=e.useState({copied:!1,error:null}),o=e.useRef(null);e.useEffect((()=>()=>{null!==o.current&&clearTimeout(o.current)}),[]);const u=e.useCallback((async e=>{var n;if(null!==o.current&&(clearTimeout(o.current),o.current=null),"undefined"==typeof navigator||!(null===(n=navigator.clipboard)||void 0===n?void 0:n.writeText)){const e=new Error("Clipboard API is not available");return r({copied:!1,error:e}),!1}try{return await navigator.clipboard.writeText(e),r({copied:!0,error:null}),t>0&&(o.current=setTimeout((()=>{r((e=>Object.assign(Object.assign({},e),{copied:!1}))),o.current=null}),t)),!0}catch(e){const t=e instanceof Error?e:new Error(String(e));return r({copied:!1,error:t}),!1}}),[t]);return Object.assign(Object.assign({},n),{copy:u})},exports.useDebounce=function(t,n){const[r,o]=e.useState(t);return e.useEffect((()=>{const e=window.setTimeout((()=>o(t)),n);return()=>window.clearTimeout(e)}),[t,n]),r},exports.useDropdownPosition=function(t,n,r="auto",o=320){const[u,s]=e.useState("bottom");return e.useEffect((()=>{if("auto"!==r)return void s(r);if(!n)return;const e=()=>{if(!t.current)return;const e=t.current.getBoundingClientRect(),n=window.innerHeight-e.bottom,r=e.top;s(n>=o||n>=r?"bottom":"top")};return document.addEventListener("scroll",e,!0),e(),()=>{document.removeEventListener("scroll",e,!0)}}),[n,r,t,o]),u},exports.useEventListener=t,exports.useEventListner=t,exports.useFocusTrap=function(t,r){e.useEffect((()=>{if(!r||!t.current)return;const e=t.current,o=()=>Array.from(e.querySelectorAll(n)),u=o();u.length>0&&u[0].focus();const s=t=>{if("Tab"!==t.key)return;const n=o();if(0===n.length)return;const r=n[0],u=n[n.length-1],s=document.activeElement;t.shiftKey?s!==r&&e.contains(s)||(t.preventDefault(),u.focus()):s!==u&&e.contains(s)||(t.preventDefault(),r.focus())};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)}),[t,r])},exports.useHover=function(){const[t,n]=e.useState(!1),[r,o]=e.useState(null);return e.useEffect((()=>{if(!r)return;const e=()=>n(!0),t=()=>n(!1);return r.addEventListener("mouseenter",e),r.addEventListener("mouseleave",t),()=>{r.removeEventListener("mouseenter",e),r.removeEventListener("mouseleave",t)}}),[r]),[t,o]},exports.useIdle=function(t,n={}){var o;const u=null!==(o=n.events)&&void 0!==o?o:r,s=u.join(),[c,i]=e.useState(!1),d=e.useRef(null),l=e.useCallback((()=>{null!==d.current&&clearTimeout(d.current),i(!1),d.current=setTimeout((()=>i(!0)),t)}),[t]);return e.useEffect((()=>{if("undefined"==typeof window)return;const e=u;l();for(const t of e)window.addEventListener(t,l,{passive:!0});return()=>{for(const t of e)window.removeEventListener(t,l);null!==d.current&&clearTimeout(d.current)}}),[t,s,l]),c},exports.useInterval=function(t,n){const r=e.useRef(t);e.useEffect((()=>{r.current=t}),[t]),e.useEffect((()=>{if(null===n)return;const e=window.setInterval((()=>r.current()),n);return()=>window.clearInterval(e)}),[n])},exports.useKeyPress=function(t,n){const[r,u]=e.useState(!1),s=e.useRef(n);e.useEffect((()=>{s.current=n}),[n]);const c="string"==typeof t?t:t.join("\0"),i=e.useRef(t);if(i.current=t,e.useEffect((()=>{const e=e=>{o(e.key,i.current)&&(s.current?s.current(e):u(!0))},t=e=>{o(e.key,i.current)&&(s.current||u(!1))};return window.addEventListener("keydown",e),window.addEventListener("keyup",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t)}}),[c]),void 0===n)return r},exports.useLongPress=function(t,n={}){const{delay:r=u,moveThreshold:o=s,onClick:c}=n,i=e.useRef(null),d=e.useRef(null),l=e.useRef(!1),a=e.useCallback((()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)}),[]),f=e.useCallback((e=>{0===e.button&&(l.current=!1,d.current={x:e.clientX,y:e.clientY,id:e.pointerId},a(),i.current=setTimeout((()=>{l.current=!0,t(e),i.current=null}),r))}),[a,r,t]),w=e.useCallback((e=>{if(null===d.current||e.pointerId!==d.current.id)return;const t=e.clientX-d.current.x,n=e.clientY-d.current.y;t*t+n*n>o*o&&(d.current=null,a())}),[a,o]),v=e.useCallback((e=>{null!==d.current&&e.pointerId===d.current.id&&(!l.current&&c&&c(e),d.current=null),a()}),[a,c]);return{onPointerDown:f,onPointerMove:w,onPointerUp:v,onPointerCancel:v,onPointerLeave:v}},exports.useMediaQuery=t=>{const[n,r]=e.useState(!1);return e.useEffect((()=>{if("undefined"==typeof window)return;const e=window.matchMedia(t);e.matches!==n&&r(e.matches);const o=()=>{r(e.matches)};return e.addEventListener("change",o),()=>e.removeEventListener("change",o)}),[n,t]),n},exports.useMouse=function(t=!0){const[n,r]=e.useState({x:0,y:0,hasMoved:!1});return e.useEffect((()=>{if(!t)return;if("undefined"==typeof window)return;const e=e=>{r({x:e.clientX,y:e.clientY,hasMoved:!0})};return window.addEventListener("pointermove",e,{passive:!0}),()=>{window.removeEventListener("pointermove",e)}}),[t]),n},exports.useTimeout=function(t,n){const r=e.useRef(t);e.useEffect((()=>{r.current=t}),[t]),e.useEffect((()=>{if(null===n)return;const e=window.setTimeout((()=>r.current()),n);return()=>window.clearTimeout(e)}),[n])},exports.useToast=()=>{const t=e.useContext(c);if(!t)throw new Error("useToast must be used within a ToastProvider");return t},exports.useWindowScroll=function(){const[t,n]=e.useState(i);return e.useEffect((()=>{const e=()=>n(i);return e(),window.addEventListener("scroll",e,{passive:!0,capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}),[]),t},exports.useWindowSize=function(){const[t,n]=e.useState(d);return e.useEffect((()=>{const e=()=>n(d());return e(),window.addEventListener("resize",e,{passive:!0}),()=>window.removeEventListener("resize",e)}),[]),t};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -1,2 +1,4 @@
1
- export * from "./src/use-click-outside";
2
- export * from "./src/use-media-query";
1
+ /**
2
+ * Subpath entry: `h2o-library/hooks`
3
+ */
4
+ export * from "./hooks";