@oneplatformdev/ui 0.1.0-5 → 0.1.0-8

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 (625) hide show
  1. package/.babelrc +12 -0
  2. package/.storybook/main.ts +48 -0
  3. package/.storybook/manager.ts +6 -0
  4. package/.storybook/preview.ts +29 -0
  5. package/CHANGELOG.md +38 -0
  6. package/dist/CHANGELOG.md +14 -0
  7. package/dist/index.js +14 -13
  8. package/dist/package.json +2 -1
  9. package/external.ts +78 -0
  10. package/kit/MultiSelectCombobox/MultiSelectCombobox.tsx +211 -0
  11. package/kit/MultiSelectCombobox/index.tsx +2 -0
  12. package/kit/MultiSelectCombobox/types.ts +22 -0
  13. package/kit/NLTDateRangePicker/index.tsx +85 -0
  14. package/kit/NLTFilesDropZone/imageList/index.tsx +86 -0
  15. package/kit/NLTFilesDropZone/index.tsx +52 -0
  16. package/kit/NLTFormDateRangePicker/index.tsx +29 -0
  17. package/kit/NLTFormFilesDropZone/index.tsx +73 -0
  18. package/kit/NLTFormPhoneField/index.tsx +36 -0
  19. package/kit/NLTFormPhoneInput/index.tsx +32 -0
  20. package/kit/NLTImageDropZone/index.tsx +105 -0
  21. package/kit/NLTModal/index.tsx +36 -0
  22. package/kit/NLTModal/useModal.ts +10 -0
  23. package/kit/NLTModalHeader/index.tsx +48 -0
  24. package/kit/NLTModalHeader/useModal.ts +10 -0
  25. package/kit/NLTMonthYearPicker/index.tsx +66 -0
  26. package/kit/NLTMonthYearPicker/useMonthYearPicker.ts +37 -0
  27. package/kit/NLTPhoneInput/index.tsx +153 -0
  28. package/kit/NLTPieChart/index.tsx +62 -0
  29. package/kit/NLTSidebar/app-sidebar.tsx +39 -0
  30. package/kit/NLTSidebar/nav-main.tsx +68 -0
  31. package/kit/NLTSidebar/nav-projects.tsx +89 -0
  32. package/kit/NLTSidebar/nav-user.tsx +114 -0
  33. package/kit/NLTSidebar/team-switcher.tsx +89 -0
  34. package/kit/NLTTable/NLTTable.tsx +50 -0
  35. package/kit/NLTTable/index.tsx +1 -0
  36. package/kit/NLTTablePagination/index.tsx +75 -0
  37. package/kit/Sidebar/SidebarNav/SidebarNavGroup.tsx +27 -0
  38. package/kit/Sidebar/SidebarNav/SidebarNavGroupItem.tsx +120 -0
  39. package/kit/Sidebar/SidebarNav/index.ts +3 -0
  40. package/kit/Sidebar/SidebarNav/types.ts +19 -0
  41. package/kit/Sidebar/index.ts +1 -0
  42. package/kit/Stepper/LinearStepper.tsx +91 -0
  43. package/kit/Stepper/Stepper.tsx +17 -0
  44. package/kit/Stepper/VerticalStepper.tsx +91 -0
  45. package/kit/Stepper/index.ts +1 -0
  46. package/kit/Stepper/types.ts +21 -0
  47. package/kit/Stepper/useStepper.ts +40 -0
  48. package/node_modules/@oneplatformdev/hooks/.babelrc +12 -0
  49. package/node_modules/@oneplatformdev/hooks/CHANGELOG.md +23 -0
  50. package/node_modules/@oneplatformdev/hooks/LICENSE +21 -0
  51. package/node_modules/@oneplatformdev/hooks/README.md +7 -0
  52. package/node_modules/@oneplatformdev/hooks/dist/CHANGELOG.md +19 -0
  53. package/node_modules/@oneplatformdev/hooks/dist/LICENSE +21 -0
  54. package/node_modules/@oneplatformdev/hooks/dist/README.md +7 -0
  55. package/node_modules/@oneplatformdev/hooks/dist/index.d.ts +37 -0
  56. package/node_modules/@oneplatformdev/hooks/dist/index.d.ts.map +1 -0
  57. package/node_modules/@oneplatformdev/hooks/dist/index.js +74 -0
  58. package/node_modules/@oneplatformdev/hooks/dist/package.json +68 -0
  59. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.d.ts +2 -0
  60. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.d.ts.map +1 -0
  61. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.js +4 -0
  62. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.d.ts +29 -0
  63. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.d.ts.map +1 -0
  64. package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.js +16 -0
  65. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.d.ts +2 -0
  66. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.d.ts.map +1 -0
  67. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.js +4 -0
  68. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.d.ts +17 -0
  69. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.d.ts.map +1 -0
  70. package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.js +9 -0
  71. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.d.ts +2 -0
  72. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.d.ts.map +1 -0
  73. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.js +4 -0
  74. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.d.ts +34 -0
  75. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.d.ts.map +1 -0
  76. package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.js +16 -0
  77. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.d.ts +2 -0
  78. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.d.ts.map +1 -0
  79. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.js +4 -0
  80. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.d.ts +47 -0
  81. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.d.ts.map +1 -0
  82. package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.js +33 -0
  83. package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.d.ts +2 -0
  84. package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.d.ts.map +1 -0
  85. package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.js +4 -0
  86. package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.d.ts +28 -0
  87. package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.d.ts.map +1 -0
  88. package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.js +20 -0
  89. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.d.ts +2 -0
  90. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.d.ts.map +1 -0
  91. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.js +4 -0
  92. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.d.ts +46 -0
  93. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.d.ts.map +1 -0
  94. package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.js +38 -0
  95. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.d.ts +3 -0
  96. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.d.ts.map +1 -0
  97. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.js +5 -0
  98. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.d.ts +62 -0
  99. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.d.ts.map +1 -0
  100. package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.js +21 -0
  101. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.d.ts +2 -0
  102. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.d.ts.map +1 -0
  103. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.js +4 -0
  104. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.d.ts +40 -0
  105. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.d.ts.map +1 -0
  106. package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.js +13 -0
  107. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.d.ts +2 -0
  108. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.d.ts.map +1 -0
  109. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.js +4 -0
  110. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.d.ts +19 -0
  111. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.d.ts.map +1 -0
  112. package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.js +16 -0
  113. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.d.ts +2 -0
  114. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.d.ts.map +1 -0
  115. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.js +4 -0
  116. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.d.ts +18 -0
  117. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.d.ts.map +1 -0
  118. package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.js +13 -0
  119. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.d.ts +2 -0
  120. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.d.ts.map +1 -0
  121. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.js +4 -0
  122. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.d.ts +7 -0
  123. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.d.ts.map +1 -0
  124. package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.js +20 -0
  125. package/node_modules/@oneplatformdev/hooks/dist/useHover/index.d.ts +2 -0
  126. package/node_modules/@oneplatformdev/hooks/dist/useHover/index.d.ts.map +1 -0
  127. package/node_modules/@oneplatformdev/hooks/dist/useHover/index.js +4 -0
  128. package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.d.ts +17 -0
  129. package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.d.ts.map +1 -0
  130. package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.js +13 -0
  131. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.d.ts +2 -0
  132. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.d.ts.map +1 -0
  133. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.js +4 -0
  134. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.d.ts +72 -0
  135. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.d.ts.map +1 -0
  136. package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.js +53 -0
  137. package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.d.ts +2 -0
  138. package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.d.ts.map +1 -0
  139. package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.js +4 -0
  140. package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.d.ts +16 -0
  141. package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.d.ts.map +1 -0
  142. package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.js +20 -0
  143. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.d.ts +2 -0
  144. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.d.ts.map +1 -0
  145. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.js +4 -0
  146. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.d.ts +13 -0
  147. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.d.ts.map +1 -0
  148. package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.js +10 -0
  149. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.d.ts +3 -0
  150. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.d.ts.map +1 -0
  151. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.js +4 -0
  152. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.d.ts +4 -0
  153. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.d.ts.map +1 -0
  154. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.js +1 -0
  155. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.d.ts +3 -0
  156. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.d.ts.map +1 -0
  157. package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.js +16 -0
  158. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.d.ts +2 -0
  159. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.d.ts.map +1 -0
  160. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.js +4 -0
  161. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.d.ts +2 -0
  162. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.d.ts.map +1 -0
  163. package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.js +10 -0
  164. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.d.ts +2 -0
  165. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.d.ts.map +1 -0
  166. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.js +4 -0
  167. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +16 -0
  168. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts.map +1 -0
  169. package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +5 -0
  170. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.d.ts +2 -0
  171. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.d.ts.map +1 -0
  172. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.js +4 -0
  173. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.d.ts +39 -0
  174. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.d.ts.map +1 -0
  175. package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.js +65 -0
  176. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.d.ts +2 -0
  177. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.d.ts.map +1 -0
  178. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.js +4 -0
  179. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.d.ts +2 -0
  180. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.d.ts.map +1 -0
  181. package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.js +12 -0
  182. package/node_modules/@oneplatformdev/hooks/dist/useMap/index.d.ts +2 -0
  183. package/node_modules/@oneplatformdev/hooks/dist/useMap/index.d.ts.map +1 -0
  184. package/node_modules/@oneplatformdev/hooks/dist/useMap/index.js +4 -0
  185. package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.d.ts +48 -0
  186. package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.d.ts.map +1 -0
  187. package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.js +27 -0
  188. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.d.ts +2 -0
  189. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.d.ts.map +1 -0
  190. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.js +4 -0
  191. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.d.ts +29 -0
  192. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.d.ts.map +1 -0
  193. package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.js +21 -0
  194. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.d.ts +2 -0
  195. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.d.ts.map +1 -0
  196. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.js +4 -0
  197. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.d.ts +24 -0
  198. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.d.ts.map +1 -0
  199. package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.js +17 -0
  200. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.d.ts +2 -0
  201. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.d.ts.map +1 -0
  202. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.js +4 -0
  203. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.d.ts +10 -0
  204. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.d.ts.map +1 -0
  205. package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.js +10 -0
  206. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.d.ts +2 -0
  207. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.d.ts.map +1 -0
  208. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.js +4 -0
  209. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.d.ts +14 -0
  210. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.d.ts.map +1 -0
  211. package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.js +48 -0
  212. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.d.ts +2 -0
  213. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.d.ts.map +1 -0
  214. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.js +4 -0
  215. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.d.ts +44 -0
  216. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.d.ts.map +1 -0
  217. package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.js +31 -0
  218. package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.d.ts +2 -0
  219. package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.d.ts.map +1 -0
  220. package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.js +4 -0
  221. package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.d.ts +20 -0
  222. package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.d.ts.map +1 -0
  223. package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.js +48 -0
  224. package/node_modules/@oneplatformdev/hooks/dist/useScript/index.d.ts +2 -0
  225. package/node_modules/@oneplatformdev/hooks/dist/useScript/index.d.ts.map +1 -0
  226. package/node_modules/@oneplatformdev/hooks/dist/useScript/index.js +4 -0
  227. package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.d.ts +24 -0
  228. package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.d.ts.map +1 -0
  229. package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.js +45 -0
  230. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.d.ts +2 -0
  231. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.d.ts.map +1 -0
  232. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.js +4 -0
  233. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.d.ts +54 -0
  234. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.d.ts.map +1 -0
  235. package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.js +26 -0
  236. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.d.ts +2 -0
  237. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.d.ts.map +1 -0
  238. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.js +4 -0
  239. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.d.ts +39 -0
  240. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.d.ts.map +1 -0
  241. package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.js +65 -0
  242. package/node_modules/@oneplatformdev/hooks/dist/useStep/index.d.ts +2 -0
  243. package/node_modules/@oneplatformdev/hooks/dist/useStep/index.d.ts.map +1 -0
  244. package/node_modules/@oneplatformdev/hooks/dist/useStep/index.js +4 -0
  245. package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.d.ts +31 -0
  246. package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.d.ts.map +1 -0
  247. package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.js +34 -0
  248. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.d.ts +2 -0
  249. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.d.ts.map +1 -0
  250. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.js +4 -0
  251. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.d.ts +46 -0
  252. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.d.ts.map +1 -0
  253. package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.js +27 -0
  254. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.d.ts +2 -0
  255. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.d.ts.map +1 -0
  256. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.js +4 -0
  257. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.d.ts +17 -0
  258. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.d.ts.map +1 -0
  259. package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.js +20 -0
  260. package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.d.ts +2 -0
  261. package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.d.ts.map +1 -0
  262. package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.js +4 -0
  263. package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.d.ts +18 -0
  264. package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.d.ts.map +1 -0
  265. package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.js +10 -0
  266. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.d.ts +2 -0
  267. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.d.ts.map +1 -0
  268. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.js +4 -0
  269. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.d.ts +14 -0
  270. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.d.ts.map +1 -0
  271. package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.js +13 -0
  272. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.d.ts +2 -0
  273. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.d.ts.map +1 -0
  274. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.js +4 -0
  275. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.d.ts +30 -0
  276. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.d.ts.map +1 -0
  277. package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.js +31 -0
  278. package/node_modules/@oneplatformdev/hooks/package.json +68 -0
  279. package/node_modules/@oneplatformdev/hooks/src/index.ts +36 -0
  280. package/node_modules/@oneplatformdev/hooks/src/useBoolean/index.ts +1 -0
  281. package/node_modules/@oneplatformdev/hooks/src/useBoolean/useBoolean.ts +50 -0
  282. package/node_modules/@oneplatformdev/hooks/src/useClickAnyWhere/index.ts +1 -0
  283. package/node_modules/@oneplatformdev/hooks/src/useClickAnyWhere/useClickAnyWhere.ts +22 -0
  284. package/node_modules/@oneplatformdev/hooks/src/useCopyToClipboard/index.ts +1 -0
  285. package/node_modules/@oneplatformdev/hooks/src/useCopyToClipboard/useCopyToClipboard.ts +58 -0
  286. package/node_modules/@oneplatformdev/hooks/src/useCountdown/index.ts +1 -0
  287. package/node_modules/@oneplatformdev/hooks/src/useCountdown/useCountdown.ts +102 -0
  288. package/node_modules/@oneplatformdev/hooks/src/useCounter/index.ts +1 -0
  289. package/node_modules/@oneplatformdev/hooks/src/useCounter/useCounter.ts +52 -0
  290. package/node_modules/@oneplatformdev/hooks/src/useDarkMode/index.ts +1 -0
  291. package/node_modules/@oneplatformdev/hooks/src/useDarkMode/useDarkMode.ts +92 -0
  292. package/node_modules/@oneplatformdev/hooks/src/useDebounceCallback/index.ts +2 -0
  293. package/node_modules/@oneplatformdev/hooks/src/useDebounceCallback/useDebounceCallback.ts +115 -0
  294. package/node_modules/@oneplatformdev/hooks/src/useDebounceValue/index.ts +1 -0
  295. package/node_modules/@oneplatformdev/hooks/src/useDebounceValue/useDebounceValue.ts +67 -0
  296. package/node_modules/@oneplatformdev/hooks/src/useDocumentTitle/index.ts +1 -0
  297. package/node_modules/@oneplatformdev/hooks/src/useDocumentTitle/useDocumentTitle.ts +43 -0
  298. package/node_modules/@oneplatformdev/hooks/src/useEventCallback/index.ts +1 -0
  299. package/node_modules/@oneplatformdev/hooks/src/useEventCallback/useEventCallback.ts +40 -0
  300. package/node_modules/@oneplatformdev/hooks/src/useEventListener/index.ts +1 -0
  301. package/node_modules/@oneplatformdev/hooks/src/useEventListener/useEventListener.ts +121 -0
  302. package/node_modules/@oneplatformdev/hooks/src/useHover/index.ts +1 -0
  303. package/node_modules/@oneplatformdev/hooks/src/useHover/useHover.ts +37 -0
  304. package/node_modules/@oneplatformdev/hooks/src/useIntersectionObserver/index.ts +1 -0
  305. package/node_modules/@oneplatformdev/hooks/src/useIntersectionObserver/useIntersectionObserver.ts +186 -0
  306. package/node_modules/@oneplatformdev/hooks/src/useInterval/index.ts +1 -0
  307. package/node_modules/@oneplatformdev/hooks/src/useInterval/useInterval.ts +43 -0
  308. package/node_modules/@oneplatformdev/hooks/src/useIsClient/index.ts +1 -0
  309. package/node_modules/@oneplatformdev/hooks/src/useIsClient/useIsClient.ts +22 -0
  310. package/node_modules/@oneplatformdev/hooks/src/useIsMobile/index.ts +2 -0
  311. package/node_modules/@oneplatformdev/hooks/src/useIsMobile/types.ts +3 -0
  312. package/node_modules/@oneplatformdev/hooks/src/useIsMobile/useIsMobile.tsx +23 -0
  313. package/node_modules/@oneplatformdev/hooks/src/useIsMounted/index.ts +1 -0
  314. package/node_modules/@oneplatformdev/hooks/src/useIsMounted/useIsMounted.ts +15 -0
  315. package/node_modules/@oneplatformdev/hooks/src/useIsomorphicLayoutEffect/index.ts +1 -0
  316. package/node_modules/@oneplatformdev/hooks/src/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts +17 -0
  317. package/node_modules/@oneplatformdev/hooks/src/useLocalStorage/index.ts +1 -0
  318. package/node_modules/@oneplatformdev/hooks/src/useLocalStorage/useLocalStorage.ts +191 -0
  319. package/node_modules/@oneplatformdev/hooks/src/useLockBody/index.ts +1 -0
  320. package/node_modules/@oneplatformdev/hooks/src/useLockBody/useLockBody.tsx +12 -0
  321. package/node_modules/@oneplatformdev/hooks/src/useMap/index.ts +1 -0
  322. package/node_modules/@oneplatformdev/hooks/src/useMap/useMap.ts +83 -0
  323. package/node_modules/@oneplatformdev/hooks/src/useMediaQuery/index.ts +1 -0
  324. package/node_modules/@oneplatformdev/hooks/src/useMediaQuery/useMediaQuery.ts +83 -0
  325. package/node_modules/@oneplatformdev/hooks/src/useOnClickOutside/index.ts +1 -0
  326. package/node_modules/@oneplatformdev/hooks/src/useOnClickOutside/useOnClickOutside.ts +61 -0
  327. package/node_modules/@oneplatformdev/hooks/src/useQueryString/index.ts +1 -0
  328. package/node_modules/@oneplatformdev/hooks/src/useQueryString/useQueryString.ts +26 -0
  329. package/node_modules/@oneplatformdev/hooks/src/useReadLocalStorage/index.ts +1 -0
  330. package/node_modules/@oneplatformdev/hooks/src/useReadLocalStorage/useReadLocalStorage.ts +122 -0
  331. package/node_modules/@oneplatformdev/hooks/src/useResizeObserver/index.ts +1 -0
  332. package/node_modules/@oneplatformdev/hooks/src/useResizeObserver/useResizeObserver.ts +131 -0
  333. package/node_modules/@oneplatformdev/hooks/src/useScreen/index.ts +1 -0
  334. package/node_modules/@oneplatformdev/hooks/src/useScreen/useScreen.ts +106 -0
  335. package/node_modules/@oneplatformdev/hooks/src/useScript/index.ts +1 -0
  336. package/node_modules/@oneplatformdev/hooks/src/useScript/useScript.ts +142 -0
  337. package/node_modules/@oneplatformdev/hooks/src/useScrollLock/index.ts +1 -0
  338. package/node_modules/@oneplatformdev/hooks/src/useScrollLock/useScrollLock.ts +141 -0
  339. package/node_modules/@oneplatformdev/hooks/src/useSessionStorage/index.ts +1 -0
  340. package/node_modules/@oneplatformdev/hooks/src/useSessionStorage/useSessionStorage.ts +191 -0
  341. package/node_modules/@oneplatformdev/hooks/src/useStep/index.ts +1 -0
  342. package/node_modules/@oneplatformdev/hooks/src/useStep/useStep.ts +83 -0
  343. package/node_modules/@oneplatformdev/hooks/src/useTernaryDarkMode/index.ts +1 -0
  344. package/node_modules/@oneplatformdev/hooks/src/useTernaryDarkMode/useTernaryDarkMode.ts +81 -0
  345. package/node_modules/@oneplatformdev/hooks/src/useTimeout/index.ts +1 -0
  346. package/node_modules/@oneplatformdev/hooks/src/useTimeout/useTimeout.ts +44 -0
  347. package/node_modules/@oneplatformdev/hooks/src/useToggle/index.ts +1 -0
  348. package/node_modules/@oneplatformdev/hooks/src/useToggle/useToggle.ts +30 -0
  349. package/node_modules/@oneplatformdev/hooks/src/useUnmount/index.ts +1 -0
  350. package/node_modules/@oneplatformdev/hooks/src/useUnmount/useUnmount.ts +26 -0
  351. package/node_modules/@oneplatformdev/hooks/src/useWindowSize/index.ts +1 -0
  352. package/node_modules/@oneplatformdev/hooks/src/useWindowSize/useWindowSize.ts +100 -0
  353. package/node_modules/@oneplatformdev/hooks/tsconfig.json +10 -0
  354. package/node_modules/@oneplatformdev/hooks/tsconfig.lib.json +33 -0
  355. package/node_modules/@oneplatformdev/hooks/vite.config.ts +62 -0
  356. package/node_modules/@oneplatformdev/utils/.babelrc +12 -0
  357. package/node_modules/@oneplatformdev/utils/CHANGELOG.md +23 -0
  358. package/node_modules/@oneplatformdev/utils/LICENSE +21 -0
  359. package/node_modules/@oneplatformdev/utils/README.md +7 -0
  360. package/node_modules/@oneplatformdev/utils/dist/CHANGELOG.md +19 -0
  361. package/node_modules/@oneplatformdev/utils/dist/LICENSE +21 -0
  362. package/node_modules/@oneplatformdev/utils/dist/README.md +7 -0
  363. package/node_modules/@oneplatformdev/utils/dist/cn/cn.d.ts +4 -0
  364. package/node_modules/@oneplatformdev/utils/dist/cn/cn.d.ts.map +1 -0
  365. package/node_modules/@oneplatformdev/utils/dist/cn/cn.js +9 -0
  366. package/node_modules/@oneplatformdev/utils/dist/cn/index.d.ts +2 -0
  367. package/node_modules/@oneplatformdev/utils/dist/cn/index.d.ts.map +1 -0
  368. package/node_modules/@oneplatformdev/utils/dist/cn/index.js +5 -0
  369. package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.d.ts +4 -0
  370. package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.d.ts.map +1 -0
  371. package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.js +10 -0
  372. package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.d.ts +2 -0
  373. package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.d.ts.map +1 -0
  374. package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.js +5 -0
  375. package/node_modules/@oneplatformdev/utils/dist/index.d.ts +4 -0
  376. package/node_modules/@oneplatformdev/utils/dist/index.d.ts.map +1 -0
  377. package/node_modules/@oneplatformdev/utils/dist/index.js +6 -0
  378. package/node_modules/@oneplatformdev/utils/dist/package.json +64 -0
  379. package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.d.ts +2 -0
  380. package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.d.ts.map +1 -0
  381. package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.js +1 -0
  382. package/node_modules/@oneplatformdev/utils/dist/types/index.d.ts +2 -0
  383. package/node_modules/@oneplatformdev/utils/dist/types/index.d.ts.map +1 -0
  384. package/node_modules/@oneplatformdev/utils/dist/types/index.js +1 -0
  385. package/node_modules/@oneplatformdev/utils/package.json +64 -0
  386. package/node_modules/@oneplatformdev/utils/src/cn/cn.ts +7 -0
  387. package/node_modules/@oneplatformdev/utils/src/cn/index.ts +1 -0
  388. package/node_modules/@oneplatformdev/utils/src/composeRefs/composeRefs.ts +12 -0
  389. package/node_modules/@oneplatformdev/utils/src/composeRefs/index.ts +1 -0
  390. package/node_modules/@oneplatformdev/utils/src/index.ts +3 -0
  391. package/node_modules/@oneplatformdev/utils/src/types/PartialOne.ts +1 -0
  392. package/node_modules/@oneplatformdev/utils/src/types/index.ts +1 -0
  393. package/node_modules/@oneplatformdev/utils/tsconfig.json +10 -0
  394. package/node_modules/@oneplatformdev/utils/tsconfig.lib.json +34 -0
  395. package/node_modules/@oneplatformdev/utils/vite.config.ts +60 -0
  396. package/node_modules/@radix-ui/react-slot/README.md +13 -0
  397. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +13 -0
  398. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +13 -0
  399. package/node_modules/@radix-ui/react-slot/dist/index.js +118 -0
  400. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
  401. package/node_modules/@radix-ui/react-slot/dist/index.mjs +85 -0
  402. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
  403. package/node_modules/@radix-ui/react-slot/package.json +50 -0
  404. package/node_modules/@radix-ui/react-tooltip/LICENSE +21 -0
  405. package/node_modules/@radix-ui/react-tooltip/README.md +3 -0
  406. package/node_modules/@radix-ui/react-tooltip/dist/index.d.mts +101 -0
  407. package/node_modules/@radix-ui/react-tooltip/dist/index.d.ts +101 -0
  408. package/node_modules/@radix-ui/react-tooltip/dist/index.js +540 -0
  409. package/node_modules/@radix-ui/react-tooltip/dist/index.js.map +7 -0
  410. package/node_modules/@radix-ui/react-tooltip/dist/index.mjs +508 -0
  411. package/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +7 -0
  412. package/node_modules/@radix-ui/react-tooltip/package.json +79 -0
  413. package/package.json +4 -3
  414. package/src/Button/Button.stories.tsx +33 -0
  415. package/src/Button/Button.tsx +33 -0
  416. package/src/Button/Button.types.ts +11 -0
  417. package/src/Button/buttonVariants.ts +38 -0
  418. package/src/Button/index.ts +3 -0
  419. package/src/ButtonIcon/ButtonIcon.stories.tsx +186 -0
  420. package/src/ButtonIcon/ButtonIcon.tsx +28 -0
  421. package/src/ButtonIcon/ButtonIcon.types.ts +10 -0
  422. package/src/ButtonIcon/buttonIconVariants.ts +137 -0
  423. package/src/ButtonIcon/index.ts +3 -0
  424. package/src/Tooltip/Tooltip.tsx +20 -0
  425. package/src/Tooltip/Tooltip.types.tsx +9 -0
  426. package/src/Tooltip/TooltipRoot.tsx +32 -0
  427. package/src/Tooltip/index.ts +3 -0
  428. package/src/global.css +123 -0
  429. package/src/index.ts +5 -0
  430. package/src_old/Accordion/Accordion.tsx +62 -0
  431. package/src_old/Accordion/index.ts +1 -0
  432. package/src_old/Alert/Alert.tsx +42 -0
  433. package/src_old/Alert/alertVariants.ts +19 -0
  434. package/src_old/Alert/index.ts +1 -0
  435. package/src_old/AlertDialog/AlertDialog.stories.tsx +131 -0
  436. package/src_old/AlertDialog/AlertDialog.tsx +257 -0
  437. package/src_old/AlertDialog/AlertDialog.types.tsx +66 -0
  438. package/src_old/AlertDialog/AlertDialogRoot.tsx +141 -0
  439. package/src_old/AlertDialog/index.ts +15 -0
  440. package/src_old/AreaChart/AreaChart.tsx +39 -0
  441. package/src_old/AreaChart/AreaChart.types.ts +18 -0
  442. package/src_old/AreaChart/index.tsx +2 -0
  443. package/src_old/Aside/Aside.tsx +26 -0
  444. package/src_old/Aside/Aside.types.ts +21 -0
  445. package/src_old/Aside/AsideSidebar.tsx +78 -0
  446. package/src_old/Aside/index.ts +3 -0
  447. package/src_old/AspectRatio/AspectRatio.tsx +5 -0
  448. package/src_old/AspectRatio/index.ts +1 -0
  449. package/src_old/Avatar/Avatar.tsx +48 -0
  450. package/src_old/Avatar/index.ts +1 -0
  451. package/src_old/Badge/Badge.tsx +13 -0
  452. package/src_old/Badge/Badge.types.ts +8 -0
  453. package/src_old/Badge/badgeVariants.ts +21 -0
  454. package/src_old/Badge/index.ts +3 -0
  455. package/src_old/Breadcrumb/Breadcrumb.tsx +115 -0
  456. package/src_old/Breadcrumb/index.ts +1 -0
  457. package/src_old/Calendar/Calendar.tsx +77 -0
  458. package/src_old/Calendar/index.ts +1 -0
  459. package/src_old/Card/Card.tsx +77 -0
  460. package/src_old/Card/index.ts +1 -0
  461. package/src_old/Carousel/Carousel.tsx +262 -0
  462. package/src_old/Carousel/index.ts +1 -0
  463. package/src_old/Chart/Chart.tsx +365 -0
  464. package/src_old/Chart/index.ts +1 -0
  465. package/src_old/Checkbox/Checkbox.tsx +62 -0
  466. package/src_old/Checkbox/Checkbox.types.ts +15 -0
  467. package/src_old/Checkbox/index.ts +2 -0
  468. package/src_old/Collapsible/Collapsible.tsx +11 -0
  469. package/src_old/Collapsible/index.ts +1 -0
  470. package/src_old/Combobox/Combobox.tsx +256 -0
  471. package/src_old/Combobox/Combobox.types.ts +55 -0
  472. package/src_old/Combobox/ComboboxOptionItem.tsx +46 -0
  473. package/src_old/Combobox/ComboboxOptions.tsx +90 -0
  474. package/src_old/Combobox/index.tsx +2 -0
  475. package/src_old/Command/Command.tsx +161 -0
  476. package/src_old/Command/index.ts +1 -0
  477. package/src_old/DataTable/DataTable.tsx +118 -0
  478. package/src_old/DataTable/DataTable.types.tsx +14 -0
  479. package/src_old/DataTable/DataTableColumnFilter.tsx +57 -0
  480. package/src_old/DataTable/index.tsx +2 -0
  481. package/src_old/DataTable/useDataTable.ts +44 -0
  482. package/src_old/DatePicker/DatePicker.tsx +56 -0
  483. package/src_old/DatePicker/DatePicker.types.tsx +7 -0
  484. package/src_old/DatePicker/index.tsx +3 -0
  485. package/src_old/Dialog/Dialog.tsx +182 -0
  486. package/src_old/Dialog/DialogOverlayScope.tsx +19 -0
  487. package/src_old/Dialog/index.ts +2 -0
  488. package/src_old/Drawer/Drawer.tsx +118 -0
  489. package/src_old/Drawer/index.ts +1 -0
  490. package/src_old/DropdownMenu/DropdownMenu.tsx +206 -0
  491. package/src_old/DropdownMenu/index.ts +1 -0
  492. package/src_old/Dropzone/Dropzone.tsx +229 -0
  493. package/src_old/Dropzone/Dropzone.types.tsx +69 -0
  494. package/src_old/Dropzone/DropzoneFilePreview.tsx +69 -0
  495. package/src_old/Dropzone/DropzoneSinglePickPreview.tsx +64 -0
  496. package/src_old/Dropzone/DropzoneUtils.tsx +31 -0
  497. package/src_old/Dropzone/index.tsx +2 -0
  498. package/src_old/Form/Form.tsx +181 -0
  499. package/src_old/Form/FormRenderControl.tsx +23 -0
  500. package/src_old/Form/FormRenderControl.types.tsx +29 -0
  501. package/src_old/Form/index.ts +4 -0
  502. package/src_old/FormCheckbox/FormCheckbox.tsx +34 -0
  503. package/src_old/FormCheckbox/FormCheckbox.types.tsx +10 -0
  504. package/src_old/FormCheckbox/index.tsx +2 -0
  505. package/src_old/FormCombobox/FormCombobox.tsx +27 -0
  506. package/src_old/FormCombobox/FormCombobox.types.ts +7 -0
  507. package/src_old/FormCombobox/index.tsx +2 -0
  508. package/src_old/FormDatePicker/FormDatePicker.tsx +33 -0
  509. package/src_old/FormDatePicker/FormDatePicker.types.ts +9 -0
  510. package/src_old/FormDatePicker/index.tsx +3 -0
  511. package/src_old/FormDropzone/FormDropzone.tsx +23 -0
  512. package/src_old/FormDropzone/FormDropzone.types.ts +7 -0
  513. package/src_old/FormDropzone/index.tsx +2 -0
  514. package/src_old/FormInput/FormInput.tsx +109 -0
  515. package/src_old/FormInput/FormInput.types.tsx +7 -0
  516. package/src_old/FormInput/index.tsx +2 -0
  517. package/src_old/FormRadio/FormRadio.tsx +54 -0
  518. package/src_old/FormRadio/FormRadio.types.ts +11 -0
  519. package/src_old/FormRadio/index.ts +2 -0
  520. package/src_old/FormSelect/FormSelect.tsx +44 -0
  521. package/src_old/FormSelect/FormSelect.types.ts +8 -0
  522. package/src_old/FormSelect/index.tsx +2 -0
  523. package/src_old/FormTextarea/FormTextarea.tsx +28 -0
  524. package/src_old/FormTextarea/FormTextarea.types.tsx +7 -0
  525. package/src_old/FormTextarea/index.tsx +2 -0
  526. package/src_old/Header/Header.tsx +34 -0
  527. package/src_old/Header/Header.types.tsx +3 -0
  528. package/src_old/Header/index.ts +2 -0
  529. package/src_old/HoverCard/HoverCard.tsx +29 -0
  530. package/src_old/HoverCard/index.ts +1 -0
  531. package/src_old/Input/Input.tsx +95 -0
  532. package/src_old/Input/Input.types.ts +26 -0
  533. package/src_old/Input/index.ts +3 -0
  534. package/src_old/Input/inputVariants.tsx +22 -0
  535. package/src_old/InputOTP/InputOTP.tsx +71 -0
  536. package/src_old/InputOTP/index.ts +1 -0
  537. package/src_old/Label/Label.tsx +23 -0
  538. package/src_old/Label/index.ts +2 -0
  539. package/src_old/Label/labelVariants.ts +8 -0
  540. package/src_old/LazyLoader/LazyLoader.tsx +30 -0
  541. package/src_old/LazyLoader/index.ts +1 -0
  542. package/src_old/LoadedIcon/LoadedIcon.tsx +36 -0
  543. package/src_old/LoadedIcon/index.ts +1 -0
  544. package/src_old/LoadingMask/LoadingMask.tsx +21 -0
  545. package/src_old/LoadingMask/LoadingMask.types.ts +5 -0
  546. package/src_old/LoadingMask/RenderLoadingMask.tsx +80 -0
  547. package/src_old/LoadingMask/index.ts +3 -0
  548. package/src_old/LoadingProgress/LoadingProgress.tsx +36 -0
  549. package/src_old/LoadingProgress/LoadingProgress.types.tsx +8 -0
  550. package/src_old/LoadingProgress/index.ts +3 -0
  551. package/src_old/LoadingProgress/loadingProgressVariants.ts +22 -0
  552. package/src_old/Menubar/Menubar.tsx +232 -0
  553. package/src_old/Menubar/index.ts +1 -0
  554. package/src_old/NavigationMenu/NavigationMenu.tsx +123 -0
  555. package/src_old/NavigationMenu/index.ts +2 -0
  556. package/src_old/NavigationMenu/navigationMenuVariants.ts +5 -0
  557. package/src_old/Pagination/Pagination.tsx +117 -0
  558. package/src_old/Pagination/index.ts +1 -0
  559. package/src_old/Popover/Popover.tsx +47 -0
  560. package/src_old/Popover/index.ts +1 -0
  561. package/src_old/Progress/Progress.tsx +28 -0
  562. package/src_old/Progress/index.ts +1 -0
  563. package/src_old/Radio/Radio.tsx +23 -0
  564. package/src_old/Radio/Radio.types.ts +17 -0
  565. package/src_old/Radio/index.ts +2 -0
  566. package/src_old/RadioGroup/RadioGroup.tsx +67 -0
  567. package/src_old/RadioGroup/index.ts +1 -0
  568. package/src_old/Resizable/Resizable.tsx +45 -0
  569. package/src_old/Resizable/index.ts +1 -0
  570. package/src_old/ScrollArea/ScrollArea.tsx +58 -0
  571. package/src_old/ScrollArea/index.ts +1 -0
  572. package/src_old/Search/Search.tsx +57 -0
  573. package/src_old/Search/Search.types.tsx +9 -0
  574. package/src_old/Search/index.tsx +3 -0
  575. package/src_old/Select/Select.stories.tsx +45 -0
  576. package/src_old/Select/Select.tsx +171 -0
  577. package/src_old/Select/Select.types.ts +46 -0
  578. package/src_old/Select/SelectRoot.tsx +164 -0
  579. package/src_old/Select/index.ts +3 -0
  580. package/src_old/Separator/Separator.tsx +31 -0
  581. package/src_old/Separator/index.ts +1 -0
  582. package/src_old/Sheet/Sheet.tsx +144 -0
  583. package/src_old/Sheet/index.ts +1 -0
  584. package/src_old/Sidebar/Sidebar.tsx +763 -0
  585. package/src_old/Sidebar/index.ts +1 -0
  586. package/src_old/Skeleton/Skeleton.tsx +17 -0
  587. package/src_old/Skeleton/index.ts +1 -0
  588. package/src_old/Slider/Slider.tsx +28 -0
  589. package/src_old/Slider/index.ts +1 -0
  590. package/src_old/Sonner/Sonner.tsx +31 -0
  591. package/src_old/Sonner/index.ts +1 -0
  592. package/src_old/Switch/Switch.tsx +29 -0
  593. package/src_old/Switch/index.ts +1 -0
  594. package/src_old/Table/Table.tsx +120 -0
  595. package/src_old/Table/index.ts +1 -0
  596. package/src_old/TablePagination/TablePagination.tsx +96 -0
  597. package/src_old/TablePagination/index.ts +1 -0
  598. package/src_old/Tabs/Tabs.tsx +35 -0
  599. package/src_old/Tabs/Tabs.types.tsx +13 -0
  600. package/src_old/Tabs/TabsRoot.tsx +55 -0
  601. package/src_old/Tabs/index.ts +2 -0
  602. package/src_old/Textarea/Textarea.tsx +78 -0
  603. package/src_old/Textarea/Textarea.types.tsx +21 -0
  604. package/src_old/Textarea/index.ts +2 -0
  605. package/src_old/Textarea/useAutosizeTextArea.ts +33 -0
  606. package/src_old/Theme/ThemeModeToggle.tsx +71 -0
  607. package/src_old/Theme/ThemeProvider.tsx +29 -0
  608. package/src_old/Theme/index.ts +2 -0
  609. package/src_old/Toast/Toast.tsx +109 -0
  610. package/src_old/Toast/Toast.types.tsx +45 -0
  611. package/src_old/Toast/index.ts +3 -0
  612. package/src_old/Toast/toast.constants.tsx +6 -0
  613. package/src_old/Toast/toastVariants.ts +20 -0
  614. package/src_old/Toast/useToast.ts +156 -0
  615. package/src_old/Toaster/Toaster.tsx +35 -0
  616. package/src_old/Toaster/index.ts +1 -0
  617. package/src_old/Toggle/Toggle.tsx +45 -0
  618. package/src_old/Toggle/index.ts +1 -0
  619. package/src_old/ToggleGroup/ToggleGroup.tsx +61 -0
  620. package/src_old/ToggleGroup/index.ts +1 -0
  621. package/src_old/global.css +275 -0
  622. package/src_old/index.ts +72 -0
  623. package/tsconfig.json +16 -0
  624. package/tsconfig.lib.json +41 -0
  625. package/vite.config.ts +67 -0
