@siberiacancode/reactuse 0.0.44 → 0.0.45

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 (252) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-Bx9oEugz.js → _rollupPluginBabelHelpers-Cgdvu90u.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-Cgdvu90u.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  5. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  6. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  7. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  8. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  9. package/dist/cjs/hooks/useClipboard/useClipboard.js +3 -0
  10. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -0
  11. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  12. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  13. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  14. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  15. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  16. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  17. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  18. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  19. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  20. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  21. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  22. package/dist/cjs/hooks/useEvent/useEvent.js +2 -2
  23. package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
  24. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  25. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  26. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  27. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  28. package/dist/cjs/hooks/useField/useField.js +2 -2
  29. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  30. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  31. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  32. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  33. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  34. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  35. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  36. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  37. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  38. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  39. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  40. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  41. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  42. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  43. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  44. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  45. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  46. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  47. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  48. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  49. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  50. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  51. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  52. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  53. package/dist/cjs/hooks/useList/useList.js +2 -2
  54. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  55. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  56. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  57. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  58. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  59. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  60. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  61. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  62. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  63. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  64. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  65. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  66. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  67. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  68. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  69. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  70. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  71. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  72. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
  73. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  74. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  75. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  76. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  77. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  78. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  79. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  80. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  81. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  82. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  83. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  84. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  85. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  86. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  87. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +3 -0
  88. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
  89. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  90. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  91. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  92. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  93. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  94. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  95. package/dist/cjs/hooks/useStopwatch/useStopwatch.js.map +1 -1
  96. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  97. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  98. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  99. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  100. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  101. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
  102. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  103. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  104. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  105. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  106. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  107. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  108. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  109. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  110. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  111. package/dist/cjs/{index-P7gOty8T.js → index-CzItxmKR.js} +2 -2
  112. package/dist/cjs/{index-P7gOty8T.js.map → index-CzItxmKR.js.map} +1 -1
  113. package/dist/cjs/index.js +2 -2
  114. package/dist/cjs/utils/helpers/debounce.js +1 -1
  115. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  116. package/dist/cjs/utils/helpers/index.js +2 -2
  117. package/dist/cjs/utils/helpers/isClient.js +1 -1
  118. package/dist/cjs/utils/helpers/isPermissionAllowed.js +3 -0
  119. package/dist/cjs/utils/helpers/isPermissionAllowed.js.map +1 -0
  120. package/dist/cjs/utils/helpers/throttle.js +1 -1
  121. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  122. package/dist/cjs/utils/types/index.js +1 -1
  123. package/dist/esm/{_rollupPluginBabelHelpers-CePHKKZk.js → _rollupPluginBabelHelpers-1nJS3N_r.js} +2 -2
  124. package/dist/esm/_rollupPluginBabelHelpers-1nJS3N_r.js.map +1 -0
  125. package/dist/esm/hooks/index.js +2 -2
  126. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  127. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  128. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  129. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  130. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  131. package/dist/esm/hooks/useClipboard/useClipboard.js +3 -0
  132. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -0
  133. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  134. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  135. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  136. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  137. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  138. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  139. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  140. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  141. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  142. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  143. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  144. package/dist/esm/hooks/useEvent/useEvent.js +2 -2
  145. package/dist/esm/hooks/useEvent/useEvent.js.map +1 -1
  146. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  147. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  148. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  149. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  150. package/dist/esm/hooks/useField/useField.js +2 -2
  151. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  152. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  153. package/dist/esm/hooks/useFps/useFps.js +2 -2
  154. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  155. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  156. package/dist/esm/hooks/useHash/useHash.js +2 -2
  157. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  158. package/dist/esm/hooks/useHover/useHover.js +2 -2
  159. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  160. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  161. package/dist/esm/hooks/useImage/useImage.js +2 -2
  162. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  163. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  164. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  165. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  166. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  167. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  168. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  169. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  170. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  171. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  172. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  173. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  174. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  175. package/dist/esm/hooks/useList/useList.js +2 -2
  176. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  177. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  178. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  179. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  180. package/dist/esm/hooks/useMap/useMap.js +2 -2
  181. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  182. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  183. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  184. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  185. package/dist/esm/hooks/useMount/useMount.js +1 -1
  186. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  187. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  188. package/dist/esm/hooks/useMutationObserver.js +1 -1
  189. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  190. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  191. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  192. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  193. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  194. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
  195. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  196. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  197. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  198. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  199. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  200. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  201. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  202. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  203. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  204. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  205. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  206. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  207. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  208. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  209. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +3 -0
  210. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
  211. package/dist/esm/hooks/useScript/useScript.js +2 -2
  212. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  213. package/dist/esm/hooks/useSet/useSet.js +2 -2
  214. package/dist/esm/hooks/useShare/useShare.js +2 -2
  215. package/dist/esm/hooks/useStep/useStep.js +2 -2
  216. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  217. package/dist/esm/hooks/useStopwatch/useStopwatch.js.map +1 -1
  218. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  219. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  220. package/dist/esm/hooks/useTime/useTime.js +2 -2
  221. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  222. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  223. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
  224. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  225. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  226. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  227. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  228. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  229. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  230. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  231. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  232. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  233. package/dist/esm/{index-D_PnqV6k.js → index-Bk2X3AFm.js} +2 -2
  234. package/dist/esm/{index-D_PnqV6k.js.map → index-Bk2X3AFm.js.map} +1 -1
  235. package/dist/esm/index.js +2 -2
  236. package/dist/esm/utils/helpers/debounce.js +1 -1
  237. package/dist/esm/utils/helpers/getRetry.js +1 -1
  238. package/dist/esm/utils/helpers/index.js +2 -2
  239. package/dist/esm/utils/helpers/isClient.js +1 -1
  240. package/dist/esm/utils/helpers/isPermissionAllowed.js +3 -0
  241. package/dist/esm/utils/helpers/isPermissionAllowed.js.map +1 -0
  242. package/dist/esm/utils/helpers/throttle.js +1 -1
  243. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  244. package/dist/esm/utils/types/index.js +1 -1
  245. package/dist/index.d.ts +86 -16
  246. package/package.json +1 -1
  247. package/dist/cjs/_rollupPluginBabelHelpers-Bx9oEugz.js.map +0 -1
  248. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
  249. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
  250. package/dist/esm/_rollupPluginBabelHelpers-CePHKKZk.js.map +0 -1
  251. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
  252. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -68,11 +68,9 @@ declare const useBrowserLanguage: () => string;
