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,170 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useStorageState/useStorageState.ts
4
- import { useCallback, useRef, useSyncExternalStore } from "react";
5
-
6
- // src/hooks/useStorageState/storage.ts
7
- var MemoStorage = class {
8
- storage = /* @__PURE__ */ new Map();
9
- get(key) {
10
- return this.storage.get(key) ?? null;
11
- }
12
- set(key, value) {
13
- this.storage.set(key, value);
14
- }
15
- remove(key) {
16
- this.storage.delete(key);
17
- }
18
- clear() {
19
- this.storage.clear();
20
- }
21
- };
22
- var LocalStorage = class {
23
- static canUse() {
24
- const TEST_KEY = generateTestKey();
25
- try {
26
- localStorage.setItem(TEST_KEY, "test");
27
- localStorage.removeItem(TEST_KEY);
28
- return true;
29
- } catch {
30
- return false;
31
- }
32
- }
33
- get(key) {
34
- return localStorage.getItem(key);
35
- }
36
- set(key, value) {
37
- localStorage.setItem(key, value);
38
- }
39
- remove(key) {
40
- localStorage.removeItem(key);
41
- }
42
- clear() {
43
- localStorage.clear();
44
- }
45
- };
46
- var SessionStorage = class {
47
- static canUse() {
48
- const TEST_KEY = generateTestKey();
49
- try {
50
- sessionStorage.setItem(TEST_KEY, "test");
51
- sessionStorage.removeItem(TEST_KEY);
52
- return true;
53
- } catch {
54
- return false;
55
- }
56
- }
57
- get(key) {
58
- return sessionStorage.getItem(key);
59
- }
60
- set(key, value) {
61
- sessionStorage.setItem(key, value);
62
- }
63
- remove(key) {
64
- sessionStorage.removeItem(key);
65
- }
66
- clear() {
67
- sessionStorage.clear();
68
- }
69
- };
70
- function generateTestKey() {
71
- return new Array(4).fill(null).map(() => Math.random().toString(36).slice(2)).join("");
72
- }
73
- function generateStorage() {
74
- if (LocalStorage.canUse()) {
75
- return new LocalStorage();
76
- }
77
- return new MemoStorage();
78
- }
79
- function generateSessionStorage() {
80
- if (SessionStorage.canUse()) {
81
- return new SessionStorage();
82
- }
83
- return new MemoStorage();
84
- }
85
- var safeLocalStorage = generateStorage();
86
- var safeSessionStorage = generateSessionStorage();
87
-
88
- // src/hooks/useStorageState/useStorageState.ts
89
- var listeners = /* @__PURE__ */ new Set();
90
- var emitListeners = () => {
91
- listeners.forEach((listener) => listener());
92
- };
93
- function isPlainObject(value) {
94
- if (typeof value !== "object") {
95
- return false;
96
- }
97
- const proto = Object.getPrototypeOf(value);
98
- const hasObjectPrototype = proto === Object.prototype;
99
- if (!hasObjectPrototype) {
100
- return false;
101
- }
102
- return Object.prototype.toString.call(value) === "[object Object]";
103
- }
104
- var ensureSerializable = (value) => {
105
- if (value[0] != null && !["string", "number", "boolean"].includes(typeof value[0]) && !(isPlainObject(value[0]) || Array.isArray(value[0]))) {
106
- throw new Error("Received a non-serializable value");
107
- }
108
- return value;
109
- };
110
- function useStorageState(key, {
111
- storage = safeLocalStorage,
112
- defaultValue,
113
- ...options
114
- } = {}) {
115
- const serializedDefaultValue = defaultValue;
116
- const cache = useRef({
117
- data: null,
118
- parsed: serializedDefaultValue
119
- });
120
- const getSnapshot = useCallback(() => {
121
- const deserializer = "deserializer" in options ? options.deserializer : JSON.parse;
122
- const data = storage.get(key);
123
- if (data !== cache.current.data) {
124
- try {
125
- cache.current.parsed = data != null ? deserializer(data) : defaultValue;
126
- } catch {
127
- cache.current.parsed = serializedDefaultValue;
128
- }
129
- cache.current.data = data;
130
- }
131
- return cache.current.parsed;
132
- }, [defaultValue, key, storage]);
133
- const storageState = useSyncExternalStore(
134
- (onStoreChange) => {
135
- listeners.add(onStoreChange);
136
- const handler = (event) => {
137
- if (event.key === key) {
138
- onStoreChange();
139
- }
140
- };
141
- window.addEventListener("storage", handler);
142
- return () => {
143
- listeners.delete(onStoreChange);
144
- window.removeEventListener("storage", handler);
145
- };
146
- },
147
- () => getSnapshot(),
148
- () => serializedDefaultValue
149
- );
150
- const setStorageState = useCallback(
151
- (value) => {
152
- const serializer = "serializer" in options ? options.serializer : JSON.stringify;
153
- const nextValue = typeof value === "function" ? value(getSnapshot()) : value;
154
- if (nextValue == null) {
155
- storage.remove(key);
156
- } else {
157
- storage.set(key, serializer(nextValue));
158
- }
159
- emitListeners();
160
- },
161
- [getSnapshot, key, storage]
162
- );
163
- const refreshStorageState = useCallback(() => {
164
- setStorageState(getSnapshot());
165
- }, [storage, getSnapshot, setStorageState]);
166
- return ensureSerializable([storageState, setStorageState, refreshStorageState]);
167
- }
168
- export {
169
- useStorageState
170
- };
@@ -1,125 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useThrottle/useThrottle.ts
4
- import { useEffect as useEffect2, useMemo as useMemo2 } 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/useDebounce/debounce.ts
37
- function debounce(func, debounceMs, { edges = ["leading", "trailing"] } = {}) {
38
- let pendingThis = void 0;
39
- let pendingArgs = null;
40
- const leading = edges != null && edges.includes("leading");
41
- const trailing = edges == null || edges.includes("trailing");
42
- const invoke = () => {
43
- if (pendingArgs !== null) {
44
- func.apply(pendingThis, pendingArgs);
45
- pendingThis = void 0;
46
- pendingArgs = null;
47
- }
48
- };
49
- const onTimerEnd = () => {
50
- if (trailing) {
51
- invoke();
52
- }
53
- cancel();
54
- };
55
- let timeoutId = null;
56
- const schedule = () => {
57
- if (timeoutId != null) {
58
- clearTimeout(timeoutId);
59
- }
60
- timeoutId = setTimeout(() => {
61
- timeoutId = null;
62
- onTimerEnd();
63
- }, debounceMs);
64
- };
65
- const cancelTimer = () => {
66
- if (timeoutId !== null) {
67
- clearTimeout(timeoutId);
68
- timeoutId = null;
69
- }
70
- };
71
- const cancel = () => {
72
- cancelTimer();
73
- pendingThis = void 0;
74
- pendingArgs = null;
75
- };
76
- const debounced = function(...args) {
77
- pendingThis = this;
78
- pendingArgs = args;
79
- const isFirstCall = timeoutId == null;
80
- schedule();
81
- if (leading && isFirstCall) {
82
- invoke();
83
- }
84
- };
85
- debounced.cancel = cancel;
86
- return debounced;
87
- }
88
-
89
- // src/hooks/useThrottle/throttle.ts
90
- function throttle(func, throttleMs, { edges = ["leading", "trailing"] } = {}) {
91
- let pendingAt = null;
92
- const debounced = debounce(func, throttleMs, { edges });
93
- const throttled = function(...args) {
94
- if (pendingAt == null) {
95
- pendingAt = Date.now();
96
- } else {
97
- if (Date.now() - pendingAt >= throttleMs) {
98
- pendingAt = Date.now();
99
- debounced.cancel();
100
- }
101
- }
102
- debounced(...args);
103
- };
104
- throttled.cancel = debounced.cancel;
105
- return throttled;
106
- }
107
-
108
- // src/hooks/useThrottle/useThrottle.ts
109
- function useThrottle(callback, wait, options) {
110
- const preservedCallback = usePreservedCallback(callback);
111
- const preservedOptions = usePreservedReference(options ?? {});
112
- const throttledCallback = useMemo2(
113
- () => throttle(preservedCallback, wait, preservedOptions),
114
- [preservedOptions, preservedCallback, wait]
115
- );
116
- useEffect2(() => {
117
- return () => {
118
- throttledCallback.cancel();
119
- };
120
- }, [throttledCallback]);
121
- return throttledCallback;
122
- }
123
- export {
124
- useThrottle
125
- };
@@ -1,146 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useThrottledCallback/useThrottledCallback.ts
4
- import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef3 } 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/useDebounce/debounce.ts
37
- function debounce(func, debounceMs, { edges = ["leading", "trailing"] } = {}) {
38
- let pendingThis = void 0;
39
- let pendingArgs = null;
40
- const leading = edges != null && edges.includes("leading");
41
- const trailing = edges == null || edges.includes("trailing");
42
- const invoke = () => {
43
- if (pendingArgs !== null) {
44
- func.apply(pendingThis, pendingArgs);
45
- pendingThis = void 0;
46
- pendingArgs = null;
47
- }
48
- };
49
- const onTimerEnd = () => {
50
- if (trailing) {
51
- invoke();
52
- }
53
- cancel();
54
- };
55
- let timeoutId = null;
56
- const schedule = () => {
57
- if (timeoutId != null) {
58
- clearTimeout(timeoutId);
59
- }
60
- timeoutId = setTimeout(() => {
61
- timeoutId = null;
62
- onTimerEnd();
63
- }, debounceMs);
64
- };
65
- const cancelTimer = () => {
66
- if (timeoutId !== null) {
67
- clearTimeout(timeoutId);
68
- timeoutId = null;
69
- }
70
- };
71
- const cancel = () => {
72
- cancelTimer();
73
- pendingThis = void 0;
74
- pendingArgs = null;
75
- };
76
- const debounced = function(...args) {
77
- pendingThis = this;
78
- pendingArgs = args;
79
- const isFirstCall = timeoutId == null;
80
- schedule();
81
- if (leading && isFirstCall) {
82
- invoke();
83
- }
84
- };
85
- debounced.cancel = cancel;
86
- return debounced;
87
- }
88
-
89
- // src/hooks/useThrottle/throttle.ts
90
- function throttle(func, throttleMs, { edges = ["leading", "trailing"] } = {}) {
91
- let pendingAt = null;
92
- const debounced = debounce(func, throttleMs, { edges });
93
- const throttled = function(...args) {
94
- if (pendingAt == null) {
95
- pendingAt = Date.now();
96
- } else {
97
- if (Date.now() - pendingAt >= throttleMs) {
98
- pendingAt = Date.now();
99
- debounced.cancel();
100
- }
101
- }
102
- debounced(...args);
103
- };
104
- throttled.cancel = debounced.cancel;
105
- return throttled;
106
- }
107
-
108
- // src/hooks/useThrottledCallback/useThrottledCallback.ts
109
- function useThrottledCallback({
110
- onChange,
111
- timeThreshold,
112
- edges = ["leading", "trailing"]
113
- }) {
114
- const handleChange = usePreservedCallback(onChange);
115
- const ref = useRef3({ value: false, clearPreviousThrottle: () => {
116
- } });
117
- useEffect2(function cleanupThrottleOnUnmount() {
118
- const current = ref.current;
119
- return () => {
120
- current.clearPreviousThrottle();
121
- };
122
- }, []);
123
- const preservedEdges = usePreservedReference(edges);
124
- return useCallback2(
125
- (nextValue) => {
126
- if (nextValue === ref.current.value) {
127
- return;
128
- }
129
- const throttled = throttle(
130
- () => {
131
- handleChange(nextValue);
132
- ref.current.value = nextValue;
133
- },
134
- timeThreshold,
135
- { edges: preservedEdges }
136
- );
137
- ref.current.clearPreviousThrottle();
138
- throttled();
139
- ref.current.clearPreviousThrottle = throttled.cancel;
140
- },
141
- [handleChange, timeThreshold, preservedEdges]
142
- );
143
- }
144
- export {
145
- useThrottledCallback
146
- };
@@ -1,31 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useTimeout/useTimeout.ts
4
- import { useEffect as useEffect2 } 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/useTimeout/useTimeout.ts
22
- function useTimeout(callback, delay = 0) {
23
- const preservedCallback = usePreservedCallback(callback);
24
- useEffect2(() => {
25
- const timeoutId = setTimeout(preservedCallback, delay);
26
- return () => clearTimeout(timeoutId);
27
- }, [delay, preservedCallback]);
28
- }
29
- export {
30
- useTimeout
31
- };
@@ -1,11 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useToggle/useToggle.ts
4
- import { useReducer } from "react";
5
- function useToggle(initialValue = false) {
6
- return useReducer(toggle, initialValue);
7
- }
8
- var toggle = (state) => !state;
9
- export {
10
- useToggle
11
- };
@@ -1,21 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useVisibilityEvent/useVisibilityEvent.ts
4
- import { useCallback, useEffect } from "react";
5
- function useVisibilityEvent(callback, options = {}) {
6
- const handleVisibilityChange = useCallback(() => {
7
- callback(document.visibilityState);
8
- }, [callback]);
9
- useEffect(() => {
10
- if (options?.immediate ?? false) {
11
- handleVisibilityChange();
12
- }
13
- document.addEventListener("visibilitychange", handleVisibilityChange);
14
- return () => {
15
- document.removeEventListener("visibilitychange", handleVisibilityChange);
16
- };
17
- }, [handleVisibilityChange, options?.immediate]);
18
- }
19
- export {
20
- useVisibilityEvent
21
- };
package/esm/index.d.ts DELETED
@@ -1,40 +0,0 @@
1
- export { ImpressionArea } from './components/ImpressionArea/index.js';
2
- export { Separated } from './components/Separated/index.js';
3
- export { SwitchCase } from './components/SwitchCase/index.js';
4
- export { useAsyncEffect } from './hooks/useAsyncEffect/index.js';
5
- export { useBooleanState } from './hooks/useBooleanState/index.js';
6
- export { useCallbackOncePerRender } from './hooks/useCallbackOncePerRender/index.js';
7
- export { useConditionalEffect } from './hooks/useConditionalEffect/index.js';
8
- export { useControlledState } from './hooks/useControlledState/index.js';
9
- export { useCounter } from './hooks/useCounter/index.js';
10
- export { useDebounce } from './hooks/useDebounce/index.js';
11
- export { useDebouncedCallback } from './hooks/useDebouncedCallback/index.js';
12
- export { useDoubleClick } from './hooks/useDoubleClick/index.js';
13
- export { useGeolocation } from './hooks/useGeolocation/index.js';
14
- export { useImpressionRef } from './hooks/useImpressionRef/index.js';
15
- export { useInputState } from './hooks/useInputState/index.js';
16
- export { useIntersectionObserver } from './hooks/useIntersectionObserver/index.js';
17
- export { useInterval } from './hooks/useInterval/index.js';
18
- export { useIsClient } from './hooks/useIsClient/index.js';
19
- export { useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayoutEffect/index.js';
20
- export { useList } from './hooks/useList/index.js';
21
- export { useLoading } from './hooks/useLoading/index.js';
22
- export { useLongPress } from './hooks/useLongPress/index.js';
23
- export { useMap } from './hooks/useMap/index.js';
24
- export { useOutsideClickEffect } from './hooks/useOutsideClickEffect/index.js';
25
- export { usePreservedCallback } from './hooks/usePreservedCallback/index.js';
26
- export { usePreservedReference } from './hooks/usePreservedReference/index.js';
27
- export { usePrevious } from './hooks/usePrevious/index.js';
28
- export { useRefEffect } from './hooks/useRefEffect/index.js';
29
- export { useSet } from './hooks/useSet/index.js';
30
- export { useStorageState } from './hooks/useStorageState/index.js';
31
- export { useThrottle } from './hooks/useThrottle/index.js';
32
- export { useThrottledCallback } from './hooks/useThrottledCallback/index.js';
33
- export { useTimeout } from './hooks/useTimeout/index.js';
34
- export { useToggle } from './hooks/useToggle/index.js';
35
- export { useVisibilityEvent } from './hooks/useVisibilityEvent/index.js';
36
- export { buildContext } from './utils/buildContext/index.js';
37
- export { mergeProps } from './utils/mergeProps/index.js';
38
- export { mergeRefs } from './utils/mergeRefs/index.js';
39
- import 'react';
40
- import 'react/jsx-runtime';