react-simplikit 0.0.51 → 0.0.52

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 (279) hide show
  1. package/dist/components/ImpressionArea/ImpressionArea.cjs +57 -0
  2. package/{esm/components/ImpressionArea/index.d.ts → dist/components/ImpressionArea/ImpressionArea.d.cts} +9 -8
  3. package/dist/components/ImpressionArea/ImpressionArea.d.mts +48 -0
  4. package/dist/components/ImpressionArea/ImpressionArea.mjs +57 -0
  5. package/dist/components/ImpressionArea/index.d.cts +2 -46
  6. package/dist/components/ImpressionArea/index.d.mts +3 -0
  7. package/dist/components/Separated/Separated.cjs +38 -0
  8. package/{esm/components/Separated/index.d.ts → dist/components/Separated/Separated.d.cts} +7 -7
  9. package/dist/components/Separated/Separated.d.mts +38 -0
  10. package/dist/components/Separated/Separated.mjs +38 -0
  11. package/dist/components/Separated/index.d.cts +2 -37
  12. package/dist/components/Separated/index.d.mts +3 -0
  13. package/dist/components/SwitchCase/SwitchCase.cjs +40 -0
  14. package/{esm/components/SwitchCase/index.d.ts → dist/components/SwitchCase/SwitchCase.d.cts} +7 -8
  15. package/dist/components/SwitchCase/SwitchCase.d.mts +45 -0
  16. package/dist/components/SwitchCase/SwitchCase.mjs +40 -0
  17. package/dist/components/SwitchCase/index.d.cts +2 -45
  18. package/dist/components/SwitchCase/index.d.mts +3 -0
  19. package/dist/hooks/useAsyncEffect/index.d.cts +2 -24
  20. package/dist/hooks/useAsyncEffect/index.d.mts +3 -0
  21. package/dist/hooks/useAsyncEffect/useAsyncEffect.cjs +39 -0
  22. package/{esm/hooks/useAsyncEffect/index.d.ts → dist/hooks/useAsyncEffect/useAsyncEffect.d.cts} +4 -3
  23. package/dist/hooks/useAsyncEffect/useAsyncEffect.d.mts +26 -0
  24. package/dist/hooks/useAsyncEffect/useAsyncEffect.mjs +39 -0
  25. package/dist/hooks/useBooleanState/useBooleanState.cjs +36 -0
  26. package/dist/hooks/useBooleanState/{index.d.cts → useBooleanState.d.cts} +4 -2
  27. package/{esm/hooks/useBooleanState/index.d.ts → dist/hooks/useBooleanState/useBooleanState.d.mts} +4 -2
  28. package/dist/hooks/useBooleanState/useBooleanState.mjs +36 -0
  29. package/dist/hooks/useCallbackOncePerRender/index.d.cts +2 -39
  30. package/dist/hooks/useCallbackOncePerRender/index.d.mts +3 -0
  31. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.cjs +52 -0
  32. package/{esm/hooks/useCallbackOncePerRender/index.d.ts → dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.d.cts} +4 -3
  33. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.d.mts +41 -0
  34. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.mjs +52 -0
  35. package/dist/hooks/useConditionalEffect/index.d.cts +2 -42
  36. package/dist/hooks/useConditionalEffect/index.d.mts +3 -0
  37. package/dist/hooks/useConditionalEffect/useConditionalEffect.cjs +57 -0
  38. package/{esm/hooks/useConditionalEffect/index.d.ts → dist/hooks/useConditionalEffect/useConditionalEffect.d.cts} +4 -3
  39. package/dist/hooks/useConditionalEffect/useConditionalEffect.d.mts +44 -0
  40. package/dist/hooks/useConditionalEffect/useConditionalEffect.mjs +57 -0
  41. package/dist/hooks/useControlledState/index.d.cts +2 -50
  42. package/dist/hooks/useControlledState/index.d.mts +3 -0
  43. package/dist/hooks/useControlledState/useControlledState.cjs +60 -0
  44. package/{esm/hooks/useControlledState/index.d.ts → dist/hooks/useControlledState/useControlledState.d.cts} +11 -10
  45. package/dist/hooks/useControlledState/useControlledState.d.mts +52 -0
  46. package/dist/hooks/useControlledState/useControlledState.mjs +60 -0
  47. package/dist/hooks/useCounter/useCounter.cjs +75 -0
  48. package/{esm/hooks/useCounter/index.d.ts → dist/hooks/useCounter/useCounter.d.cts} +12 -10
  49. package/dist/hooks/useCounter/{index.d.cts → useCounter.d.mts} +12 -10
  50. package/dist/hooks/useCounter/useCounter.mjs +75 -0
  51. package/dist/hooks/useDebounce/debounce.cjs +49 -0
  52. package/dist/hooks/useDebounce/debounce.d.cts +8 -0
  53. package/dist/hooks/useDebounce/debounce.d.mts +8 -0
  54. package/dist/hooks/useDebounce/debounce.mjs +49 -0
  55. package/dist/hooks/useDebounce/useDebounce.cjs +66 -0
  56. package/{esm/hooks/useDebounce/index.d.ts → dist/hooks/useDebounce/useDebounce.d.cts} +6 -8
  57. package/dist/hooks/useDebounce/{index.d.cts → useDebounce.d.mts} +6 -8
  58. package/dist/hooks/useDebounce/useDebounce.mjs +66 -0
  59. package/dist/hooks/useDebouncedCallback/useDebouncedCallback.cjs +62 -0
  60. package/{esm/hooks/useDebouncedCallback/index.d.ts → dist/hooks/useDebouncedCallback/useDebouncedCallback.d.cts} +9 -7
  61. package/dist/hooks/useDebouncedCallback/{index.d.cts → useDebouncedCallback.d.mts} +9 -7
  62. package/dist/hooks/useDebouncedCallback/useDebouncedCallback.mjs +62 -0
  63. package/dist/hooks/useDoubleClick/index.d.cts +2 -45
  64. package/dist/hooks/useDoubleClick/index.d.mts +3 -0
  65. package/dist/hooks/useDoubleClick/useDoubleClick.cjs +64 -0
  66. package/{esm/hooks/useDoubleClick/index.d.ts → dist/hooks/useDoubleClick/useDoubleClick.d.cts} +8 -7
  67. package/dist/hooks/useDoubleClick/useDoubleClick.d.mts +47 -0
  68. package/dist/hooks/useDoubleClick/useDoubleClick.mjs +64 -0
  69. package/dist/hooks/useGeolocation/useGeolocation.cjs +210 -0
  70. package/{esm/hooks/useGeolocation/index.d.ts → dist/hooks/useGeolocation/useGeolocation.d.cts} +26 -24
  71. package/dist/hooks/useGeolocation/{index.d.cts → useGeolocation.d.mts} +26 -24
  72. package/dist/hooks/useGeolocation/useGeolocation.mjs +209 -0
  73. package/dist/hooks/useImpressionRef/useImpressionRef.cjs +67 -0
  74. package/{esm/hooks/useImpressionRef/index.d.ts → dist/hooks/useImpressionRef/useImpressionRef.d.cts} +10 -8
  75. package/dist/hooks/useImpressionRef/{index.d.cts → useImpressionRef.d.mts} +10 -8
  76. package/dist/hooks/useImpressionRef/useImpressionRef.mjs +67 -0
  77. package/dist/hooks/useInputState/index.d.cts +2 -22
  78. package/dist/hooks/useInputState/index.d.mts +3 -0
  79. package/dist/hooks/useInputState/useInputState.cjs +32 -0
  80. package/{esm/hooks/useInputState/index.d.ts → dist/hooks/useInputState/useInputState.d.cts} +4 -3
  81. package/dist/hooks/useInputState/useInputState.d.mts +24 -0
  82. package/dist/hooks/useInputState/useInputState.mjs +32 -0
  83. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.cjs +58 -0
  84. package/dist/hooks/useIntersectionObserver/{index.d.cts → useIntersectionObserver.d.cts} +4 -2
  85. package/{esm/hooks/useIntersectionObserver/index.d.ts → dist/hooks/useIntersectionObserver/useIntersectionObserver.d.mts} +4 -2
  86. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.mjs +58 -0
  87. package/dist/hooks/useInterval/useInterval.cjs +65 -0
  88. package/dist/hooks/useInterval/{index.d.cts → useInterval.d.cts} +7 -5
  89. package/{esm/hooks/useInterval/index.d.ts → dist/hooks/useInterval/useInterval.d.mts} +7 -5
  90. package/dist/hooks/useInterval/useInterval.mjs +65 -0
  91. package/dist/hooks/useIsClient/useIsClient.cjs +49 -0
  92. package/dist/hooks/useIsClient/{index.d.cts → useIsClient.d.cts} +4 -2
  93. package/{esm/hooks/useIsClient/index.d.ts → dist/hooks/useIsClient/useIsClient.d.mts} +4 -2
  94. package/dist/hooks/useIsClient/useIsClient.mjs +49 -0
  95. package/dist/hooks/useIsomorphicLayoutEffect/index.d.cts +2 -24
  96. package/dist/hooks/useIsomorphicLayoutEffect/index.d.mts +3 -0
  97. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +25 -0
  98. package/{esm/hooks/useIsomorphicLayoutEffect/index.d.ts → dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.cts} +4 -3
  99. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.mts +26 -0
  100. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +25 -0
  101. package/dist/hooks/useList/useList.cjs +94 -0
  102. package/{esm/hooks/useList/index.d.ts → dist/hooks/useList/useList.d.cts} +10 -8
  103. package/dist/hooks/useList/{index.d.cts → useList.d.mts} +10 -8
  104. package/dist/hooks/useList/useList.mjs +94 -0
  105. package/dist/hooks/useLoading/useLoading.cjs +61 -0
  106. package/dist/hooks/useLoading/{index.d.cts → useLoading.d.cts} +4 -2
  107. package/{esm/hooks/useLoading/index.d.ts → dist/hooks/useLoading/useLoading.d.mts} +4 -2
  108. package/dist/hooks/useLoading/useLoading.mjs +61 -0
  109. package/dist/hooks/useLongPress/index.d.cts +2 -73
  110. package/dist/hooks/useLongPress/index.d.mts +3 -0
  111. package/dist/hooks/useLongPress/useLongPress.cjs +133 -0
  112. package/{esm/hooks/useLongPress/index.d.ts → dist/hooks/useLongPress/useLongPress.d.cts} +18 -17
  113. package/dist/hooks/useLongPress/useLongPress.d.mts +75 -0
  114. package/dist/hooks/useLongPress/useLongPress.mjs +133 -0
  115. package/dist/hooks/useMap/useMap.cjs +64 -0
  116. package/dist/hooks/useMap/{index.d.cts → useMap.d.cts} +12 -10
  117. package/{esm/hooks/useMap/index.d.ts → dist/hooks/useMap/useMap.d.mts} +12 -10
  118. package/dist/hooks/useMap/useMap.mjs +64 -0
  119. package/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.cjs +51 -0
  120. package/dist/hooks/useOutsideClickEffect/{index.d.cts → useOutsideClickEffect.d.cts} +4 -2
  121. package/{esm/hooks/useOutsideClickEffect/index.d.ts → dist/hooks/useOutsideClickEffect/useOutsideClickEffect.d.mts} +4 -2
  122. package/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.mjs +51 -0
  123. package/dist/hooks/usePreservedCallback/usePreservedCallback.cjs +41 -0
  124. package/dist/hooks/usePreservedCallback/{index.d.cts → usePreservedCallback.d.cts} +4 -2
  125. package/{esm/hooks/usePreservedCallback/index.d.ts → dist/hooks/usePreservedCallback/usePreservedCallback.d.mts} +4 -2
  126. package/dist/hooks/usePreservedCallback/usePreservedCallback.mjs +41 -0
  127. package/dist/hooks/usePreservedReference/usePreservedReference.cjs +55 -0
  128. package/dist/hooks/usePreservedReference/{index.d.cts → usePreservedReference.d.cts} +4 -2
  129. package/{esm/hooks/usePreservedReference/index.d.ts → dist/hooks/usePreservedReference/usePreservedReference.d.mts} +4 -2
  130. package/dist/hooks/usePreservedReference/usePreservedReference.mjs +55 -0
  131. package/dist/hooks/usePrevious/usePrevious.cjs +38 -0
  132. package/{esm/hooks/usePrevious/index.d.ts → dist/hooks/usePrevious/usePrevious.d.cts} +4 -2
  133. package/dist/hooks/usePrevious/{index.d.cts → usePrevious.d.mts} +4 -2
  134. package/dist/hooks/usePrevious/usePrevious.mjs +38 -0
  135. package/dist/hooks/useRefEffect/index.d.cts +2 -30
  136. package/dist/hooks/useRefEffect/index.d.mts +3 -0
  137. package/dist/hooks/useRefEffect/useRefEffect.cjs +42 -0
  138. package/{esm/hooks/useRefEffect/index.d.ts → dist/hooks/useRefEffect/useRefEffect.d.cts} +4 -3
  139. package/dist/hooks/useRefEffect/useRefEffect.d.mts +32 -0
  140. package/dist/hooks/useRefEffect/useRefEffect.mjs +42 -0
  141. package/dist/hooks/useSet/useSet.cjs +79 -0
  142. package/dist/hooks/useSet/{index.d.cts → useSet.d.cts} +9 -7
  143. package/{esm/hooks/useSet/index.d.ts → dist/hooks/useSet/useSet.d.mts} +9 -7
  144. package/dist/hooks/useSet/useSet.mjs +79 -0
  145. package/dist/hooks/useStorageState/index.d.cts +2 -60
  146. package/dist/hooks/useStorageState/index.d.mts +3 -0
  147. package/dist/hooks/useStorageState/storage.cjs +85 -0
  148. package/dist/hooks/useStorageState/storage.d.cts +10 -0
  149. package/dist/hooks/useStorageState/storage.d.mts +10 -0
  150. package/dist/hooks/useStorageState/storage.mjs +80 -0
  151. package/dist/hooks/useStorageState/useStorageState.cjs +81 -0
  152. package/{esm/hooks/useStorageState/index.d.ts → dist/hooks/useStorageState/useStorageState.d.cts} +10 -15
  153. package/dist/hooks/useStorageState/useStorageState.d.mts +56 -0
  154. package/dist/hooks/useStorageState/useStorageState.mjs +81 -0
  155. package/dist/hooks/useThrottle/throttle.cjs +19 -0
  156. package/dist/hooks/useThrottle/throttle.d.cts +19 -0
  157. package/dist/hooks/useThrottle/throttle.d.mts +19 -0
  158. package/dist/hooks/useThrottle/throttle.mjs +19 -0
  159. package/dist/hooks/useThrottle/useThrottle.cjs +49 -0
  160. package/dist/hooks/useThrottle/{index.d.cts → useThrottle.d.cts} +6 -19
  161. package/{esm/hooks/useThrottle/index.d.ts → dist/hooks/useThrottle/useThrottle.d.mts} +6 -19
  162. package/dist/hooks/useThrottle/useThrottle.mjs +49 -0
  163. package/dist/hooks/useThrottledCallback/useThrottledCallback.cjs +57 -0
  164. package/{esm/hooks/useThrottledCallback/index.d.ts → dist/hooks/useThrottledCallback/useThrottledCallback.d.cts} +8 -6
  165. package/dist/hooks/useThrottledCallback/{index.d.cts → useThrottledCallback.d.mts} +8 -6
  166. package/dist/hooks/useThrottledCallback/useThrottledCallback.mjs +57 -0
  167. package/dist/hooks/useTimeout/useTimeout.cjs +40 -0
  168. package/dist/hooks/useTimeout/{index.d.cts → useTimeout.d.cts} +4 -2
  169. package/{esm/hooks/useTimeout/index.d.ts → dist/hooks/useTimeout/useTimeout.d.mts} +4 -2
  170. package/dist/hooks/useTimeout/useTimeout.mjs +40 -0
  171. package/dist/hooks/useToggle/useToggle.cjs +34 -0
  172. package/dist/hooks/useToggle/{index.d.cts → useToggle.d.cts} +4 -4
  173. package/{esm/hooks/useToggle/index.d.ts → dist/hooks/useToggle/useToggle.d.mts} +4 -4
  174. package/dist/hooks/useToggle/useToggle.mjs +34 -0
  175. package/dist/hooks/useVisibilityEvent/useVisibilityEvent.cjs +42 -0
  176. package/{esm/hooks/useVisibilityEvent/index.d.ts → dist/hooks/useVisibilityEvent/useVisibilityEvent.d.cts} +5 -3
  177. package/dist/hooks/useVisibilityEvent/{index.d.cts → useVisibilityEvent.d.mts} +5 -3
  178. package/dist/hooks/useVisibilityEvent/useVisibilityEvent.mjs +42 -0
  179. package/dist/index.cjs +77 -1397
  180. package/dist/index.d.cts +56 -40
  181. package/dist/index.d.mts +56 -0
  182. package/dist/index.mjs +40 -0
  183. package/dist/utils/buildContext/buildContext.cjs +50 -0
  184. package/{esm/utils/buildContext/index.d.ts → dist/utils/buildContext/buildContext.d.cts} +7 -7
  185. package/dist/utils/buildContext/buildContext.d.mts +38 -0
  186. package/dist/utils/buildContext/buildContext.mjs +50 -0
  187. package/dist/utils/buildContext/index.d.cts +2 -37
  188. package/dist/utils/buildContext/index.d.mts +3 -0
  189. package/dist/utils/mergeProps/index.d.cts +2 -25
  190. package/dist/utils/mergeProps/index.d.mts +3 -0
  191. package/dist/utils/mergeProps/mergeProps.cjs +53 -0
  192. package/{esm/utils/mergeProps/index.d.ts → dist/utils/mergeProps/mergeProps.d.cts} +7 -8
  193. package/dist/utils/mergeProps/mergeProps.d.mts +25 -0
  194. package/dist/utils/mergeProps/mergeProps.mjs +53 -0
  195. package/dist/utils/mergeRefs/index.d.cts +2 -38
  196. package/dist/utils/mergeRefs/index.d.mts +3 -0
  197. package/dist/utils/mergeRefs/mergeRefs.cjs +50 -0
  198. package/{esm/utils/mergeRefs/index.d.ts → dist/utils/mergeRefs/mergeRefs.d.cts} +4 -3
  199. package/dist/utils/mergeRefs/mergeRefs.d.mts +40 -0
  200. package/dist/utils/mergeRefs/mergeRefs.mjs +50 -0
  201. package/package.json +9 -11
  202. package/dist/components/ImpressionArea/index.cjs +0 -295
  203. package/dist/components/Separated/index.cjs +0 -41
  204. package/dist/components/SwitchCase/index.cjs +0 -36
  205. package/dist/hooks/useAsyncEffect/index.cjs +0 -49
  206. package/dist/hooks/useBooleanState/index.cjs +0 -46
  207. package/dist/hooks/useCallbackOncePerRender/index.cjs +0 -63
  208. package/dist/hooks/useConditionalEffect/index.cjs +0 -51
  209. package/dist/hooks/useControlledState/index.cjs +0 -57
  210. package/dist/hooks/useCounter/index.cjs +0 -70
  211. package/dist/hooks/useDebounce/index.cjs +0 -130
  212. package/dist/hooks/useDebouncedCallback/index.cjs +0 -148
  213. package/dist/hooks/useDoubleClick/index.cjs +0 -79
  214. package/dist/hooks/useGeolocation/index.cjs +0 -154
  215. package/dist/hooks/useImpressionRef/index.cjs +0 -258
  216. package/dist/hooks/useInputState/index.cjs +0 -46
  217. package/dist/hooks/useIntersectionObserver/index.cjs +0 -95
  218. package/dist/hooks/useInterval/index.cjs +0 -84
  219. package/dist/hooks/useIsClient/index.cjs +0 -40
  220. package/dist/hooks/useIsomorphicLayoutEffect/index.cjs +0 -35
  221. package/dist/hooks/useList/index.cjs +0 -104
  222. package/dist/hooks/useLoading/index.cjs +0 -65
  223. package/dist/hooks/useLongPress/index.cjs +0 -127
  224. package/dist/hooks/useMap/index.cjs +0 -78
  225. package/dist/hooks/useOutsideClickEffect/index.cjs +0 -74
  226. package/dist/hooks/usePreservedCallback/index.cjs +0 -45
  227. package/dist/hooks/usePreservedReference/index.cjs +0 -45
  228. package/dist/hooks/usePrevious/index.cjs +0 -48
  229. package/dist/hooks/useRefEffect/index.cjs +0 -72
  230. package/dist/hooks/useSet/index.cjs +0 -105
  231. package/dist/hooks/useStorageState/index.cjs +0 -196
  232. package/dist/hooks/useThrottle/index.cjs +0 -151
  233. package/dist/hooks/useThrottledCallback/index.cjs +0 -172
  234. package/dist/hooks/useTimeout/index.cjs +0 -57
  235. package/dist/hooks/useToggle/index.cjs +0 -37
  236. package/dist/hooks/useVisibilityEvent/index.cjs +0 -47
  237. package/dist/utils/buildContext/index.cjs +0 -56
  238. package/dist/utils/mergeProps/index.cjs +0 -71
  239. package/dist/utils/mergeRefs/index.cjs +0 -46
  240. package/esm/components/ImpressionArea/index.js +0 -269
  241. package/esm/components/Separated/index.js +0 -15
  242. package/esm/components/SwitchCase/index.js +0 -10
  243. package/esm/hooks/useAsyncEffect/index.js +0 -23
  244. package/esm/hooks/useBooleanState/index.js +0 -20
  245. package/esm/hooks/useCallbackOncePerRender/index.js +0 -37
  246. package/esm/hooks/useConditionalEffect/index.js +0 -25
  247. package/esm/hooks/useControlledState/index.js +0 -31
  248. package/esm/hooks/useCounter/index.js +0 -44
  249. package/esm/hooks/useDebounce/index.js +0 -104
  250. package/esm/hooks/useDebouncedCallback/index.js +0 -122
  251. package/esm/hooks/useDoubleClick/index.js +0 -53
  252. package/esm/hooks/useGeolocation/index.js +0 -128
  253. package/esm/hooks/useImpressionRef/index.js +0 -232
  254. package/esm/hooks/useInputState/index.js +0 -20
  255. package/esm/hooks/useIntersectionObserver/index.js +0 -69
  256. package/esm/hooks/useInterval/index.js +0 -58
  257. package/esm/hooks/useIsClient/index.js +0 -14
  258. package/esm/hooks/useIsomorphicLayoutEffect/index.js +0 -9
  259. package/esm/hooks/useList/index.js +0 -78
  260. package/esm/hooks/useLoading/index.js +0 -39
  261. package/esm/hooks/useLongPress/index.js +0 -101
  262. package/esm/hooks/useMap/index.js +0 -52
  263. package/esm/hooks/useOutsideClickEffect/index.js +0 -48
  264. package/esm/hooks/usePreservedCallback/index.js +0 -19
  265. package/esm/hooks/usePreservedReference/index.js +0 -19
  266. package/esm/hooks/usePrevious/index.js +0 -22
  267. package/esm/hooks/useRefEffect/index.js +0 -46
  268. package/esm/hooks/useSet/index.js +0 -79
  269. package/esm/hooks/useStorageState/index.js +0 -170
  270. package/esm/hooks/useThrottle/index.js +0 -125
  271. package/esm/hooks/useThrottledCallback/index.js +0 -146
  272. package/esm/hooks/useTimeout/index.js +0 -31
  273. package/esm/hooks/useToggle/index.js +0 -11
  274. package/esm/hooks/useVisibilityEvent/index.js +0 -21
  275. package/esm/index.d.ts +0 -40
  276. package/esm/index.js +0 -1335
  277. package/esm/utils/buildContext/index.js +0 -30
  278. package/esm/utils/mergeProps/index.js +0 -45
  279. package/esm/utils/mergeRefs/index.js +0 -20
