react-simplikit 0.0.51 → 0.0.53

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 (280) hide show
  1. package/README.md +34 -24
  2. package/dist/components/ImpressionArea/ImpressionArea.cjs +57 -0
  3. package/{esm/components/ImpressionArea/index.d.ts → dist/components/ImpressionArea/ImpressionArea.d.cts} +9 -8
  4. package/dist/components/ImpressionArea/ImpressionArea.d.mts +48 -0
  5. package/dist/components/ImpressionArea/ImpressionArea.mjs +57 -0
  6. package/dist/components/ImpressionArea/index.d.cts +2 -46
  7. package/dist/components/ImpressionArea/index.d.mts +3 -0
  8. package/dist/components/Separated/Separated.cjs +38 -0
  9. package/{esm/components/Separated/index.d.ts → dist/components/Separated/Separated.d.cts} +7 -7
  10. package/dist/components/Separated/Separated.d.mts +38 -0
  11. package/dist/components/Separated/Separated.mjs +38 -0
  12. package/dist/components/Separated/index.d.cts +2 -37
  13. package/dist/components/Separated/index.d.mts +3 -0
  14. package/dist/components/SwitchCase/SwitchCase.cjs +40 -0
  15. package/{esm/components/SwitchCase/index.d.ts → dist/components/SwitchCase/SwitchCase.d.cts} +7 -8
  16. package/dist/components/SwitchCase/SwitchCase.d.mts +45 -0
  17. package/dist/components/SwitchCase/SwitchCase.mjs +40 -0
  18. package/dist/components/SwitchCase/index.d.cts +2 -45
  19. package/dist/components/SwitchCase/index.d.mts +3 -0
  20. package/dist/hooks/useAsyncEffect/index.d.cts +2 -24
  21. package/dist/hooks/useAsyncEffect/index.d.mts +3 -0
  22. package/dist/hooks/useAsyncEffect/useAsyncEffect.cjs +39 -0
  23. package/{esm/hooks/useAsyncEffect/index.d.ts → dist/hooks/useAsyncEffect/useAsyncEffect.d.cts} +4 -3
  24. package/dist/hooks/useAsyncEffect/useAsyncEffect.d.mts +26 -0
  25. package/dist/hooks/useAsyncEffect/useAsyncEffect.mjs +39 -0
  26. package/dist/hooks/useBooleanState/useBooleanState.cjs +36 -0
  27. package/dist/hooks/useBooleanState/{index.d.cts → useBooleanState.d.cts} +4 -2
  28. package/{esm/hooks/useBooleanState/index.d.ts → dist/hooks/useBooleanState/useBooleanState.d.mts} +4 -2
  29. package/dist/hooks/useBooleanState/useBooleanState.mjs +36 -0
  30. package/dist/hooks/useCallbackOncePerRender/index.d.cts +2 -39
  31. package/dist/hooks/useCallbackOncePerRender/index.d.mts +3 -0
  32. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.cjs +52 -0
  33. package/{esm/hooks/useCallbackOncePerRender/index.d.ts → dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.d.cts} +4 -3
  34. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.d.mts +41 -0
  35. package/dist/hooks/useCallbackOncePerRender/useCallbackOncePerRender.mjs +52 -0
  36. package/dist/hooks/useConditionalEffect/index.d.cts +2 -42
  37. package/dist/hooks/useConditionalEffect/index.d.mts +3 -0
  38. package/dist/hooks/useConditionalEffect/useConditionalEffect.cjs +57 -0
  39. package/{esm/hooks/useConditionalEffect/index.d.ts → dist/hooks/useConditionalEffect/useConditionalEffect.d.cts} +4 -3
  40. package/dist/hooks/useConditionalEffect/useConditionalEffect.d.mts +44 -0
  41. package/dist/hooks/useConditionalEffect/useConditionalEffect.mjs +57 -0
  42. package/dist/hooks/useControlledState/index.d.cts +2 -50
  43. package/dist/hooks/useControlledState/index.d.mts +3 -0
  44. package/dist/hooks/useControlledState/useControlledState.cjs +60 -0
  45. package/{esm/hooks/useControlledState/index.d.ts → dist/hooks/useControlledState/useControlledState.d.cts} +11 -10
  46. package/dist/hooks/useControlledState/useControlledState.d.mts +52 -0
  47. package/dist/hooks/useControlledState/useControlledState.mjs +60 -0
  48. package/dist/hooks/useCounter/useCounter.cjs +75 -0
  49. package/{esm/hooks/useCounter/index.d.ts → dist/hooks/useCounter/useCounter.d.cts} +12 -10
  50. package/dist/hooks/useCounter/{index.d.cts → useCounter.d.mts} +12 -10
  51. package/dist/hooks/useCounter/useCounter.mjs +75 -0
  52. package/dist/hooks/useDebounce/debounce.cjs +49 -0
  53. package/dist/hooks/useDebounce/debounce.d.cts +8 -0
  54. package/dist/hooks/useDebounce/debounce.d.mts +8 -0
  55. package/dist/hooks/useDebounce/debounce.mjs +49 -0
  56. package/dist/hooks/useDebounce/useDebounce.cjs +66 -0
  57. package/{esm/hooks/useDebounce/index.d.ts → dist/hooks/useDebounce/useDebounce.d.cts} +6 -8
  58. package/dist/hooks/useDebounce/{index.d.cts → useDebounce.d.mts} +6 -8
  59. package/dist/hooks/useDebounce/useDebounce.mjs +66 -0
  60. package/dist/hooks/useDebouncedCallback/useDebouncedCallback.cjs +62 -0
  61. package/{esm/hooks/useDebouncedCallback/index.d.ts → dist/hooks/useDebouncedCallback/useDebouncedCallback.d.cts} +9 -7
  62. package/dist/hooks/useDebouncedCallback/{index.d.cts → useDebouncedCallback.d.mts} +9 -7
  63. package/dist/hooks/useDebouncedCallback/useDebouncedCallback.mjs +62 -0
  64. package/dist/hooks/useDoubleClick/index.d.cts +2 -45
  65. package/dist/hooks/useDoubleClick/index.d.mts +3 -0
  66. package/dist/hooks/useDoubleClick/useDoubleClick.cjs +64 -0
  67. package/{esm/hooks/useDoubleClick/index.d.ts → dist/hooks/useDoubleClick/useDoubleClick.d.cts} +8 -7
  68. package/dist/hooks/useDoubleClick/useDoubleClick.d.mts +47 -0
  69. package/dist/hooks/useDoubleClick/useDoubleClick.mjs +64 -0
  70. package/dist/hooks/useGeolocation/useGeolocation.cjs +210 -0
  71. package/{esm/hooks/useGeolocation/index.d.ts → dist/hooks/useGeolocation/useGeolocation.d.cts} +26 -24
  72. package/dist/hooks/useGeolocation/{index.d.cts → useGeolocation.d.mts} +26 -24
  73. package/dist/hooks/useGeolocation/useGeolocation.mjs +209 -0
  74. package/dist/hooks/useImpressionRef/useImpressionRef.cjs +67 -0
  75. package/{esm/hooks/useImpressionRef/index.d.ts → dist/hooks/useImpressionRef/useImpressionRef.d.cts} +10 -8
  76. package/dist/hooks/useImpressionRef/{index.d.cts → useImpressionRef.d.mts} +10 -8
  77. package/dist/hooks/useImpressionRef/useImpressionRef.mjs +67 -0
  78. package/dist/hooks/useInputState/index.d.cts +2 -22
  79. package/dist/hooks/useInputState/index.d.mts +3 -0
  80. package/dist/hooks/useInputState/useInputState.cjs +32 -0
  81. package/{esm/hooks/useInputState/index.d.ts → dist/hooks/useInputState/useInputState.d.cts} +4 -3
  82. package/dist/hooks/useInputState/useInputState.d.mts +24 -0
  83. package/dist/hooks/useInputState/useInputState.mjs +32 -0
  84. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.cjs +58 -0
  85. package/dist/hooks/useIntersectionObserver/{index.d.cts → useIntersectionObserver.d.cts} +4 -2
  86. package/{esm/hooks/useIntersectionObserver/index.d.ts → dist/hooks/useIntersectionObserver/useIntersectionObserver.d.mts} +4 -2
  87. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.mjs +58 -0
  88. package/dist/hooks/useInterval/useInterval.cjs +65 -0
  89. package/dist/hooks/useInterval/{index.d.cts → useInterval.d.cts} +7 -5
  90. package/{esm/hooks/useInterval/index.d.ts → dist/hooks/useInterval/useInterval.d.mts} +7 -5
  91. package/dist/hooks/useInterval/useInterval.mjs +65 -0
  92. package/dist/hooks/useIsClient/useIsClient.cjs +49 -0
  93. package/dist/hooks/useIsClient/{index.d.cts → useIsClient.d.cts} +4 -2
  94. package/{esm/hooks/useIsClient/index.d.ts → dist/hooks/useIsClient/useIsClient.d.mts} +4 -2
  95. package/dist/hooks/useIsClient/useIsClient.mjs +49 -0
  96. package/dist/hooks/useIsomorphicLayoutEffect/index.d.cts +2 -24
  97. package/dist/hooks/useIsomorphicLayoutEffect/index.d.mts +3 -0
  98. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +25 -0
  99. package/{esm/hooks/useIsomorphicLayoutEffect/index.d.ts → dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.cts} +4 -3
  100. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.mts +26 -0
  101. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +25 -0
  102. package/dist/hooks/useList/useList.cjs +94 -0
  103. package/{esm/hooks/useList/index.d.ts → dist/hooks/useList/useList.d.cts} +10 -8
  104. package/dist/hooks/useList/{index.d.cts → useList.d.mts} +10 -8
  105. package/dist/hooks/useList/useList.mjs +94 -0
  106. package/dist/hooks/useLoading/useLoading.cjs +61 -0
  107. package/dist/hooks/useLoading/{index.d.cts → useLoading.d.cts} +4 -2
  108. package/{esm/hooks/useLoading/index.d.ts → dist/hooks/useLoading/useLoading.d.mts} +4 -2
  109. package/dist/hooks/useLoading/useLoading.mjs +61 -0
  110. package/dist/hooks/useLongPress/index.d.cts +2 -73
  111. package/dist/hooks/useLongPress/index.d.mts +3 -0
  112. package/dist/hooks/useLongPress/useLongPress.cjs +133 -0
  113. package/{esm/hooks/useLongPress/index.d.ts → dist/hooks/useLongPress/useLongPress.d.cts} +18 -17
  114. package/dist/hooks/useLongPress/useLongPress.d.mts +75 -0
  115. package/dist/hooks/useLongPress/useLongPress.mjs +133 -0
  116. package/dist/hooks/useMap/useMap.cjs +64 -0
  117. package/dist/hooks/useMap/{index.d.cts → useMap.d.cts} +12 -10
  118. package/{esm/hooks/useMap/index.d.ts → dist/hooks/useMap/useMap.d.mts} +12 -10
  119. package/dist/hooks/useMap/useMap.mjs +64 -0
  120. package/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.cjs +51 -0
  121. package/dist/hooks/useOutsideClickEffect/{index.d.cts → useOutsideClickEffect.d.cts} +4 -2
  122. package/{esm/hooks/useOutsideClickEffect/index.d.ts → dist/hooks/useOutsideClickEffect/useOutsideClickEffect.d.mts} +4 -2
  123. package/dist/hooks/useOutsideClickEffect/useOutsideClickEffect.mjs +51 -0
  124. package/dist/hooks/usePreservedCallback/usePreservedCallback.cjs +41 -0
  125. package/dist/hooks/usePreservedCallback/{index.d.cts → usePreservedCallback.d.cts} +4 -2
  126. package/{esm/hooks/usePreservedCallback/index.d.ts → dist/hooks/usePreservedCallback/usePreservedCallback.d.mts} +4 -2
  127. package/dist/hooks/usePreservedCallback/usePreservedCallback.mjs +41 -0
  128. package/dist/hooks/usePreservedReference/usePreservedReference.cjs +55 -0
  129. package/dist/hooks/usePreservedReference/{index.d.cts → usePreservedReference.d.cts} +4 -2
  130. package/{esm/hooks/usePreservedReference/index.d.ts → dist/hooks/usePreservedReference/usePreservedReference.d.mts} +4 -2
  131. package/dist/hooks/usePreservedReference/usePreservedReference.mjs +55 -0
  132. package/dist/hooks/usePrevious/usePrevious.cjs +39 -0
  133. package/{esm/hooks/usePrevious/index.d.ts → dist/hooks/usePrevious/usePrevious.d.cts} +4 -2
  134. package/dist/hooks/usePrevious/{index.d.cts → usePrevious.d.mts} +4 -2
  135. package/dist/hooks/usePrevious/usePrevious.mjs +39 -0
  136. package/dist/hooks/useRefEffect/index.d.cts +2 -30
  137. package/dist/hooks/useRefEffect/index.d.mts +3 -0
  138. package/dist/hooks/useRefEffect/useRefEffect.cjs +42 -0
  139. package/{esm/hooks/useRefEffect/index.d.ts → dist/hooks/useRefEffect/useRefEffect.d.cts} +4 -3
  140. package/dist/hooks/useRefEffect/useRefEffect.d.mts +32 -0
  141. package/dist/hooks/useRefEffect/useRefEffect.mjs +42 -0
  142. package/dist/hooks/useSet/useSet.cjs +79 -0
  143. package/dist/hooks/useSet/{index.d.cts → useSet.d.cts} +9 -7
  144. package/{esm/hooks/useSet/index.d.ts → dist/hooks/useSet/useSet.d.mts} +9 -7
  145. package/dist/hooks/useSet/useSet.mjs +79 -0
  146. package/dist/hooks/useStorageState/index.d.cts +2 -60
  147. package/dist/hooks/useStorageState/index.d.mts +3 -0
  148. package/dist/hooks/useStorageState/storage.cjs +85 -0
  149. package/dist/hooks/useStorageState/storage.d.cts +10 -0
  150. package/dist/hooks/useStorageState/storage.d.mts +10 -0
  151. package/dist/hooks/useStorageState/storage.mjs +80 -0
  152. package/dist/hooks/useStorageState/useStorageState.cjs +81 -0
  153. package/{esm/hooks/useStorageState/index.d.ts → dist/hooks/useStorageState/useStorageState.d.cts} +10 -15
  154. package/dist/hooks/useStorageState/useStorageState.d.mts +56 -0
  155. package/dist/hooks/useStorageState/useStorageState.mjs +81 -0
  156. package/dist/hooks/useThrottle/throttle.cjs +19 -0
  157. package/dist/hooks/useThrottle/throttle.d.cts +19 -0
  158. package/dist/hooks/useThrottle/throttle.d.mts +19 -0
  159. package/dist/hooks/useThrottle/throttle.mjs +19 -0
  160. package/dist/hooks/useThrottle/useThrottle.cjs +49 -0
  161. package/dist/hooks/useThrottle/{index.d.cts → useThrottle.d.cts} +6 -19
  162. package/{esm/hooks/useThrottle/index.d.ts → dist/hooks/useThrottle/useThrottle.d.mts} +6 -19
  163. package/dist/hooks/useThrottle/useThrottle.mjs +49 -0
  164. package/dist/hooks/useThrottledCallback/useThrottledCallback.cjs +65 -0
  165. package/{esm/hooks/useThrottledCallback/index.d.ts → dist/hooks/useThrottledCallback/useThrottledCallback.d.cts} +8 -6
  166. package/dist/hooks/useThrottledCallback/{index.d.cts → useThrottledCallback.d.mts} +8 -6
  167. package/dist/hooks/useThrottledCallback/useThrottledCallback.mjs +65 -0
  168. package/dist/hooks/useTimeout/useTimeout.cjs +40 -0
  169. package/dist/hooks/useTimeout/{index.d.cts → useTimeout.d.cts} +4 -2
  170. package/{esm/hooks/useTimeout/index.d.ts → dist/hooks/useTimeout/useTimeout.d.mts} +4 -2
  171. package/dist/hooks/useTimeout/useTimeout.mjs +40 -0
  172. package/dist/hooks/useToggle/useToggle.cjs +34 -0
  173. package/dist/hooks/useToggle/{index.d.cts → useToggle.d.cts} +4 -4
  174. package/{esm/hooks/useToggle/index.d.ts → dist/hooks/useToggle/useToggle.d.mts} +4 -4
  175. package/dist/hooks/useToggle/useToggle.mjs +34 -0
  176. package/dist/hooks/useVisibilityEvent/useVisibilityEvent.cjs +42 -0
  177. package/{esm/hooks/useVisibilityEvent/index.d.ts → dist/hooks/useVisibilityEvent/useVisibilityEvent.d.cts} +5 -3
  178. package/dist/hooks/useVisibilityEvent/{index.d.cts → useVisibilityEvent.d.mts} +5 -3
  179. package/dist/hooks/useVisibilityEvent/useVisibilityEvent.mjs +42 -0
  180. package/dist/index.cjs +77 -1397
  181. package/dist/index.d.cts +56 -40
  182. package/dist/index.d.mts +56 -0
  183. package/dist/index.mjs +40 -0
  184. package/dist/utils/buildContext/buildContext.cjs +50 -0
  185. package/{esm/utils/buildContext/index.d.ts → dist/utils/buildContext/buildContext.d.cts} +7 -7
  186. package/dist/utils/buildContext/buildContext.d.mts +38 -0
  187. package/dist/utils/buildContext/buildContext.mjs +50 -0
  188. package/dist/utils/buildContext/index.d.cts +2 -37
  189. package/dist/utils/buildContext/index.d.mts +3 -0
  190. package/dist/utils/mergeProps/index.d.cts +2 -25
  191. package/dist/utils/mergeProps/index.d.mts +3 -0
  192. package/dist/utils/mergeProps/mergeProps.cjs +53 -0
  193. package/{esm/utils/mergeProps/index.d.ts → dist/utils/mergeProps/mergeProps.d.cts} +7 -8
  194. package/dist/utils/mergeProps/mergeProps.d.mts +25 -0
  195. package/dist/utils/mergeProps/mergeProps.mjs +53 -0
  196. package/dist/utils/mergeRefs/index.d.cts +2 -38
  197. package/dist/utils/mergeRefs/index.d.mts +3 -0
  198. package/dist/utils/mergeRefs/mergeRefs.cjs +50 -0
  199. package/{esm/utils/mergeRefs/index.d.ts → dist/utils/mergeRefs/mergeRefs.d.cts} +4 -3
  200. package/dist/utils/mergeRefs/mergeRefs.d.mts +40 -0
  201. package/dist/utils/mergeRefs/mergeRefs.mjs +50 -0
  202. package/package.json +9 -11
  203. package/dist/components/ImpressionArea/index.cjs +0 -295
  204. package/dist/components/Separated/index.cjs +0 -41
  205. package/dist/components/SwitchCase/index.cjs +0 -36
  206. package/dist/hooks/useAsyncEffect/index.cjs +0 -49
  207. package/dist/hooks/useBooleanState/index.cjs +0 -46
  208. package/dist/hooks/useCallbackOncePerRender/index.cjs +0 -63
  209. package/dist/hooks/useConditionalEffect/index.cjs +0 -51
  210. package/dist/hooks/useControlledState/index.cjs +0 -57
  211. package/dist/hooks/useCounter/index.cjs +0 -70
  212. package/dist/hooks/useDebounce/index.cjs +0 -130
  213. package/dist/hooks/useDebouncedCallback/index.cjs +0 -148
  214. package/dist/hooks/useDoubleClick/index.cjs +0 -79
  215. package/dist/hooks/useGeolocation/index.cjs +0 -154
  216. package/dist/hooks/useImpressionRef/index.cjs +0 -258
  217. package/dist/hooks/useInputState/index.cjs +0 -46
  218. package/dist/hooks/useIntersectionObserver/index.cjs +0 -95
  219. package/dist/hooks/useInterval/index.cjs +0 -84
  220. package/dist/hooks/useIsClient/index.cjs +0 -40
  221. package/dist/hooks/useIsomorphicLayoutEffect/index.cjs +0 -35
  222. package/dist/hooks/useList/index.cjs +0 -104
  223. package/dist/hooks/useLoading/index.cjs +0 -65
  224. package/dist/hooks/useLongPress/index.cjs +0 -127
  225. package/dist/hooks/useMap/index.cjs +0 -78
  226. package/dist/hooks/useOutsideClickEffect/index.cjs +0 -74
  227. package/dist/hooks/usePreservedCallback/index.cjs +0 -45
  228. package/dist/hooks/usePreservedReference/index.cjs +0 -45
  229. package/dist/hooks/usePrevious/index.cjs +0 -48
  230. package/dist/hooks/useRefEffect/index.cjs +0 -72
  231. package/dist/hooks/useSet/index.cjs +0 -105
  232. package/dist/hooks/useStorageState/index.cjs +0 -196
  233. package/dist/hooks/useThrottle/index.cjs +0 -151
  234. package/dist/hooks/useThrottledCallback/index.cjs +0 -172
  235. package/dist/hooks/useTimeout/index.cjs +0 -57
  236. package/dist/hooks/useToggle/index.cjs +0 -37
  237. package/dist/hooks/useVisibilityEvent/index.cjs +0 -47
  238. package/dist/utils/buildContext/index.cjs +0 -56
  239. package/dist/utils/mergeProps/index.cjs +0 -71
  240. package/dist/utils/mergeRefs/index.cjs +0 -46
  241. package/esm/components/ImpressionArea/index.js +0 -269
  242. package/esm/components/Separated/index.js +0 -15
  243. package/esm/components/SwitchCase/index.js +0 -10
  244. package/esm/hooks/useAsyncEffect/index.js +0 -23
  245. package/esm/hooks/useBooleanState/index.js +0 -20
  246. package/esm/hooks/useCallbackOncePerRender/index.js +0 -37
  247. package/esm/hooks/useConditionalEffect/index.js +0 -25
  248. package/esm/hooks/useControlledState/index.js +0 -31
  249. package/esm/hooks/useCounter/index.js +0 -44
  250. package/esm/hooks/useDebounce/index.js +0 -104
  251. package/esm/hooks/useDebouncedCallback/index.js +0 -122
  252. package/esm/hooks/useDoubleClick/index.js +0 -53
  253. package/esm/hooks/useGeolocation/index.js +0 -128
  254. package/esm/hooks/useImpressionRef/index.js +0 -232
  255. package/esm/hooks/useInputState/index.js +0 -20
  256. package/esm/hooks/useIntersectionObserver/index.js +0 -69
  257. package/esm/hooks/useInterval/index.js +0 -58
  258. package/esm/hooks/useIsClient/index.js +0 -14
  259. package/esm/hooks/useIsomorphicLayoutEffect/index.js +0 -9
  260. package/esm/hooks/useList/index.js +0 -78
  261. package/esm/hooks/useLoading/index.js +0 -39
  262. package/esm/hooks/useLongPress/index.js +0 -101
  263. package/esm/hooks/useMap/index.js +0 -52
  264. package/esm/hooks/useOutsideClickEffect/index.js +0 -48
  265. package/esm/hooks/usePreservedCallback/index.js +0 -19
  266. package/esm/hooks/usePreservedReference/index.js +0 -19
  267. package/esm/hooks/usePrevious/index.js +0 -22
  268. package/esm/hooks/useRefEffect/index.js +0 -46
  269. package/esm/hooks/useSet/index.js +0 -79
  270. package/esm/hooks/useStorageState/index.js +0 -170
  271. package/esm/hooks/useThrottle/index.js +0 -125
  272. package/esm/hooks/useThrottledCallback/index.js +0 -146
  273. package/esm/hooks/useTimeout/index.js +0 -31
  274. package/esm/hooks/useToggle/index.js +0 -11
  275. package/esm/hooks/useVisibilityEvent/index.js +0 -21
  276. package/esm/index.d.ts +0 -40
  277. package/esm/index.js +0 -1335
  278. package/esm/utils/buildContext/index.js +0 -30
  279. package/esm/utils/mergeProps/index.js +0 -45
  280. 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
- };