68
68
 
69
69
  /** The use click outside target element type */
70
70
  type UseClickOutsideTarget = RefObject<Element | null> | (() => Element) | Element;
71
- /** The use click outside return type */
72
- type UseClickOutsideReturn<Target extends UseClickOutsideTarget | UseClickOutsideTarget[]> = RefObject<Target>;
73
71
  type UseClickOutside = {
74
72
  <Target extends UseClickOutsideTarget | UseClickOutsideTarget[]>(target: Target, callback: (event: Event) => void): void;
75
- <Target extends UseClickOutsideTarget | UseClickOutsideTarget[]>(callback: (event: Event) => void, target?: never): UseClickOutsideReturn<Target>;
73
+ <Target extends UseClickOutsideTarget | UseClickOutsideTarget[]>(callback: (event: Event) => void, target?: never): RefObject<Target>;
76
74
  };
77
75
  /**
78
76
  * @name useClickOutside
@@ -104,18 +102,20 @@ interface UseCopyToClipboardReturn {
104
102
  value: string | null;
105
103
  /** Function to copy to clipboard */
106
104
  copy: (value: string) => Promise<void>;
105
+ /** Whether the copy to clipboard is supported */
106
+ supported: boolean;
107
107
  }
108
108
  /**
109
- * @name useCopyToClipboard
109
+ * @name useClipboard
110
110
  * @description - Hook that manages a copy to clipboard
111
111
  * @category Browser
112
112
  *
113
113
  * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state
114
114
  *
115
115
  * @example
116
- * const { value, copy } = useCopyToClipboard();
116
+ * const { supported, value, copy } = useClipboard();
117
117
  */
118
- declare const useCopyToClipboard: () => UseCopyToClipboardReturn;
118
+ declare const useClipboard: () => UseCopyToClipboardReturn;
119
119
 
120
120
  /** The use counter options */
