@take-out/hooks 0.4.3 → 0.4.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/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/useClickOutside.cjs +24 -15
- package/dist/cjs/useClickOutside.native.js +34 -22
- package/dist/cjs/useClickOutside.native.js.map +1 -1
- package/dist/cjs/useDebouncePrepend.cjs +47 -27
- package/dist/cjs/useDebouncePrepend.native.js +48 -32
- package/dist/cjs/useDebouncePrepend.native.js.map +1 -1
- package/dist/cjs/useDeepMemoizedObject.cjs +154 -95
- package/dist/cjs/useDeepMemoizedObject.native.js +177 -111
- package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -1
- package/dist/cjs/useDeepMemoizedObject.test.cjs +269 -199
- package/dist/cjs/useDeepMemoizedObject.test.native.js +265 -202
- package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -1
- package/dist/cjs/useDeferredBoolean.cjs +20 -15
- package/dist/cjs/useDeferredBoolean.native.js +22 -17
- package/dist/cjs/useDeferredBoolean.native.js.map +1 -1
- package/dist/cjs/useEffectOnceGlobally.cjs +24 -12
- package/dist/cjs/useEffectOnceGlobally.native.js +27 -15
- package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -1
- package/dist/cjs/useEvent.cjs +14 -11
- package/dist/cjs/useEvent.native.js +17 -12
- package/dist/cjs/useEvent.native.js.map +1 -1
- package/dist/cjs/useIsMounted.cjs +17 -14
- package/dist/cjs/useIsMounted.native.js +20 -17
- package/dist/cjs/useIsMounted.native.js.map +1 -1
- package/dist/cjs/useLastValue.cjs +13 -11
- package/dist/cjs/useLastValue.native.js +13 -11
- package/dist/cjs/useLastValue.native.js.map +1 -1
- package/dist/cjs/useLastValueIf.cjs +21 -14
- package/dist/cjs/useLastValueIf.native.js +21 -14
- package/dist/cjs/useLastValueIf.native.js.map +1 -1
- package/dist/cjs/useMemoStable.cjs +17 -14
- package/dist/cjs/useMemoStable.native.js +17 -14
- package/dist/cjs/useMemoStable.native.js.map +1 -1
- package/dist/cjs/useMemoizedObjectList.cjs +45 -29
- package/dist/cjs/useMemoizedObjectList.native.js +60 -39
- package/dist/cjs/useMemoizedObjectList.native.js.map +1 -1
- package/dist/cjs/useThrottle.cjs +34 -21
- package/dist/cjs/useThrottle.native.js +41 -27
- package/dist/cjs/useThrottle.native.js.map +1 -1
- package/dist/cjs/useWarnIfDepsChange.cjs +38 -27
- package/dist/cjs/useWarnIfDepsChange.native.js +38 -28
- package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -1
- package/dist/cjs/useWarnIfMemoChangesOften.cjs +24 -15
- package/dist/cjs/useWarnIfMemoChangesOften.native.js +27 -21
- package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -1
- package/dist/esm/useClickOutside.mjs +10 -3
- package/dist/esm/useClickOutside.mjs.map +1 -1
- package/dist/esm/useClickOutside.native.js +20 -10
- package/dist/esm/useClickOutside.native.js.map +1 -1
- package/dist/esm/useDebouncePrepend.mjs +33 -15
- package/dist/esm/useDebouncePrepend.mjs.map +1 -1
- package/dist/esm/useDebouncePrepend.native.js +34 -20
- package/dist/esm/useDebouncePrepend.native.js.map +1 -1
- package/dist/esm/useDeepMemoizedObject.mjs +142 -85
- package/dist/esm/useDeepMemoizedObject.mjs.map +1 -1
- package/dist/esm/useDeepMemoizedObject.native.js +165 -101
- package/dist/esm/useDeepMemoizedObject.native.js.map +1 -1
- package/dist/esm/useDeepMemoizedObject.test.mjs +267 -197
- package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -1
- package/dist/esm/useDeepMemoizedObject.test.native.js +263 -200
- package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -1
- package/dist/esm/useDeferredBoolean.mjs +8 -5
- package/dist/esm/useDeferredBoolean.mjs.map +1 -1
- package/dist/esm/useDeferredBoolean.native.js +8 -5
- package/dist/esm/useDeferredBoolean.native.js.map +1 -1
- package/dist/esm/useEffectOnceGlobally.mjs +12 -2
- package/dist/esm/useEffectOnceGlobally.mjs.map +1 -1
- package/dist/esm/useEffectOnceGlobally.native.js +13 -3
- package/dist/esm/useEffectOnceGlobally.native.js.map +1 -1
- package/dist/esm/useEvent.mjs +2 -1
- package/dist/esm/useEvent.mjs.map +1 -1
- package/dist/esm/useEvent.native.js +5 -2
- package/dist/esm/useEvent.native.js.map +1 -1
- package/dist/esm/useIsMounted.mjs +5 -4
- package/dist/esm/useIsMounted.mjs.map +1 -1
- package/dist/esm/useIsMounted.native.js +5 -4
- package/dist/esm/useIsMounted.native.js.map +1 -1
- package/dist/esm/useLastValue.mjs +1 -1
- package/dist/esm/useLastValue.mjs.map +1 -1
- package/dist/esm/useLastValue.native.js +1 -1
- package/dist/esm/useLastValue.native.js.map +1 -1
- package/dist/esm/useLastValueIf.mjs +9 -4
- package/dist/esm/useLastValueIf.mjs.map +1 -1
- package/dist/esm/useLastValueIf.native.js +9 -4
- package/dist/esm/useLastValueIf.native.js.map +1 -1
- package/dist/esm/useMemoStable.mjs +3 -2
- package/dist/esm/useMemoStable.mjs.map +1 -1
- package/dist/esm/useMemoStable.native.js +3 -2
- package/dist/esm/useMemoStable.native.js.map +1 -1
- package/dist/esm/useMemoizedObjectList.mjs +31 -17
- package/dist/esm/useMemoizedObjectList.mjs.map +1 -1
- package/dist/esm/useMemoizedObjectList.native.js +46 -27
- package/dist/esm/useMemoizedObjectList.native.js.map +1 -1
- package/dist/esm/useThrottle.mjs +20 -9
- package/dist/esm/useThrottle.mjs.map +1 -1
- package/dist/esm/useThrottle.native.js +24 -12
- package/dist/esm/useThrottle.native.js.map +1 -1
- package/dist/esm/useWarnIfDepsChange.mjs +24 -15
- package/dist/esm/useWarnIfDepsChange.mjs.map +1 -1
- package/dist/esm/useWarnIfDepsChange.native.js +24 -16
- package/dist/esm/useWarnIfDepsChange.native.js.map +1 -1
- package/dist/esm/useWarnIfMemoChangesOften.mjs +10 -3
- package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -1
- package/dist/esm/useWarnIfMemoChangesOften.native.js +10 -6
- package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,51 +5,61 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var useWarnIfDepsChange_exports = {};
|
|
24
26
|
__export(useWarnIfDepsChange_exports, {
|
|
25
27
|
useWarnIfDepsChange: () => useWarnIfDepsChange
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useWarnIfDepsChange_exports);
|
|
28
|
-
var import_helpers = require("@take-out/helpers")
|
|
29
|
-
|
|
30
|
+
var import_helpers = require("@take-out/helpers");
|
|
31
|
+
var import_react = require("react");
|
|
30
32
|
function useWarnIfDepsChange(deps, options) {
|
|
31
33
|
var {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
maxChanges = 0,
|
|
35
|
+
name,
|
|
36
|
+
ignoreIndexBefore = 0
|
|
37
|
+
} = options;
|
|
38
|
+
var changeCountRef = (0, import_react.useRef)(0);
|
|
39
|
+
var prevDepsRef = (0, import_react.useRef)(void 0);
|
|
40
|
+
var id = (0, import_react.useId)();
|
|
39
41
|
(0, import_react.useEffect)(function () {
|
|
40
42
|
if (process.env.NODE_ENV === "development") {
|
|
41
43
|
if (prevDepsRef.current !== void 0) {
|
|
42
|
-
var changedDeps = []
|
|
43
|
-
|
|
44
|
+
var changedDeps = [];
|
|
45
|
+
var compareDeps = ignoreIndexBefore ? deps.slice(ignoreIndexBefore) : deps;
|
|
44
46
|
compareDeps.forEach(function (dep, indexIn) {
|
|
45
47
|
var index = indexIn + ignoreIndexBefore;
|
|
46
|
-
prevDepsRef.current && prevDepsRef.current[index] !== dep
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
if (prevDepsRef.current && prevDepsRef.current[index] !== dep) {
|
|
49
|
+
changedDeps.push({
|
|
50
|
+
index,
|
|
51
|
+
prev: prevDepsRef.current[index],
|
|
52
|
+
next: dep
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
if (changedDeps.length > 0) {
|
|
57
|
+
changeCountRef.current++;
|
|
58
|
+
if (changeCountRef.current > maxChanges) {
|
|
59
|
+
console.info(`\u{1F504} useWarnIfDepsChange "${name}" is changing too often! Changed ${changeCountRef.current} times (max: ${maxChanges})`, changedDeps, `
|
|
60
|
+
id (${id}) at:`, (0, import_helpers.getCurrentComponentStack)("short"));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
53
63
|
}
|
|
54
64
|
prevDepsRef.current = deps;
|
|
55
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfDepsChange_exports","__export","useWarnIfDepsChange","module","exports","import_helpers","require","import_react","deps","options","maxChanges","name","ignoreIndexBefore","changeCountRef","useRef","prevDepsRef","id","useId","useEffect","process","env","NODE_ENV","current","changedDeps","compareDeps","slice","forEach","dep","indexIn","index","push","prev","next","length","console","info","getCurrentComponentStack"],"sources":["../../src/useWarnIfDepsChange.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfDepsChange_exports","__export","useWarnIfDepsChange","module","exports","import_helpers","require","import_react","deps","options","maxChanges","name","ignoreIndexBefore","changeCountRef","useRef","prevDepsRef","id","useId","useEffect","process","env","NODE_ENV","current","changedDeps","compareDeps","slice","forEach","dep","indexIn","index","push","prev","next","length","console","info","getCurrentComponentStack"],"sources":["../../src/useWarnIfDepsChange.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,2BAAA;AACzC,IAAAK,cAAA,GAAyCC,OAAA;AAQlC,IAAAC,YAAS,GAAAD,OAAA,QACd,CACA;AAEA,SAAMJ,mBAAkBA,CAAAM,IAAM,EAAAC,OAAA;EAE9B;IAAMC,UAAA;IAAAC,IAAA;IAAiBC,iBAAA,GAAO;EAAC,IAAAH,OAAA;EAC/B,IAAAI,cAAM,OAAcN,YAAA,CAAAO,MAAA,EAAsB;EAC1C,IAAAC,WAAW,OAAAR,YAAA,CAAMO,MAAA;EAEjB,IAAAE,EAAA,OAAAT,YAAA,CAAAU,KAAU,GAAM;EACd,IAAAV,YAAY,CAAAW,SAAI,cAAa;IAC3B,IAAAC,OAAI,CAAAC,GAAA,CAAAC,QAAY,kBAAuB;MACrC,IAAAN,WAAM,CAAAO,OAIA;QAEN,IAAAC,WAAM,KAAc;QAEpB,IAAAC,WAAY,GAAAZ,iBAAc,GAAYJ,IAAA,CAAAiB,KAAA,CAAAb,iBAAA,IAAAJ,IAAA;QACpCgB,WAAM,CAAAE,OAAQ,WAAUC,GAAA,EAAAC,OAAA;UAExB,IAAIC,KAAA,GAAAD,OAAY,GAAAhB,iBAAuB;UACrC,IAAAG,WAAY,CAAAO,OAAK,IAAAP,WAAA,CAAAO,OAAA,CAAAO,KAAA,MAAAF,GAAA;YAAAJ,WACf,CAAAO,IAAA;cACAD,KAAA;cACAE,IAAA,EAAMhB,WAAA,CAAAO,OAAA,CAAAO,KAAA;cACPG,IAAA,EAAAL;YACH;UACD;QAED;QACE,IAAAJ,WAAA,CAAAU,MAAe;UAEfpB,cAAI,CAAAS,OAAe;UAEjB,IAAAT,cAAQ,CAAAS,OAAA,GAAAZ,UAAA;YAAAwB,OACN,CAAAC,IAAA,mCAA+BxB,IAAA,oCAAoCE,cAAsB,CAAAS,OAAA,gBAA0BZ,UAAA,KAAAa,WAAA;AAAA,OAAAP,EAAA,OACnH,MAAAX,cAAA,CAAA+B,wBAAA;UAAA;QACU;MAAE;MACoBrB,WAClC,CAAAO,OAAA,GAAAd,IAAA;IAAA;EACF;AACF","ignoreList":[]}
|
|
@@ -3,32 +3,41 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var useWarnIfMemoChangesOften_exports = {};
|
|
22
24
|
__export(useWarnIfMemoChangesOften_exports, {
|
|
23
25
|
useWarnIfMemoChangesOften: () => useWarnIfMemoChangesOften
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(useWarnIfMemoChangesOften_exports);
|
|
26
|
-
var import_helpers = require("@take-out/helpers")
|
|
27
|
-
|
|
28
|
+
var import_helpers = require("@take-out/helpers");
|
|
29
|
+
var import_react = require("react");
|
|
28
30
|
const useWarnIfMemoChangesOften = process.env.NODE_ENV === "production" ? import_helpers.emptyFn : (value, threshold = 5, name) => {
|
|
29
|
-
const countRef = (0, import_react.useRef)(0)
|
|
30
|
-
|
|
31
|
+
const countRef = (0, import_react.useRef)(0);
|
|
32
|
+
const prevValueRef = (0, import_react.useRef)(value);
|
|
31
33
|
(0, import_react.useEffect)(() => {
|
|
32
|
-
|
|
34
|
+
if (prevValueRef.current !== value) {
|
|
35
|
+
countRef.current++;
|
|
36
|
+
prevValueRef.current = value;
|
|
37
|
+
if (countRef.current > threshold) {
|
|
38
|
+
const warningName = name || "Memoized value";
|
|
39
|
+
console.warn(`\u{1F504} ${warningName} is changing too often! Changed ${countRef.current} times (threshold: ${threshold})`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
33
42
|
}, [value, threshold, name]);
|
|
34
43
|
};
|
|
@@ -5,38 +5,44 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var useWarnIfMemoChangesOften_exports = {};
|
|
24
26
|
__export(useWarnIfMemoChangesOften_exports, {
|
|
25
27
|
useWarnIfMemoChangesOften: () => useWarnIfMemoChangesOften
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useWarnIfMemoChangesOften_exports);
|
|
28
|
-
var import_helpers = require("@take-out/helpers")
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
var import_helpers = require("@take-out/helpers");
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var useWarnIfMemoChangesOften = process.env.NODE_ENV === "production" ? import_helpers.emptyFn : function (value) {
|
|
33
|
+
var threshold = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 5,
|
|
34
|
+
name = arguments.length > 2 ? arguments[2] : void 0;
|
|
35
|
+
var countRef = (0, import_react.useRef)(0);
|
|
36
|
+
var prevValueRef = (0, import_react.useRef)(value);
|
|
37
|
+
(0, import_react.useEffect)(function () {
|
|
38
|
+
if (prevValueRef.current !== value) {
|
|
39
|
+
countRef.current++;
|
|
40
|
+
prevValueRef.current = value;
|
|
41
|
+
if (countRef.current > threshold) {
|
|
37
42
|
var warningName = name || "Memoized value";
|
|
38
43
|
console.warn(`\u{1F504} ${warningName} is changing too often! Changed ${countRef.current} times (threshold: ${threshold})`);
|
|
39
44
|
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
45
|
+
}
|
|
46
|
+
}, [value, threshold, name]);
|
|
47
|
+
};
|
|
42
48
|
//# sourceMappingURL=useWarnIfMemoChangesOften.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfMemoChangesOften_exports","__export","useWarnIfMemoChangesOften","module","exports","import_helpers","require","import_react","process","env","NODE_ENV","emptyFn","threshold","arguments","length","name","countRef","useRef","prevValueRef","useEffect","current","warningName","console","warn"],"sources":["../../src/useWarnIfMemoChangesOften.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfMemoChangesOften_exports","__export","useWarnIfMemoChangesOften","module","exports","import_helpers","require","import_react","process","env","NODE_ENV","emptyFn","threshold","arguments","length","name","countRef","useRef","prevValueRef","useEffect","current","warningName","console","warn"],"sources":["../../src/useWarnIfMemoChangesOften.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iCAAA;AAAAC,QAAA,CAAAD,iCAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAwB,CAAAK,iCAAA;AACxB,IAAAK,cAAA,GAAkCC,OAAA;AAE3B,IAAAC,YAAM,GAAAD,OAAA,QACX;AAGM,IAAAJ,yBAAiB,GAAAM,OAAA,CAAAC,GAAA,CAAOC,QAAC,oBAAAL,cAAA,CAAAM,OAAA,aAAAZ,KAAA;EACzB,IAAAa,SAAM,GAAAC,SAAe,CAAAC,MAAA,QAAAD,SAAU,EAAK,eAAAA,SAAA;IAAAE,IAAA,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA;EAEpC,IAAAG,QAAA,OAAAT,YAAU,CAAAU,MAAM;EACd,IAAAC,YAAI,GAAa,IAAAX,YAAY,CAAAU,MAAO,EAAAlB,KAAA;EAClC,IAAAQ,YAAS,CAAAY,SAAA;IACT,IAAAD,YAAa,CAAAE,OAAA,KAAUrB,KAAA;MAEvBiB,QAAI,CAAAI,OAAS;MACXF,YAAM,CAAAE,OAAA,GAAcrB,KAAA;MACpB,IAAAiB,QAAQ,CAAAI,OAAA,GAAAR,SAAA;QAAA,IACNS,WAAM,GAAAN,IAAA,IAAW;QACnBO,OAAA,CAAAC,IAAA,cAAAF,WAAA,mCAAAL,QAAA,CAAAI,OAAA,sBAAAR,SAAA;MACF;IACF;EACF,GAAG,CACLb,KAAA,E","ignoreList":[]}
|
|
@@ -6,12 +6,19 @@ const useClickOutside = ({
|
|
|
6
6
|
onClickOutside
|
|
7
7
|
}) => {
|
|
8
8
|
useEffect(() => {
|
|
9
|
-
if (!isWeb
|
|
9
|
+
if (!isWeb) return;
|
|
10
|
+
if (!active) return;
|
|
11
|
+
if (!onClickOutside) return;
|
|
10
12
|
const handleClickOutside = e => {
|
|
11
13
|
const node = ref.current;
|
|
12
|
-
|
|
14
|
+
if (!node) return;
|
|
15
|
+
if (!(e.target instanceof HTMLElement)) return;
|
|
16
|
+
if (!node.contains(e.target)) {
|
|
17
|
+
onClickOutside();
|
|
18
|
+
}
|
|
13
19
|
};
|
|
14
|
-
|
|
20
|
+
document.addEventListener("click", handleClickOutside);
|
|
21
|
+
return () => {
|
|
15
22
|
document.removeEventListener("click", handleClickOutside);
|
|
16
23
|
};
|
|
17
24
|
}, [ref, active, onClickOutside]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWeb","useEffect","useClickOutside","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener","removeEventListener"],"sources":["../../src/useClickOutside.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AACtB,SAASC,SAAA,QAAiB;AAQnB,MAAMC,eAAA,GAAkBA,CAAC;EAC9BC,GAAA;EACAC,MAAA;EACAC;AACF,MAA4B;EAC1BJ,SAAA,CAAU,MAAM;
|
|
1
|
+
{"version":3,"names":["isWeb","useEffect","useClickOutside","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener","removeEventListener"],"sources":["../../src/useClickOutside.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AACtB,SAASC,SAAA,QAAiB;AAQnB,MAAMC,eAAA,GAAkBA,CAAC;EAC9BC,GAAA;EACAC,MAAA;EACAC;AACF,MAA4B;EAC1BJ,SAAA,CAAU,MAAM;IACd,IAAI,CAACD,KAAA,EAAO;IACZ,IAAI,CAACI,MAAA,EAAQ;IACb,IAAI,CAACC,cAAA,EAAgB;IAErB,MAAMC,kBAAA,GAAsBC,CAAA,IAAkB;MAC5C,MAAMC,IAAA,GAAOL,GAAA,CAAIM,OAAA;MACjB,IAAI,CAACD,IAAA,EAAM;MACX,IAAI,EAAED,CAAA,CAAEG,MAAA,YAAkBC,WAAA,GAAc;MACxC,IAAI,CAACH,IAAA,CAAKI,QAAA,CAASL,CAAA,CAAEG,MAAM,GAAG;QAC5BL,cAAA,CAAe;MACjB;IACF;IAEAQ,QAAA,CAASC,gBAAA,CAAiB,SAASR,kBAAkB;IACrD,OAAO,MAAM;MACXO,QAAA,CAASE,mBAAA,CAAoB,SAAST,kBAAkB;IAC1D;EACF,GAAG,CAACH,GAAA,EAAKC,MAAA,EAAQC,cAAc,CAAC;AAClC","ignoreList":[]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { isWeb } from "@take-out/helpers";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
3
|
function _instanceof(left, right) {
|
|
4
|
-
|
|
4
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
5
|
+
return !!right[Symbol.hasInstance](left);
|
|
6
|
+
} else {
|
|
7
|
+
return left instanceof right;
|
|
8
|
+
}
|
|
5
9
|
}
|
|
6
10
|
var useClickOutside = function (param) {
|
|
7
11
|
var {
|
|
@@ -10,15 +14,21 @@ var useClickOutside = function (param) {
|
|
|
10
14
|
onClickOutside
|
|
11
15
|
} = param;
|
|
12
16
|
useEffect(function () {
|
|
13
|
-
if (isWeb
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
if (!isWeb) return;
|
|
18
|
+
if (!active) return;
|
|
19
|
+
if (!onClickOutside) return;
|
|
20
|
+
var handleClickOutside = function (e) {
|
|
21
|
+
var node = ref.current;
|
|
22
|
+
if (!node) return;
|
|
23
|
+
if (!_instanceof(e.target, HTMLElement)) return;
|
|
24
|
+
if (!node.contains(e.target)) {
|
|
25
|
+
onClickOutside();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
document.addEventListener("click", handleClickOutside);
|
|
29
|
+
return function () {
|
|
30
|
+
document.removeEventListener("click", handleClickOutside);
|
|
31
|
+
};
|
|
22
32
|
}, [ref, active, onClickOutside]);
|
|
23
33
|
};
|
|
24
34
|
export { useClickOutside };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWeb","useEffect","_instanceof","left","right","Symbol","hasInstance","useClickOutside","param","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener"
|
|
1
|
+
{"version":3,"names":["isWeb","useEffect","_instanceof","left","right","Symbol","hasInstance","useClickOutside","param","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener"],"sources":["../../src/useClickOutside.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AACtB,SAASC,SAAA,QAAiB;AAQnB,SAAMC,YAAAC,IAAmB,EAAAC,KAAA;EAC9B,IAAAA,KAAA,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACA,SAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EACA;IACF,OAA4BA,IAAA,YAAAC,KAAA;EAC1B;AACE;AACA,IAAAG,eAAa,YAAAA,CAAAC,KAAA;EACb;IAAIC,GAAC;IAAAC,MAAA;IAAAC;EAAgB,IAAAH,KAAA;EAErBP,SAAM;IACJ,KAAAD,KAAM;IACN,KAAAU,MAAK,EAAM;IACX,KAAAC,cAAQ;IACR,IAAAC,kBAAmB,GAAE,SAAAA,CAASC,CAAA;MAC5B,IAAAC,IAAA,GAAAL,GAAA,CAAAM,OAAe;MACjB,KAAAD,IAAA;MACF,KAAAZ,WAAA,CAAAW,CAAA,CAAAG,MAAA,EAAAC,WAAA;MAEA,KAAAH,IAAS,CAAAI,QAAA,CAAAL,CAAA,CAAAG,MAAiB;QAC1BL,cAAa;MACX;IACF;IACFQ,QAAS,CAAAC,gBAAQ,QAAe,EAAAR,kBAAA;IAClC","ignoreList":[]}
|
|
@@ -1,23 +1,41 @@
|
|
|
1
1
|
import { debounce } from "@take-out/helpers";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
3
|
function useDebouncePrepend(list, delay) {
|
|
4
|
-
const [current, setCurrent] = useState(list)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
const [current, setCurrent] = useState(list);
|
|
5
|
+
const [previous, setPrevious] = useState(list);
|
|
6
|
+
const [pendingUpdate, setPendingUpdate] = useState(null);
|
|
7
|
+
const debouncedUpdate = useMemo(() => {
|
|
8
|
+
return debounce(newList => {
|
|
9
|
+
setCurrent(newList);
|
|
10
|
+
setPendingUpdate(null);
|
|
11
|
+
}, delay);
|
|
12
|
+
}, [delay]);
|
|
13
|
+
const updateState = useCallback(newList => {
|
|
14
|
+
setCurrent(prevCurrent => {
|
|
15
|
+
const currentList = pendingUpdate || prevCurrent;
|
|
16
|
+
const isPrepending = newList.length > previous.length && newList[0]?.id !== previous[0]?.id;
|
|
17
|
+
if (isPrepending) {
|
|
18
|
+
debouncedUpdate.cancel();
|
|
19
|
+
setPendingUpdate(newList);
|
|
20
|
+
debouncedUpdate(newList);
|
|
21
|
+
return currentList;
|
|
22
|
+
}
|
|
23
|
+
debouncedUpdate.cancel();
|
|
24
|
+
setPendingUpdate(null);
|
|
25
|
+
return newList;
|
|
26
|
+
});
|
|
27
|
+
}, [previous, pendingUpdate, debouncedUpdate]);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (list === previous) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
setPrevious(list);
|
|
33
|
+
updateState(list);
|
|
34
|
+
return () => {
|
|
18
35
|
debouncedUpdate.cancel();
|
|
19
36
|
};
|
|
20
|
-
}, [list, previous, updateState, debouncedUpdate])
|
|
37
|
+
}, [list, previous, updateState, debouncedUpdate]);
|
|
38
|
+
return current;
|
|
21
39
|
}
|
|
22
40
|
export { useDebouncePrepend };
|
|
23
41
|
//# sourceMappingURL=useDebouncePrepend.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["debounce","useCallback","useEffect","useMemo","useState","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","currentList","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAEnD,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIL,QAAA,CAASE,IAAI;
|
|
1
|
+
{"version":3,"names":["debounce","useCallback","useEffect","useMemo","useState","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","currentList","isPrepending","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAEnD,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIL,QAAA,CAASE,IAAI;EAC3C,MAAM,CAACI,QAAA,EAAUC,WAAW,IAAIP,QAAA,CAASE,IAAI;EAC7C,MAAM,CAACM,aAAA,EAAeC,gBAAgB,IAAIT,QAAA,CAAmB,IAAI;EAEjE,MAAMU,eAAA,GAAkBX,OAAA,CAAQ,MAAM;IACpC,OAAOH,QAAA,CAAUe,OAAA,IAAe;MAC9BN,UAAA,CAAWM,OAAO;MAClBF,gBAAA,CAAiB,IAAI;IACvB,GAAGN,KAAK;EACV,GAAG,CAACA,KAAK,CAAC;EAEV,MAAMS,WAAA,GAAcf,WAAA,CACjBc,OAAA,IAAe;IACdN,UAAA,CAAYQ,WAAA,IAAgB;MAE1B,MAAMC,WAAA,GAAcN,aAAA,IAAiBK,WAAA;MAGrC,MAAME,YAAA,GACJJ,OAAA,CAAQK,MAAA,GAASV,QAAA,CAASU,MAAA,IAAUL,OAAA,CAAQ,CAAC,GAAGM,EAAA,KAAOX,QAAA,CAAS,CAAC,GAAGW,EAAA;MAEtE,IAAIF,YAAA,EAAc;QAEhBL,eAAA,CAAgBQ,MAAA,CAAO;QACvBT,gBAAA,CAAiBE,OAAO;QACxBD,eAAA,CAAgBC,OAAO;QACvB,OAAOG,WAAA;MACT;MAGAJ,eAAA,CAAgBQ,MAAA,CAAO;MACvBT,gBAAA,CAAiB,IAAI;MACrB,OAAOE,OAAA;IACT,CAAC;EACH,GACA,CAACL,QAAA,EAAUE,aAAA,EAAeE,eAAe,CAC3C;EAEAZ,SAAA,CAAU,MAAM;IACd,IAAII,IAAA,KAASI,QAAA,EAAU;MACrB;IACF;IAGAC,WAAA,CAAYL,IAAI;IAGhBU,WAAA,CAAYV,IAAI;IAEhB,OAAO,MAAM;MACXQ,eAAA,CAAgBQ,MAAA,CAAO;IACzB;EACF,GAAG,CAAChB,IAAA,EAAMI,QAAA,EAAUM,WAAA,EAAaF,eAAe,CAAC;EAEjD,OAAON,OAAA;AACT","ignoreList":[]}
|
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
import { debounce } from "@take-out/helpers";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
3
|
function useDebouncePrepend(list, delay) {
|
|
4
|
-
var [current, setCurrent] = useState(list)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
4
|
+
var [current, setCurrent] = useState(list);
|
|
5
|
+
var [previous, setPrevious] = useState(list);
|
|
6
|
+
var [pendingUpdate, setPendingUpdate] = useState(null);
|
|
7
|
+
var debouncedUpdate = useMemo(function () {
|
|
8
|
+
return debounce(function (newList) {
|
|
9
|
+
setCurrent(newList);
|
|
10
|
+
setPendingUpdate(null);
|
|
11
|
+
}, delay);
|
|
12
|
+
}, [delay]);
|
|
13
|
+
var updateState = useCallback(function (newList) {
|
|
14
|
+
setCurrent(function (prevCurrent) {
|
|
15
|
+
var _newList_, _previous_;
|
|
16
|
+
var currentList = pendingUpdate || prevCurrent;
|
|
17
|
+
var isPrepending = newList.length > previous.length && ((_newList_ = newList[0]) === null || _newList_ === void 0 ? void 0 : _newList_.id) !== ((_previous_ = previous[0]) === null || _previous_ === void 0 ? void 0 : _previous_.id);
|
|
18
|
+
if (isPrepending) {
|
|
19
|
+
debouncedUpdate.cancel();
|
|
20
|
+
setPendingUpdate(newList);
|
|
21
|
+
debouncedUpdate(newList);
|
|
22
|
+
return currentList;
|
|
23
|
+
}
|
|
24
|
+
debouncedUpdate.cancel();
|
|
25
|
+
setPendingUpdate(null);
|
|
26
|
+
return newList;
|
|
27
|
+
});
|
|
28
|
+
}, [previous, pendingUpdate, debouncedUpdate]);
|
|
29
|
+
useEffect(function () {
|
|
30
|
+
if (list === previous) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
setPrevious(list);
|
|
34
|
+
updateState(list);
|
|
35
|
+
return function () {
|
|
23
36
|
debouncedUpdate.cancel();
|
|
24
37
|
};
|
|
25
|
-
}, [list, previous, updateState, debouncedUpdate])
|
|
38
|
+
}, [list, previous, updateState, debouncedUpdate]);
|
|
39
|
+
return current;
|
|
26
40
|
}
|
|
27
41
|
export { useDebouncePrepend };
|
|
28
42
|
//# sourceMappingURL=useDebouncePrepend.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["debounce","useCallback","useEffect","useMemo","useState","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","_newList_","_previous_","currentList","isPrepending","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAEnD,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,KAAAC,OAAO,EAAAC,UAAS,IAAUL,QAAI,CAAAE,IAAS;
|
|
1
|
+
{"version":3,"names":["debounce","useCallback","useEffect","useMemo","useState","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","_newList_","_previous_","currentList","isPrepending","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAEnD,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,KAAAC,OAAO,EAAAC,UAAS,IAAUL,QAAI,CAAAE,IAAS;EACvC,KAAAI,QAAO,EAAAC,WAAU,IAAWP,QAAI,CAAAE,IAAS;EACzC,KAAAM,aAAO,EAAAC,gBAAe,IAAgBT,QAAI,KAAmB;EAE7D,IAAAU,eAAM,GAAAX,OAAkB,aAAc;IACpC,OAAOH,QAAA,CAAS,UAACe,OAAe;MAC9BN,UAAA,CAAWM,OAAO;MAClBF,gBAAA,CAAiB,IAAI;IACvB,GAAGN,KAAK;EACV,GAAG,CAEHA,KAAM,CAAc,CAClB;EACE,IAAAS,WAAW,GAACf,WAAA,WAAgBc,OAAA;IAE1BN,UAAM,WAAAQ,WAAc;MAGpB,IAAAC,SAAM,EAAAC,UACJ;MAEF,IAAAC,WAAI,GAAAR,aAAc,IAAAK,WAAA;MAEhB,IAAAI,YAAA,GAAAN,OAAgB,CAAOO,MAAA,GAAAZ,QAAA,CAAAY,MAAA,MAAAJ,SAAA,GAAAH,OAAA,iBAAAG,SAAA,uBAAAA,SAAA,CAAAK,EAAA,QAAAJ,UAAA,GAAAT,QAAA,iBAAAS,UAAA,uBAAAA,UAAA,CAAAI,EAAA;MACvB,IAAAF,YAAA;QACAP,eAAA,CAAAU,MAAgB;QAChBX,gBAAO,CAAAE,OAAA;QACTD,eAAA,CAAAC,OAAA;QAGA,OAAAK,WAAgB;MAChB;MACAN,eAAO,CAAAU,MAAA;MACTX,gBAAC;MACH,OAAAE,OAAA;IACA,CAAC;EACH,IAEAL,QAAU,EACRE,aAAa,EACXE,eAAA,EACF;EAGAZ,SAAA,aAAgB;IAGhB,IAAAI,IAAA,KAAYI,QAAI;MAEhB;IACE;IACFC,WAAA,CAAAL,IAAA;IACFU,WAAU,CAAAV,IAAA;IAEV,OAAO;MACTQ,eAAA,CAAAU,MAAA","ignoreList":[]}
|