@zentauri-ui/zentauri-components 1.3.1 → 1.4.1

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 (736) hide show
  1. package/README.md +90 -0
  2. package/cli/cli.integration.test.ts +79 -0
  3. package/cli/index.mjs +718 -0
  4. package/cli/registry.json +63 -0
  5. package/cli/rewrite-imports.mjs +57 -0
  6. package/cli/rewrite-imports.test.ts +71 -0
  7. package/dist/ui/slider.js +21 -25
  8. package/dist/ui/slider.js.map +1 -1
  9. package/dist/ui/slider.mjs +21 -25
  10. package/dist/ui/slider.mjs.map +1 -1
  11. package/package.json +9 -3
  12. package/{dist/hooks/index.d.ts → src/hooks/index.ts} +28 -7
  13. package/{dist/hooks/useBodyScrollLock/index.d.ts → src/hooks/useBodyScrollLock/index.ts} +0 -1
  14. package/src/hooks/useBodyScrollLock/useBodyScrollLock.test.ts +51 -0
  15. package/src/hooks/useBodyScrollLock/useBodyScrollLock.ts +48 -0
  16. package/src/hooks/useClickOutside/index.ts +5 -0
  17. package/src/hooks/useClickOutside/useClickOutside.test.tsx +60 -0
  18. package/src/hooks/useClickOutside/useClickOutside.ts +52 -0
  19. package/{dist/hooks/useClipboard/index.d.ts → src/hooks/useClipboard/index.ts} +0 -1
  20. package/src/hooks/useClipboard/useClipboard.test.ts +101 -0
  21. package/src/hooks/useClipboard/useClipboard.ts +69 -0
  22. package/src/hooks/useControllableState/index.ts +4 -0
  23. package/src/hooks/useControllableState/useControllableState.test.ts +59 -0
  24. package/src/hooks/useControllableState/useControllableState.ts +49 -0
  25. package/{dist/hooks/useDebouncedValue/index.d.ts → src/hooks/useDebouncedValue/index.ts} +0 -1
  26. package/src/hooks/useDebouncedValue/useDebouncedValue.test.ts +74 -0
  27. package/{dist/hooks/useDebouncedValue/useDebouncedValue.d.ts → src/hooks/useDebouncedValue/useDebouncedValue.ts} +18 -2
  28. package/src/hooks/useDisclosure/index.ts +5 -0
  29. package/src/hooks/useDisclosure/useDisclosure.test.ts +64 -0
  30. package/src/hooks/useDisclosure/useDisclosure.ts +62 -0
  31. package/src/hooks/useDocumentTitle/index.ts +4 -0
  32. package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +40 -0
  33. package/src/hooks/useDocumentTitle/useDocumentTitle.ts +58 -0
  34. package/{dist/hooks/useFocusManagement/index.d.ts → src/hooks/useFocusManagement/index.ts} +0 -1
  35. package/src/hooks/useFocusManagement/useFocusManagement.test.tsx +45 -0
  36. package/src/hooks/useFocusManagement/useFocusManagement.ts +77 -0
  37. package/{dist/hooks/useHover/index.d.ts → src/hooks/useHover/index.ts} +0 -1
  38. package/src/hooks/useHover/useHover.test.ts +45 -0
  39. package/src/hooks/useHover/useHover.ts +45 -0
  40. package/{dist/hooks/useInView/index.d.ts → src/hooks/useInView/index.ts} +0 -1
  41. package/src/hooks/useInView/useInView.test.ts +43 -0
  42. package/{dist/hooks/useInView/useInView.d.ts → src/hooks/useInView/useInView.ts} +15 -4
  43. package/src/hooks/useIntersectionObserver/index.ts +4 -0
  44. package/src/hooks/useIntersectionObserver/useIntersectionObserver.test.ts +75 -0
  45. package/src/hooks/useIntersectionObserver/useIntersectionObserver.ts +54 -0
  46. package/{dist/hooks/useIsMounted/index.d.ts → src/hooks/useIsMounted/index.ts} +0 -1
  47. package/src/hooks/useIsMounted/useIsMounted.test.ts +25 -0
  48. package/{dist/hooks/useIsMounted/useIsMounted.d.ts → src/hooks/useIsMounted/useIsMounted.ts} +14 -2
  49. package/{dist/hooks/useIsomorphicLayoutEffect/index.d.ts → src/hooks/useIsomorphicLayoutEffect/index.ts} +0 -1
  50. package/src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.test.ts +19 -0
  51. package/{dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts → src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts} +6 -3
  52. package/src/hooks/useLocalStorage/index.ts +4 -0
  53. package/src/hooks/useLocalStorage/useLocalStorage.test.ts +99 -0
  54. package/src/hooks/useLocalStorage/useLocalStorage.ts +109 -0
  55. package/{dist/hooks/useMediaQuery/index.d.ts → src/hooks/useMediaQuery/index.ts} +0 -1
  56. package/src/hooks/useMediaQuery/useMediaQuery.test.ts +63 -0
  57. package/src/hooks/useMediaQuery/useMediaQuery.ts +37 -0
  58. package/{dist/hooks/useNetworkStatus/index.d.ts → src/hooks/useNetworkStatus/index.ts} +0 -1
  59. package/src/hooks/useNetworkStatus/useNetworkStatus.test.ts +53 -0
  60. package/src/hooks/useNetworkStatus/useNetworkStatus.ts +33 -0
  61. package/{dist/hooks/usePageVisibility/index.d.ts → src/hooks/usePageVisibility/index.ts} +0 -1
  62. package/src/hooks/usePageVisibility/usePageVisibility.test.ts +21 -0
  63. package/src/hooks/usePageVisibility/usePageVisibility.ts +31 -0
  64. package/src/hooks/usePagination/index.ts +6 -0
  65. package/src/hooks/usePagination/usePagination.test.ts +139 -0
  66. package/src/hooks/usePagination/usePagination.ts +153 -0
  67. package/src/hooks/usePrefersColorScheme/index.ts +4 -0
  68. package/src/hooks/usePrefersColorScheme/usePrefersColorScheme.test.ts +53 -0
  69. package/{dist/hooks/usePrefersColorScheme/usePrefersColorScheme.d.ts → src/hooks/usePrefersColorScheme/usePrefersColorScheme.ts} +14 -2
  70. package/{dist/hooks/usePrefersReducedMotion/index.d.ts → src/hooks/usePrefersReducedMotion/index.ts} +0 -1
  71. package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +27 -0
  72. package/{dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts → src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.ts} +7 -2
  73. package/src/hooks/useResizeObserver/index.ts +4 -0
  74. package/src/hooks/useResizeObserver/useResizeObserver.test.ts +68 -0
  75. package/src/hooks/useResizeObserver/useResizeObserver.ts +58 -0
  76. package/src/hooks/useSessionStorage/index.ts +4 -0
  77. package/src/hooks/useSessionStorage/useSessionStorage.test.ts +54 -0
  78. package/src/hooks/useSessionStorage/useSessionStorage.ts +84 -0
  79. package/{dist/hooks/useThrottledCallback/index.d.ts → src/hooks/useThrottledCallback/index.ts} +0 -1
  80. package/src/hooks/useThrottledCallback/useThrottledCallback.test.ts +75 -0
  81. package/{dist/hooks/useThrottledCallback/useThrottledCallback.d.ts → src/hooks/useThrottledCallback/useThrottledCallback.ts} +25 -2
  82. package/{dist/hooks/useToggle/index.d.ts → src/hooks/useToggle/index.ts} +0 -1
  83. package/src/hooks/useToggle/useToggle.test.ts +40 -0
  84. package/src/hooks/useToggle/useToggle.ts +22 -0
  85. package/{dist/hooks/useWindowSize/index.d.ts → src/hooks/useWindowSize/index.ts} +0 -1
  86. package/src/hooks/useWindowSize/useWindowSize.test.ts +23 -0
  87. package/src/hooks/useWindowSize/useWindowSize.ts +39 -0
  88. package/src/lib/utils.ts +25 -0
  89. package/src/ui/accordion/accordion-base.tsx +223 -0
  90. package/src/ui/accordion/accordion.test.tsx +146 -0
  91. package/src/ui/accordion/accordion.tsx +11 -0
  92. package/src/ui/accordion/animated/accordion-content-animated.tsx +46 -0
  93. package/src/ui/accordion/animated/accordion-root-animated.tsx +10 -0
  94. package/src/ui/accordion/animated/animations.ts +16 -0
  95. package/{dist/ui/accordion/animated/index.d.ts → src/ui/accordion/animated/index.ts} +2 -1
  96. package/{dist/ui/accordion/animated/types.d.ts → src/ui/accordion/animated/types.ts} +4 -3
  97. package/src/ui/accordion/index.ts +23 -0
  98. package/{dist/ui/accordion/types.d.ts → src/ui/accordion/types.ts} +30 -21
  99. package/src/ui/accordion/variants.ts +115 -0
  100. package/src/ui/alert/alert-base.tsx +157 -0
  101. package/src/ui/alert/alert.test.tsx +150 -0
  102. package/src/ui/alert/alert.tsx +9 -0
  103. package/src/ui/alert/animated/alert-animated.tsx +20 -0
  104. package/src/ui/alert/animated/animations.ts +20 -0
  105. package/src/ui/alert/animated/index.ts +3 -0
  106. package/src/ui/alert/animated/types.ts +16 -0
  107. package/src/ui/alert/index.ts +22 -0
  108. package/{dist/ui/alert/types.d.ts → src/ui/alert/types.ts} +18 -11
  109. package/src/ui/alert/variants.ts +74 -0
  110. package/src/ui/avatar/animated/animations.ts +11 -0
  111. package/src/ui/avatar/animated/avatar-animated.tsx +25 -0
  112. package/{dist/ui/avatar/animated/index.d.ts → src/ui/avatar/animated/index.ts} +3 -2
  113. package/{dist/ui/avatar/animated/types.d.ts → src/ui/avatar/animated/types.ts} +11 -3
  114. package/src/ui/avatar/avatar-base.tsx +184 -0
  115. package/src/ui/avatar/avatar.test.tsx +51 -0
  116. package/src/ui/avatar/avatar.tsx +11 -0
  117. package/src/ui/avatar/index.ts +16 -0
  118. package/{dist/ui/avatar/types.d.ts → src/ui/avatar/types.ts} +22 -11
  119. package/src/ui/avatar/variants.ts +52 -0
  120. package/src/ui/badge/animated/animations.ts +20 -0
  121. package/src/ui/badge/animated/badge-animated.tsx +28 -0
  122. package/{dist/ui/badge/animated/index.d.ts → src/ui/badge/animated/index.ts} +3 -2
  123. package/src/ui/badge/animated/types.ts +18 -0
  124. package/src/ui/badge/badge-base.tsx +53 -0
  125. package/src/ui/badge/badge.test.tsx +48 -0
  126. package/src/ui/badge/badge.tsx +9 -0
  127. package/{dist/ui/badge/index.d.ts → src/ui/badge/index.ts} +2 -1
  128. package/src/ui/badge/types.ts +25 -0
  129. package/src/ui/badge/variants.ts +85 -0
  130. package/src/ui/breadcrumb/breadcrumb.test.tsx +62 -0
  131. package/src/ui/breadcrumb/breadcrumb.tsx +135 -0
  132. package/src/ui/breadcrumb/index.ts +28 -0
  133. package/{dist/ui/breadcrumb/types.d.ts → src/ui/breadcrumb/types.ts} +18 -15
  134. package/src/ui/breadcrumb/variants.ts +53 -0
  135. package/src/ui/buttons/animated/animations.ts +34 -0
  136. package/src/ui/buttons/animated/button-animated.tsx +70 -0
  137. package/{dist/ui/buttons/animated/index.d.ts → src/ui/buttons/animated/index.ts} +2 -1
  138. package/src/ui/buttons/animated/types.ts +29 -0
  139. package/src/ui/buttons/button-base.tsx +59 -0
  140. package/src/ui/buttons/button.test.tsx +480 -0
  141. package/src/ui/buttons/button.tsx +9 -0
  142. package/{dist/ui/buttons/index.d.ts → src/ui/buttons/index.ts} +2 -1
  143. package/{dist/ui/buttons/types.d.ts → src/ui/buttons/types.ts} +10 -6
  144. package/src/ui/buttons/variants.ts +77 -0
  145. package/src/ui/card/animated/animations.ts +32 -0
  146. package/src/ui/card/animated/card-animated.tsx +28 -0
  147. package/{dist/ui/card/animated/index.d.ts → src/ui/card/animated/index.ts} +9 -2
  148. package/{dist/ui/card/animated/types.d.ts → src/ui/card/animated/types.ts} +4 -2
  149. package/src/ui/card/card-base.tsx +146 -0
  150. package/src/ui/card/card.test.tsx +79 -0
  151. package/src/ui/card/card.tsx +11 -0
  152. package/src/ui/card/index.ts +21 -0
  153. package/src/ui/card/types.ts +42 -0
  154. package/src/ui/card/variants.ts +122 -0
  155. package/src/ui/divider/animated/animations.ts +27 -0
  156. package/src/ui/divider/animated/divider-animated.tsx +24 -0
  157. package/{dist/ui/divider/animated/index.d.ts → src/ui/divider/animated/index.ts} +2 -1
  158. package/{dist/ui/divider/animated/types.d.ts → src/ui/divider/animated/types.ts} +13 -3
  159. package/src/ui/divider/divider-base.tsx +80 -0
  160. package/src/ui/divider/divider.tsx +9 -0
  161. package/src/ui/divider/index.ts +14 -0
  162. package/{dist/ui/divider/types.d.ts → src/ui/divider/types.ts} +11 -8
  163. package/src/ui/divider/variants.ts +98 -0
  164. package/src/ui/drawer/animated/animations.ts +39 -0
  165. package/src/ui/drawer/animated/drawer-content-animated.tsx +101 -0
  166. package/{dist/ui/drawer/animated/index.d.ts → src/ui/drawer/animated/index.ts} +11 -2
  167. package/src/ui/drawer/animated/types.ts +18 -0
  168. package/src/ui/drawer/drawer-base.tsx +259 -0
  169. package/src/ui/drawer/drawer.test.tsx +132 -0
  170. package/src/ui/drawer/drawer.tsx +11 -0
  171. package/src/ui/drawer/index.ts +21 -0
  172. package/src/ui/drawer/types.ts +39 -0
  173. package/src/ui/drawer/variants.ts +122 -0
  174. package/src/ui/dropdown/dropdown.test.tsx +114 -0
  175. package/src/ui/dropdown/dropdown.tsx +179 -0
  176. package/src/ui/dropdown/index.ts +15 -0
  177. package/src/ui/dropdown/types.ts +68 -0
  178. package/src/ui/dropdown/variants.ts +138 -0
  179. package/src/ui/empty-state/animated/animations.ts +19 -0
  180. package/src/ui/empty-state/animated/empty-state-animated.tsx +23 -0
  181. package/src/ui/empty-state/animated/index.ts +7 -0
  182. package/{dist/ui/empty-state/animated/types.d.ts → src/ui/empty-state/animated/types.ts} +17 -5
  183. package/src/ui/empty-state/empty-state-base.tsx +114 -0
  184. package/src/ui/empty-state/empty-state.tsx +9 -0
  185. package/{dist/ui/empty-state/index.d.ts → src/ui/empty-state/index.ts} +7 -2
  186. package/{dist/ui/empty-state/types.d.ts → src/ui/empty-state/types.ts} +10 -6
  187. package/src/ui/empty-state/variants.ts +51 -0
  188. package/src/ui/file-upload/file-upload.test.tsx +36 -0
  189. package/src/ui/file-upload/file-upload.tsx +119 -0
  190. package/{dist/ui/file-upload/index.d.ts → src/ui/file-upload/index.ts} +2 -1
  191. package/{dist/ui/file-upload/types.d.ts → src/ui/file-upload/types.ts} +6 -3
  192. package/src/ui/file-upload/variants.ts +29 -0
  193. package/src/ui/inputs/animated/animations.ts +36 -0
  194. package/{dist/ui/inputs/animated/index.d.ts → src/ui/inputs/animated/index.ts} +2 -1
  195. package/src/ui/inputs/animated/input-animated.tsx +124 -0
  196. package/src/ui/inputs/animated/types.ts +40 -0
  197. package/{dist/ui/inputs/index.d.ts → src/ui/inputs/index.ts} +2 -1
  198. package/src/ui/inputs/input-base.tsx +114 -0
  199. package/src/ui/inputs/input.test.tsx +414 -0
  200. package/src/ui/inputs/input.tsx +8 -0
  201. package/src/ui/inputs/types.ts +18 -0
  202. package/src/ui/inputs/variants.ts +316 -0
  203. package/src/ui/modal/animated/animations.ts +29 -0
  204. package/{dist/ui/modal/animated/index.d.ts → src/ui/modal/animated/index.ts} +2 -1
  205. package/src/ui/modal/animated/modal-content-animated.tsx +96 -0
  206. package/src/ui/modal/animated/types.ts +23 -0
  207. package/src/ui/modal/index.ts +21 -0
  208. package/src/ui/modal/modal-base.tsx +279 -0
  209. package/src/ui/modal/modal.test.tsx +129 -0
  210. package/src/ui/modal/modal.tsx +8 -0
  211. package/src/ui/modal/types.ts +31 -0
  212. package/src/ui/modal/variants.ts +109 -0
  213. package/src/ui/pagination/index.ts +13 -0
  214. package/src/ui/pagination/pagination.test.tsx +165 -0
  215. package/src/ui/pagination/pagination.tsx +237 -0
  216. package/{dist/ui/pagination/types.d.ts → src/ui/pagination/types.ts} +37 -27
  217. package/src/ui/pagination/variants.ts +97 -0
  218. package/src/ui/progress/animated/animations.ts +9 -0
  219. package/src/ui/progress/animated/index.ts +17 -0
  220. package/src/ui/progress/animated/progress-animated.tsx +133 -0
  221. package/{dist/ui/progress/animated/types.d.ts → src/ui/progress/animated/types.ts} +20 -8
  222. package/{dist/ui/progress/index.d.ts → src/ui/progress/index.ts} +7 -2
  223. package/src/ui/progress/progress-base.tsx +151 -0
  224. package/src/ui/progress/progress.test.tsx +84 -0
  225. package/src/ui/progress/progress.tsx +12 -0
  226. package/src/ui/progress/types.ts +33 -0
  227. package/src/ui/progress/variants.ts +105 -0
  228. package/src/ui/select/index.ts +25 -0
  229. package/src/ui/select/select.test.tsx +128 -0
  230. package/src/ui/select/select.tsx +221 -0
  231. package/src/ui/select/types.ts +77 -0
  232. package/src/ui/select/variants.ts +163 -0
  233. package/src/ui/skeleton/animated/animations.ts +15 -0
  234. package/src/ui/skeleton/animated/index.ts +20 -0
  235. package/src/ui/skeleton/animated/skeleton-animated.tsx +119 -0
  236. package/{dist/ui/skeleton/animated/types.d.ts → src/ui/skeleton/animated/types.ts} +30 -11
  237. package/src/ui/skeleton/index.ts +24 -0
  238. package/src/ui/skeleton/skeleton-base.tsx +288 -0
  239. package/src/ui/skeleton/skeleton.tsx +8 -0
  240. package/{dist/ui/skeleton/types.d.ts → src/ui/skeleton/types.ts} +15 -7
  241. package/src/ui/skeleton/variants.ts +254 -0
  242. package/src/ui/slider/index.ts +22 -0
  243. package/src/ui/slider/slider.test.tsx +94 -0
  244. package/src/ui/slider/slider.tsx +728 -0
  245. package/src/ui/slider/types.ts +66 -0
  246. package/src/ui/slider/variants.ts +81 -0
  247. package/{dist/ui/spinner/animated/index.d.ts → src/ui/spinner/animated/index.ts} +2 -1
  248. package/src/ui/spinner/animated/spinner.test.tsx +41 -0
  249. package/src/ui/spinner/animated/spinner.tsx +143 -0
  250. package/{dist/ui/spinner/animated/types.d.ts → src/ui/spinner/animated/types.ts} +6 -4
  251. package/src/ui/spinner/animated/variants.ts +50 -0
  252. package/src/ui/stepper/index.ts +22 -0
  253. package/src/ui/stepper/stepper.test.tsx +183 -0
  254. package/src/ui/stepper/stepper.tsx +172 -0
  255. package/{dist/ui/stepper/types.d.ts → src/ui/stepper/types.ts} +18 -11
  256. package/src/ui/stepper/variants.ts +69 -0
  257. package/src/ui/table/animated/animations.ts +9 -0
  258. package/src/ui/table/animated/index.ts +15 -0
  259. package/src/ui/table/animated/table-animated.tsx +15 -0
  260. package/src/ui/table/animated/types.ts +16 -0
  261. package/src/ui/table/index.ts +22 -0
  262. package/src/ui/table/table-base.tsx +197 -0
  263. package/src/ui/table/table.tsx +13 -0
  264. package/src/ui/table/types.ts +47 -0
  265. package/src/ui/table/variants.ts +105 -0
  266. package/src/ui/tabs/animated/animations.ts +48 -0
  267. package/{dist/ui/tabs/animated/index.d.ts → src/ui/tabs/animated/index.ts} +6 -2
  268. package/src/ui/tabs/animated/tabs-content-animated.tsx +46 -0
  269. package/src/ui/tabs/animated/types.ts +24 -0
  270. package/{dist/ui/tabs/index.d.ts → src/ui/tabs/index.ts} +8 -2
  271. package/src/ui/tabs/tabs-base.tsx +185 -0
  272. package/src/ui/tabs/tabs.test.tsx +53 -0
  273. package/{dist/ui/tabs/tabs.d.ts → src/ui/tabs/tabs.tsx} +1 -1
  274. package/src/ui/tabs/types.ts +88 -0
  275. package/src/ui/tabs/variants.ts +70 -0
  276. package/src/ui/toast/animated/animations.ts +17 -0
  277. package/src/ui/toast/animated/index.ts +9 -0
  278. package/src/ui/toast/animated/toast-animated.tsx +96 -0
  279. package/src/ui/toast/animated/types.ts +13 -0
  280. package/src/ui/toast/index.ts +26 -0
  281. package/src/ui/toast/toast-base.tsx +231 -0
  282. package/src/ui/toast/toast.test.tsx +102 -0
  283. package/src/ui/toast/toast.tsx +13 -0
  284. package/{dist/ui/toast/types.d.ts → src/ui/toast/types.ts} +35 -23
  285. package/src/ui/toast/variants.ts +73 -0
  286. package/src/ui/toggle/animated/animations.ts +9 -0
  287. package/src/ui/toggle/animated/index.ts +7 -0
  288. package/src/ui/toggle/animated/toggle-animated.tsx +76 -0
  289. package/{dist/ui/toggle/animated/types.d.ts → src/ui/toggle/animated/types.ts} +6 -2
  290. package/{dist/ui/toggle/index.d.ts → src/ui/toggle/index.ts} +2 -1
  291. package/src/ui/toggle/toggle-base.tsx +70 -0
  292. package/src/ui/toggle/toggle.test.tsx +44 -0
  293. package/src/ui/toggle/toggle.tsx +9 -0
  294. package/{dist/ui/toggle/types.d.ts → src/ui/toggle/types.ts} +7 -3
  295. package/src/ui/toggle/variants.ts +84 -0
  296. package/src/ui/tooltip/animated/animations.ts +16 -0
  297. package/src/ui/tooltip/animated/index.ts +10 -0
  298. package/src/ui/tooltip/animated/tooltip-content-animated.tsx +47 -0
  299. package/src/ui/tooltip/animated/types.ts +19 -0
  300. package/src/ui/tooltip/index.ts +17 -0
  301. package/src/ui/tooltip/tooltip-base.tsx +152 -0
  302. package/src/ui/tooltip/tooltip.test.tsx +84 -0
  303. package/src/ui/tooltip/tooltip.tsx +8 -0
  304. package/src/ui/tooltip/types.ts +57 -0
  305. package/src/ui/tooltip/variants.ts +61 -0
  306. package/dist/hooks/index.d.ts.map +0 -1
  307. package/dist/hooks/useBodyScrollLock/index.d.ts.map +0 -1
  308. package/dist/hooks/useBodyScrollLock/useBodyScrollLock.d.ts +0 -13
  309. package/dist/hooks/useBodyScrollLock/useBodyScrollLock.d.ts.map +0 -1
  310. package/dist/hooks/useClickOutside/index.d.ts +0 -2
  311. package/dist/hooks/useClickOutside/index.d.ts.map +0 -1
  312. package/dist/hooks/useClickOutside/useClickOutside.d.ts +0 -22
  313. package/dist/hooks/useClickOutside/useClickOutside.d.ts.map +0 -1
  314. package/dist/hooks/useClipboard/index.d.ts.map +0 -1
  315. package/dist/hooks/useClipboard/useClipboard.d.ts +0 -21
  316. package/dist/hooks/useClipboard/useClipboard.d.ts.map +0 -1
  317. package/dist/hooks/useControllableState/index.d.ts +0 -2
  318. package/dist/hooks/useControllableState/index.d.ts.map +0 -1
  319. package/dist/hooks/useControllableState/useControllableState.d.ts +0 -21
  320. package/dist/hooks/useControllableState/useControllableState.d.ts.map +0 -1
  321. package/dist/hooks/useDebouncedValue/index.d.ts.map +0 -1
  322. package/dist/hooks/useDebouncedValue/useDebouncedValue.d.ts.map +0 -1
  323. package/dist/hooks/useDisclosure/index.d.ts +0 -2
  324. package/dist/hooks/useDisclosure/index.d.ts.map +0 -1
  325. package/dist/hooks/useDisclosure/useDisclosure.d.ts +0 -24
  326. package/dist/hooks/useDisclosure/useDisclosure.d.ts.map +0 -1
  327. package/dist/hooks/useDocumentTitle/index.d.ts +0 -2
  328. package/dist/hooks/useDocumentTitle/index.d.ts.map +0 -1
  329. package/dist/hooks/useDocumentTitle/useDocumentTitle.d.ts +0 -18
  330. package/dist/hooks/useDocumentTitle/useDocumentTitle.d.ts.map +0 -1
  331. package/dist/hooks/useFocusManagement/index.d.ts.map +0 -1
  332. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts +0 -22
  333. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts.map +0 -1
  334. package/dist/hooks/useHover/index.d.ts.map +0 -1
  335. package/dist/hooks/useHover/useHover.d.ts +0 -13
  336. package/dist/hooks/useHover/useHover.d.ts.map +0 -1
  337. package/dist/hooks/useInView/index.d.ts.map +0 -1
  338. package/dist/hooks/useInView/useInView.d.ts.map +0 -1
  339. package/dist/hooks/useIntersectionObserver/index.d.ts +0 -2
  340. package/dist/hooks/useIntersectionObserver/index.d.ts.map +0 -1
  341. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +0 -17
  342. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.d.ts.map +0 -1
  343. package/dist/hooks/useIsMounted/index.d.ts.map +0 -1
  344. package/dist/hooks/useIsMounted/useIsMounted.d.ts.map +0 -1
  345. package/dist/hooks/useIsomorphicLayoutEffect/index.d.ts.map +0 -1
  346. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts.map +0 -1
  347. package/dist/hooks/useLocalStorage/index.d.ts +0 -2
  348. package/dist/hooks/useLocalStorage/index.d.ts.map +0 -1
  349. package/dist/hooks/useLocalStorage/useLocalStorage.d.ts +0 -21
  350. package/dist/hooks/useLocalStorage/useLocalStorage.d.ts.map +0 -1
  351. package/dist/hooks/useMediaQuery/index.d.ts.map +0 -1
  352. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts +0 -12
  353. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +0 -1
  354. package/dist/hooks/useNetworkStatus/index.d.ts.map +0 -1
  355. package/dist/hooks/useNetworkStatus/useNetworkStatus.d.ts +0 -9
  356. package/dist/hooks/useNetworkStatus/useNetworkStatus.d.ts.map +0 -1
  357. package/dist/hooks/usePageVisibility/index.d.ts.map +0 -1
  358. package/dist/hooks/usePageVisibility/usePageVisibility.d.ts +0 -9
  359. package/dist/hooks/usePageVisibility/usePageVisibility.d.ts.map +0 -1
  360. package/dist/hooks/usePagination/index.d.ts +0 -2
  361. package/dist/hooks/usePagination/index.d.ts.map +0 -1
  362. package/dist/hooks/usePagination/usePagination.d.ts +0 -30
  363. package/dist/hooks/usePagination/usePagination.d.ts.map +0 -1
  364. package/dist/hooks/usePrefersColorScheme/index.d.ts +0 -2
  365. package/dist/hooks/usePrefersColorScheme/index.d.ts.map +0 -1
  366. package/dist/hooks/usePrefersColorScheme/usePrefersColorScheme.d.ts.map +0 -1
  367. package/dist/hooks/usePrefersReducedMotion/index.d.ts.map +0 -1
  368. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts.map +0 -1
  369. package/dist/hooks/useResizeObserver/index.d.ts +0 -2
  370. package/dist/hooks/useResizeObserver/index.d.ts.map +0 -1
  371. package/dist/hooks/useResizeObserver/useResizeObserver.d.ts +0 -21
  372. package/dist/hooks/useResizeObserver/useResizeObserver.d.ts.map +0 -1
  373. package/dist/hooks/useSessionStorage/index.d.ts +0 -2
  374. package/dist/hooks/useSessionStorage/index.d.ts.map +0 -1
  375. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts +0 -21
  376. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +0 -1
  377. package/dist/hooks/useThrottledCallback/index.d.ts.map +0 -1
  378. package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +0 -1
  379. package/dist/hooks/useToggle/index.d.ts.map +0 -1
  380. package/dist/hooks/useToggle/useToggle.d.ts +0 -8
  381. package/dist/hooks/useToggle/useToggle.d.ts.map +0 -1
  382. package/dist/hooks/useWindowSize/index.d.ts.map +0 -1
  383. package/dist/hooks/useWindowSize/useWindowSize.d.ts +0 -13
  384. package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +0 -1
  385. package/dist/lib/utils.d.ts +0 -6
  386. package/dist/lib/utils.d.ts.map +0 -1
  387. package/dist/ui/accordion/accordion-base.d.ts +0 -20
  388. package/dist/ui/accordion/accordion-base.d.ts.map +0 -1
  389. package/dist/ui/accordion/accordion.d.ts +0 -8
  390. package/dist/ui/accordion/accordion.d.ts.map +0 -1
  391. package/dist/ui/accordion/animated/accordion-content-animated.d.ts +0 -6
  392. package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +0 -1
  393. package/dist/ui/accordion/animated/accordion-root-animated.d.ts +0 -6
  394. package/dist/ui/accordion/animated/accordion-root-animated.d.ts.map +0 -1
  395. package/dist/ui/accordion/animated/animations.d.ts +0 -6
  396. package/dist/ui/accordion/animated/animations.d.ts.map +0 -1
  397. package/dist/ui/accordion/animated/index.d.ts.map +0 -1
  398. package/dist/ui/accordion/animated/types.d.ts.map +0 -1
  399. package/dist/ui/accordion/index.d.ts +0 -5
  400. package/dist/ui/accordion/index.d.ts.map +0 -1
  401. package/dist/ui/accordion/types.d.ts.map +0 -1
  402. package/dist/ui/accordion/variants.d.ts +0 -14
  403. package/dist/ui/accordion/variants.d.ts.map +0 -1
  404. package/dist/ui/alert/alert-base.d.ts +0 -28
  405. package/dist/ui/alert/alert-base.d.ts.map +0 -1
  406. package/dist/ui/alert/alert.d.ts +0 -6
  407. package/dist/ui/alert/alert.d.ts.map +0 -1
  408. package/dist/ui/alert/animated/alert-animated.d.ts +0 -3
  409. package/dist/ui/alert/animated/alert-animated.d.ts.map +0 -1
  410. package/dist/ui/alert/animated/animations.d.ts +0 -3
  411. package/dist/ui/alert/animated/animations.d.ts.map +0 -1
  412. package/dist/ui/alert/animated/index.d.ts +0 -4
  413. package/dist/ui/alert/animated/index.d.ts.map +0 -1
  414. package/dist/ui/alert/animated/types.d.ts +0 -8
  415. package/dist/ui/alert/animated/types.d.ts.map +0 -1
  416. package/dist/ui/alert/index.d.ts +0 -5
  417. package/dist/ui/alert/index.d.ts.map +0 -1
  418. package/dist/ui/alert/types.d.ts.map +0 -1
  419. package/dist/ui/alert/variants.d.ts +0 -11
  420. package/dist/ui/alert/variants.d.ts.map +0 -1
  421. package/dist/ui/avatar/animated/animations.d.ts +0 -3
  422. package/dist/ui/avatar/animated/animations.d.ts.map +0 -1
  423. package/dist/ui/avatar/animated/avatar-animated.d.ts +0 -6
  424. package/dist/ui/avatar/animated/avatar-animated.d.ts.map +0 -1
  425. package/dist/ui/avatar/animated/index.d.ts.map +0 -1
  426. package/dist/ui/avatar/animated/types.d.ts.map +0 -1
  427. package/dist/ui/avatar/avatar-base.d.ts +0 -25
  428. package/dist/ui/avatar/avatar-base.d.ts.map +0 -1
  429. package/dist/ui/avatar/avatar.d.ts +0 -8
  430. package/dist/ui/avatar/avatar.d.ts.map +0 -1
  431. package/dist/ui/avatar/index.d.ts +0 -5
  432. package/dist/ui/avatar/index.d.ts.map +0 -1
  433. package/dist/ui/avatar/types.d.ts.map +0 -1
  434. package/dist/ui/avatar/variants.d.ts +0 -8
  435. package/dist/ui/avatar/variants.d.ts.map +0 -1
  436. package/dist/ui/badge/animated/animations.d.ts +0 -3
  437. package/dist/ui/badge/animated/animations.d.ts.map +0 -1
  438. package/dist/ui/badge/animated/badge-animated.d.ts +0 -6
  439. package/dist/ui/badge/animated/badge-animated.d.ts.map +0 -1
  440. package/dist/ui/badge/animated/index.d.ts.map +0 -1
  441. package/dist/ui/badge/animated/types.d.ts +0 -10
  442. package/dist/ui/badge/animated/types.d.ts.map +0 -1
  443. package/dist/ui/badge/badge-base.d.ts +0 -6
  444. package/dist/ui/badge/badge-base.d.ts.map +0 -1
  445. package/dist/ui/badge/badge.d.ts +0 -6
  446. package/dist/ui/badge/badge.d.ts.map +0 -1
  447. package/dist/ui/badge/index.d.ts.map +0 -1
  448. package/dist/ui/badge/types.d.ts +0 -17
  449. package/dist/ui/badge/types.d.ts.map +0 -1
  450. package/dist/ui/badge/variants.d.ts +0 -40
  451. package/dist/ui/badge/variants.d.ts.map +0 -1
  452. package/dist/ui/breadcrumb/breadcrumb.d.ts +0 -33
  453. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +0 -1
  454. package/dist/ui/breadcrumb/index.d.ts +0 -4
  455. package/dist/ui/breadcrumb/index.d.ts.map +0 -1
  456. package/dist/ui/breadcrumb/types.d.ts.map +0 -1
  457. package/dist/ui/breadcrumb/variants.d.ts +0 -11
  458. package/dist/ui/breadcrumb/variants.d.ts.map +0 -1
  459. package/dist/ui/buttons/animated/animations.d.ts +0 -3
  460. package/dist/ui/buttons/animated/animations.d.ts.map +0 -1
  461. package/dist/ui/buttons/animated/button-animated.d.ts +0 -6
  462. package/dist/ui/buttons/animated/button-animated.d.ts.map +0 -1
  463. package/dist/ui/buttons/animated/index.d.ts.map +0 -1
  464. package/dist/ui/buttons/animated/types.d.ts +0 -16
  465. package/dist/ui/buttons/animated/types.d.ts.map +0 -1
  466. package/dist/ui/buttons/button-base.d.ts +0 -6
  467. package/dist/ui/buttons/button-base.d.ts.map +0 -1
  468. package/dist/ui/buttons/button.d.ts +0 -6
  469. package/dist/ui/buttons/button.d.ts.map +0 -1
  470. package/dist/ui/buttons/index.d.ts.map +0 -1
  471. package/dist/ui/buttons/types.d.ts.map +0 -1
  472. package/dist/ui/buttons/variants.d.ts +0 -5
  473. package/dist/ui/buttons/variants.d.ts.map +0 -1
  474. package/dist/ui/card/animated/animations.d.ts +0 -7
  475. package/dist/ui/card/animated/animations.d.ts.map +0 -1
  476. package/dist/ui/card/animated/card-animated.d.ts +0 -6
  477. package/dist/ui/card/animated/card-animated.d.ts.map +0 -1
  478. package/dist/ui/card/animated/index.d.ts.map +0 -1
  479. package/dist/ui/card/animated/types.d.ts.map +0 -1
  480. package/dist/ui/card/card-base.d.ts +0 -26
  481. package/dist/ui/card/card-base.d.ts.map +0 -1
  482. package/dist/ui/card/card.d.ts +0 -6
  483. package/dist/ui/card/card.d.ts.map +0 -1
  484. package/dist/ui/card/index.d.ts +0 -5
  485. package/dist/ui/card/index.d.ts.map +0 -1
  486. package/dist/ui/card/types.d.ts +0 -29
  487. package/dist/ui/card/types.d.ts.map +0 -1
  488. package/dist/ui/card/variants.d.ts +0 -18
  489. package/dist/ui/card/variants.d.ts.map +0 -1
  490. package/dist/ui/divider/animated/animations.d.ts +0 -6
  491. package/dist/ui/divider/animated/animations.d.ts.map +0 -1
  492. package/dist/ui/divider/animated/divider-animated.d.ts +0 -6
  493. package/dist/ui/divider/animated/divider-animated.d.ts.map +0 -1
  494. package/dist/ui/divider/animated/index.d.ts.map +0 -1
  495. package/dist/ui/divider/animated/types.d.ts.map +0 -1
  496. package/dist/ui/divider/divider-base.d.ts +0 -6
  497. package/dist/ui/divider/divider-base.d.ts.map +0 -1
  498. package/dist/ui/divider/divider.d.ts +0 -6
  499. package/dist/ui/divider/divider.d.ts.map +0 -1
  500. package/dist/ui/divider/index.d.ts +0 -4
  501. package/dist/ui/divider/index.d.ts.map +0 -1
  502. package/dist/ui/divider/types.d.ts.map +0 -1
  503. package/dist/ui/divider/variants.d.ts +0 -14
  504. package/dist/ui/divider/variants.d.ts.map +0 -1
  505. package/dist/ui/drawer/animated/animations.d.ts +0 -3
  506. package/dist/ui/drawer/animated/animations.d.ts.map +0 -1
  507. package/dist/ui/drawer/animated/drawer-content-animated.d.ts +0 -6
  508. package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +0 -1
  509. package/dist/ui/drawer/animated/index.d.ts.map +0 -1
  510. package/dist/ui/drawer/animated/types.d.ts +0 -9
  511. package/dist/ui/drawer/animated/types.d.ts.map +0 -1
  512. package/dist/ui/drawer/drawer-base.d.ts +0 -35
  513. package/dist/ui/drawer/drawer-base.d.ts.map +0 -1
  514. package/dist/ui/drawer/drawer.d.ts +0 -2
  515. package/dist/ui/drawer/drawer.d.ts.map +0 -1
  516. package/dist/ui/drawer/index.d.ts +0 -4
  517. package/dist/ui/drawer/index.d.ts.map +0 -1
  518. package/dist/ui/drawer/types.d.ts +0 -33
  519. package/dist/ui/drawer/types.d.ts.map +0 -1
  520. package/dist/ui/drawer/variants.d.ts +0 -10
  521. package/dist/ui/drawer/variants.d.ts.map +0 -1
  522. package/dist/ui/dropdown/dropdown.d.ts +0 -6
  523. package/dist/ui/dropdown/dropdown.d.ts.map +0 -1
  524. package/dist/ui/dropdown/index.d.ts +0 -4
  525. package/dist/ui/dropdown/index.d.ts.map +0 -1
  526. package/dist/ui/dropdown/types.d.ts +0 -38
  527. package/dist/ui/dropdown/types.d.ts.map +0 -1
  528. package/dist/ui/dropdown/variants.d.ts +0 -12
  529. package/dist/ui/dropdown/variants.d.ts.map +0 -1
  530. package/dist/ui/empty-state/animated/animations.d.ts +0 -3
  531. package/dist/ui/empty-state/animated/animations.d.ts.map +0 -1
  532. package/dist/ui/empty-state/animated/empty-state-animated.d.ts +0 -6
  533. package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +0 -1
  534. package/dist/ui/empty-state/animated/index.d.ts +0 -4
  535. package/dist/ui/empty-state/animated/index.d.ts.map +0 -1
  536. package/dist/ui/empty-state/animated/types.d.ts.map +0 -1
  537. package/dist/ui/empty-state/empty-state-base.d.ts +0 -23
  538. package/dist/ui/empty-state/empty-state-base.d.ts.map +0 -1
  539. package/dist/ui/empty-state/empty-state.d.ts +0 -6
  540. package/dist/ui/empty-state/empty-state.d.ts.map +0 -1
  541. package/dist/ui/empty-state/index.d.ts.map +0 -1
  542. package/dist/ui/empty-state/types.d.ts.map +0 -1
  543. package/dist/ui/empty-state/variants.d.ts +0 -12
  544. package/dist/ui/empty-state/variants.d.ts.map +0 -1
  545. package/dist/ui/file-upload/file-upload.d.ts +0 -8
  546. package/dist/ui/file-upload/file-upload.d.ts.map +0 -1
  547. package/dist/ui/file-upload/index.d.ts.map +0 -1
  548. package/dist/ui/file-upload/types.d.ts.map +0 -1
  549. package/dist/ui/file-upload/variants.d.ts +0 -4
  550. package/dist/ui/file-upload/variants.d.ts.map +0 -1
  551. package/dist/ui/inputs/animated/animations.d.ts +0 -3
  552. package/dist/ui/inputs/animated/animations.d.ts.map +0 -1
  553. package/dist/ui/inputs/animated/index.d.ts.map +0 -1
  554. package/dist/ui/inputs/animated/input-animated.d.ts +0 -6
  555. package/dist/ui/inputs/animated/input-animated.d.ts.map +0 -1
  556. package/dist/ui/inputs/animated/types.d.ts +0 -16
  557. package/dist/ui/inputs/animated/types.d.ts.map +0 -1
  558. package/dist/ui/inputs/index.d.ts.map +0 -1
  559. package/dist/ui/inputs/input-base.d.ts +0 -6
  560. package/dist/ui/inputs/input-base.d.ts.map +0 -1
  561. package/dist/ui/inputs/input.d.ts +0 -6
  562. package/dist/ui/inputs/input.d.ts.map +0 -1
  563. package/dist/ui/inputs/types.d.ts +0 -12
  564. package/dist/ui/inputs/types.d.ts.map +0 -1
  565. package/dist/ui/inputs/variants.d.ts +0 -7
  566. package/dist/ui/inputs/variants.d.ts.map +0 -1
  567. package/dist/ui/modal/animated/animations.d.ts +0 -3
  568. package/dist/ui/modal/animated/animations.d.ts.map +0 -1
  569. package/dist/ui/modal/animated/index.d.ts.map +0 -1
  570. package/dist/ui/modal/animated/modal-content-animated.d.ts +0 -6
  571. package/dist/ui/modal/animated/modal-content-animated.d.ts.map +0 -1
  572. package/dist/ui/modal/animated/types.d.ts +0 -9
  573. package/dist/ui/modal/animated/types.d.ts.map +0 -1
  574. package/dist/ui/modal/index.d.ts +0 -5
  575. package/dist/ui/modal/index.d.ts.map +0 -1
  576. package/dist/ui/modal/modal-base.d.ts +0 -47
  577. package/dist/ui/modal/modal-base.d.ts.map +0 -1
  578. package/dist/ui/modal/modal.d.ts +0 -6
  579. package/dist/ui/modal/modal.d.ts.map +0 -1
  580. package/dist/ui/modal/types.d.ts +0 -26
  581. package/dist/ui/modal/types.d.ts.map +0 -1
  582. package/dist/ui/modal/variants.d.ts +0 -10
  583. package/dist/ui/modal/variants.d.ts.map +0 -1
  584. package/dist/ui/pagination/index.d.ts +0 -5
  585. package/dist/ui/pagination/index.d.ts.map +0 -1
  586. package/dist/ui/pagination/pagination.d.ts +0 -17
  587. package/dist/ui/pagination/pagination.d.ts.map +0 -1
  588. package/dist/ui/pagination/types.d.ts.map +0 -1
  589. package/dist/ui/pagination/variants.d.ts +0 -12
  590. package/dist/ui/pagination/variants.d.ts.map +0 -1
  591. package/dist/ui/progress/animated/animations.d.ts +0 -3
  592. package/dist/ui/progress/animated/animations.d.ts.map +0 -1
  593. package/dist/ui/progress/animated/index.d.ts +0 -4
  594. package/dist/ui/progress/animated/index.d.ts.map +0 -1
  595. package/dist/ui/progress/animated/progress-animated.d.ts +0 -16
  596. package/dist/ui/progress/animated/progress-animated.d.ts.map +0 -1
  597. package/dist/ui/progress/animated/types.d.ts.map +0 -1
  598. package/dist/ui/progress/index.d.ts.map +0 -1
  599. package/dist/ui/progress/progress-base.d.ts +0 -23
  600. package/dist/ui/progress/progress-base.d.ts.map +0 -1
  601. package/dist/ui/progress/progress.d.ts +0 -6
  602. package/dist/ui/progress/progress.d.ts.map +0 -1
  603. package/dist/ui/progress/types.d.ts +0 -28
  604. package/dist/ui/progress/types.d.ts.map +0 -1
  605. package/dist/ui/progress/variants.d.ts +0 -15
  606. package/dist/ui/progress/variants.d.ts.map +0 -1
  607. package/dist/ui/select/index.d.ts +0 -4
  608. package/dist/ui/select/index.d.ts.map +0 -1
  609. package/dist/ui/select/select.d.ts +0 -10
  610. package/dist/ui/select/select.d.ts.map +0 -1
  611. package/dist/ui/select/types.d.ts +0 -48
  612. package/dist/ui/select/types.d.ts.map +0 -1
  613. package/dist/ui/select/variants.d.ts +0 -14
  614. package/dist/ui/select/variants.d.ts.map +0 -1
  615. package/dist/ui/skeleton/animated/animations.d.ts +0 -3
  616. package/dist/ui/skeleton/animated/animations.d.ts.map +0 -1
  617. package/dist/ui/skeleton/animated/index.d.ts +0 -4
  618. package/dist/ui/skeleton/animated/index.d.ts.map +0 -1
  619. package/dist/ui/skeleton/animated/skeleton-animated.d.ts +0 -22
  620. package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +0 -1
  621. package/dist/ui/skeleton/animated/types.d.ts.map +0 -1
  622. package/dist/ui/skeleton/index.d.ts +0 -5
  623. package/dist/ui/skeleton/index.d.ts.map +0 -1
  624. package/dist/ui/skeleton/skeleton-base.d.ts +0 -24
  625. package/dist/ui/skeleton/skeleton-base.d.ts.map +0 -1
  626. package/dist/ui/skeleton/skeleton.d.ts +0 -2
  627. package/dist/ui/skeleton/skeleton.d.ts.map +0 -1
  628. package/dist/ui/skeleton/types.d.ts.map +0 -1
  629. package/dist/ui/skeleton/variants.d.ts +0 -38
  630. package/dist/ui/skeleton/variants.d.ts.map +0 -1
  631. package/dist/ui/slider/index.d.ts +0 -4
  632. package/dist/ui/slider/index.d.ts.map +0 -1
  633. package/dist/ui/slider/slider.d.ts +0 -33
  634. package/dist/ui/slider/slider.d.ts.map +0 -1
  635. package/dist/ui/slider/types.d.ts +0 -49
  636. package/dist/ui/slider/types.d.ts.map +0 -1
  637. package/dist/ui/slider/variants.d.ts +0 -13
  638. package/dist/ui/slider/variants.d.ts.map +0 -1
  639. package/dist/ui/spinner/animated/index.d.ts.map +0 -1
  640. package/dist/ui/spinner/animated/spinner.d.ts +0 -6
  641. package/dist/ui/spinner/animated/spinner.d.ts.map +0 -1
  642. package/dist/ui/spinner/animated/types.d.ts.map +0 -1
  643. package/dist/ui/spinner/animated/variants.d.ts +0 -6
  644. package/dist/ui/spinner/animated/variants.d.ts.map +0 -1
  645. package/dist/ui/stepper/index.d.ts +0 -4
  646. package/dist/ui/stepper/index.d.ts.map +0 -1
  647. package/dist/ui/stepper/stepper.d.ts +0 -33
  648. package/dist/ui/stepper/stepper.d.ts.map +0 -1
  649. package/dist/ui/stepper/types.d.ts.map +0 -1
  650. package/dist/ui/stepper/variants.d.ts +0 -11
  651. package/dist/ui/stepper/variants.d.ts.map +0 -1
  652. package/dist/ui/table/animated/animations.d.ts +0 -3
  653. package/dist/ui/table/animated/animations.d.ts.map +0 -1
  654. package/dist/ui/table/animated/index.d.ts +0 -5
  655. package/dist/ui/table/animated/index.d.ts.map +0 -1
  656. package/dist/ui/table/animated/table-animated.d.ts +0 -5
  657. package/dist/ui/table/animated/table-animated.d.ts.map +0 -1
  658. package/dist/ui/table/animated/types.d.ts +0 -8
  659. package/dist/ui/table/animated/types.d.ts.map +0 -1
  660. package/dist/ui/table/index.d.ts +0 -4
  661. package/dist/ui/table/index.d.ts.map +0 -1
  662. package/dist/ui/table/table-base.d.ts +0 -38
  663. package/dist/ui/table/table-base.d.ts.map +0 -1
  664. package/dist/ui/table/table.d.ts +0 -2
  665. package/dist/ui/table/table.d.ts.map +0 -1
  666. package/dist/ui/table/types.d.ts +0 -33
  667. package/dist/ui/table/types.d.ts.map +0 -1
  668. package/dist/ui/table/variants.d.ts +0 -14
  669. package/dist/ui/table/variants.d.ts.map +0 -1
  670. package/dist/ui/tabs/animated/animations.d.ts +0 -5
  671. package/dist/ui/tabs/animated/animations.d.ts.map +0 -1
  672. package/dist/ui/tabs/animated/index.d.ts.map +0 -1
  673. package/dist/ui/tabs/animated/tabs-content-animated.d.ts +0 -6
  674. package/dist/ui/tabs/animated/tabs-content-animated.d.ts.map +0 -1
  675. package/dist/ui/tabs/animated/types.d.ts +0 -14
  676. package/dist/ui/tabs/animated/types.d.ts.map +0 -1
  677. package/dist/ui/tabs/index.d.ts.map +0 -1
  678. package/dist/ui/tabs/tabs-base.d.ts +0 -8
  679. package/dist/ui/tabs/tabs-base.d.ts.map +0 -1
  680. package/dist/ui/tabs/tabs.d.ts.map +0 -1
  681. package/dist/ui/tabs/types.d.ts +0 -40
  682. package/dist/ui/tabs/types.d.ts.map +0 -1
  683. package/dist/ui/tabs/variants.d.ts +0 -11
  684. package/dist/ui/tabs/variants.d.ts.map +0 -1
  685. package/dist/ui/toast/animated/animations.d.ts +0 -3
  686. package/dist/ui/toast/animated/animations.d.ts.map +0 -1
  687. package/dist/ui/toast/animated/index.d.ts +0 -4
  688. package/dist/ui/toast/animated/index.d.ts.map +0 -1
  689. package/dist/ui/toast/animated/toast-animated.d.ts +0 -10
  690. package/dist/ui/toast/animated/toast-animated.d.ts.map +0 -1
  691. package/dist/ui/toast/animated/types.d.ts +0 -5
  692. package/dist/ui/toast/animated/types.d.ts.map +0 -1
  693. package/dist/ui/toast/index.d.ts +0 -4
  694. package/dist/ui/toast/index.d.ts.map +0 -1
  695. package/dist/ui/toast/toast-base.d.ts +0 -35
  696. package/dist/ui/toast/toast-base.d.ts.map +0 -1
  697. package/dist/ui/toast/toast.d.ts +0 -2
  698. package/dist/ui/toast/toast.d.ts.map +0 -1
  699. package/dist/ui/toast/types.d.ts.map +0 -1
  700. package/dist/ui/toast/variants.d.ts +0 -8
  701. package/dist/ui/toast/variants.d.ts.map +0 -1
  702. package/dist/ui/toggle/animated/animations.d.ts +0 -3
  703. package/dist/ui/toggle/animated/animations.d.ts.map +0 -1
  704. package/dist/ui/toggle/animated/index.d.ts +0 -4
  705. package/dist/ui/toggle/animated/index.d.ts.map +0 -1
  706. package/dist/ui/toggle/animated/toggle-animated.d.ts +0 -6
  707. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +0 -1
  708. package/dist/ui/toggle/animated/types.d.ts.map +0 -1
  709. package/dist/ui/toggle/index.d.ts.map +0 -1
  710. package/dist/ui/toggle/toggle-base.d.ts +0 -6
  711. package/dist/ui/toggle/toggle-base.d.ts.map +0 -1
  712. package/dist/ui/toggle/toggle.d.ts +0 -6
  713. package/dist/ui/toggle/toggle.d.ts.map +0 -1
  714. package/dist/ui/toggle/types.d.ts.map +0 -1
  715. package/dist/ui/toggle/variants.d.ts +0 -8
  716. package/dist/ui/toggle/variants.d.ts.map +0 -1
  717. package/dist/ui/tooltip/animated/animations.d.ts +0 -3
  718. package/dist/ui/tooltip/animated/animations.d.ts.map +0 -1
  719. package/dist/ui/tooltip/animated/index.d.ts +0 -4
  720. package/dist/ui/tooltip/animated/index.d.ts.map +0 -1
  721. package/dist/ui/tooltip/animated/tooltip-content-animated.d.ts +0 -3
  722. package/dist/ui/tooltip/animated/tooltip-content-animated.d.ts.map +0 -1
  723. package/dist/ui/tooltip/animated/types.d.ts +0 -9
  724. package/dist/ui/tooltip/animated/types.d.ts.map +0 -1
  725. package/dist/ui/tooltip/index.d.ts +0 -4
  726. package/dist/ui/tooltip/index.d.ts.map +0 -1
  727. package/dist/ui/tooltip/tooltip-base.d.ts +0 -7
  728. package/dist/ui/tooltip/tooltip-base.d.ts.map +0 -1
  729. package/dist/ui/tooltip/tooltip.d.ts +0 -2
  730. package/dist/ui/tooltip/tooltip.d.ts.map +0 -1
  731. package/dist/ui/tooltip/types.d.ts +0 -30
  732. package/dist/ui/tooltip/types.d.ts.map +0 -1
  733. package/dist/ui/tooltip/variants.d.ts +0 -6
  734. package/dist/ui/tooltip/variants.d.ts.map +0 -1
  735. package/dist/vitest-setup.d.ts +0 -2
  736. package/dist/vitest-setup.d.ts.map +0 -1
