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,48 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useOutsideClickEffect/useOutsideClickEffect.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/useOutsideClickEffect/useOutsideClickEffect.ts
22
- function useOutsideClickEffect(container, callback) {
23
- const containers = useRef2([]);
24
- const handleDocumentClick = usePreservedCallback(({ target }) => {
25
- if (target === null) {
26
- return;
27
- }
28
- if (containers.current.length === 0) {
29
- return;
30
- }
31
- if (containers.current.some((x) => x.contains(target))) {
32
- return;
33
- }
34
- callback();
35
- });
36
- useEffect2(() => {
37
- containers.current = [container].flat(1).filter((item) => item != null);
38
- }, [container]);
39
- useEffect2(() => {
40
- document.addEventListener("click", handleDocumentClick);
41
- return () => {
42
- document.removeEventListener("click", handleDocumentClick);
43
- };
44
- }, [handleDocumentClick]);
45
- }
46
- export {
47
- useOutsideClickEffect
48
- };
@@ -1,19 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/usePreservedCallback/usePreservedCallback.ts
4
- import { useCallback, useEffect, useRef } from "react";
5
- function usePreservedCallback(callback) {
6
- const callbackRef = useRef(callback);
7
- useEffect(
8
- function syncCallbackRef() {
9
- callbackRef.current = callback;
10
- },
11
- [callback]
12
- );
13
- return useCallback((...args) => {
14
- return callbackRef.current(...args);
15
- }, []);
16
- }
17
- export {
18
- usePreservedCallback
19
- };
@@ -1,19 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/usePreservedReference/usePreservedReference.ts
4
- import { useMemo, useRef } from "react";
5
- function usePreservedReference(value, areValuesEqual = areDeeplyEqual) {
6
- const ref = useRef(value);
7
- return useMemo(() => {
8
- if (!areValuesEqual(ref.current, value)) {
9
- ref.current = value;
10
- }
11
- return ref.current;
12
- }, [areValuesEqual, value]);
13
- }
14
- function areDeeplyEqual(x, y) {
15
- return JSON.stringify(x) === JSON.stringify(y);
16
- }
17
- export {
18
- usePreservedReference
19
- };
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/usePrevious/usePrevious.ts
4
- import { useRef } from "react";
5
- var strictEquals = (prev, next) => prev === next;
6
- function usePrevious(state, compare = strictEquals) {
7
- const prevRef = useRef(state);
8
- const currentRef = useRef(state);
9
- const isFirstRender = useRef(true);
10
- if (isFirstRender.current) {
11
- isFirstRender.current = false;
12
- return prevRef.current;
13
- }
14
- if (!compare(currentRef.current, state)) {
15
- prevRef.current = currentRef.current;
16
- currentRef.current = state;
17
- }
18
- return prevRef.current;
19
- }
20
- export {
21
- usePrevious
22
- };
@@ -1,46 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useRefEffect/useRefEffect.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/useRefEffect/useRefEffect.ts
22
- function useRefEffect(callback, deps) {
23
- const preservedCallback = usePreservedCallback(callback);
24
- const cleanupCallbackRef = useRef2(() => {
25
- });
26
- const effect = useCallback2(
27
- (element) => {
28
- cleanupCallbackRef.current();
29
- cleanupCallbackRef.current = () => {
30
- };
31
- if (element == null) {
32
- return;
33
- }
34
- const cleanup = preservedCallback(element);
35
- if (typeof cleanup === "function") {
36
- cleanupCallbackRef.current = cleanup;
37
- }
38
- },
39
- // eslint-disable-next-line react-hooks/exhaustive-deps
40
- [preservedCallback, ...deps]
41
- );
42
- return effect;
43
- }
44
- export {
45
- useRefEffect
46
- };
@@ -1,79 +0,0 @@
1
- "use client";
2
-
3
- // src/hooks/useSet/useSet.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/useSet/useSet.ts
37
- function useSet(initialState = /* @__PURE__ */ new Set()) {
38
- const [set, setSet] = useState(() => new Set(initialState));
39
- const preservedInitialState = usePreservedReference(initialState);
40
- const add = usePreservedCallback((value) => {
41
- setSet((prev) => {
42
- const nextSet = new Set(prev);
43
- nextSet.add(value);
44
- return nextSet;
45
- });
46
- });
47
- const remove = usePreservedCallback((value) => {
48
- setSet((prev) => {
49
- const nextSet = new Set(prev);
50
- nextSet.delete(value);
51
- return nextSet;
52
- });
53
- });
54
- const toggle = usePreservedCallback((value) => {
55
- setSet((prev) => {
56
- const nextSet = new Set(prev);
57
- if (nextSet.has(value)) {
58
- nextSet.delete(value);
59
- } else {
60
- nextSet.add(value);
61
- }
62
- return nextSet;
63
- });
64
- });
65
- const setAll = usePreservedCallback((values) => {
66
- setSet(() => new Set(values));
67
- });
68
- const reset = usePreservedCallback(() => {
69
- setSet(() => new Set(preservedInitialState));
70
- });
71
- const actions = useMemo2(
72
- () => ({ add, remove, toggle, setAll, reset }),
73
- [add, remove, toggle, setAll, reset]
74
- );
75
- return [set, actions];
76
- }
77
- export {
78
- useSet
79
- };
@@ -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
- };