@siberiacancode/reactuse 0.0.4 → 0.0.5
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.
- package/dist/cjs/{_rollupPluginBabelHelpers-DKURZ6hh.js → _rollupPluginBabelHelpers-Cva0m6Ep.js} +2 -2
- package/dist/cjs/_rollupPluginBabelHelpers-Cva0m6Ep.js.map +1 -0
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
- package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js +1 -1
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -1
- package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
- package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
- package/dist/cjs/hooks/useHover/useHover.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/cjs/hooks/useMount/useMount.js +1 -1
- package/dist/cjs/hooks/useMutationObserver.js +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
- package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js +1 -1
- package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -1
- package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/cjs/hooks/useStep/useStep.js +3 -0
- package/dist/cjs/hooks/useStep/useStep.js.map +1 -0
- package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
- package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
- package/dist/cjs/hooks/useToggle/useToggle.js +3 -0
- package/dist/cjs/hooks/useToggle/useToggle.js.map +1 -0
- package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/utils/helpers/debounce.js +1 -1
- package/dist/cjs/utils/helpers/index.js +1 -1
- package/dist/cjs/utils/helpers/isClient.js +1 -1
- package/dist/cjs/utils/helpers/isShallowEqual.js +1 -1
- package/dist/esm/{_rollupPluginBabelHelpers-CVdsimvi.js → _rollupPluginBabelHelpers-8YyPIzj_.js} +3 -3
- package/dist/esm/_rollupPluginBabelHelpers-8YyPIzj_.js.map +1 -0
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
- package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +1 -1
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -1
- package/dist/esm/hooks/useCounter/useCounter.js +2 -2
- package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.js +1 -1
- package/dist/esm/hooks/useHover/useHover.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js.map +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/esm/hooks/useMount/useMount.js +1 -1
- package/dist/esm/hooks/useMutationObserver.js +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
- package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js +1 -1
- package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -1
- package/dist/esm/hooks/useOnline/useOnline.js +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/esm/hooks/useStep/useStep.js +3 -0
- package/dist/esm/hooks/useStep/useStep.js.map +1 -0
- package/dist/esm/hooks/useStorage/useStorage.js +2 -2
- package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
- package/dist/esm/hooks/useToggle/useToggle.js +3 -0
- package/dist/esm/hooks/useToggle/useToggle.js.map +1 -0
- package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/utils/helpers/debounce.js +1 -1
- package/dist/esm/utils/helpers/index.js +1 -1
- package/dist/esm/utils/helpers/isClient.js +1 -1
- package/dist/esm/utils/helpers/isShallowEqual.js +1 -1
- package/dist/index.d.ts +109 -12
- package/package.json +5 -5
- package/dist/cjs/_rollupPluginBabelHelpers-DKURZ6hh.js.map +0 -1
- package/dist/cjs/hooks/useToggle.js +0 -3
- package/dist/cjs/hooks/useToggle.js.map +0 -1
- package/dist/esm/_rollupPluginBabelHelpers-CVdsimvi.js.map +0 -1
- package/dist/esm/hooks/useToggle.js +0 -3
- package/dist/esm/hooks/useToggle.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ interface UseBatteryStateReturn {
|
|
|
22
22
|
* @returns {UseBatteryStateReturn} Object containing battery information & Battery API support
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
25
|
-
* const
|
|
25
|
+
* const { supported, loading, charging, chargingTime, dischargingTime, level } = useBattery();
|
|
26
26
|
*/
|
|
27
27
|
declare const useBattery: () => UseBatteryStateReturn;
|
|
28
28
|
|
|
@@ -55,12 +55,12 @@ declare const useClickOutside: UseClickOutside;
|
|
|
55
55
|
|
|
56
56
|
declare const legacyCopyToClipboard: (value: string) => void;
|
|
57
57
|
/** The use copy to clipboard return type */
|
|
58
|
-
|
|
58
|
+
interface UseCopyToClipboardReturn {
|
|
59
59
|
/** The copied value */
|
|
60
|
-
value: string | null
|
|
60
|
+
value: string | null;
|
|
61
61
|
/** Function to copy to clipboard */
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
copy: (value: string) => Promise<void>;
|
|
63
|
+
}
|
|
64
64
|
/**
|
|
65
65
|
* @name useCopyToClipboard
|
|
66
66
|
* @description - Hook that manages a copy to clipboard
|
|
@@ -68,7 +68,7 @@ type UseCopyToClipboardReturn = [
|
|
|
68
68
|
* @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state
|
|
69
69
|
*
|
|
70
70
|
* @example
|
|
71
|
-
* const
|
|
71
|
+
* const { value, copy } = useCopyToClipboard();
|
|
72
72
|
*/
|
|
73
73
|
declare const useCopyToClipboard: () => UseCopyToClipboardReturn;
|
|
74
74
|
|
|
@@ -194,6 +194,10 @@ type UseEventListener = {
|
|
|
194
194
|
*/
|
|
195
195
|
declare const useEventListener: UseEventListener;
|
|
196
196
|
|
|
197
|
+
interface UseHoverOptions {
|
|
198
|
+
onEntry?: () => void;
|
|
199
|
+
onLeave?: () => void;
|
|
200
|
+
}
|
|
197
201
|
type UseHoverTarget = React.RefObject<Element | null> | Element;
|
|
198
202
|
type UseHoverReturn<Target extends UseHoverTarget = any> = [
|
|
199
203
|
React.RefObject<Target>,
|
|
@@ -201,14 +205,31 @@ type UseHoverReturn<Target extends UseHoverTarget = any> = [
|
|
|
201
205
|
];
|
|
202
206
|
type UseHover = {
|
|
203
207
|
<Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;
|
|
208
|
+
<Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;
|
|
204
209
|
<Target extends UseHoverTarget>(callback?: () => void, target?: never): UseHoverReturn<Target>;
|
|
210
|
+
<Target extends UseHoverTarget>(options?: UseHoverOptions, target?: never): UseHoverReturn<Target>;
|
|
205
211
|
};
|
|
206
212
|
/**
|
|
207
213
|
* @name useHover
|
|
208
|
-
* @description - Hook that
|
|
214
|
+
* @description - Hook that defines the logic when hovering an element
|
|
209
215
|
*
|
|
210
216
|
* @example
|
|
211
|
-
* const
|
|
217
|
+
* const hovering = useHover(ref, () => console.log('callback'));
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* const [ref, hovering] = useHover(() => console.log('callback'));
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* const [ref, hovering] = useHover({
|
|
224
|
+
* onEntry: () => console.log('onEntry'),
|
|
225
|
+
* onLeave: () => console.log('onLeave'),
|
|
226
|
+
* });
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* const hovering = useHover(ref, {
|
|
230
|
+
* onEntry: () => console.log('onEntry'),
|
|
231
|
+
* onLeave: () => console.log('onLeave'),
|
|
232
|
+
* });
|
|
212
233
|
*/
|
|
213
234
|
declare const useHover: UseHover;
|
|
214
235
|
|
|
@@ -326,10 +347,22 @@ declare const getConnection: () => Connection;
|
|
|
326
347
|
* @returns {UseNetworkReturn} An object containing the network status.
|
|
327
348
|
*
|
|
328
349
|
* @example
|
|
329
|
-
* const
|
|
350
|
+
* const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();
|
|
330
351
|
*/
|
|
331
352
|
declare const useNetwork: () => UseNetworkReturn;
|
|
332
353
|
|
|
354
|
+
/**
|
|
355
|
+
* @name useNonInitialEffect
|
|
356
|
+
* @description – Hook that behaves like useEffect, but skips the effect on the initial render
|
|
357
|
+
*
|
|
358
|
+
* @param {React.EffectCallback} effect The effect callback
|
|
359
|
+
* @param {React.DependencyList} [deps] The dependencies list for the effect
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* useNonInitialEffect(() => {
|
|
363
|
+
* console.log('this effect doesn't run on the initial render');
|
|
364
|
+
* });
|
|
365
|
+
*/
|
|
333
366
|
declare const useNonInitialEffect: (effect: React.EffectCallback, deps?: React.DependencyList) => void;
|
|
334
367
|
|
|
335
368
|
declare const useOnline: () => boolean;
|
|
@@ -352,10 +385,74 @@ declare const useRenderCount: () => number;
|
|
|
352
385
|
|
|
353
386
|
declare const useSessionStorage: <Value>(key: string, initialValue?: UseStorageInitialValue<Value>, options?: UseStorageOptions<Value>) => readonly [Value | undefined, (value: Value) => void, () => void];
|
|
354
387
|
|
|
355
|
-
|
|
388
|
+
/** The use step params */
|
|
389
|
+
interface UseStepParams {
|
|
390
|
+
/** Initial value for step */
|
|
391
|
+
initial: number;
|
|
392
|
+
/** Maximum value for step */
|
|
393
|
+
max: number;
|
|
394
|
+
}
|
|
395
|
+
/** The use step return type */
|
|
396
|
+
interface UseStepReturn {
|
|
397
|
+
/** Counts of steps */
|
|
398
|
+
counts: number;
|
|
399
|
+
/** Current value of step */
|
|
400
|
+
currentStep: number;
|
|
401
|
+
/** Boolean value if current step is first */
|
|
402
|
+
isFirst: boolean;
|
|
403
|
+
/** Boolean value if current step is last */
|
|
404
|
+
isLast: boolean;
|
|
405
|
+
/** Go to next step */
|
|
406
|
+
next: () => void;
|
|
407
|
+
/** Go to back step */
|
|
408
|
+
back: () => void;
|
|
409
|
+
/** Reset current step to initial value */
|
|
410
|
+
reset: () => void;
|
|
411
|
+
/** Go to custom step */
|
|
412
|
+
set: (value: number | 'last' | 'first') => void;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* @name useStep
|
|
416
|
+
* @description - Hook that create stepper
|
|
417
|
+
*
|
|
418
|
+
* @overload
|
|
419
|
+
* @param {number} max Maximum number of steps
|
|
420
|
+
* @returns {UseStepReturn} An object contains variables and functions to change the step
|
|
421
|
+
*
|
|
422
|
+
* @overload
|
|
423
|
+
* @param {number} params.max Maximum number of steps
|
|
424
|
+
* @param {number} params.initial Initial value for step
|
|
425
|
+
* @returns {UseStepReturn} An object contains variables and functions to change the step
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* const step = useStep(5);
|
|
429
|
+
* @example
|
|
430
|
+
* const stepper = useStep({ initial: 2, max: 5 });
|
|
431
|
+
*/
|
|
432
|
+
declare const useStep: (params: number | UseStepParams) => UseStepReturn;
|
|
433
|
+
|
|
434
|
+
/** The use timeout return type */
|
|
435
|
+
interface UseTimeoutReturn {
|
|
436
|
+
/** Timeout is ready state value */
|
|
356
437
|
ready: boolean;
|
|
438
|
+
/** Function to clear timeout */
|
|
357
439
|
clear: () => void;
|
|
358
|
-
}
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* @name useTimeout
|
|
443
|
+
* @description Hook that executes a callback function after a specified delay.
|
|
444
|
+
*
|
|
445
|
+
* @param {() => void} callback The function to be executed after the timeout.
|
|
446
|
+
* @param {number} delay The delay in milliseconds before the timeout executes the callback function.
|
|
447
|
+
* @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout.
|
|
448
|
+
*
|
|
449
|
+
* @example
|
|
450
|
+
* const { clear, ready } = useTimeout(() => {}, 5000)
|
|
451
|
+
*/
|
|
452
|
+
declare function useTimeout(callback: () => void, delay: number): UseTimeoutReturn;
|
|
453
|
+
|
|
454
|
+
type UseToggleReturn<Value> = readonly [Value, (value?: Value) => void];
|
|
455
|
+
declare const useToggle: <Value = boolean>(values?: readonly Value[]) => readonly [Value, (value?: Value) => void];
|
|
359
456
|
|
|
360
457
|
/**
|
|
361
458
|
* @name useUnmount
|
|
@@ -414,4 +511,4 @@ declare const useWindowSize: (params?: UseWindowSizeParams) => {
|
|
|
414
511
|
height: number;
|
|
415
512
|
};
|
|
416
513
|
|
|
417
|
-
export { type ConnectionEffectiveType, type ConnectionType, type UseClickOutside, type UseClickOutsideReturn, type UseCounter, type UseCounterOptions, type UseCounterParams, type UseCounterReturn, type UseDocumentTitleOptions, type UseDocumentTitleReturn, type UseEventListener, type UseEventListenerOptions, type UseEventListenerReturn, type UseEventListenerTarget, type UseHover, type UseHoverReturn, type UseHoverTarget, type UseKeyPressEvent, type UseKeyPressEventKey, type UseKeyPressKey, type UseKeyPressOptions, type UseNetworkReturn, type UseStorageInitialValue, type UseStorageOptions, type UseStorageReturn, type UseWindowSizeReturn, dispatchStorageEvent, getConnection, legacyCopyToClipboard, useBattery, useBoolean, useClickOutside, useCopyToClipboard, useCounter, useDebouncedValue, useDocumentTitle, useDocumentVisibility, useEventListener, useHover, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeysPressed, useLocalStorage, useMount, useNetwork, useNonInitialEffect, useOnline, useOrientation, useRenderCount, useSessionStorage, useStorage, useTimeout, useUnmount, useWindowEvent, useWindowSize };
|
|
514
|
+
export { type ConnectionEffectiveType, type ConnectionType, type UseClickOutside, type UseClickOutsideReturn, type UseCounter, type UseCounterOptions, type UseCounterParams, type UseCounterReturn, type UseDocumentTitleOptions, type UseDocumentTitleReturn, type UseEventListener, type UseEventListenerOptions, type UseEventListenerReturn, type UseEventListenerTarget, type UseHover, type UseHoverOptions, type UseHoverReturn, type UseHoverTarget, type UseKeyPressEvent, type UseKeyPressEventKey, type UseKeyPressKey, type UseKeyPressOptions, type UseNetworkReturn, type UseStorageInitialValue, type UseStorageOptions, type UseStorageReturn, type UseToggleReturn, type UseWindowSizeReturn, dispatchStorageEvent, getConnection, legacyCopyToClipboard, useBattery, useBoolean, useClickOutside, useCopyToClipboard, useCounter, useDebouncedValue, useDocumentTitle, useDocumentVisibility, useEventListener, useHover, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeysPressed, useLocalStorage, useMount, useNetwork, useNonInitialEffect, useOnline, useOrientation, useRenderCount, useSessionStorage, useStep, useStorage, useTimeout, useToggle, useUnmount, useWindowEvent, useWindowSize };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siberiacancode/reactuse",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Ultimate tool",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"type": "tsc --noEmit",
|
|
39
39
|
"pretty": "yarn type && yarn format && yarn lint",
|
|
40
40
|
"prepare": "husky install",
|
|
41
|
-
"unit-test": "
|
|
41
|
+
"unit-test": "vitest",
|
|
42
42
|
"docs:dev": "vitepress dev docs",
|
|
43
43
|
"docs:build": "vitepress build docs",
|
|
44
44
|
"docs:preview": "vitepress preview docs"
|
|
@@ -62,12 +62,10 @@
|
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@siberiacancode/builder": "^1.3.0",
|
|
64
64
|
"@siberiacancode/eslint": "^1.1.0",
|
|
65
|
-
"@siberiacancode/jest": "^1.0.2",
|
|
66
65
|
"@siberiacancode/prettier": "^1.1.0",
|
|
67
66
|
"@testing-library/jest-dom": "^6.4.5",
|
|
68
67
|
"@testing-library/react": "^15.0.7",
|
|
69
68
|
"@types/doctrine": "^0.0.9",
|
|
70
|
-
"@types/jest": "^29.5.12",
|
|
71
69
|
"@types/node": "^20.11.19",
|
|
72
70
|
"@types/react": "^18.3.2",
|
|
73
71
|
"@types/react-dom": "^18.3.0",
|
|
@@ -75,6 +73,7 @@
|
|
|
75
73
|
"doctrine": "^3.0.0",
|
|
76
74
|
"eslint": "^8.56.0",
|
|
77
75
|
"husky": "^9.0.11",
|
|
76
|
+
"jsdom": "^24.1.0",
|
|
78
77
|
"lint-staged": "^15.2.2",
|
|
79
78
|
"markdown-table": "^3.0.3",
|
|
80
79
|
"react": "^18.2.0",
|
|
@@ -82,7 +81,8 @@
|
|
|
82
81
|
"shx": "^0.3.4",
|
|
83
82
|
"typescript": "^5.3.3",
|
|
84
83
|
"vite": "^5.1.3",
|
|
85
|
-
"vitepress": "^1.1.4"
|
|
84
|
+
"vitepress": "^1.1.4",
|
|
85
|
+
"vitest": "^1.6.0"
|
|
86
86
|
},
|
|
87
87
|
"keywords": [
|
|
88
88
|
"react",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers-DKURZ6hh.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.3 */
|
|
2
|
-
"use strict";var e=require("../_rollupPluginBabelHelpers-DKURZ6hh.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
|
|
3
|
-
//# sourceMappingURL=useToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useToggle.js","sources":["../../../src/hooks/useToggle.ts"],"sourcesContent":["import React from 'react';\n\nexport type UseToggleReturn<Value> = readonly [Value, (value?: Value) => void];\n\nexport const useToggle = <Value = boolean>(values: readonly Value[] = [false, true] as any) => {\n const [[option], toggle] = React.useReducer(\n (state: Value[], action: React.SetStateAction<Value>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n return state.slice(index).concat(state.slice(0, index));\n },\n values as Value[]\n );\n\n return [option, toggle as (value?: Value) => void] as const;\n};\n"],"names":["values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";4GAIyB,WAAsE,IAApDA,EAAwBC,UAAAC,eAAAC,IAAAF,UAAA,GAAAA,UAAG,GAAA,EAAC,GAAO,GAC5EG,EAA2BC,EAAMC,YAC/B,SAACC,EAAgBC,GACf,IAAMC,EAAQD,aAAkBE,SAAWF,EAAOD,EAAM,IAAMC,EACxDG,EAAQC,KAAKC,IAAIN,EAAMO,QAAQL,IACrC,OAAOF,EAAMQ,MAAMJ,GAAOK,OAAOT,EAAMQ,MAAM,EAAGJ,GACjD,GACDX,GACDiB,EAAAC,EAAAA,eAAAd,EAAA,GAED,MAAO,CAFNc,EAAAA,eAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers-CVdsimvi.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.3 */
|
|
2
|
-
import{_ as r}from"../_rollupPluginBabelHelpers-CVdsimvi.js";import e from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],t=e.useReducer((function(r,e){var n=e instanceof Function?e(r[0]):e,t=Math.abs(r.indexOf(n));return r.slice(t).concat(r.slice(0,t))}),n),o=r(t,2);return[r(o[0],1)[0],o[1]]};export{n as useToggle};
|
|
3
|
-
//# sourceMappingURL=useToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useToggle.js","sources":["../../../src/hooks/useToggle.ts"],"sourcesContent":["import React from 'react';\n\nexport type UseToggleReturn<Value> = readonly [Value, (value?: Value) => void];\n\nexport const useToggle = <Value = boolean>(values: readonly Value[] = [false, true] as any) => {\n const [[option], toggle] = React.useReducer(\n (state: Value[], action: React.SetStateAction<Value>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n return state.slice(index).concat(state.slice(0, index));\n },\n values as Value[]\n );\n\n return [option, toggle as (value?: Value) => void] as const;\n};\n"],"names":["useToggle","values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";sFAIaA,EAAY,WAAsE,IAApDC,EAAwBC,UAAAC,eAAAC,IAAAF,UAAA,GAAAA,UAAG,GAAA,EAAC,GAAO,GAC5EG,EAA2BC,EAAMC,YAC/B,SAACC,EAAgBC,GACf,IAAMC,EAAQD,aAAkBE,SAAWF,EAAOD,EAAM,IAAMC,EACxDG,EAAQC,KAAKC,IAAIN,EAAMO,QAAQL,IACrC,OAAOF,EAAMQ,MAAMJ,GAAOK,OAAOT,EAAMQ,MAAM,EAAGJ,GACjD,GACDX,GACDiB,EAAAC,EAAAd,EAAA,GAED,MAAO,CAFNc,EAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
|