@korsolutions/guidon 1.0.11 → 1.0.12
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/commonjs/hooks/useGuidonRef.js +15 -9
- package/dist/commonjs/hooks/useGuidonRef.js.map +1 -1
- package/dist/module/hooks/useGuidonRef.js +15 -9
- package/dist/module/hooks/useGuidonRef.js.map +1 -1
- package/dist/typescript/commonjs/hooks/useGuidonRef.d.ts.map +1 -1
- package/dist/typescript/module/hooks/useGuidonRef.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/useGuidonRef.ts +13 -12
|
@@ -44,9 +44,13 @@ function useGuidonRegister() {
|
|
|
44
44
|
const config = (0, _store.useGuidonStore)(state => state.config);
|
|
45
45
|
const currentStepIndex = (0, _store.useGuidonStore)(state => state.currentStepIndex);
|
|
46
46
|
const measure = (0, _react.useCallback)((targetId, node) => {
|
|
47
|
-
if (!node || !isActive || !config)
|
|
47
|
+
if (!node || !isActive || !config) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
48
50
|
const isTargetUsed = config.steps.some(step => step.targetId === targetId);
|
|
49
|
-
if (!isTargetUsed)
|
|
51
|
+
if (!isTargetUsed) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
50
54
|
if (_reactNative.Platform.OS === "web") {
|
|
51
55
|
const el = node;
|
|
52
56
|
if (!el?.getBoundingClientRect) return;
|
|
@@ -96,15 +100,17 @@ function useGuidonRegister() {
|
|
|
96
100
|
if (raf) cancelAnimationFrame(raf);
|
|
97
101
|
};
|
|
98
102
|
}, [measure, unregisterTarget]);
|
|
103
|
+
|
|
104
|
+
// Re-measure all registered targets when guide becomes active or step changes
|
|
105
|
+
// This ensures targets from all hook instances get measured
|
|
99
106
|
(0, _react.useEffect)(() => {
|
|
100
107
|
if (!isActive || !config) return;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
measure(targetId, node);
|
|
108
|
+
|
|
109
|
+
// Measure all targets registered in this hook instance
|
|
110
|
+
elementsRef.current.forEach((node, id) => {
|
|
111
|
+
requestAnimationFrame(() => {
|
|
112
|
+
measure(id, node);
|
|
113
|
+
});
|
|
108
114
|
});
|
|
109
115
|
}, [currentStepIndex, isActive, config, measure]);
|
|
110
116
|
(0, _react.useEffect)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_store","useGuidon","register","useGuidonRegister","elementsRef","useRef","Map","rafRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","currentStepIndex","measure","useCallback","targetId","node","isTargetUsed","steps","some","step","Platform","OS","el","getBoundingClientRect","rect","style","window","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","x","left","scrollX","y","top","scrollY","width","height","native","measureInWindow","current","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","useEffect","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_store","useGuidon","register","useGuidonRegister","elementsRef","useRef","Map","rafRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","currentStepIndex","measure","useCallback","targetId","node","isTargetUsed","steps","some","step","Platform","OS","el","getBoundingClientRect","rect","style","window","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","x","left","scrollX","y","top","scrollY","width","height","native","measureInWindow","current","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","useEffect","forEach","id","handler","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["hooks/useGuidonRef.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,9 +40,13 @@ export function useGuidonRegister() {
|
|
|
40
40
|
const config = useGuidonStore(state => state.config);
|
|
41
41
|
const currentStepIndex = useGuidonStore(state => state.currentStepIndex);
|
|
42
42
|
const measure = useCallback((targetId, node) => {
|
|
43
|
-
if (!node || !isActive || !config)
|
|
43
|
+
if (!node || !isActive || !config) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
44
46
|
const isTargetUsed = config.steps.some(step => step.targetId === targetId);
|
|
45
|
-
if (!isTargetUsed)
|
|
47
|
+
if (!isTargetUsed) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
46
50
|
if (Platform.OS === "web") {
|
|
47
51
|
const el = node;
|
|
48
52
|
if (!el?.getBoundingClientRect) return;
|
|
@@ -92,15 +96,17 @@ export function useGuidonRegister() {
|
|
|
92
96
|
if (raf) cancelAnimationFrame(raf);
|
|
93
97
|
};
|
|
94
98
|
}, [measure, unregisterTarget]);
|
|
99
|
+
|
|
100
|
+
// Re-measure all registered targets when guide becomes active or step changes
|
|
101
|
+
// This ensures targets from all hook instances get measured
|
|
95
102
|
useEffect(() => {
|
|
96
103
|
if (!isActive || !config) return;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
measure(targetId, node);
|
|
104
|
+
|
|
105
|
+
// Measure all targets registered in this hook instance
|
|
106
|
+
elementsRef.current.forEach((node, id) => {
|
|
107
|
+
requestAnimationFrame(() => {
|
|
108
|
+
measure(id, node);
|
|
109
|
+
});
|
|
104
110
|
});
|
|
105
111
|
}, [currentStepIndex, isActive, config, measure]);
|
|
106
112
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","Platform","useGuidonStore","useGuidon","register","useGuidonRegister","elementsRef","Map","rafRef","registerTarget","state","unregisterTarget","isActive","config","currentStepIndex","measure","targetId","node","isTargetUsed","steps","some","step","OS","el","getBoundingClientRect","rect","style","window","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","x","left","scrollX","y","top","scrollY","width","height","native","measureInWindow","current","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","Platform","useGuidonStore","useGuidon","register","useGuidonRegister","elementsRef","Map","rafRef","registerTarget","state","unregisterTarget","isActive","config","currentStepIndex","measure","targetId","node","isTargetUsed","steps","some","step","OS","el","getBoundingClientRect","rect","style","window","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","x","left","scrollX","y","top","scrollY","width","height","native","measureInWindow","current","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","forEach","id","handler","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["hooks/useGuidonRef.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGuidonRef.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGuidonRef.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACvB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;
|
|
1
|
+
{"version":3,"file":"useGuidonRef.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGuidonRef.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACvB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;yBA+EV,MAAM,YACD,iBAAiB,GAAG,IAAI;EA7E3C;AAED,wBAAgB,iBAAiB,eA0ElB,MAAM,YACD,iBAAiB,GAAG,IAAI,UAqD3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGuidonRef.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGuidonRef.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACvB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;
|
|
1
|
+
{"version":3,"file":"useGuidonRef.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGuidonRef.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACvB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;yBA+EV,MAAM,YACD,iBAAiB,GAAG,IAAI;EA7E3C;AAED,wBAAgB,iBAAiB,eA0ElB,MAAM,YACD,iBAAiB,GAAG,IAAI,UAqD3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@korsolutions/guidon",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "A cross-platform walkthrough/onboarding component library for React Native with web support. Features spotlight effects, customizable tooltips, and flexible persistence options. ",
|
|
5
5
|
"repository": "https://github.com/KorSoftwareSolutions/guidon.git",
|
|
6
6
|
"author": "Christian Jimenez <christianjimenezfael@gmail.com>",
|
|
@@ -51,13 +51,17 @@ export function useGuidonRegister() {
|
|
|
51
51
|
|
|
52
52
|
const measure = useCallback(
|
|
53
53
|
(targetId: string, node: MeasurableElement | null) => {
|
|
54
|
-
if (!node || !isActive || !config)
|
|
54
|
+
if (!node || !isActive || !config) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
55
57
|
|
|
56
58
|
const isTargetUsed = config.steps.some(
|
|
57
59
|
(step) => step.targetId === targetId,
|
|
58
60
|
);
|
|
59
61
|
|
|
60
|
-
if (!isTargetUsed)
|
|
62
|
+
if (!isTargetUsed) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
61
65
|
|
|
62
66
|
if (Platform.OS === "web") {
|
|
63
67
|
const el = node as unknown as HTMLElement;
|
|
@@ -127,19 +131,16 @@ export function useGuidonRegister() {
|
|
|
127
131
|
[measure, unregisterTarget],
|
|
128
132
|
);
|
|
129
133
|
|
|
134
|
+
// Re-measure all registered targets when guide becomes active or step changes
|
|
135
|
+
// This ensures targets from all hook instances get measured
|
|
130
136
|
useEffect(() => {
|
|
131
137
|
if (!isActive || !config) return;
|
|
132
138
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const node = elementsRef.current.get(targetId);
|
|
139
|
-
if (!node) return;
|
|
140
|
-
|
|
141
|
-
requestAnimationFrame(() => {
|
|
142
|
-
measure(targetId, node);
|
|
139
|
+
// Measure all targets registered in this hook instance
|
|
140
|
+
elementsRef.current.forEach((node, id) => {
|
|
141
|
+
requestAnimationFrame(() => {
|
|
142
|
+
measure(id, node);
|
|
143
|
+
});
|
|
143
144
|
});
|
|
144
145
|
}, [currentStepIndex, isActive, config, measure]);
|
|
145
146
|
|