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,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
- };
@@ -1,69 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useIntersectionObserver/useIntersectionObserver.ts
4
- import { useMemo } 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/useRefEffect/useRefEffect.ts
22
- import { useCallback as useCallback2, useRef as useRef2 } from "react";
23
- function useRefEffect(callback, deps) {
24
- const preservedCallback = usePreservedCallback(callback);
25
- const cleanupCallbackRef = useRef2(() => {
26
- });
27
- const effect = useCallback2(
28
- (element) => {
29
- cleanupCallbackRef.current();
30
- cleanupCallbackRef.current = () => {
31
- };
32
- if (element == null) {
33
- return;
34
- }
35
- const cleanup = preservedCallback(element);
36
- if (typeof cleanup === "function") {
37
- cleanupCallbackRef.current = cleanup;
38
- }
39
- },
40
- // eslint-disable-next-line react-hooks/exhaustive-deps
41
- [preservedCallback, ...deps]
42
- );
43
- return effect;
44
- }
45
-
46
- // src/hooks/useIntersectionObserver/useIntersectionObserver.ts
47
- function useIntersectionObserver(callback, options) {
48
- const preservedCallback = usePreservedCallback(callback);
49
- const observer = useMemo(() => {
50
- if (typeof IntersectionObserver === "undefined") {
51
- return;
52
- }
53
- return new IntersectionObserver(([entry]) => {
54
- preservedCallback(entry);
55
- }, options);
56
- }, [preservedCallback, options]);
57
- return useRefEffect(
58
- (element) => {
59
- observer?.observe(element);
60
- return () => {
61
- observer?.unobserve(element);
62
- };
63
- },
64
- [preservedCallback, options]
65
- );
66
- }
67
- export {
68
- useIntersectionObserver
69
- };
@@ -1,58 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useInterval/useInterval.ts
4
- import { 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/useInterval/useInterval.ts
22
- function useInterval(callback, options) {
23
- const delay = typeof options === "number" ? options : options.delay;
24
- const immediate = typeof options === "number" ? false : options.immediate;
25
- const enabled = typeof options === "number" ? true : options.enabled ?? true;
26
- const preservedCallback = usePreservedCallback(callback);
27
- const immediateCalledRef = useRef2(false);
28
- useEffect2(
29
- function runImmediateCallback() {
30
- if (immediate !== true) {
31
- immediateCalledRef.current = false;
32
- return;
33
- }
34
- if (!enabled) {
35
- return;
36
- }
37
- if (immediateCalledRef.current) {
38
- return;
39
- }
40
- immediateCalledRef.current = true;
41
- preservedCallback();
42
- },
43
- [immediate, preservedCallback, enabled]
44
- );
45
- useEffect2(
46
- function startInterval() {
47
- if (!enabled) {
48
- return;
49
- }
50
- const id = setInterval(preservedCallback, delay);
51
- return () => clearInterval(id);
52
- },
53
- [delay, preservedCallback, enabled]
54
- );
55
- }
56
- export {
57
- useInterval
58
- };
@@ -1,14 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useIsClient/useIsClient.ts
4
- import { useEffect, useState } from "react";
5
- function useIsClient() {
6
- const [isClient, setIsClient] = useState(false);
7
- useEffect(function syncClientState() {
8
- setIsClient(true);
9
- }, []);
10
- return isClient;
11
- }
12
- export {
13
- useIsClient
14
- };
@@ -1,9 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts
4
- import { useEffect, useLayoutEffect } from "react";
5
- var isServer = typeof window === "undefined";
6
- var useIsomorphicLayoutEffect = isServer ? useEffect : useLayoutEffect;
7
- export {
8
- useIsomorphicLayoutEffect
9
- };
@@ -1,78 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useList/useList.ts
4
- import { useMemo as useMemo2, useState } 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/usePreservedReference/usePreservedReference.ts
22
- import { useMemo, useRef as useRef2 } from "react";
23
- function usePreservedReference(value, areValuesEqual = areDeeplyEqual) {
24
- const ref = useRef2(value);
25
- return useMemo(() => {
26
- if (!areValuesEqual(ref.current, value)) {
27
- ref.current = value;
28
- }
29
- return ref.current;
30
- }, [areValuesEqual, value]);
31
- }
32
- function areDeeplyEqual(x, y) {
33
- return JSON.stringify(x) === JSON.stringify(y);
34
- }
35
-
36
- // src/hooks/useList/useList.ts
37
- function useList(initialState = []) {
38
- const [list, setList] = useState(initialState);
39
- const preservedInitialState = usePreservedReference(initialState);
40
- const push = usePreservedCallback((value) => {
41
- setList((prev) => [...prev, value]);
42
- });
43
- const insertAt = usePreservedCallback((index, value) => {
44
- setList((prev) => {
45
- const next = [...prev];
46
- next.splice(index, 0, value);
47
- return next;
48
- });
49
- });
50
- const updateAt = usePreservedCallback((index, value) => {
51
- setList((prev) => {
52
- const next = [...prev];
53
- next[index] = value;
54
- return next;
55
- });
56
- });
57
- const removeAt = usePreservedCallback((index) => {
58
- setList((prev) => {
59
- const next = [...prev];
60
- next.splice(index, 1);
61
- return next;
62
- });
63
- });
64
- const setAll = usePreservedCallback((values) => {
65
- setList(values);
66
- });
67
- const reset = usePreservedCallback(() => {
68
- setList(preservedInitialState);
69
- });
70
- const actions = useMemo2(
71
- () => ({ push, insertAt, updateAt, removeAt, setAll, reset }),
72
- [push, insertAt, updateAt, removeAt, setAll, reset]
73
- );
74
- return [list, actions];
75
- }
76
- export {
77
- useList
78
- };
@@ -1,39 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useLoading/useLoading.ts
4
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
- function useLoading() {
6
- const [loading, setLoading] = useState(false);
7
- const ref = useIsMountedRef();
8
- const startTransition = useCallback(
9
- async (promise) => {
10
- try {
11
- setLoading(true);
12
- const data = await promise;
13
- return data;
14
- } finally {
15
- if (ref.isMounted) {
16
- setLoading(false);
17
- }
18
- }
19
- },
20
- [ref.isMounted]
21
- );
22
- return useMemo(() => [loading, startTransition], [loading, startTransition]);
23
- }
24
- function useIsMountedRef() {
25
- const ref = useRef({ isMounted: true }).current;
26
- useEffect(
27
- function trackMountedState() {
28
- ref.isMounted = true;
29
- return () => {
30
- ref.isMounted = false;
31
- };
32
- },
33
- [ref]
34
- );
35
- return ref;
36
- }
37
- export {
38
- useLoading
39
- };
@@ -1,101 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useLongPress/useLongPress.ts
4
- import { useCallback as useCallback2, 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/useLongPress/useLongPress.ts
22
- function useLongPress(onLongPress, { delay = 500, moveThreshold, onClick, onLongPressEnd } = {}) {
23
- const timeoutRef = useRef2(null);
24
- const isLongPressActiveRef = useRef2(false);
25
- const initialPositionRef = useRef2({ x: 0, y: 0 });
26
- const preservedOnLongPress = usePreservedCallback(onLongPress);
27
- const preservedOnClick = usePreservedCallback(onClick || (() => {
28
- }));
29
- const preservedOnLongPressEnd = usePreservedCallback(onLongPressEnd || (() => {
30
- }));
31
- const hasThreshold = moveThreshold?.x !== void 0 || moveThreshold?.y !== void 0;
32
- const getClientPosition = useCallback2((event) => {
33
- if ("touches" in event.nativeEvent) {
34
- const touch = event.nativeEvent.touches[0];
35
- return { x: touch.clientX, y: touch.clientY };
36
- }
37
- return {
38
- x: event.nativeEvent.clientX,
39
- y: event.nativeEvent.clientY
40
- };
41
- }, []);
42
- const isMovedBeyondThreshold = useCallback2(
43
- (event) => {
44
- const { x, y } = getClientPosition(event);
45
- const deltaX = Math.abs(x - initialPositionRef.current.x);
46
- const deltaY = Math.abs(y - initialPositionRef.current.y);
47
- return moveThreshold?.x !== void 0 && deltaX > moveThreshold.x || moveThreshold?.y !== void 0 && deltaY > moveThreshold.y;
48
- },
49
- [getClientPosition, moveThreshold]
50
- );
51
- const cancelLongPress = useCallback2(() => {
52
- if (timeoutRef.current !== null) {
53
- window.clearTimeout(timeoutRef.current);
54
- timeoutRef.current = null;
55
- }
56
- }, []);
57
- const handlePressStart = useCallback2(
58
- (event) => {
59
- cancelLongPress();
60
- const position = getClientPosition(event);
61
- initialPositionRef.current = position;
62
- isLongPressActiveRef.current = false;
63
- timeoutRef.current = window.setTimeout(() => {
64
- isLongPressActiveRef.current = true;
65
- preservedOnLongPress(event);
66
- }, delay);
67
- },
68
- [cancelLongPress, delay, getClientPosition, preservedOnLongPress]
69
- );
70
- const handlePressEnd = useCallback2(
71
- (event) => {
72
- if (isLongPressActiveRef.current) {
73
- preservedOnLongPressEnd(event);
74
- } else if (timeoutRef.current !== null) {
75
- preservedOnClick(event);
76
- }
77
- cancelLongPress();
78
- isLongPressActiveRef.current = false;
79
- },
80
- [cancelLongPress, preservedOnClick, preservedOnLongPressEnd]
81
- );
82
- const handlePressMove = useCallback2(
83
- (event) => {
84
- if (timeoutRef.current !== null && isMovedBeyondThreshold(event)) {
85
- cancelLongPress();
86
- }
87
- },
88
- [cancelLongPress, isMovedBeyondThreshold]
89
- );
90
- return {
91
- onMouseDown: handlePressStart,
92
- onMouseUp: handlePressEnd,
93
- onMouseLeave: cancelLongPress,
94
- onTouchStart: handlePressStart,
95
- onTouchEnd: handlePressEnd,
96
- ...hasThreshold ? { onTouchMove: handlePressMove, onMouseMove: handlePressMove } : {}
97
- };
98
- }
99
- export {
100
- useLongPress
101
- };
@@ -1,52 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useMap/useMap.ts
4
- import { useCallback, useMemo as useMemo2, useState } from "react";
5
-
6
- // src/hooks/usePreservedReference/usePreservedReference.ts
7
- import { useMemo, useRef } from "react";
8
- function usePreservedReference(value, areValuesEqual = areDeeplyEqual) {
9
- const ref = useRef(value);
10
- return useMemo(() => {
11
- if (!areValuesEqual(ref.current, value)) {
12
- ref.current = value;
13
- }
14
- return ref.current;
15
- }, [areValuesEqual, value]);
16
- }
17
- function areDeeplyEqual(x, y) {
18
- return JSON.stringify(x) === JSON.stringify(y);
19
- }
20
-
21
- // src/hooks/useMap/useMap.ts
22
- function useMap(initialState = /* @__PURE__ */ new Map()) {
23
- const [map, setMap] = useState(() => new Map(initialState));
24
- const preservedInitialState = usePreservedReference(initialState);
25
- const set = useCallback((key, value) => {
26
- setMap((prev) => {
27
- const nextMap = new Map(prev);
28
- nextMap.set(key, value);
29
- return nextMap;
30
- });
31
- }, []);
32
- const setAll = useCallback((entries) => {
33
- setMap(() => new Map(entries));
34
- }, []);
35
- const remove = useCallback((key) => {
36
- setMap((prev) => {
37
- const nextMap = new Map(prev);
38
- nextMap.delete(key);
39
- return nextMap;
40
- });
41
- }, []);
42
- const reset = useCallback(() => {
43
- setMap(() => new Map(preservedInitialState));
44
- }, [preservedInitialState]);
45
- const actions = useMemo2(() => {
46
- return { set, setAll, remove, reset };
47
- }, [set, setAll, remove, reset]);
48
- return [map, actions];
49
- }
50
- export {
51
- useMap
52
- };