@@ -0,0 +1,37 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ /**
6
+ * Subscribes to `window.matchMedia(query)` and returns whether the query currently matches.
7
+ *
8
+ * On the server or when `matchMedia` is missing, `defaultValue` is used for the initial render and the effect no-ops.
9
+ * The `change` listener keeps `matches` updated when the viewport or user settings change.
10
+ *
11
+ * @param query - A valid media query string, e.g. `"(min-width: 768px)"`.
12
+ * @param defaultValue - Value to use before hydration or when `matchMedia` is unavailable (default `false`).
13
+ * @returns Current `matches` boolean for the query.
14
+ */
15
+ export function useMediaQuery(
16
+ query: string,
17
+ defaultValue = false,
18
+ ): boolean {
19
+ const [matches, setMatches] = useState(defaultValue);
20
+
21
+ useEffect(() => {
22
+ if (typeof window === "undefined" || !window.matchMedia) {
23
+ return;
24
+ }
25
+ const media = window.matchMedia(query);
26
+ const onChange = () => {
27
+ setMatches(media.matches);
28
+ };
29
+ setMatches(media.matches);
30
+ media.addEventListener("change", onChange);
31
+ return () => {
32
+ media.removeEventListener("change", onChange);
33
+ };
34
+ }, [query]);
35
+
36
+ return matches;
37
+ }
@@ -1,2 +1 @@
1
1
  export { useNetworkStatus } from "./useNetworkStatus";
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,53 @@
1
+ import { act, renderHook } from "@testing-library/react";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+
4
+ import { useNetworkStatus } from "./useNetworkStatus";
5
+
6
+ describe("useNetworkStatus", () => {
7
+ const originalOnLine = navigator.onLine;
8
+
9
+ afterEach(() => {
10
+ Object.defineProperty(navigator, "onLine", {
11
+ configurable: true,
12
+ writable: true,
13
+ value: originalOnLine,
14
+ });
15
+ });
16
+
17
+ it("should reflect navigator.onLine initially", () => {
18
+ Object.defineProperty(navigator, "onLine", {
19
+ configurable: true,
20
+ writable: true,
21
+ value: true,
22
+ });
23
+ const { result } = renderHook(() => useNetworkStatus());
24
+ expect(result.current).toBe(true);
25
+ });
26
+
27
+ it("should update on offline and online window events", () => {
28
+ Object.defineProperty(navigator, "onLine", {
29
+ configurable: true,
30
+ writable: true,
31
+ value: true,
32
+ });
33
+ const { result } = renderHook(() => useNetworkStatus());
34
+ act(() => {
35
+ Object.defineProperty(navigator, "onLine", {
36
+ configurable: true,
37
+ writable: true,
38
+ value: false,
39
+ });
40
+ window.dispatchEvent(new Event("offline"));
41
+ });
42
+ expect(result.current).toBe(false);
43
+ act(() => {
44
+ Object.defineProperty(navigator, "onLine", {
45
+ configurable: true,
46
+ writable: true,
47
+ value: true,
48
+ });
49
+ window.dispatchEvent(new Event("online"));
50
+ });
51
+ expect(result.current).toBe(true);
52
+ });
53
+ });
@@ -0,0 +1,33 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ /**
6
+ * Reflects browser online/offline connectivity using `navigator.onLine` and the `window` `"online"` / `"offline"` events.
7
+ *
8
+ * Defaults to `true` during SSR when `navigator` is undefined. Does not expose `connection` quality metrics—only reachability hints.
9
+ *
10
+ * @returns `true` when the browser believes the device is online, `false` when offline.
11
+ */
12
+ export function useNetworkStatus(): boolean {
13
+ const [online, setOnline] = useState(() =>
14
+ typeof navigator === "undefined" ? true : navigator.onLine,
15
+ );
16
+
17
+ useEffect(() => {
18
+ const onOnline = () => {
19
+ setOnline(true);
20
+ };
21
+ const onOffline = () => {
22
+ setOnline(false);
23
+ };
24
+ window.addEventListener("online", onOnline);
25
+ window.addEventListener("offline", onOffline);
26
+ return () => {
27
+ window.removeEventListener("online", onOnline);
28
+ window.removeEventListener("offline", onOffline);
29
+ };
30
+ }, []);
31
+
32
+ return online;
33
+ }
@@ -1,2 +1 @@
1
1
  export { usePageVisibility } from "./usePageVisibility";
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { act, renderHook } from "@testing-library/react";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+
4
+ import { usePageVisibility } from "./usePageVisibility";
5
+
6
+ describe("usePageVisibility", () => {
7
+ afterEach(() => {
8
+ vi.restoreAllMocks();
9
+ });
10
+
11
+ it("should track document.visibilityState via visibilitychange", () => {
12
+ vi.spyOn(document, "visibilityState", "get").mockReturnValue("visible");
13
+ const { result } = renderHook(() => usePageVisibility());
14
+ expect(result.current).toBe("visible");
15
+ vi.spyOn(document, "visibilityState", "get").mockReturnValue("hidden");
16
+ act(() => {
17
+ document.dispatchEvent(new Event("visibilitychange"));
18
+ });
19
+ expect(result.current).toBe("hidden");
20
+ });
21
+ });
@@ -0,0 +1,31 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ /**
6
+ * Tracks `document.visibilityState` (`"visible"`, `"hidden"`, or `"prerender"`) across tab visibility changes.
7
+ *
8
+ * Subscribes to `"visibilitychange"` so backgrounding a tab or switching windows updates state. SSR defaults to `"visible"`.
9
+ *
10
+ * @returns Current `DocumentVisibilityState` from the Page Visibility API.
11
+ */
12
+ export function usePageVisibility(): DocumentVisibilityState {
13
+ const [state, setState] = useState<DocumentVisibilityState>(() =>
14
+ typeof document === "undefined" ? "visible" : document.visibilityState,
15
+ );
16
+
17
+ useEffect(() => {
18
+ if (typeof document === "undefined") {
19
+ return;
20
+ }
21
+ const onChange = () => {
22
+ setState(document.visibilityState);
23
+ };
24
+ document.addEventListener("visibilitychange", onChange);
25
+ return () => {
26
+ document.removeEventListener("visibilitychange", onChange);
27
+ };
28
+ }, []);
29
+
30
+ return state;
31
+ }
@@ -0,0 +1,6 @@
1
+ export {
2
+ buildPaginationItems,
3
+ usePagination,
4
+ type BuildPaginationItemsParams,
5
+ type PaginationPageItem,
6
+ } from "./usePagination";
@@ -0,0 +1,139 @@
1
+ import { act, renderHook } from "@testing-library/react";
2
+ import { describe, expect, it, vi } from "vitest";
3
+
4
+ import { buildPaginationItems, usePagination } from "./usePagination";
5
+
6
+ describe("buildPaginationItems", () => {
7
+ it("should return empty list when pageCount is zero", () => {
8
+ expect(
9
+ buildPaginationItems({
10
+ pageCount: 0,
11
+ currentPage: 1,
12
+ siblingCount: 1,
13
+ boundaryCount: 1,
14
+ }),
15
+ ).toEqual([]);
16
+ });
17
+
18
+ it("should return full page range when within totalNumbers window", () => {
19
+ const items = buildPaginationItems({
20
+ pageCount: 5,
21
+ currentPage: 3,
22
+ siblingCount: 1,
23
+ boundaryCount: 1,
24
+ });
25
+ expect(items).toEqual([
26
+ { type: "page", value: 1 },
27
+ { type: "page", value: 2 },
28
+ { type: "page", value: 3 },
29
+ { type: "page", value: 4 },
30
+ { type: "page", value: 5 },
31
+ ]);
32
+ });
33
+
34
+ it("should insert ellipsis when range is fragmented", () => {
35
+ const items = buildPaginationItems({
36
+ pageCount: 10,
37
+ currentPage: 5,
38
+ siblingCount: 1,
39
+ boundaryCount: 1,
40
+ });
41
+ const ellipsisKeys = items
42
+ .filter((item) => item.type === "ellipsis")
43
+ .map((item) => item.key);
44
+ expect(ellipsisKeys.length).toBeGreaterThan(0);
45
+ const pages = items
46
+ .filter((item) => item.type === "page")
47
+ .map((item) => item.value);
48
+ expect(pages).toContain(1);
49
+ expect(pages).toContain(10);
50
+ expect(pages).toContain(5);
51
+ });
52
+
53
+ it("should clamp current page into range", () => {
54
+ const items = buildPaginationItems({
55
+ pageCount: 3,
56
+ currentPage: 99,
57
+ siblingCount: 0,
58
+ boundaryCount: 1,
59
+ });
60
+ expect(items.every((i) => i.type === "page")).toBe(true);
61
+ expect(items.some((i) => i.type === "page" && i.value === 3)).toBe(true);
62
+ });
63
+ });
64
+
65
+ describe("usePagination", () => {
66
+ it("should use internal state when uncontrolled", () => {
67
+ const { result } = renderHook(() =>
68
+ usePagination({ pageCount: 5, defaultPage: 2 }),
69
+ );
70
+ expect(result.current.currentPage).toBe(2);
71
+ expect(result.current.canGoPrev).toBe(true);
72
+ expect(result.current.canGoNext).toBe(true);
73
+ act(() => {
74
+ result.current.setPage(4);
75
+ });
76
+ expect(result.current.currentPage).toBe(4);
77
+ });
78
+
79
+ it("should clamp setPage into 1 and pageCount", () => {
80
+ const { result } = renderHook(() =>
81
+ usePagination({ pageCount: 3, defaultPage: 2 }),
82
+ );
83
+ act(() => {
84
+ result.current.setPage(0);
85
+ });
86
+ expect(result.current.currentPage).toBe(1);
87
+ act(() => {
88
+ result.current.setPage(100);
89
+ });
90
+ expect(result.current.currentPage).toBe(3);
91
+ });
92
+
93
+ it("should follow controlled page prop", () => {
94
+ const onPageChange = vi.fn();
95
+ const { result, rerender } = renderHook(
96
+ ({ page }: { page: number }) =>
97
+ usePagination({ pageCount: 4, page, onPageChange }),
98
+ { initialProps: { page: 1 } },
99
+ );
100
+ expect(result.current.currentPage).toBe(1);
101
+ act(() => {
102
+ result.current.setPage(3);
103
+ });
104
+ expect(result.current.currentPage).toBe(1);
105
+ expect(onPageChange).toHaveBeenCalledWith(3);
106
+ rerender({ page: 3 });
107
+ expect(result.current.currentPage).toBe(3);
108
+ });
109
+
110
+ it("should not change page on goPrev when already first", () => {
111
+ const { result } = renderHook(() =>
112
+ usePagination({ pageCount: 3, defaultPage: 1 }),
113
+ );
114
+ act(() => {
115
+ result.current.goPrev();
116
+ });
117
+ expect(result.current.currentPage).toBe(1);
118
+ expect(result.current.canGoPrev).toBe(false);
119
+ });
120
+
121
+ it("should not change page on goNext when already last", () => {
122
+ const { result } = renderHook(() =>
123
+ usePagination({ pageCount: 3, defaultPage: 3 }),
124
+ );
125
+ act(() => {
126
+ result.current.goNext();
127
+ });
128
+ expect(result.current.currentPage).toBe(3);
129
+ expect(result.current.canGoNext).toBe(false);
130
+ });
131
+
132
+ it("should set canGoPrev and canGoNext false when pageCount is zero", () => {
133
+ const { result } = renderHook(() =>
134
+ usePagination({ pageCount: 0, defaultPage: 1 }),
135
+ );
136
+ expect(result.current.canGoPrev).toBe(false);
137
+ expect(result.current.canGoNext).toBe(false);
138
+ });
139
+ });
@@ -0,0 +1,153 @@
1
+ "use client";
2
+
3
+ import { useCallback, useMemo, useState } from "react";
4
+
5
+ import type {
6
+ PaginationPageItem,
7
+ UsePaginationParams,
8
+ UsePaginationResult,
9
+ } from "../../ui/pagination/types";
10
+ import { clampPage, range } from "../../lib/utils";
11
+
12
+ export type { PaginationPageItem } from "../../ui/pagination/types";
13
+
14
+ export type BuildPaginationItemsParams = {
15
+ pageCount: number;
16
+ currentPage: number;
17
+ siblingCount: number;
18
+ boundaryCount: number;
19
+ };
20
+
21
+ /**
22
+ * Headless pagination state: current page, derived page button items, and prev/next helpers.
23
+ *
24
+ * Supports controlled mode when `page` is passed from the parent, or internal state seeded by `defaultPage`.
25
+ * All page indices are **1-based** and clamped to `[1, pageCount]` via {@link clampPage}. `items` is memoized from
26
+ * {@link buildPaginationItems} for rendering numeric pages and ellipsis gaps.
27
+ *
28
+ * @param params - See `UsePaginationParams` in `../ui/pagination/types` for full fields (`pageCount`, `page`, `onPageChange`, etc.).
29
+ * @returns Current page, item list, `setPage`, navigation helpers, and `canGoPrev` / `canGoNext` flags.
30
+ */
31
+ export function usePagination({
32
+ pageCount,
33
+ page,
34
+ defaultPage = 1,
35
+ siblingCount = 1,
36
+ boundaryCount = 1,
37
+ onPageChange,
38
+ }: UsePaginationParams): UsePaginationResult {
39
+ const [internalPage, setInternalPage] = useState(() =>
40
+ clampPage(defaultPage, pageCount),
41
+ );
42
+
43
+ const isControlled = page !== undefined;
44
+ const currentPage = clampPage(isControlled ? page : internalPage, pageCount);
45
+
46
+ const setPage = useCallback(
47
+ (next: number) => {
48
+ const clamped = clampPage(next, pageCount);
49
+ if (!isControlled) {
50
+ setInternalPage(clamped);
51
+ }
52
+ onPageChange?.(clamped);
53
+ },
54
+ [isControlled, onPageChange, pageCount],
55
+ );
56
+
57
+ const items = useMemo(
58
+ () =>
59
+ buildPaginationItems({
60
+ pageCount,
61
+ currentPage,
62
+ siblingCount,
63
+ boundaryCount,
64
+ }),
65
+ [boundaryCount, currentPage, pageCount, siblingCount],
66
+ );
67
+
68
+ const canGoPrev = pageCount > 0 && currentPage > 1;
69
+ const canGoNext = pageCount > 0 && currentPage < pageCount;
70
+
71
+ const goPrev = useCallback(() => {
72
+ if (canGoPrev) {
73
+ setPage(currentPage - 1);
74
+ }
75
+ }, [canGoPrev, currentPage, setPage]);
76
+
77
+ const goNext = useCallback(() => {
78
+ if (canGoNext) {
79
+ setPage(currentPage + 1);
80
+ }
81
+ }, [canGoNext, currentPage, setPage]);
82
+
83
+ return {
84
+ currentPage,
85
+ pageCount,
86
+ items,
87
+ setPage,
88
+ goPrev,
89
+ goNext,
90
+ canGoPrev,
91
+ canGoNext,
92
+ };
93
+ }
94
+
95
+ /**
96
+ * Builds the ordered list of page numbers and ellipsis markers for a pagination control.
97
+ *
98
+ * @param params.pageCount - Total number of pages (must be >= 0; empty list when 0).
99
+ * @param params.currentPage - Active page index (1-based).
100
+ * @param params.siblingCount - How many page buttons to show on each side of the current page.
101
+ * @param params.boundaryCount - How many pages to pin at the start and end of the range.
102
+ * @returns Items suitable for rendering, e.g. page `1`, ellipsis gap, middle window, ellipsis, last page.
103
+ */
104
+ export function buildPaginationItems({
105
+ pageCount,
106
+ currentPage,
107
+ siblingCount,
108
+ boundaryCount,
109
+ }: BuildPaginationItemsParams): PaginationPageItem[] {
110
+ if (pageCount <= 0) {
111
+ return [];
112
+ }
113
+
114
+ const safeBoundary = Math.max(1, boundaryCount);
115
+ const safeSibling = Math.max(0, siblingCount);
116
+ const current = clampPage(currentPage, pageCount);
117
+
118
+ const totalNumbers = safeBoundary * 2 + safeSibling * 2 + 1;
119
+ if (pageCount <= totalNumbers) {
120
+ return range(1, pageCount).map((value) => ({ type: "page", value }));
121
+ }
122
+
123
+ const leftBoundaryEnd = safeBoundary;
124
+ const rightBoundaryStart = pageCount - safeBoundary + 1;
125
+
126
+ const siblingsStart = Math.max(current - safeSibling, leftBoundaryEnd + 1);
127
+ const siblingsEnd = Math.min(current + safeSibling, rightBoundaryStart - 1);
128
+
129
+ const pages = new Set<number>();
130
+ for (let p = 1; p <= leftBoundaryEnd; p += 1) {
131
+ pages.add(p);
132
+ }
133
+ for (let p = rightBoundaryStart; p <= pageCount; p += 1) {
134
+ pages.add(p);
135
+ }
136
+ for (let p = siblingsStart; p <= siblingsEnd; p += 1) {
137
+ pages.add(p);
138
+ }
139
+
140
+ const sorted = [...pages].sort((a, b) => a - b);
141
+ const items: PaginationPageItem[] = [];
142
+
143
+ for (let i = 0; i < sorted.length; i += 1) {
144
+ const value = sorted[i];
145
+ const prev = sorted[i - 1];
146
+ if (i > 0 && prev !== undefined && value && value - prev > 1) {
147
+ items.push({ type: "ellipsis", key: `gap-${prev}-${value}` });
148
+ }
149
+ items.push({ type: "page", value: value as number });
150
+ }
151
+
152
+ return items;
153
+ }
@@ -0,0 +1,4 @@
1
+ export {
2
+ usePrefersColorScheme,
3
+ type ColorSchemePreference,
4
+ } from "./usePrefersColorScheme";
@@ -0,0 +1,53 @@
1
+ import { act, renderHook } from "@testing-library/react";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+
4
+ import { usePrefersColorScheme } from "./usePrefersColorScheme";
5
+
6
+ function createDarkPreferenceMatchMedia(initialDark: boolean) {
7
+ let dark = initialDark;
8
+ const listeners = new Set<() => void>();
9
+ return {
10
+ setDark(next: boolean) {
11
+ dark = next;
12
+ listeners.forEach((listener) => listener());
13
+ },
14
+ implementation: (query: string) => {
15
+ const mql = {
16
+ media: query,
17
+ get matches() {
18
+ return query === "(prefers-color-scheme: dark)" && dark;
19
+ },
20
+ addEventListener: (_type: string, listener: () => void) => {
21
+ listeners.add(listener);
22
+ },
23
+ removeEventListener: (_type: string, listener: () => void) => {
24
+ listeners.delete(listener);
25
+ },
26
+ addListener: vi.fn(),
27
+ removeListener: vi.fn(),
28
+ dispatchEvent: vi.fn(),
29
+ };
30
+ return mql as unknown as MediaQueryList;
31
+ },
32
+ };
33
+ }
34
+
35
+ describe("usePrefersColorScheme", () => {
36
+ afterEach(() => {
37
+ vi.spyOn(window, "matchMedia").mockRestore();
38
+ });
39
+
40
+ it("should map dark media query to dark scheme", () => {
41
+ const { setDark, implementation } = createDarkPreferenceMatchMedia(false);
42
+ const matchMediaSpy = vi
43
+ .spyOn(window, "matchMedia")
44
+ .mockImplementation(implementation);
45
+ const { result } = renderHook(() => usePrefersColorScheme("light"));
46
+ expect(matchMediaSpy).toHaveBeenCalledWith("(prefers-color-scheme: dark)");
47
+ expect(result.current).toBe("light");
48
+ act(() => {
49
+ setDark(true);
50
+ });
51
+ expect(result.current).toBe("dark");
52
+ });
53
+ });
@@ -1,9 +1,21 @@
1
+ "use client";
2
+
3
+ import { useMediaQuery } from "../useMediaQuery";
4
+
1
5
  export type ColorSchemePreference = "light" | "dark";
