react-simplikit 0.0.50 → 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/{esm/hooks/useOutsideClickEffect/index.d.ts → dist/hooks/useOutsideClickEffect/useOutsideClickEffect.d.cts} +4 -2
  121. package/dist/hooks/useOutsideClickEffect/{index.d.cts → 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 -1382
  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 -44
  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 -74
  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 -18
  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 -48
  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 -1320
  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,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
- };
@@ -1,232 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useImpressionRef/useImpressionRef.ts
4
- import { useRef as useRef4 } from "react";
5
-
6
- // src/hooks/useDebouncedCallback/useDebouncedCallback.ts
7
- import { useCallback as useCallback2, useEffect as useEffect2, useMemo, useRef as useRef2 } from "react";
8
-
9
- // src/hooks/useDebounce/debounce.ts
10
- function debounce(func, debounceMs, { edges = ["leading", "trailing"] } = {}) {
11
- let pendingThis = void 0;
12
- let pendingArgs = null;
13
- const leading = edges != null && edges.includes("leading");
14
- const trailing = edges == null || edges.includes("trailing");
15
- const invoke = () => {
16
- if (pendingArgs !== null) {
17
- func.apply(pendingThis, pendingArgs);
18
- pendingThis = void 0;
19
- pendingArgs = null;
20
- }
21
- };
22
- const onTimerEnd = () => {
23
- if (trailing) {
24
- invoke();
25
- }
26
- cancel();
27
- };
28
- let timeoutId = null;
29
- const schedule = () => {
30
- if (timeoutId != null) {
31
- clearTimeout(timeoutId);
32
- }
33
- timeoutId = setTimeout(() => {
34
- timeoutId = null;
35
- onTimerEnd();
36
- }, debounceMs);
37
- };
38
- const cancelTimer = () => {
39
- if (timeoutId !== null) {
40
- clearTimeout(timeoutId);
41
- timeoutId = null;
42
- }
43
- };
44
- const cancel = () => {
45
- cancelTimer();
46
- pendingThis = void 0;
47
- pendingArgs = null;
48
- };
49
- const debounced = function(...args) {
50
- pendingThis = this;
51
- pendingArgs = args;
52
- const isFirstCall = timeoutId == null;
53
- schedule();
54
- if (leading && isFirstCall) {
55
- invoke();
56
- }
57
- };
58
- debounced.cancel = cancel;
59
- return debounced;
60
- }
61
-
62
- // src/hooks/usePreservedCallback/usePreservedCallback.ts
63
- import { useCallback, useEffect, useRef } from "react";
64
- function usePreservedCallback(callback) {
65
- const callbackRef = useRef(callback);
66
- useEffect(
67
- function syncCallbackRef() {
68
- callbackRef.current = callback;
69
- },
70
- [callback]
71
- );
72
- return useCallback((...args) => {
73
- return callbackRef.current(...args);
74
- }, []);
75
- }
76
-
77
- // src/hooks/useDebouncedCallback/useDebouncedCallback.ts
78
- function useDebouncedCallback({
79
- onChange,
80
- timeThreshold,
81
- leading = false,
82
- trailing = true
83
- }) {
84
- const handleChange = usePreservedCallback(onChange);
85
- const ref = useRef2({ value: false, clearPreviousDebounce: () => {
86
- } });
87
- useEffect2(function clearDebouncedOnUnmount() {
88
- const current = ref.current;
89
- return () => {
90
- current.clearPreviousDebounce();
91
- };
92
- }, []);
93
- const edges = useMemo(() => {
94
- const _edges = [];
95
- if (leading) {
96
- _edges.push("leading");
97
- }
98
- if (trailing) {
99
- _edges.push("trailing");
100
- }
101
- return _edges;
102
- }, [leading, trailing]);
103
- return useCallback2(
104
- (nextValue) => {
105
- if (nextValue === ref.current.value) {
106
- return;
107
- }
108
- const debounced = debounce(
109
- () => {
110
- handleChange(nextValue);
111
- ref.current.value = nextValue;
112
- },
113
- timeThreshold,
114
- { edges }
115
- );
116
- ref.current.clearPreviousDebounce();
117
- debounced();
118
- ref.current.clearPreviousDebounce = debounced.cancel;
119
- },
120
- [handleChange, timeThreshold, edges]
121
- );
122
- }
123
-
124
- // src/hooks/useIntersectionObserver/useIntersectionObserver.ts
125
- import { useMemo as useMemo2 } from "react";
126
-
127
- // src/hooks/useRefEffect/useRefEffect.ts
128
- import { useCallback as useCallback3, useRef as useRef3 } from "react";
129
- function useRefEffect(callback, deps) {
130
- const preservedCallback = usePreservedCallback(callback);
131
- const cleanupCallbackRef = useRef3(() => {
132
- });
133
- const effect = useCallback3(
134
- (element) => {
135
- cleanupCallbackRef.current();
136
- cleanupCallbackRef.current = () => {
137
- };
138
- if (element == null) {
139
- return;
140
- }
141
- const cleanup = preservedCallback(element);
142
- if (typeof cleanup === "function") {
143
- cleanupCallbackRef.current = cleanup;
144
- }
145
- },
146
- // eslint-disable-next-line react-hooks/exhaustive-deps
147
- [preservedCallback, ...deps]
148
- );
149
- return effect;
150
- }
151
-
152
- // src/hooks/useIntersectionObserver/useIntersectionObserver.ts
153
- function useIntersectionObserver(callback, options) {
154
- const preservedCallback = usePreservedCallback(callback);
155
- const observer = useMemo2(() => {
156
- if (typeof IntersectionObserver === "undefined") {
157
- return;
158
- }
159
- return new IntersectionObserver(([entry]) => {
160
- preservedCallback(entry);
161
- }, options);
162
- }, [preservedCallback, options]);
163
- return useRefEffect(
164
- (element) => {
165
- observer?.observe(element);
166
- return () => {
167
- observer?.unobserve(element);
168
- };
169
- },
170
- [preservedCallback, options]
171
- );
172
- }
173
-
174
- // src/hooks/useVisibilityEvent/useVisibilityEvent.ts
175
- import { useCallback as useCallback4, useEffect as useEffect3 } from "react";
176
- function useVisibilityEvent(callback, options = {}) {
177
- const handleVisibilityChange = useCallback4(() => {
178
- callback(document.visibilityState);
179
- }, [callback]);
180
- useEffect3(() => {
181
- if (options?.immediate ?? false) {
182
- handleVisibilityChange();
183
- }
184
- document.addEventListener("visibilitychange", handleVisibilityChange);
185
- return () => {
186
- document.removeEventListener("visibilitychange", handleVisibilityChange);
187
- };
188
- }, [handleVisibilityChange, options?.immediate]);
189
- }
190
-
191
- // src/hooks/useImpressionRef/useImpressionRef.ts
192
- function useImpressionRef({
193
- onImpressionStart = () => {
194
- },
195
- onImpressionEnd = () => {
196
- },
197
- rootMargin,
198
- areaThreshold = 0,
199
- timeThreshold = 0
200
- }) {
201
- const impressionStartHandler = usePreservedCallback(onImpressionStart);
202
- const impressionEndHandler = usePreservedCallback(onImpressionEnd);
203
- const isIntersectingRef = useRef4(false);
204
- const impressionEventHandler = useDebouncedCallback({
205
- timeThreshold,
206
- onChange: (impressed) => {
207
- (impressed ? impressionStartHandler : impressionEndHandler)();
208
- },
209
- leading: true
210
- });
211
- useVisibilityEvent((documentVisible) => {
212
- if (!isIntersectingRef.current) {
213
- return;
214
- }
215
- impressionEventHandler(documentVisible === "visible");
216
- });
217
- return useIntersectionObserver(
218
- (entry) => {
219
- if (document.visibilityState === "hidden") {
220
- return;
221
- }
222
- const currentRatio = entry.intersectionRatio;
223
- const isIntersecting = areaThreshold === 0 ? entry.isIntersecting : currentRatio >= areaThreshold;
224
- isIntersectingRef.current = isIntersecting;
225
- impressionEventHandler(isIntersecting);
226
- },
227
- { rootMargin, threshold: areaThreshold }
228
- );
229
- }
230
- export {
231
- useImpressionRef
232
- };
@@ -1,20 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useInputState/useInputState.ts
4
- import { useCallback, useState } from "react";
5
- function useInputState(initialValue = "", transformValue = echo) {
6
- const [value, setValue] = useState(initialValue);
7
- const handleValueChange = useCallback(
8
- ({ target: { value: value2 } }) => {
9
- setValue(transformValue(value2));
10
- },
11
- [transformValue]
12
- );
13
- return [value, handleValueChange];
14
- }
15
- function echo(v) {
16
- return v;
17
- }
18
- export {
19
- useInputState
20
- };