@capsitech/react-utilities 0.1.7 → 0.1.9
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/lib/Components.d.ts +2 -0
- package/lib/Components.js +5 -0
- package/lib/Components.js.map +1 -0
- package/lib/Hooks/index.d.ts +2 -2
- package/lib/Hooks.d.ts +2 -0
- package/lib/Hooks.js +67 -0
- package/lib/Hooks.js.map +1 -0
- package/lib/Utilities.d.ts +2 -0
- package/lib/Utilities.js +54 -0
- package/lib/Utilities.js.map +1 -0
- package/lib/dayjs-aKjfjjRl.mjs +605 -0
- package/lib/dayjs-aKjfjjRl.mjs.map +1 -0
- package/lib/index.js +69 -3458
- package/lib/index.js.map +1 -1
- package/lib/src/Components/SuspenseRoute.d.ts +2 -0
- package/lib/src/Components/SuspenseRoute.js +22 -0
- package/lib/src/Components/SuspenseRoute.js.map +1 -0
- package/lib/src/Components/index.d.ts +2 -0
- package/lib/src/Components/index.js +5 -0
- package/lib/src/Components/index.js.map +1 -0
- package/lib/src/Hooks/index.d.ts +2 -0
- package/lib/src/Hooks/index.js +20 -0
- package/lib/src/Hooks/index.js.map +1 -0
- package/lib/src/Hooks/useInfiniteScroll.d.ts +2 -0
- package/lib/src/Hooks/useInfiniteScroll.js +20 -0
- package/lib/src/Hooks/useInfiniteScroll.js.map +1 -0
- package/lib/src/Hooks/useNetworkState.d.ts +2 -0
- package/lib/src/Hooks/useNetworkState.js +33 -0
- package/lib/src/Hooks/useNetworkState.js.map +1 -0
- package/lib/src/Hooks/useShortcuts.d.ts +2 -0
- package/lib/src/Hooks/useShortcuts.js +43 -0
- package/lib/src/Hooks/useShortcuts.js.map +1 -0
- package/lib/src/Utilities/ApiUtility.axios.d.ts +2 -0
- package/lib/src/Utilities/ApiUtility.axios.js +222 -0
- package/lib/src/Utilities/ApiUtility.axios.js.map +1 -0
- package/lib/src/Utilities/BrowserInfo.d.ts +2 -0
- package/lib/src/Utilities/BrowserInfo.js +51 -0
- package/lib/src/Utilities/BrowserInfo.js.map +1 -0
- package/lib/src/Utilities/Countries.d.ts +2 -0
- package/lib/src/Utilities/Countries.js +512 -0
- package/lib/src/Utilities/Countries.js.map +1 -0
- package/lib/src/Utilities/CustomEventEmitter.d.ts +2 -0
- package/lib/src/Utilities/CustomEventEmitter.js +24 -0
- package/lib/src/Utilities/CustomEventEmitter.js.map +1 -0
- package/lib/src/Utilities/FastCompare.d.ts +2 -0
- package/lib/src/Utilities/FastCompare.js +56 -0
- package/lib/src/Utilities/FastCompare.js.map +1 -0
- package/lib/src/Utilities/HideablePromise.d.ts +2 -0
- package/lib/src/Utilities/HideablePromise.js +12 -0
- package/lib/src/Utilities/HideablePromise.js.map +1 -0
- package/lib/src/Utilities/LoadScripts.d.ts +2 -0
- package/lib/src/Utilities/LoadScripts.js +26 -0
- package/lib/src/Utilities/LoadScripts.js.map +1 -0
- package/lib/src/Utilities/MTDFraudPrevention.d.ts +2 -0
- package/lib/src/Utilities/MTDFraudPrevention.js +60 -0
- package/lib/src/Utilities/MTDFraudPrevention.js.map +1 -0
- package/lib/src/Utilities/Nationalities.d.ts +2 -0
- package/lib/src/Utilities/Nationalities.js +250 -0
- package/lib/src/Utilities/Nationalities.js.map +1 -0
- package/lib/src/Utilities/RouteUtils.d.ts +2 -0
- package/lib/src/Utilities/RouteUtils.js +192 -0
- package/lib/src/Utilities/RouteUtils.js.map +1 -0
- package/lib/src/Utilities/TimeZones.d.ts +2 -0
- package/lib/src/Utilities/TimeZones.js +1074 -0
- package/lib/src/Utilities/TimeZones.js.map +1 -0
- package/lib/src/Utilities/Types.d.ts +1 -0
- package/lib/src/Utilities/Types.js +2 -0
- package/lib/src/Utilities/Types.js.map +1 -0
- package/lib/src/Utilities/Utils.d.ts +2 -0
- package/lib/src/Utilities/Utils.js +271 -0
- package/lib/src/Utilities/Utils.js.map +1 -0
- package/lib/src/Utilities/dayjs.d.ts +2 -0
- package/lib/src/Utilities/dayjs.js +6 -0
- package/lib/src/Utilities/dayjs.js.map +1 -0
- package/lib/src/Utilities/index.d.ts +2 -0
- package/lib/src/Utilities/index.js +54 -0
- package/lib/src/Utilities/index.js.map +1 -0
- package/package.json +40 -3
- package/lib/index.cjs +0 -2
- package/lib/index.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/lib/Hooks/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
1
|
+
import { useEffect, MutableRefObject } from 'react';
|
|
2
2
|
export * from './useInfiniteScroll';
|
|
3
3
|
export * from './useNetworkState';
|
|
4
4
|
export * from './useShortcuts';
|
|
@@ -13,7 +13,7 @@ export declare const useUpdateEffect: typeof useEffect;
|
|
|
13
13
|
*
|
|
14
14
|
* @param value the value or function to persist
|
|
15
15
|
*/
|
|
16
|
-
export declare function useLatestRef<T>(value: T):
|
|
16
|
+
export declare function useLatestRef<T>(value: T): MutableRefObject<T>;
|
|
17
17
|
/**
|
|
18
18
|
* useCallbackRef hook
|
|
19
19
|
*
|
package/lib/Hooks.d.ts
ADDED
package/lib/Hooks.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useRef as u, useEffect as n, useCallback as i } from "react";
|
|
2
|
+
import { useInfiniteScroll as b } from "./src/Hooks/useInfiniteScroll.js";
|
|
3
|
+
import { isBrowser as R, isNavigator as x, useNetworkState as C } from "./src/Hooks/useNetworkState.js";
|
|
4
|
+
import { disabledEventPropagation as E, useShortcuts as T } from "./src/Hooks/useShortcuts.js";
|
|
5
|
+
const a = (t, r) => {
|
|
6
|
+
const e = u(!1);
|
|
7
|
+
return n(() => {
|
|
8
|
+
if (e.current)
|
|
9
|
+
return t();
|
|
10
|
+
e.current = !0;
|
|
11
|
+
}, r), e.current;
|
|
12
|
+
};
|
|
13
|
+
function c(t) {
|
|
14
|
+
const r = u(t);
|
|
15
|
+
return n(() => {
|
|
16
|
+
r.current = t;
|
|
17
|
+
}, [t]), r;
|
|
18
|
+
}
|
|
19
|
+
const l = (t) => {
|
|
20
|
+
const r = u(t);
|
|
21
|
+
return n(() => {
|
|
22
|
+
r.current = t;
|
|
23
|
+
}), i(
|
|
24
|
+
((...e) => r.current?.(...e)),
|
|
25
|
+
[]
|
|
26
|
+
);
|
|
27
|
+
}, m = () => {
|
|
28
|
+
const t = u(!0);
|
|
29
|
+
return t.current ? (t.current = !1, !0) : t.current;
|
|
30
|
+
};
|
|
31
|
+
function p(t, r) {
|
|
32
|
+
const e = c(t);
|
|
33
|
+
n(() => {
|
|
34
|
+
const s = () => {
|
|
35
|
+
e.current?.();
|
|
36
|
+
};
|
|
37
|
+
if (r !== null) {
|
|
38
|
+
const o = setInterval(s, r);
|
|
39
|
+
return () => clearInterval(o);
|
|
40
|
+
}
|
|
41
|
+
}, [r, e]);
|
|
42
|
+
}
|
|
43
|
+
function d(t, r) {
|
|
44
|
+
const e = c(t);
|
|
45
|
+
n(() => {
|
|
46
|
+
if (r == null) return;
|
|
47
|
+
const s = setTimeout(() => {
|
|
48
|
+
e.current?.();
|
|
49
|
+
}, r);
|
|
50
|
+
return () => clearTimeout(s);
|
|
51
|
+
}, [r, e]);
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
E as disabledEventPropagation,
|
|
55
|
+
R as isBrowser,
|
|
56
|
+
x as isNavigator,
|
|
57
|
+
l as useCallbackRef,
|
|
58
|
+
m as useFirstRenderState,
|
|
59
|
+
b as useInfiniteScroll,
|
|
60
|
+
p as useInterval,
|
|
61
|
+
c as useLatestRef,
|
|
62
|
+
C as useNetworkState,
|
|
63
|
+
T as useShortcuts,
|
|
64
|
+
d as useTimeout,
|
|
65
|
+
a as useUpdateEffect
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=Hooks.js.map
|
package/lib/Hooks.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hooks.js","sources":["../src/Hooks/index.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\r\n\r\nexport * from './useInfiniteScroll';\r\nexport * from './useNetworkState';\r\nexport * from './useShortcuts';\r\n\r\n/**\r\n * React effect hook that invokes only on update.\r\n * It doesn't invoke on mount\r\n */\r\nexport const useUpdateEffect: typeof useEffect = (effect, deps) => {\r\n const mounted = useRef(false);\r\n\r\n useEffect(() => {\r\n if (mounted.current) {\r\n return effect();\r\n }\r\n mounted.current = true;\r\n return undefined;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, deps);\r\n\r\n return mounted.current;\r\n};\r\n\r\n/**\r\n * React hook to persist any value between renders,\r\n * but keeps it up-to-date if it changes.\r\n *\r\n * @param value the value or function to persist\r\n */\r\nexport function useLatestRef<T>(value: T) {\r\n const ref = useRef(value);\r\n\r\n useEffect(() => {\r\n ref.current = value;\r\n }, [value]);\r\n\r\n return ref;\r\n}\r\n\r\n/**\r\n * useCallbackRef hook\r\n *\r\n * A custom hook that converts a callback to a ref to avoid triggering re-renders\r\n * ..when passed as a prop or avoid re-executing effects when passed as a dependency\r\n *\r\n * @param callback The callback to write to a ref object\r\n */\r\nexport const useCallbackRef = <T extends (...args: any[]) => any>(callback: T | undefined): T => {\r\n const callbackRef = useRef(callback);\r\n\r\n useEffect(() => {\r\n callbackRef.current = callback;\r\n });\r\n\r\n return useCallback(\r\n ((...args) => {\r\n return callbackRef.current?.(...args);\r\n }) as T,\r\n []\r\n );\r\n};\r\n\r\n/**\r\n * useFirstRenderState hook\r\n *\r\n * Returns \"true\" if component is just mounted (first render), else \"false\".\r\n */\r\nexport const useFirstRenderState = (): boolean => {\r\n const isFirst = useRef(true);\r\n\r\n if (isFirst.current) {\r\n isFirst.current = false;\r\n return true;\r\n }\r\n\r\n return isFirst.current;\r\n};\r\n\r\n/**\r\n * React Hook that provides a declarative `setInterval`\r\n *\r\n * @param callback the callback to execute at interval\r\n * @param delay the `setInterval` delay (in ms)\r\n */\r\nexport function useInterval(callback: () => void, delay: number | null) {\r\n const savedCallback = useLatestRef(callback);\r\n\r\n useEffect(() => {\r\n const tick = () => {\r\n savedCallback.current?.();\r\n };\r\n if (delay !== null) {\r\n const id = setInterval(tick, delay);\r\n return () => clearInterval(id);\r\n }\r\n }, [delay, savedCallback]);\r\n}\r\n\r\n/**\r\n * React hook that provides a declarative `setTimeout`\r\n *\r\n * @param callback the callback to run after specified delay\r\n * @param delay the delay (in ms)\r\n */\r\nexport function useTimeout(callback: Function, delay: number | null) {\r\n const savedCallback = useLatestRef(callback);\r\n\r\n useEffect(() => {\r\n if (delay == null) return;\r\n\r\n const timeoutId = setTimeout(() => {\r\n savedCallback.current?.();\r\n }, delay);\r\n\r\n return () => clearTimeout(timeoutId);\r\n }, [delay, savedCallback]);\r\n}\r\n"],"names":["useUpdateEffect","effect","deps","mounted","useRef","useEffect","useLatestRef","value","ref","useCallbackRef","callback","callbackRef","useCallback","args","useFirstRenderState","isFirst","useInterval","delay","savedCallback","tick","id","useTimeout","timeoutId"],"mappings":";;;;AAUO,MAAMA,IAAoC,CAACC,GAAQC,MAAS;AACjE,QAAMC,IAAUC,EAAO,EAAK;AAE5B,SAAAC,EAAU,MAAM;AACd,QAAIF,EAAQ;AACV,aAAOF,EAAA;AAET,IAAAE,EAAQ,UAAU;AAAA,EAGpB,GAAGD,CAAI,GAEAC,EAAQ;AACjB;AAQO,SAASG,EAAgBC,GAAU;AACxC,QAAMC,IAAMJ,EAAOG,CAAK;AAExB,SAAAF,EAAU,MAAM;AACd,IAAAG,EAAI,UAAUD;AAAA,EAChB,GAAG,CAACA,CAAK,CAAC,GAEHC;AACT;AAUO,MAAMC,IAAiB,CAAoCC,MAA+B;AAC/F,QAAMC,IAAcP,EAAOM,CAAQ;AAEnC,SAAAL,EAAU,MAAM;AACd,IAAAM,EAAY,UAAUD;AAAA,EACxB,CAAC,GAEME;AAAA,KACJ,IAAIC,MACIF,EAAY,UAAU,GAAGE,CAAI;AAAA,IAEtC,CAAA;AAAA,EAAC;AAEL,GAOaC,IAAsB,MAAe;AAChD,QAAMC,IAAUX,EAAO,EAAI;AAE3B,SAAIW,EAAQ,WACVA,EAAQ,UAAU,IACX,MAGFA,EAAQ;AACjB;AAQO,SAASC,EAAYN,GAAsBO,GAAsB;AACtE,QAAMC,IAAgBZ,EAAaI,CAAQ;AAE3C,EAAAL,EAAU,MAAM;AACd,UAAMc,IAAO,MAAM;AACjB,MAAAD,EAAc,UAAA;AAAA,IAChB;AACA,QAAID,MAAU,MAAM;AAClB,YAAMG,IAAK,YAAYD,GAAMF,CAAK;AAClC,aAAO,MAAM,cAAcG,CAAE;AAAA,IAC/B;AAAA,EACF,GAAG,CAACH,GAAOC,CAAa,CAAC;AAC3B;AAQO,SAASG,EAAWX,GAAoBO,GAAsB;AACnE,QAAMC,IAAgBZ,EAAaI,CAAQ;AAE3C,EAAAL,EAAU,MAAM;AACd,QAAIY,KAAS,KAAM;AAEnB,UAAMK,IAAY,WAAW,MAAM;AACjC,MAAAJ,EAAc,UAAA;AAAA,IAChB,GAAGD,CAAK;AAER,WAAO,MAAM,aAAaK,CAAS;AAAA,EACrC,GAAG,CAACL,GAAOC,CAAa,CAAC;AAC3B;"}
|
package/lib/Utilities.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ApiUtility as o, FileDownloadStatus as r, HttpMethods as i } from "./src/Utilities/ApiUtility.axios.js";
|
|
2
|
+
import { getBrowserDoNotTrackStatus as s, getBrowserPluginsAsString as a, getDeviceLocalIPAsString as g, getScreenColourDepth as m, getScreenHeight as p, getScreenScalingFactor as l, getScreenWidth as u, getTimezone as d, getUserAgent as f, getWindowHeight as S, getWindowWidth as c, resetDeviceIpString as x, resetDeviceIpTimeStamp as D } from "./src/Utilities/BrowserInfo.js";
|
|
3
|
+
import { AllCountries as w, getCountries as y, getCountryByPhoneNumber as A, getCountryOptions as C } from "./src/Utilities/Countries.js";
|
|
4
|
+
import { CustomEventEmitter as H } from "./src/Utilities/CustomEventEmitter.js";
|
|
5
|
+
import { d as T } from "./dayjs-aKjfjjRl.mjs";
|
|
6
|
+
import { fastCompare as I } from "./src/Utilities/FastCompare.js";
|
|
7
|
+
import { HideablePromise as U } from "./src/Utilities/HideablePromise.js";
|
|
8
|
+
import { LoadScript as B } from "./src/Utilities/LoadScripts.js";
|
|
9
|
+
import { fraudPreventionHeadersEnum as M, getFraudPreventionHeaders as O, getScreenDetails as b, windowDetails as L } from "./src/Utilities/MTDFraudPrevention.js";
|
|
10
|
+
import { AllNationalities as Z, getNationalityOptions as j } from "./src/Utilities/Nationalities.js";
|
|
11
|
+
import { FeatureStatus as z, RouteUtils as K } from "./src/Utilities/RouteUtils.js";
|
|
12
|
+
import { AllTimeZones as G, getTimeZoneOptions as J } from "./src/Utilities/TimeZones.js";
|
|
13
|
+
import { StorageMessageKey as V, Utils as X, useIsMountedRef as Y } from "./src/Utilities/Utils.js";
|
|
14
|
+
export {
|
|
15
|
+
w as AllCountries,
|
|
16
|
+
Z as AllNationalities,
|
|
17
|
+
G as AllTimeZones,
|
|
18
|
+
o as ApiUtility,
|
|
19
|
+
H as CustomEventEmitter,
|
|
20
|
+
z as FeatureStatus,
|
|
21
|
+
r as FileDownloadStatus,
|
|
22
|
+
U as HideablePromise,
|
|
23
|
+
i as HttpMethods,
|
|
24
|
+
B as LoadScript,
|
|
25
|
+
K as RouteUtils,
|
|
26
|
+
V as StorageMessageKey,
|
|
27
|
+
X as Utils,
|
|
28
|
+
T as dayjs,
|
|
29
|
+
I as fastCompare,
|
|
30
|
+
M as fraudPreventionHeadersEnum,
|
|
31
|
+
s as getBrowserDoNotTrackStatus,
|
|
32
|
+
a as getBrowserPluginsAsString,
|
|
33
|
+
y as getCountries,
|
|
34
|
+
A as getCountryByPhoneNumber,
|
|
35
|
+
C as getCountryOptions,
|
|
36
|
+
g as getDeviceLocalIPAsString,
|
|
37
|
+
O as getFraudPreventionHeaders,
|
|
38
|
+
j as getNationalityOptions,
|
|
39
|
+
m as getScreenColourDepth,
|
|
40
|
+
b as getScreenDetails,
|
|
41
|
+
p as getScreenHeight,
|
|
42
|
+
l as getScreenScalingFactor,
|
|
43
|
+
u as getScreenWidth,
|
|
44
|
+
J as getTimeZoneOptions,
|
|
45
|
+
d as getTimezone,
|
|
46
|
+
f as getUserAgent,
|
|
47
|
+
S as getWindowHeight,
|
|
48
|
+
c as getWindowWidth,
|
|
49
|
+
x as resetDeviceIpString,
|
|
50
|
+
D as resetDeviceIpTimeStamp,
|
|
51
|
+
Y as useIsMountedRef,
|
|
52
|
+
L as windowDetails
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=Utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utilities.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|