@vnejs/uis.react.use-is-render-hook 0.1.6 → 0.1.8
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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/isRender.hook.d.ts +2 -5
- package/dist/isRender.hook.d.ts.map +1 -1
- package/dist/isRender.hook.js +3 -3
- package/dist/isRender.hook.js.map +1 -1
- package/dist/isRender.hook.types.d.ts +12 -0
- package/dist/isRender.hook.types.d.ts.map +1 -0
- package/dist/isRender.hook.types.js +2 -0
- package/dist/isRender.hook.types.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/isRender.hook.ts +19 -7
- package/src/isRender.hook.types.ts +19 -0
- package/tsconfig.json +0 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
package/dist/isRender.hook.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
isRenderShow: boolean;
|
|
4
|
-
isRenderForce: any;
|
|
5
|
-
};
|
|
1
|
+
import { type UseIsRenderHookRef, type UseIsRenderHookReturn } from "./isRender.hook.types.js";
|
|
2
|
+
export declare const useIsRenderHook: (ref: UseIsRenderHookRef, isShow: boolean, isForce: boolean, transition: number | null) => UseIsRenderHookReturn;
|
|
6
3
|
//# sourceMappingURL=isRender.hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRender.hook.d.ts","sourceRoot":"","sources":["../src/isRender.hook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isRender.hook.d.ts","sourceRoot":"","sources":["../src/isRender.hook.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAQlC,eAAO,MAAM,eAAe,GAC1B,KAAK,kBAAkB,EACvB,QAAQ,OAAO,EACf,SAAS,OAAO,EAChB,YAAY,MAAM,GAAG,IAAI,KACxB,qBAiCF,CAAC"}
|
package/dist/isRender.hook.js
CHANGED
|
@@ -19,16 +19,16 @@ export const useIsRenderHook = (ref, isShow, isForce, transition) => {
|
|
|
19
19
|
const rafObj = {};
|
|
20
20
|
rafObj.raf = requestAnimationFrameWithCheckAndCallback(rafObj, ref, setIsRenderShow);
|
|
21
21
|
return () => cancelAnimationFrame(rafObj.raf);
|
|
22
|
-
}, [isShow, isRenderForce, isRenderShow, isRender]);
|
|
22
|
+
}, [isShow, isRenderForce, isRenderShow, isRender, ref]);
|
|
23
23
|
useEffect(() => {
|
|
24
24
|
if (isShow || (!isRender && !isRenderShow))
|
|
25
25
|
return;
|
|
26
26
|
setIsRenderShow(false);
|
|
27
27
|
if (isRenderForce)
|
|
28
28
|
return void setIsRender(false);
|
|
29
|
-
const tm = setTimeout(() => setIsRender(false), transition);
|
|
29
|
+
const tm = setTimeout(() => setIsRender(false), transition ?? 0);
|
|
30
30
|
return () => clearTimeout(tm);
|
|
31
|
-
}, [isShow, isRenderForce, isRenderShow, isRender]);
|
|
31
|
+
}, [isShow, isRenderForce, isRenderShow, isRender, transition]);
|
|
32
32
|
return { isRender, isRenderShow, isRenderForce };
|
|
33
33
|
};
|
|
34
34
|
//# sourceMappingURL=isRender.hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isRender.hook.js","sourceRoot":"","sources":["../src/isRender.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"isRender.hook.js","sourceRoot":"","sources":["../src/isRender.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,yCAAyC,GAA8C,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAC/G,qBAAqB,CAAC,GAAG,EAAE;IACzB,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,CAAC,GAAG,GAAG,yCAAyC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;;QACrF,EAAE,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAuB,EACvB,MAAe,EACf,OAAgB,EAChB,UAAyB,EACF,EAAE;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;YAAE,OAAO;QAElD,WAAW,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,aAAa;YAAE,OAAO,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC;QAErD,MAAM,MAAM,GAA+B,EAAE,CAAC;QAE9C,MAAM,CAAC,GAAG,GAAG,yCAAyC,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QAErF,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO;QAEnD,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,aAAa;YAAE,OAAO,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QAEjE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MutableRefObject } from "react";
|
|
2
|
+
export type UseIsRenderHookRef = MutableRefObject<HTMLElement | null>;
|
|
3
|
+
export type UseIsRenderHookReturn = {
|
|
4
|
+
isRender: boolean;
|
|
5
|
+
isRenderShow: boolean;
|
|
6
|
+
isRenderForce: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type RequestAnimationFrameState = {
|
|
9
|
+
raf?: number;
|
|
10
|
+
};
|
|
11
|
+
export type RequestAnimationFrameWithCheckAndCallback = (rafObj: RequestAnimationFrameState, ref: UseIsRenderHookRef, cb: (value: boolean) => void) => number;
|
|
12
|
+
//# sourceMappingURL=isRender.hook.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRender.hook.types.d.ts","sourceRoot":"","sources":["../src/isRender.hook.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG,CACtD,MAAM,EAAE,0BAA0B,EAClC,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzB,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRender.hook.types.js","sourceRoot":"","sources":["../src/isRender.hook.types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from "./isRender.hook";
|
|
1
|
+
export * from "./isRender.hook.types.js";
|
|
2
|
+
export * from "./isRender.hook.js";
|
package/src/isRender.hook.ts
CHANGED
|
@@ -2,13 +2,25 @@ import { useEffect, useState } from "react";
|
|
|
2
2
|
|
|
3
3
|
import { useIsForceHook } from "@vnejs/uis.react";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import {
|
|
6
|
+
type RequestAnimationFrameState,
|
|
7
|
+
type RequestAnimationFrameWithCheckAndCallback,
|
|
8
|
+
type UseIsRenderHookRef,
|
|
9
|
+
type UseIsRenderHookReturn,
|
|
10
|
+
} from "./isRender.hook.types.js";
|
|
11
|
+
|
|
12
|
+
const requestAnimationFrameWithCheckAndCallback: RequestAnimationFrameWithCheckAndCallback = (rafObj, ref, cb) =>
|
|
6
13
|
requestAnimationFrame(() => {
|
|
7
14
|
if (!ref.current) rafObj.raf = requestAnimationFrameWithCheckAndCallback(rafObj, ref, cb);
|
|
8
15
|
else cb(true);
|
|
9
16
|
});
|
|
10
17
|
|
|
11
|
-
export const useIsRenderHook = (
|
|
18
|
+
export const useIsRenderHook = (
|
|
19
|
+
ref: UseIsRenderHookRef,
|
|
20
|
+
isShow: boolean,
|
|
21
|
+
isForce: boolean,
|
|
22
|
+
transition: number | null,
|
|
23
|
+
): UseIsRenderHookReturn => {
|
|
12
24
|
const [isRender, setIsRender] = useState(false);
|
|
13
25
|
const [isRenderShow, setIsRenderShow] = useState(false);
|
|
14
26
|
|
|
@@ -21,12 +33,12 @@ export const useIsRenderHook = (ref, isShow, isForce, transition) => {
|
|
|
21
33
|
|
|
22
34
|
if (isRenderForce) return void setIsRenderShow(true);
|
|
23
35
|
|
|
24
|
-
const rafObj:
|
|
36
|
+
const rafObj: RequestAnimationFrameState = {};
|
|
25
37
|
|
|
26
38
|
rafObj.raf = requestAnimationFrameWithCheckAndCallback(rafObj, ref, setIsRenderShow);
|
|
27
39
|
|
|
28
|
-
return () => cancelAnimationFrame(rafObj.raf);
|
|
29
|
-
}, [isShow, isRenderForce, isRenderShow, isRender]);
|
|
40
|
+
return () => cancelAnimationFrame(rafObj.raf!);
|
|
41
|
+
}, [isShow, isRenderForce, isRenderShow, isRender, ref]);
|
|
30
42
|
|
|
31
43
|
useEffect(() => {
|
|
32
44
|
if (isShow || (!isRender && !isRenderShow)) return;
|
|
@@ -35,10 +47,10 @@ export const useIsRenderHook = (ref, isShow, isForce, transition) => {
|
|
|
35
47
|
|
|
36
48
|
if (isRenderForce) return void setIsRender(false);
|
|
37
49
|
|
|
38
|
-
const tm = setTimeout(() => setIsRender(false), transition);
|
|
50
|
+
const tm = setTimeout(() => setIsRender(false), transition ?? 0);
|
|
39
51
|
|
|
40
52
|
return () => clearTimeout(tm);
|
|
41
|
-
}, [isShow, isRenderForce, isRenderShow, isRender]);
|
|
53
|
+
}, [isShow, isRenderForce, isRenderShow, isRender, transition]);
|
|
42
54
|
|
|
43
55
|
return { isRender, isRenderShow, isRenderForce };
|
|
44
56
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MutableRefObject } from "react";
|
|
2
|
+
|
|
3
|
+
export type UseIsRenderHookRef = MutableRefObject<HTMLElement | null>;
|
|
4
|
+
|
|
5
|
+
export type UseIsRenderHookReturn = {
|
|
6
|
+
isRender: boolean;
|
|
7
|
+
isRenderShow: boolean;
|
|
8
|
+
isRenderForce: boolean;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type RequestAnimationFrameState = {
|
|
12
|
+
raf?: number;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type RequestAnimationFrameWithCheckAndCallback = (
|
|
16
|
+
rafObj: RequestAnimationFrameState,
|
|
17
|
+
ref: UseIsRenderHookRef,
|
|
18
|
+
cb: (value: boolean) => void,
|
|
19
|
+
) => number;
|