@@ -1,25 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useConditionalEffect/useConditionalEffect.ts
4
- import { useCallback, useEffect, useRef } from "react";
5
- function useConditionalEffect(effect, deps, condition) {
6
- const prevDepsRef = useRef(void 0);
7
- const memoizedCondition = useCallback(condition, deps);
8
- if (deps.length === 0) {
9
- console.warn(
10
- "useConditionalEffect received an empty dependency array. This may indicate missing dependencies and could lead to unexpected behavior."
11
- );
12
- }
13
- const shouldRun = memoizedCondition(prevDepsRef.current, deps);
14
- useEffect(() => {
15
- if (shouldRun) {
16
- const cleanup = effect();
17
- prevDepsRef.current = deps;
18
- return cleanup;
19
- }
20
- prevDepsRef.current = deps;
21
- }, deps);
22
- }
23
- export {
24
- useConditionalEffect
25
- };
@@ -1,31 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useControlledState/useControlledState.ts
4
- import { useCallback, useState } from "react";
5
- function useControlledState({
6
- value: valueProp,
7
- defaultValue,
8
- onChange,
9
- equalityFn = Object.is
10
- }) {
11
- const [uncontrolledState, setUncontrolledState] = useState(defaultValue);
12
- const controlled = valueProp !== void 0;
13
- const value = controlled ? valueProp : uncontrolledState;
14
- const setValue = useCallback(
15
- (next) => {
16
- const nextValue = isSetStateAction(next) ? next(value) : next;
17
- if (equalityFn(value, nextValue) === true) return;
18
- if (controlled === false) setUncontrolledState(nextValue);
19
- if (controlled === true && nextValue === void 0) setUncontrolledState(nextValue);
20
- onChange?.(nextValue);
21
- },
22
- [controlled, onChange, equalityFn, value]
23
- );
24
- return [value, setValue];
25
- }
26
- function isSetStateAction(next) {
27
- return typeof next === "function";
28
- }
29
- export {
30
- useControlledState
31
- };
@@ -1,44 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useCounter/useCounter.ts
4
- import { useCallback, useState } from "react";
5
- var validateValue = (value, { min, max }) => {
6
- if (min !== void 0 && value < min) {
7
- return min;
8
- }
9
- if (max !== void 0 && value > max) {
10
- return max;
11
- }
12
- return value;
13
- };
14
- function useCounter(initialValue = 0, { min, max, step = 1 } = {}) {
15
- const [count, setCountState] = useState(() => validateValue(initialValue, { min, max }));
16
- const setCount = useCallback(
17
- (value) => {
18
- setCountState((prev) => {
19
- const nextValue = typeof value === "function" ? value(prev) : value;
20
- return validateValue(nextValue, { min, max });
21
- });
22
- },
23
- [min, max]
24
- );
25
- const increment = useCallback(() => {
26
- setCount((prev) => prev + step);
27
- }, [setCount, step]);
28
- const decrement = useCallback(() => {
29
- setCount((prev) => prev - step);
30
- }, [setCount, step]);
31
- const reset = useCallback(() => {
32
- setCount(initialValue);
33
- }, [setCount, initialValue]);
34
- return {
35
- count,
36
- increment,
37
- decrement,
38
- reset,
39
- setCount
40
- };
41
- }
42
- export {
43
- useCounter
44
- };
@@ -1,104 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useDebounce/useDebounce.ts
4
- import { useEffect as useEffect2 } from "react";
5
- import { useMemo } from "react";
6
-
7
- // src/hooks/usePreservedCallback/usePreservedCallback.ts
8
- import { useCallback, useEffect, useRef } from "react";
9
- function usePreservedCallback(callback) {
10
- const callbackRef = useRef(callback);
11
- useEffect(
12
- function syncCallbackRef() {
13
- callbackRef.current = callback;
14
- },
15
- [callback]
16
- );
17
- return useCallback((...args) => {
18
- return callbackRef.current(...args);
19
- }, []);
20
- }
21
-
22
- // src/hooks/useDebounce/debounce.ts
23
- function debounce(func, debounceMs, { edges = ["leading", "trailing"] } = {}) {
24
- let pendingThis = void 0;
25
- let pendingArgs = null;
26
- const leading = edges != null && edges.includes("leading");
27
- const trailing = edges == null || edges.includes("trailing");
28
- const invoke = () => {
29
- if (pendingArgs !== null) {
30
- func.apply(pendingThis, pendingArgs);
31
- pendingThis = void 0;
32
- pendingArgs = null;
33
- }
34
- };
35
- const onTimerEnd = () => {
36
- if (trailing) {
37
- invoke();
38
- }
39
- cancel();
40
- };
41
- let timeoutId = null;
42
- const schedule = () => {
43
- if (timeoutId != null) {
44
- clearTimeout(timeoutId);
45
- }
46
- timeoutId = setTimeout(() => {
47
- timeoutId = null;
48
- onTimerEnd();
49
- }, debounceMs);
50
- };
51
- const cancelTimer = () => {
52
- if (timeoutId !== null) {
53
- clearTimeout(timeoutId);
54
- timeoutId = null;
55
- }
56
- };
57
- const cancel = () => {
58
- cancelTimer();
59
- pendingThis = void 0;
60
- pendingArgs = null;
61
- };
62
- const debounced = function(...args) {
63
- pendingThis = this;
64
- pendingArgs = args;
65
- const isFirstCall = timeoutId == null;
66
- schedule();
67
- if (leading && isFirstCall) {
68
- invoke();
69
- }
70
- };
71
- debounced.cancel = cancel;
72
- return debounced;
73
- }
74
-
75
- // src/hooks/useDebounce/useDebounce.ts
76
- function useDebounce(callback, wait, options = {}) {
77
- const preservedCallback = usePreservedCallback(callback);
78
- const { leading = false, trailing = true } = options;
79
- const edges = useMemo(() => {
80
- const _edges = [];
81
- if (leading) {
82
- _edges.push("leading");
83
- }
84
- if (trailing) {
85
- _edges.push("trailing");
86
- }
87
- return _edges;
88
- }, [leading, trailing]);
89
- const debounced = useMemo(() => {
90
- return debounce(preservedCallback, wait, { edges });
91
- }, [preservedCallback, wait, edges]);
92
- useEffect2(
93
- function cancelDebouncedOnUnmount() {
94
- return () => {
95
- debounced.cancel();
96
- };
97
- },
98
- [debounced]
99
- );
100
- return debounced;
101
- }
102
- export {
103
- useDebounce
104
- };
@@ -1,122 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useDebouncedCallback/useDebouncedCallback.ts
4
- import { useCallback as useCallback2, useEffect as useEffect2, useMemo, useRef as useRef2 } from "react";
5
-
6
- // src/hooks/useDebounce/debounce.ts
7
- function debounce(func, debounceMs, { edges = ["leading", "trailing"] } = {}) {
8
- let pendingThis = void 0;
9
- let pendingArgs = null;
10
- const leading = edges != null && edges.includes("leading");
11
- const trailing = edges == null || edges.includes("trailing");
12
- const invoke = () => {
13
- if (pendingArgs !== null) {
14
- func.apply(pendingThis, pendingArgs);
15
- pendingThis = void 0;
16
- pendingArgs = null;
17
- }
18
- };
19
- const onTimerEnd = () => {
20
- if (trailing) {
21
- invoke();
22
- }
23
- cancel();
24
- };
25
- let timeoutId = null;
26
- const schedule = () => {
27
- if (timeoutId != null) {
28
- clearTimeout(timeoutId);
29
- }
30
- timeoutId = setTimeout(() => {
31
- timeoutId = null;
32
- onTimerEnd();
33
- }, debounceMs);
34
- };
35
- const cancelTimer = () => {
36
- if (timeoutId !== null) {
37
- clearTimeout(timeoutId);
38
- timeoutId = null;
39
- }
40
- };
41
- const cancel = () => {
42
- cancelTimer();
43
- pendingThis = void 0;
44
- pendingArgs = null;
45
- };
46
- const debounced = function(...args) {
47
- pendingThis = this;
48
- pendingArgs = args;
49
- const isFirstCall = timeoutId == null;
50
- schedule();
51
- if (leading && isFirstCall) {
52
- invoke();
53
- }
54
- };
55
- debounced.cancel = cancel;
56
- return debounced;
57
- }
58
-
59
- // src/hooks/usePreservedCallback/usePreservedCallback.ts
60
- import { useCallback, useEffect, useRef } from "react";
61
- function usePreservedCallback(callback) {
62
- const callbackRef = useRef(callback);
63
- useEffect(
64
- function syncCallbackRef() {
65
- callbackRef.current = callback;
66
- },
67
- [callback]
68
- );
69
- return useCallback((...args) => {
70
- return callbackRef.current(...args);
71
- }, []);
72
- }
73
-
74
- // src/hooks/useDebouncedCallback/useDebouncedCallback.ts
75
- function useDebouncedCallback({
76
- onChange,
77
- timeThreshold,
78
- leading = false,
79
- trailing = true
80
- }) {
81
- const handleChange = usePreservedCallback(onChange);
82
- const ref = useRef2({ value: false, clearPreviousDebounce: () => {
83
- } });
84
- useEffect2(function clearDebouncedOnUnmount() {
85
- const current = ref.current;
86
- return () => {
87
- current.clearPreviousDebounce();
88
- };
89
- }, []);
90
- const edges = useMemo(() => {
91
- const _edges = [];
92
- if (leading) {
93
- _edges.push("leading");
94
- }
95
- if (trailing) {
96
- _edges.push("trailing");
97
- }
98
- return _edges;
99
- }, [leading, trailing]);
100
- return useCallback2(
101
- (nextValue) => {
102
- if (nextValue === ref.current.value) {
103
- return;
104
- }
105
- const debounced = debounce(
106
- () => {
107
- handleChange(nextValue);
108
- ref.current.value = nextValue;
109
- },
110
- timeThreshold,
111
- { edges }
112
- );
113
- ref.current.clearPreviousDebounce();
114
- debounced();
115
- ref.current.clearPreviousDebounce = debounced.cancel;
116
- },
117
- [handleChange, timeThreshold, edges]
118
- );
119
- }
120
- export {
121
- useDebouncedCallback
122
- };
@@ -1,53 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useDoubleClick/useDoubleClick.ts
4
- import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef2 } from "react";
5
-
6
- // src/hooks/usePreservedCallback/usePreservedCallback.ts
7
- import { useCallback, useEffect, useRef } from "react";
8
- function usePreservedCallback(callback) {
9
- const callbackRef = useRef(callback);
10
- useEffect(
11
- function syncCallbackRef() {
12
- callbackRef.current = callback;
13
- },
14
- [callback]
15
- );
16
- return useCallback((...args) => {
17
- return callbackRef.current(...args);
18
- }, []);
19
- }
20
-
21
- // src/hooks/useDoubleClick/useDoubleClick.ts
22
- function useDoubleClick({
23
- delay = 250,
24
- click,
25
- doubleClick
26
- }) {
27
- const clickTimeout = useRef2(null);
28
- const clearClickTimeout = usePreservedCallback(() => {
29
- if (clickTimeout.current != null) {
30
- window.clearTimeout(clickTimeout.current);
31
- clickTimeout.current = null;
32
- }
33
- });
34
- useEffect2(() => () => clearClickTimeout(), [clearClickTimeout]);
35
- const handleEvent = useCallback2(
36
- (event) => {
37
- clearClickTimeout();
38
- if (click && event.detail === 1) {
39
- clickTimeout.current = window.setTimeout(() => {
40
- click(event);
41
- }, delay);
42
- }
43
- if (event.detail === 2) {
44
- doubleClick(event);
45
- }
46
- },
47
- [click, doubleClick, delay, clearClickTimeout]
48
- );
49
- return handleEvent;
50
- }
51
- export {
52
- useDoubleClick
53
- };
@@ -1,128 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useGeolocation/useGeolocation.ts
4
- import { useCallback, useEffect, useRef, useState } from "react";
5
- var CustomGeoLocationError = class extends Error {
6
- code;
7
- constructor({ code, message }) {
8
- super(message);
9
- this.name = "CustomGeoLocationError";
10
- this.code = code;
11
- }
12
- };
13
- var GeolocationMountBehavior = {
14
- GET: "get",
15
- WATCH: "watch"
16
- };
17
- function useGeolocation(options) {
18
- const [state, setState] = useState({
19
- loading: !!options?.mountBehavior,
20
- error: null,
21
- data: null
22
- });
23
- const [isTracking, setIsTracking] = useState(false);
24
- const watchIdRef = useRef(null);
25
- const checkGeolocationSupport = useCallback(() => {
26
- if (typeof window === "undefined" || navigator.geolocation === void 0) {
27
- setState((prev) => ({
28
- ...prev,
29
- loading: false,
30
- error: new CustomGeoLocationError({
31
- code: 0,
32
- message: "Geolocation is not supported by this environment."
33
- })
34
- }));
35
- return false;
36
- }
37
- return true;
38
- }, []);
39
- const handleSuccess = useCallback((position) => {
40
- const { coords } = position;
41
- setState((prev) => ({
42
- ...prev,
43
- loading: false,
44
- error: null,
45
- data: {
46
- latitude: coords.latitude,
47
- longitude: coords.longitude,
48
- accuracy: coords.accuracy,
49
- altitude: coords.altitude,
50
- altitudeAccuracy: coords.altitudeAccuracy,
51
- heading: coords.heading,
52
- speed: coords.speed,
53
- timestamp: position.timestamp
54
- }
55
- }));
56
- }, []);
57
- const handleError = useCallback((error) => {
58
- const { code, message } = error;
59
- setState((prev) => ({
60
- ...prev,
61
- loading: false,
62
- error: new CustomGeoLocationError({ code, message })
63
- }));
64
- }, []);
65
- const getGeolocationOptions = useCallback(
66
- () => ({
67
- enableHighAccuracy: options?.enableHighAccuracy,
68
- maximumAge: options?.maximumAge,
69
- timeout: options?.timeout
70
- }),
71
- [options?.enableHighAccuracy, options?.maximumAge, options?.timeout]
72
- );
73
- const getCurrentPosition = useCallback(() => {
74
- if (!checkGeolocationSupport()) {
75
- return;
76
- }
77
- setState((prev) => ({ ...prev, loading: true }));
78
- navigator.geolocation.getCurrentPosition(handleSuccess, handleError, getGeolocationOptions());
79
- }, [handleSuccess, handleError, getGeolocationOptions, checkGeolocationSupport]);
80
- const startTracking = useCallback(() => {
81
- if (!checkGeolocationSupport()) {
82
- return;
83
- }
84
- if (watchIdRef.current !== null) {
85
- navigator.geolocation.clearWatch(watchIdRef.current);
86
- }
87
- setState((prev) => ({ ...prev, loading: true }));
88
- watchIdRef.current = navigator.geolocation.watchPosition(
89
- (position) => {
90
- setIsTracking(true);
91
- handleSuccess(position);
92
- },
93
- handleError,
94
- getGeolocationOptions()
95
- );
96
- }, [handleSuccess, handleError, getGeolocationOptions, checkGeolocationSupport]);
97
- const stopTracking = useCallback(() => {
98
- if (watchIdRef.current === null) {
99
- return;
100
- }
101
- navigator.geolocation.clearWatch(watchIdRef.current);
102
- watchIdRef.current = null;
103
- setIsTracking(false);
104
- }, []);
105
- useEffect(() => {
106
- if (options?.mountBehavior === GeolocationMountBehavior.WATCH) {
107
- startTracking();
108
- } else if (options?.mountBehavior === GeolocationMountBehavior.GET) {
109
- getCurrentPosition();
110
- }
111
- return () => {
112
- if (watchIdRef.current !== null) {
113
- navigator.geolocation.clearWatch(watchIdRef.current);
114
- watchIdRef.current = null;
115
- }
116
- };
117
- }, [options?.mountBehavior, getCurrentPosition, startTracking]);
118
- return {
119
- ...state,
120
- getCurrentPosition,
121
- startTracking,
122
- stopTracking,
123
- isTracking
124
- };
125
- }
126
- export {
127
- useGeolocation
128
- };