121
121
  interface UseCounterOptions {
@@ -124,14 +124,6 @@ interface UseCounterOptions {
124
124
  /** The max of count value */
125
125
  max?: number;
126
126
  }
127
- interface UseCounterParams {
128
- /** The initial number value, defaults to 0 */
129
- initialValue?: number;
130
- /** The min of count value */
131
- min?: number;
132
- /** The max of count value */
133
- max?: number;
134
- }
135
127
  /** The use counter return type */
136
128
  interface UseCounterReturn {
137
129
  /** The current count value */
@@ -147,7 +139,9 @@ interface UseCounterReturn {
147
139
  }
148
140
  type UseCounter = {
149
141
  (initialValue?: number, options?: UseCounterOptions): UseCounterReturn;
150
- ({ initialValue, max, min }: UseCounterParams, options?: never): UseCounterReturn;
142
+ (options: UseCounterOptions & {
143
+ initialValue?: number;
144
+ }, initialValue?: never): UseCounterReturn;
151
145
  };
152
146
  /**
153
147
  * @name useCounter
@@ -839,12 +833,15 @@ interface UseImageOptions {
839
833
  */
840
834
  declare const useImage: (src: string, options?: UseImageOptions, useQueryOptions?: Omit<UseQueryOptions<HTMLImageElement, HTMLImageElement>, 'select' | 'initialData' | 'placeholderData'>) => UseQueryReturn<HTMLImageElement>;
841
835
 
836
+ /** The intersection observer target element type */
842
837
  type UseIntersectionObserverTarget = RefObject<Element | null> | (() => Element) | Element;
838
+ /** The intersection observer options type */
843
839
  interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {
844
840
  enabled?: boolean;
845
841
  onChange?: (entry: IntersectionObserverEntry) => void;
846
842
  root?: IntersectionObserverInit['root'] | RefObject<Element | null>;
847
843
  }
844
+ /** The intersection observer return type */
848
845
  interface UseIntersectionObserverReturn {
849
846
  inView: boolean;
850
847
  entry?: IntersectionObserverEntry;
@@ -855,6 +852,32 @@ type UseIntersectionObserver = {
855
852
  ref: RefObject<Target>;
856
853
  };
857
854
  };
855
+ /**
856
+ * @name useIntersectionObserver
857
+ * @description - Hook that gives you intersection observer state
858
+ * @category Browser
859
+ *
860
+ * @overload
861
+ * @template Target The target element
862
+ * @param {Target} target The target element to detect intersection
863
+ * @param {boolean} [options.enabled=true] The IntersectionObserver options
864
+ * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected
865
+ * @param {IntersectionObserverInit['root'] | RefObject<Element | null>} [options.root] The root element to observe
866
+ * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status
867
+ *
868
+ * @example
869
+ * const { ref, entry, inView } = useIntersectionObserver();
870
+ *
871
+ * @overload
872
+ * @template Target The target element
873
+ * @param {boolean} [options.enabled=true] The IntersectionObserver options
874
+ * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected
875
+ * @param {IntersectionObserverInit['root'] | RefObject<Element | null>} [options.root] The root element to observe
876
+ * @returns {UseIntersectionObserverReturn & { ref: RefObject<Target> }} A React ref to attach to the target element
877
+ *
878
+ * @example
879
+ * const { entry, inView } = useIntersectionObserver(ref);
880
+ */
858
881
  declare const useIntersectionObserver: UseIntersectionObserver;
859
882
 
860
883
  /** The use interval options */
@@ -1629,6 +1652,51 @@ interface UseRerenderReturns {
1629
1652
  */
1630
1653
  declare const useRerender: () => UseRerenderReturns;
1631
1654
 
1655
+ /** The resize observer target element type */
1656
+ type UseResizeObserverTarget = RefObject<Element | null> | (() => Element) | Element;
1657
+ /** The resize observer options type */
1658
+ interface UseResizeObserverOptions extends ResizeObserverOptions {
1659
+ enabled?: boolean;
1660
+ onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;
1661
+ }
1662
+ /** The resize observer return type */
1663
+ interface UseResizeObserverReturn {
1664
+ entries: ResizeObserverEntry[];
1665
+ }
1666
+ type UseResizeObserver = {
1667
+ <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(target: Target, options?: UseResizeObserverOptions): UseResizeObserverReturn;
1668
+ <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(options?: UseResizeObserverOptions, target?: never): UseResizeObserverReturn & {
1669
+ ref: RefObject<Target>;
1670
+ };
1671
+ };
1672
+ /**
1673
+ * @name useResizeObserver
1674
+ * @description - Hook that gives you resize observer state
1675
+ * @category Browser
1676
+ *
1677
+ * @overload
1678
+ * @template Target The target element
1679
+ * @param {boolean} [options.enabled=true] The IntersectionObserver options
1680
+ * @param {boolean} [options.box] The IntersectionObserver options
1681
+ * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected
1682
+ * @returns {UseResizeObserverReturn} An object containing the resize observer state
1683
+ *
1684
+ * @example
1685
+ * const { ref, entries } = useResizeObserver();
1686
+ *
1687
+ * @overload
1688
+ * @template Target The target element
1689
+ * @param {Target} target The target element to observe
1690
+ * @param {boolean} [options.enabled=true] The IntersectionObserver options
1691
+ * @param {boolean} [options.box] The IntersectionObserver options
1692
+ * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected
1693
+ * @returns {UseResizeObserverReturn} An object containing the resize observer state
1694
+ *
1695
+ * @example
1696
+ * const { entries } = useResizeObserver(ref);
1697
+ */
1698
+ declare const useResizeObserver: UseResizeObserver;
1699
+
1632
1700
  /** The use script status */
1633
1701
  type UseScriptStatus = 'loading' | 'ready' | 'error' | 'unknown';
1634
1702
  /** The use script options extends from attributes script tag */
@@ -2060,6 +2128,8 @@ declare const getRetry: (retry: number | boolean) => number;
2060
2128
 
2061
2129
  declare const isClient: boolean;
2062
2130
 
2131
+ declare const isPermissionAllowed: (status: PermissionState) => boolean;
2132
+
2063
2133
  declare const throttle: <Params extends any[]>(callback: (...args: Params) => void, delay: number) => ((...args: Params) => void);
2064
2134
 
2065
2135
  declare const getDate: (now?: Date) => {
@@ -2076,4 +2146,4 @@ declare const getDate: (now?: Date) => {
2076
2146
  timestamp: number;
2077
2147
  };
2078
2148
 
2079
- export { debounce, getDate, getRetry, isClient, throttle, useBattery, useBoolean, useBrowserLanguage, useClickOutside, useCopyToClipboard, useCounter, useDebounceCallback, useDebounceValue, useDefault, useDidUpdate, useDisclosure, useDocumentEvent, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useEyeDropper, useFavicon, useField, useFileDialog, useFps, useFullscreen, useGeolocation, useHash, useHotkeys, useHover, useIdle, useImage, useIntersectionObserver, useInterval, useIsFirstRender, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeyboard, useKeysPressed, useList, useLocalStorage, useLogger, useLongPress, useMap, useMeasure, useMediaQuery, useMemory, useMount, useMouse, useMutation, useNetwork, useOnline, useOperatingSystem, useOrientation, usePageLeave, usePaint, usePermission, usePreferredColorScheme, usePreferredLanguages, usePrevious, useQuery, useQueue, useRenderCount, useRenderInfo, useRerender, useScript, useSessionStorage, useSet, useShare, useStep, useStopwatch, useStorage, useTextSelection, useTime, useTimeout, useToggle, useUnmount, useWebSocket, useWindowEvent, useWindowSize, useWizard };
2149
+ export { debounce, getDate, getRetry, isClient, isPermissionAllowed, throttle, useBattery, useBoolean, useBrowserLanguage, useClickOutside, useClipboard, useCounter, useDebounceCallback, useDebounceValue, useDefault, useDidUpdate, useDisclosure, useDocumentEvent, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useEyeDropper, useFavicon, useField, useFileDialog, useFps, useFullscreen, useGeolocation, useHash, useHotkeys, useHover, useIdle, useImage, useIntersectionObserver, useInterval, useIsFirstRender, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeyboard, useKeysPressed, useList, useLocalStorage, useLogger, useLongPress, useMap, useMeasure, useMediaQuery, useMemory, useMount, useMouse, useMutation, useNetwork, useOnline, useOperatingSystem, useOrientation, usePageLeave, usePaint, usePermission, usePreferredColorScheme, usePreferredLanguages, usePrevious, useQuery, useQueue, useRenderCount, useRenderInfo, useRerender, useResizeObserver, useScript, useSessionStorage, useSet, useShare, useStep, useStopwatch, useStorage, useTextSelection, useTime, useTimeout, useToggle, useUnmount, useWebSocket, useWindowEvent, useWindowSize, useWizard };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siberiacancode/reactuse",
3
- "version": "0.0.44",
3
+ "version": "0.0.45",
4
4
  "description": "Ultimate tool",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-Bx9oEugz.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +0,0 @@
1
- /* @license @siberiacancode/reactuse v0.0.44 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Bx9oEugz.js"),r=require("react"),t=function(e){var r=document.createElement("textarea");r.value=e,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)};exports.legacyCopyToClipboard=t,exports.useCopyToClipboard=function(){var n=r.useState(null),a=e._slicedToArray(n,2),o=a[0],c=a[1],u=r.useCallback(function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(n){var a;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(a=navigator)||void 0===a||null===(a=a.clipboard)||void 0===a||!a.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(n);case 4:c(n),e.next=8;break;case 7:throw new Error("writeText not supported");case 8:e.next=14;break;case 10:e.prev=10,e.t0=e.catch(0),t(n),c(n);case 14:case"end":return e.stop()}}),r,null,[[0,10]])})));return function(e){return r.apply(this,arguments)}}(),[]);return{value:o,copy:u}};
3
- //# sourceMappingURL=useCopyToClipboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCopyToClipboard.js","sources":["../../../../src/hooks/useCopyToClipboard/useCopyToClipboard.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nexport const legacyCopyToClipboard = (value: string) => {\n const tempTextArea = document.createElement('textarea');\n tempTextArea.value = value;\n document.body.appendChild(tempTextArea);\n tempTextArea.select();\n document.execCommand('copy');\n document.body.removeChild(tempTextArea);\n};\n\n/** The use copy to clipboard return type */\ninterface UseCopyToClipboardReturn {\n /** The copied value */\n value: string | null;\n /** Function to copy to clipboard */\n copy: (value: string) => Promise<void>;\n}\n\n/**\n * @name useCopyToClipboard\n * @description - Hook that manages a copy to clipboard\n * @category Browser\n *\n * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const { value, copy } = useCopyToClipboard();\n */\nexport const useCopyToClipboard = (): UseCopyToClipboardReturn => {\n const [value, setValue] = useState<string | null>(null);\n\n const copyToClipboard = useCallback(async (value: string) => {\n try {\n if (navigator?.clipboard?.writeText) {\n await navigator.clipboard.writeText(value);\n setValue(value);\n } else {\n throw new Error('writeText not supported');\n }\n } catch (error) {\n legacyCopyToClipboard(value);\n setValue(value);\n }\n }, []);\n\n return { value, copy: copyToClipboard };\n};\n"],"names":["legacyCopyToClipboard","value","tempTextArea","document","createElement","body","appendChild","select","execCommand","removeChild","_useState","useState","_useState2","_slicedToArray","setValue","copyToClipboard","useCallback","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_navigator","wrap","_context","prev","next","navigator","clipboard","writeText","Error","t0","stop","_x","apply","this","arguments","copy"],"mappings":";6FAEaA,EAAwB,SAACC,GACpC,IAAMC,EAAeC,SAASC,cAAc,YAC5CF,EAAaD,MAAQA,EACrBE,SAASE,KAAKC,YAAYJ,GAC1BA,EAAaK,SACbJ,SAASK,YAAY,QACrBL,SAASE,KAAKI,YAAYP,EAC5B,6DAoBkC,WAChC,IAAAQ,EAA0BC,EAAQA,SAAgB,MAAKC,EAAAC,EAAAA,eAAAH,EAAA,GAAhDT,EAAKW,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAkBC,EAAAA,YAAW,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,EAAOpB,GAAa,IAAAqB,EAAA,OAAAH,EAAAA,sBAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAAAF,EAAAC,KAAA,EAEvCH,QAFuCA,EAEhDK,qBAASL,GAAWA,QAAXA,EAATA,EAAWM,iBAAXN,IAAoBA,IAApBA,EAAsBO,UAAS,CAAAL,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAC3BC,UAAUC,UAAUC,UAAU5B,GAAM,KAAA,EAC1Ca,EAASb,GAAOuB,EAAAE,KAAA,EAAA,MAAA,KAAA,EAAA,MAEV,IAAII,MAAM,2BAA0B,KAAA,EAAAN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAO,GAAAP,EAAA,MAAA,GAG5CxB,EAAsBC,GACtBa,EAASb,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAuB,EAAAQ,OAAA,GAAAX,EAAA,KAAA,CAAA,CAAA,EAAA,KAEnB,KAAA,OAAA,SAAAY,GAAA,OAAAhB,EAAAiB,MAAAC,KAAAC,UAAA,CAAA,CAZkC,GAYhC,IAEH,MAAO,CAAEnC,MAAAA,EAAOoC,KAAMtB,EACxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-CePHKKZk.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +0,0 @@
1
- /* @license @siberiacancode/reactuse v0.0.44 */
2
- import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-CePHKKZk.js";import{useState as n,useCallback as a}from"react";var o=function(e){var r=document.createElement("textarea");r.value=e,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)},c=function(){var c=n(null),u=e(c,2),i=u[0],l=u[1],p=a(function(){var e=r(t().mark((function e(r){var n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(n=navigator)||void 0===n||null===(n=n.clipboard)||void 0===n||!n.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(r);case 4:l(r),e.next=8;break;case 7:throw new Error("writeText not supported");case 8:e.next=14;break;case 10:e.prev=10,e.t0=e.catch(0),o(r),l(r);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(r){return e.apply(this,arguments)}}(),[]);return{value:i,copy:p}};export{o as legacyCopyToClipboard,c as useCopyToClipboard};
3
- //# sourceMappingURL=useCopyToClipboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCopyToClipboard.js","sources":["../../../../src/hooks/useCopyToClipboard/useCopyToClipboard.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nexport const legacyCopyToClipboard = (value: string) => {\n const tempTextArea = document.createElement('textarea');\n tempTextArea.value = value;\n document.body.appendChild(tempTextArea);\n tempTextArea.select();\n document.execCommand('copy');\n document.body.removeChild(tempTextArea);\n};\n\n/** The use copy to clipboard return type */\ninterface UseCopyToClipboardReturn {\n /** The copied value */\n value: string | null;\n /** Function to copy to clipboard */\n copy: (value: string) => Promise<void>;\n}\n\n/**\n * @name useCopyToClipboard\n * @description - Hook that manages a copy to clipboard\n * @category Browser\n *\n * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const { value, copy } = useCopyToClipboard();\n */\nexport const useCopyToClipboard = (): UseCopyToClipboardReturn => {\n const [value, setValue] = useState<string | null>(null);\n\n const copyToClipboard = useCallback(async (value: string) => {\n try {\n if (navigator?.clipboard?.writeText) {\n await navigator.clipboard.writeText(value);\n setValue(value);\n } else {\n throw new Error('writeText not supported');\n }\n } catch (error) {\n legacyCopyToClipboard(value);\n setValue(value);\n }\n }, []);\n\n return { value, copy: copyToClipboard };\n};\n"],"names":["legacyCopyToClipboard","value","tempTextArea","document","createElement","body","appendChild","select","execCommand","removeChild","useCopyToClipboard","_useState","useState","_useState2","_slicedToArray","setValue","copyToClipboard","useCallback","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_navigator","wrap","_context","prev","next","navigator","clipboard","writeText","Error","t0","stop","_x","apply","this","arguments","copy"],"mappings":";oIAEaA,EAAwB,SAACC,GACpC,IAAMC,EAAeC,SAASC,cAAc,YAC5CF,EAAaD,MAAQA,EACrBE,SAASE,KAAKC,YAAYJ,GAC1BA,EAAaK,SACbJ,SAASK,YAAY,QACrBL,SAASE,KAAKI,YAAYP,EAC5B,EAoBaQ,EAAqB,WAChC,IAAAC,EAA0BC,EAAwB,MAAKC,EAAAC,EAAAH,EAAA,GAAhDV,EAAKY,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAkBC,EAAW,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAC,SAAAC,EAAOrB,GAAa,IAAAsB,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAAAF,EAAAC,KAAA,EAEvCH,QAFuCA,EAEhDK,qBAASL,GAAWA,QAAXA,EAATA,EAAWM,iBAAXN,IAAoBA,IAApBA,EAAsBO,UAAS,CAAAL,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAC3BC,UAAUC,UAAUC,UAAU7B,GAAM,KAAA,EAC1Cc,EAASd,GAAOwB,EAAAE,KAAA,EAAA,MAAA,KAAA,EAAA,MAEV,IAAII,MAAM,2BAA0B,KAAA,EAAAN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAO,GAAAP,EAAA,MAAA,GAG5CzB,EAAsBC,GACtBc,EAASd,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAX,EAAA,KAAA,CAAA,CAAA,EAAA,KAEnB,KAAA,OAAA,SAAAY,GAAA,OAAAhB,EAAAiB,MAAAC,KAAAC,UAAA,CAAA,CAZkC,GAYhC,IAEH,MAAO,CAAEpC,MAAAA,EAAOqC,KAAMtB,EACxB"}