@@ -0,0 +1,52 @@
1
+ import { useCallback, useState } from 'react'
2
+
3
+ import type { Dispatch, SetStateAction } from 'react'
4
+
5
+ /** The hook return type. */
6
+ type UseCounterReturn = {
7
+ /** The current count value. */
8
+ count: number
9
+ /** Function to increment the counter by 1. */
10
+ increment: () => void
11
+ /** Function to decrement the counter by 1. */
12
+ decrement: () => void
13
+ /** Function to reset the counter to its initial value. */
14
+ reset: () => void
15
+ /** Function to set a specific value to the counter. */
16
+ setCount: Dispatch<SetStateAction<number>>
17
+ }
18
+
19
+ /**
20
+ * Custom hook that manages a counter with increment, decrement, reset, and setCount functionalities.
21
+ * @param {number} [initialValue] - The initial value for the counter.
22
+ * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter.
23
+ * @public
24
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-counter)
25
+ * @example
26
+ * ```tsx
27
+ * const { count, increment, decrement, reset, setCount } = useCounter(5);
28
+ * ```
29
+ */
30
+ export function useCounter(initialValue?: number): UseCounterReturn {
31
+ const [count, setCount] = useState(initialValue ?? 0)
32
+
33
+ const increment = useCallback(() => {
34
+ setCount(x => x + 1)
35
+ }, [])
36
+
37
+ const decrement = useCallback(() => {
38
+ setCount(x => x - 1)
39
+ }, [])
40
+
41
+ const reset = useCallback(() => {
42
+ setCount(initialValue ?? 0)
43
+ }, [initialValue])
44
+
45
+ return {
46
+ count,
47
+ increment,
48
+ decrement,
49
+ reset,
50
+ setCount,
51
+ }
52
+ }
@@ -0,0 +1 @@
1
+ export * from './useDarkMode'
@@ -0,0 +1,92 @@
1
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect'
2
+ import { useLocalStorage } from '../useLocalStorage'
3
+ import { useMediaQuery } from '../useMediaQuery'
4
+
5
+ const COLOR_SCHEME_QUERY = '(prefers-color-scheme: dark)'
6
+ const LOCAL_STORAGE_KEY = 'usehooks-ts-dark-mode'
7
+
8
+ /** The hook options. */
9
+ type DarkModeOptions = {
10
+ /**
11
+ * The initial value of the dark mode.
12
+ * @default false
13
+ */
14
+ defaultValue?: boolean
15
+ /**
16
+ * The key to use in the local storage.
17
+ * @default 'usehooks-ts-dark-mode'
18
+ */
19
+ localStorageKey?: string
20
+ /**
21
+ * If `true` (default), the hook will initialize reading `localStorage`.
22
+ * In SSR, you should set it to `false`, returning the `defaultValue` or `false` initially.
23
+ * @default true
24
+ */
25
+ initializeWithValue?: boolean
26
+ }
27
+
28
+ /** The hook return type. */
29
+ type DarkModeReturn = {
30
+ /** The current state of the dark mode. */
31
+ isDarkMode: boolean
32
+ /** Function to toggle the dark mode. */
33
+ toggle: () => void
34
+ /** Function to enable the dark mode. */
35
+ enable: () => void
36
+ /** Function to disable the dark mode. */
37
+ disable: () => void
38
+ /** Function to set a specific value to the dark mode. */
39
+ set: (value: boolean) => void
40
+ }
41
+
42
+ /**
43
+ * Custom hook that returns the current state of the dark mode.
44
+ * @param {?DarkModeOptions} [options] - The initial value of the dark mode, default `false`.
45
+ * @returns {DarkModeReturn} An object containing the dark mode's state and its controllers.
46
+ * @public
47
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-dark-mode)
48
+ * @example
49
+ * ```tsx
50
+ * const { isDarkMode, toggle, enable, disable, set } = useDarkMode({ defaultValue: true });
51
+ * ```
52
+ */
53
+ export function useDarkMode(options: DarkModeOptions = {}): DarkModeReturn {
54
+ const {
55
+ defaultValue,
56
+ localStorageKey = LOCAL_STORAGE_KEY,
57
+ initializeWithValue = true,
58
+ } = options
59
+
60
+ const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY, {
61
+ initializeWithValue,
62
+ defaultValue,
63
+ })
64
+ const [isDarkMode, setDarkMode] = useLocalStorage<boolean>(
65
+ localStorageKey,
66
+ defaultValue ?? isDarkOS ?? false,
67
+ { initializeWithValue },
68
+ )
69
+
70
+ // Update darkMode if os prefers changes
71
+ useIsomorphicLayoutEffect(() => {
72
+ if (isDarkOS !== isDarkMode) {
73
+ setDarkMode(isDarkOS)
74
+ }
75
+ }, [isDarkOS])
76
+
77
+ return {
78
+ isDarkMode,
79
+ toggle: () => {
80
+ setDarkMode(prev => !prev)
81
+ },
82
+ enable: () => {
83
+ setDarkMode(true)
84
+ },
85
+ disable: () => {
86
+ setDarkMode(false)
87
+ },
88
+ set: value => {
89
+ setDarkMode(value)
90
+ },
91
+ }
92
+ }
@@ -0,0 +1,2 @@
1
+ export * from './useDebounceCallback'
2
+ export {useDebounceCallback as default } from './useDebounceCallback'
@@ -0,0 +1,115 @@
1
+ import { useEffect, useMemo, useRef } from 'react'
2
+
3
+ import debounce from 'lodash.debounce'
4
+
5
+ import { useUnmount } from '../useUnmount'
6
+
7
+ /** Configuration options for controlling the behavior of the debounced function. */
8
+ type DebounceOptions = {
9
+ /**
10
+ * Determines whether the function should be invoked on the leading edge of the timeout.
11
+ * @default false
12
+ */
13
+ leading?: boolean
14
+ /**
15
+ * Determines whether the function should be invoked on the trailing edge of the timeout.
16
+ * @default false
17
+ */
18
+ trailing?: boolean
19
+ /**
20
+ * The maximum time the specified function is allowed to be delayed before it is invoked.
21
+ */
22
+ maxWait?: number
23
+ }
24
+
25
+ /** Functions to manage a debounced callback. */
26
+ type ControlFunctions = {
27
+ /** Cancels pending function invocations. */
28
+ cancel: () => void
29
+ /** Immediately invokes pending function invocations. */
30
+ flush: () => void
31
+ /**
32
+ * Checks if there are any pending function invocations.
33
+ * @returns `true` if there are pending invocations, otherwise `false`.
34
+ */
35
+ isPending: () => boolean
36
+ }
37
+
38
+ /**
39
+ * Represents the state and control functions of a debounced callback.
40
+ * Subsequent calls to the debounced function return the result of the last invocation.
41
+ * Note: If there are no previous invocations, the result will be undefined.
42
+ * Ensure proper handling in your code.
43
+ */
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ export type DebouncedState<T extends (...args: any) => ReturnType<T>> = ((
46
+ ...args: Parameters<T>
47
+ ) => ReturnType<T> | undefined) &
48
+ ControlFunctions
49
+
50
+ /**
51
+ * Custom hook that creates a debounced version of a callback function.
52
+ * @template T - Type of the original callback function.
53
+ * @param {T} func - The callback function to be debounced.
54
+ * @param {number} delay - The delay in milliseconds before the callback is invoked (default is `500` milliseconds).
55
+ * @param {DebounceOptions} [options] - Options to control the behavior of the debounced function.
56
+ * @returns {DebouncedState<T>} A debounced version of the original callback along with control functions.
57
+ * @public
58
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-debounce-callback)
59
+ * @example
60
+ * ```tsx
61
+ * const debouncedCallback = useDebounceCallback(
62
+ * (searchTerm) => {
63
+ * // Perform search after user stops typing for 500 milliseconds
64
+ * searchApi(searchTerm);
65
+ * },
66
+ * 500
67
+ * );
68
+ *
69
+ * // Later in the component
70
+ * debouncedCallback('react hooks'); // Will invoke the callback after 500 milliseconds of inactivity.
71
+ * ```
72
+ */
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ export function useDebounceCallback<T extends (...args: any) => ReturnType<T>>(
75
+ func: T,
76
+ delay = 500,
77
+ options?: DebounceOptions,
78
+ ): DebouncedState<T> {
79
+ const debouncedFunc = useRef<ReturnType<typeof debounce>>(null)
80
+
81
+ useUnmount(() => {
82
+ if (debouncedFunc.current) {
83
+ debouncedFunc.current.cancel()
84
+ }
85
+ })
86
+
87
+ const debounced = useMemo(() => {
88
+ const debouncedFuncInstance = debounce(func, delay, options)
89
+
90
+ const wrappedFunc: DebouncedState<T> = (...args: Parameters<T>) => {
91
+ return debouncedFuncInstance(...args)
92
+ }
93
+
94
+ wrappedFunc.cancel = () => {
95
+ debouncedFuncInstance.cancel()
96
+ }
97
+
98
+ wrappedFunc.isPending = () => {
99
+ return !!debouncedFunc.current
100
+ }
101
+
102
+ wrappedFunc.flush = () => {
103
+ return debouncedFuncInstance.flush()
104
+ }
105
+
106
+ return wrappedFunc
107
+ }, [func, delay, options])
108
+
109
+ // Update the debounced function ref whenever func, wait, or options change
110
+ useEffect(() => {
111
+ debouncedFunc.current = debounce(func, delay, options)
112
+ }, [func, delay, options])
113
+
114
+ return debounced
115
+ }
@@ -0,0 +1 @@
1
+ export * from './useDebounceValue'
@@ -0,0 +1,67 @@
1
+ import { useRef, useState } from 'react'
2
+
3
+ import type { DebouncedState } from '../useDebounceCallback'
4
+ import { useDebounceCallback } from '../useDebounceCallback'
5
+
6
+ /**
7
+ * Hook options.
8
+ * @template T - The type of the value.
9
+ */
10
+ type UseDebounceValueOptions<T> = {
11
+ /**
12
+ * Determines whether the function should be invoked on the leading edge of the timeout.
13
+ * @default false
14
+ */
15
+ leading?: boolean
16
+ /**
17
+ * Determines whether the function should be invoked on the trailing edge of the timeout.
18
+ * @default false
19
+ */
20
+ trailing?: boolean
21
+ /**
22
+ * The maximum time the specified function is allowed to be delayed before it is invoked.
23
+ */
24
+ maxWait?: number
25
+ /** A function to determine if the value has changed. Defaults to a function that checks if the value is strictly equal to the previous value. */
26
+ equalityFn?: (left: T, right: T) => boolean
27
+ }
28
+
29
+ /**
30
+ * Custom hook that returns a debounced version of the provided value, along with a function to update it.
31
+ * @template T - The type of the value.
32
+ * @param {T | (() => T)} initialValue - The value to be debounced.
33
+ * @param {number} delay - The delay in milliseconds before the value is updated (default is 500ms).
34
+ * @param {object} [options] - Optional configurations for the debouncing behavior.
35
+ * @returns {[T, DebouncedState<(value: T) => void>]} An array containing the debounced value and the function to update it.
36
+ * @public
37
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-debounce-value)
38
+ * @example
39
+ * ```tsx
40
+ * const [debouncedValue, updateDebouncedValue] = useDebounceValue(inputValue, 500, { leading: true });
41
+ * ```
42
+ */
43
+ export function useDebounceValue<T>(
44
+ initialValue: T | (() => T),
45
+ delay: number,
46
+ options?: UseDebounceValueOptions<T>,
47
+ ): [T, DebouncedState<(value: T) => void>] {
48
+ const eq = options?.equalityFn ?? ((left: T, right: T) => left === right)
49
+ const unwrappedInitialValue =
50
+ initialValue instanceof Function ? initialValue() : initialValue
51
+ const [debouncedValue, setDebouncedValue] = useState<T>(unwrappedInitialValue)
52
+ const previousValueRef = useRef<T | undefined>(unwrappedInitialValue)
53
+
54
+ const updateDebouncedValue = useDebounceCallback(
55
+ setDebouncedValue,
56
+ delay,
57
+ options,
58
+ )
59
+
60
+ // Update the debounced value if the initial value changes
61
+ if (!eq(previousValueRef.current as T, unwrappedInitialValue)) {
62
+ updateDebouncedValue(unwrappedInitialValue)
63
+ previousValueRef.current = unwrappedInitialValue
64
+ }
65
+
66
+ return [debouncedValue, updateDebouncedValue]
67
+ }
@@ -0,0 +1 @@
1
+ export * from './useDocumentTitle'
@@ -0,0 +1,43 @@
1
+ import { useRef } from 'react'
2
+
3
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect'
4
+ import { useUnmount } from '../useUnmount'
5
+
6
+ /** Hook options. */
7
+ type UseDocumentTitleOptions = {
8
+ /** Whether to keep the title after unmounting the component (default is `true`). */
9
+ preserveTitleOnUnmount?: boolean
10
+ }
11
+
12
+ /**
13
+ * Custom hook that sets the document title.
14
+ * @param {string} title - The title to set.
15
+ * @param {?UseDocumentTitleOptions} [options] - The options.
16
+ * @public
17
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-document-title)
18
+ * @example
19
+ * ```tsx
20
+ * useDocumentTitle('My new title');
21
+ * ```
22
+ */
23
+ export function useDocumentTitle(
24
+ title: string,
25
+ options: UseDocumentTitleOptions = {},
26
+ ): void {
27
+ const { preserveTitleOnUnmount = true } = options
28
+ const defaultTitle = useRef<string | null>(null)
29
+
30
+ useIsomorphicLayoutEffect(() => {
31
+ defaultTitle.current = window.document.title
32
+ }, [])
33
+
34
+ useIsomorphicLayoutEffect(() => {
35
+ window.document.title = title
36
+ }, [title])
37
+
38
+ useUnmount(() => {
39
+ if (!preserveTitleOnUnmount && defaultTitle.current) {
40
+ window.document.title = defaultTitle.current
41
+ }
42
+ })
43
+ }
@@ -0,0 +1 @@
1
+ export * from './useEventCallback'
@@ -0,0 +1,40 @@
1
+ import { useCallback, useRef } from 'react'
2
+
3
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect'
4
+
5
+ /**
6
+ * Custom hook that creates a memoized event callback.
7
+ * @template Args - An array of argument types for the event callback.
8
+ * @template R - The return type of the event callback.
9
+ * @param {(...args: Args) => R} fn - The callback function.
10
+ * @returns {(...args: Args) => R} A memoized event callback function.
11
+ * @public
12
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-event-callback)
13
+ * @example
14
+ * ```tsx
15
+ * const handleClick = useEventCallback((event) => {
16
+ * // Handle the event here
17
+ * });
18
+ * ```
19
+ */
20
+ export function useEventCallback<Args extends unknown[], R>(
21
+ fn: (...args: Args) => R,
22
+ ): (...args: Args) => R
23
+ export function useEventCallback<Args extends unknown[], R>(
24
+ fn: ((...args: Args) => R) | undefined,
25
+ ): ((...args: Args) => R) | undefined
26
+ export function useEventCallback<Args extends unknown[], R>(
27
+ fn: ((...args: Args) => R) | undefined,
28
+ ): ((...args: Args) => R) | undefined {
29
+ const ref = useRef<typeof fn>(() => {
30
+ throw new Error('Cannot call an event handler while rendering.')
31
+ })
32
+
33
+ useIsomorphicLayoutEffect(() => {
34
+ ref.current = fn
35
+ }, [fn])
36
+
37
+ return useCallback((...args: Args) => ref.current?.(...args), [ref]) as (
38
+ ...args: Args
39
+ ) => R
40
+ }
@@ -0,0 +1 @@
1
+ export * from './useEventListener'
@@ -0,0 +1,121 @@
1
+ import { useEffect, useRef } from 'react'
2
+
3
+ import type { RefObject } from 'react'
4
+
5
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect'
6
+
7
+ // MediaQueryList Event based useEventListener interface
8
+ function useEventListener<K extends keyof MediaQueryListEventMap>(
9
+ eventName: K,
10
+ handler: (event: MediaQueryListEventMap[K]) => void,
11
+ element: RefObject<MediaQueryList>,
12
+ options?: boolean | AddEventListenerOptions,
13
+ ): void
14
+
15
+ // Window Event based useEventListener interface
16
+ function useEventListener<K extends keyof WindowEventMap>(
17
+ eventName: K,
18
+ handler: (event: WindowEventMap[K]) => void,
19
+ element?: undefined,
20
+ options?: boolean | AddEventListenerOptions,
21
+ ): void
22
+
23
+ // Element Event based useEventListener interface
24
+ function useEventListener<
25
+ K extends keyof HTMLElementEventMap & keyof SVGElementEventMap,
26
+ T extends Element = K extends keyof HTMLElementEventMap
27
+ ? HTMLDivElement
28
+ : SVGElement,
29
+ >(
30
+ eventName: K,
31
+ handler:
32
+ | ((event: HTMLElementEventMap[K]) => void)
33
+ | ((event: SVGElementEventMap[K]) => void),
34
+ element: RefObject<T>,
35
+ options?: boolean | AddEventListenerOptions,
36
+ ): void
37
+
38
+ // Document Event based useEventListener interface
39
+ function useEventListener<K extends keyof DocumentEventMap>(
40
+ eventName: K,
41
+ handler: (event: DocumentEventMap[K]) => void,
42
+ element: RefObject<Document>,
43
+ options?: boolean | AddEventListenerOptions,
44
+ ): void
45
+
46
+ /**
47
+ * Custom hook that attaches event listeners to DOM elements, the window, or media query lists.
48
+ * @template KW - The type of event for window events.
49
+ * @template KH - The type of event for HTML or SVG element events.
50
+ * @template KM - The type of event for media query list events.
51
+ * @template T - The type of the DOM element (default is `HTMLElement`).
52
+ * @param {KW | KH | KM} eventName - The name of the event to listen for.
53
+ * @param {(event: WindowEventMap[KW] | HTMLElementEventMap[KH] | SVGElementEventMap[KH] | MediaQueryListEventMap[KM] | Event) => void} handler - The event handler function.
54
+ * @param {RefObject<T>} [element] - The DOM element or media query list to attach the event listener to (optional).
55
+ * @param {boolean | AddEventListenerOptions} [options] - An options object that specifies characteristics about the event listener (optional).
56
+ * @public
57
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-event-listener)
58
+ * @example
59
+ * ```tsx
60
+ * // Example 1: Attach a window event listener
61
+ * useEventListener('resize', handleResize);
62
+ * ```
63
+ * @example
64
+ * ```tsx
65
+ * // Example 2: Attach a document event listener with options
66
+ * const elementRef = useRef(document);
67
+ * useEventListener('click', handleClick, elementRef, { capture: true });
68
+ * ```
69
+ * @example
70
+ * ```tsx
71
+ * // Example 3: Attach an element event listener
72
+ * const buttonRef = useRef<HTMLButtonElement>(null);
73
+ * useEventListener('click', handleButtonClick, buttonRef);
74
+ * ```
75
+ */
76
+ function useEventListener<
77
+ KW extends keyof WindowEventMap,
78
+ KH extends keyof HTMLElementEventMap & keyof SVGElementEventMap,
79
+ KM extends keyof MediaQueryListEventMap,
80
+ T extends HTMLElement | SVGAElement | MediaQueryList = HTMLElement,
81
+ >(
82
+ eventName: KW | KH | KM,
83
+ handler: (
84
+ event:
85
+ | WindowEventMap[KW]
86
+ | HTMLElementEventMap[KH]
87
+ | SVGElementEventMap[KH]
88
+ | MediaQueryListEventMap[KM]
89
+ | Event,
90
+ ) => void,
91
+ element?: RefObject<T>,
92
+ options?: boolean | AddEventListenerOptions,
93
+ ) {
94
+ // Create a ref that stores handler
95
+ const savedHandler = useRef(handler)
96
+
97
+ useIsomorphicLayoutEffect(() => {
98
+ savedHandler.current = handler
99
+ }, [handler])
100
+
101
+ useEffect(() => {
102
+ // Define the listening target
103
+ const targetElement: T | Window = element?.current ?? window
104
+
105
+ if (!(targetElement && targetElement.addEventListener)) return
106
+
107
+ // Create event listener that calls handler function stored in ref
108
+ const listener: typeof handler = event => {
109
+ savedHandler.current(event)
110
+ }
111
+
112
+ targetElement.addEventListener(eventName, listener, options)
113
+
114
+ // Remove event listener on cleanup
115
+ return () => {
116
+ targetElement.removeEventListener(eventName, listener, options)
117
+ }
118
+ }, [eventName, element, options])
119
+ }
120
+
121
+ export { useEventListener }
@@ -0,0 +1 @@
1
+ export * from './useHover'
@@ -0,0 +1,37 @@
1
+ import { useState } from 'react'
2
+
3
+ import type { RefObject } from 'react'
4
+
5
+ import { useEventListener } from '../useEventListener'
6
+
7
+ /**
8
+ * Custom hook that tracks whether a DOM element is being hovered over.
9
+ * @template T - The type of the DOM element. Defaults to `HTMLElement`.
10
+ * @param {RefObject<T>} elementRef - The ref object for the DOM element to track.
11
+ * @returns {boolean} A boolean value indicating whether the element is being hovered over.
12
+ * @public
13
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-hover)
14
+ * @example
15
+ * ```tsx
16
+ * const buttonRef = useRef<HTMLButtonElement>(null);
17
+ * const isHovered = useHover(buttonRef);
18
+ * // Access the isHovered variable to determine if the button is being hovered over.
19
+ * ```
20
+ */
21
+ export function useHover<T extends HTMLElement = HTMLElement>(
22
+ elementRef: RefObject<T>,
23
+ ): boolean {
24
+ const [value, setValue] = useState<boolean>(false)
25
+
26
+ const handleMouseEnter = () => {
27
+ setValue(true)
28
+ }
29
+ const handleMouseLeave = () => {
30
+ setValue(false)
31
+ }
32
+
33
+ useEventListener('mouseenter', handleMouseEnter, elementRef)
34
+ useEventListener('mouseleave', handleMouseLeave, elementRef)
35
+
36
+ return value
37
+ }
@@ -0,0 +1 @@
1
+ export * from './useIntersectionObserver'