6
+
2
7
  /**
3
8
  * Resolves the user’s preferred color scheme from `prefers-color-scheme: dark` via {@link useMediaQuery}.
4
9
  *
5
10
  * @param defaultScheme - Hydration / SSR fallback when media queries are unavailable (`"light"` or `"dark"`).
6
11
  * @returns `"dark"` when the dark media query matches, otherwise `"light"`.
7
12
  */
8
- export declare function usePrefersColorScheme(defaultScheme?: ColorSchemePreference): ColorSchemePreference;
9
- //# sourceMappingURL=usePrefersColorScheme.d.ts.map
13
+ export function usePrefersColorScheme(
14
+ defaultScheme: ColorSchemePreference = "light",
15
+ ): ColorSchemePreference {
16
+ const prefersDark = useMediaQuery(
17
+ "(prefers-color-scheme: dark)",
18
+ defaultScheme === "dark",
19
+ );
20
+ return prefersDark ? "dark" : "light";
21
+ }
@@ -1,2 +1 @@
1
1
  export { usePrefersReducedMotion } from "./usePrefersReducedMotion";
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { renderHook } from "@testing-library/react";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+
4
+ import { usePrefersReducedMotion } from "./usePrefersReducedMotion";
5
+
6
+ describe("usePrefersReducedMotion", () => {
7
+ afterEach(() => {
8
+ vi.spyOn(window, "matchMedia").mockRestore();
9
+ });
10
+
11
+ it("should subscribe to prefers-reduced-motion reduce query", () => {
12
+ const matchMediaSpy = vi.spyOn(window, "matchMedia").mockImplementation(
13
+ () =>
14
+ ({
15
+ matches: true,
16
+ addEventListener: vi.fn(),
17
+ removeEventListener: vi.fn(),
18
+ addListener: vi.fn(),
19
+ removeListener: vi.fn(),
20
+ dispatchEvent: vi.fn(),
21
+ }) as unknown as MediaQueryList,
22
+ );
23
+ const { result } = renderHook(() => usePrefersReducedMotion());
24
+ expect(matchMediaSpy).toHaveBeenCalledWith("(prefers-reduced-motion: reduce)");
25
+ expect(result.current).toBe(true);
26
+ });
27
+ });
@@ -1,3 +1,7 @@
1
+ "use client";
2
+
3
+ import { useMediaQuery } from "../useMediaQuery";
4
+
1
5
  /**
2
6
  * Returns whether the user prefers reduced motion (`prefers-reduced-motion: reduce`).
3
7
  *
@@ -5,5 +9,6 @@
5
9
  *
6
10
  * @returns `true` when reduced motion is requested.
7
11
  */
8
- export declare function usePrefersReducedMotion(): boolean;
9
- //# sourceMappingURL=usePrefersReducedMotion.d.ts.map
12
+ export function usePrefersReducedMotion(): boolean {
13
+ return useMediaQuery("(prefers-reduced-motion: reduce)");
14
+ }
@@ -0,0 +1,4 @@
1
+ export {
2
+ useResizeObserver,
3
+ type ElementSize,
4
+ } from "./useResizeObserver";