@korsolutions/guidon 1.0.21 → 1.0.22
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 +13 -5
- package/dist/commonjs/hooks/useGuidonRef.js.map +1 -1
- package/dist/module/hooks/useGuidonRef.js +13 -5
- 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 +14 -5
|
@@ -63,17 +63,25 @@ function useGuidonRegister() {
|
|
|
63
63
|
const isActive = (0, _store.useGuidonStore)(state => state.isActive);
|
|
64
64
|
const config = (0, _store.useGuidonStore)(state => state.config);
|
|
65
65
|
const currentStepIndex = (0, _store.useGuidonStore)(state => state.currentStepIndex);
|
|
66
|
+
|
|
67
|
+
// Use refs to avoid recreating callbacks when state changes (prevents infinite loop)
|
|
68
|
+
const isActiveRef = (0, _react.useRef)(isActive);
|
|
69
|
+
const configRef = (0, _react.useRef)(config);
|
|
70
|
+
isActiveRef.current = isActive;
|
|
71
|
+
configRef.current = config;
|
|
66
72
|
const measure = (0, _react.useCallback)((targetId, node) => {
|
|
73
|
+
const currentIsActive = isActiveRef.current;
|
|
74
|
+
const currentConfig = configRef.current;
|
|
67
75
|
console.log("[useGuidon] measure() called for:", targetId, {
|
|
68
76
|
hasNode: !!node,
|
|
69
|
-
isActive,
|
|
70
|
-
hasConfig: !!
|
|
77
|
+
isActive: currentIsActive,
|
|
78
|
+
hasConfig: !!currentConfig
|
|
71
79
|
});
|
|
72
|
-
if (!node || !
|
|
80
|
+
if (!node || !currentIsActive || !currentConfig) {
|
|
73
81
|
console.log("[useGuidon] measure() early return - missing node, inactive, or no config");
|
|
74
82
|
return;
|
|
75
83
|
}
|
|
76
|
-
const isTargetUsed =
|
|
84
|
+
const isTargetUsed = currentConfig.steps.some(step => step.targetId === targetId);
|
|
77
85
|
if (!isTargetUsed) {
|
|
78
86
|
console.log("[useGuidon] measure() - target not in config steps:", targetId);
|
|
79
87
|
return;
|
|
@@ -113,7 +121,7 @@ function useGuidonRegister() {
|
|
|
113
121
|
});
|
|
114
122
|
}
|
|
115
123
|
});
|
|
116
|
-
}, [
|
|
124
|
+
}, [registerTarget]);
|
|
117
125
|
const register = (0, _react.useCallback)(targetId => {
|
|
118
126
|
return node => {
|
|
119
127
|
if (node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_store","isElementInViewport","el","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","scrollElementIntoView","options","scrollIntoView","behavior","block","inline","useGuidon","register","useGuidonRegister","elementsRef","useRef","Map","rafRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","currentStepIndex","measure","useCallback","targetId","node","console","log","hasNode","hasConfig","isTargetUsed","steps","some","step","Platform","OS","style","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","measurements","x","scrollX","y","scrollY","width","height","native","measureInWindow","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_store","isElementInViewport","el","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","scrollElementIntoView","options","scrollIntoView","behavior","block","inline","useGuidon","register","useGuidonRegister","elementsRef","useRef","Map","rafRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","currentStepIndex","isActiveRef","configRef","current","measure","useCallback","targetId","node","currentIsActive","currentConfig","console","log","hasNode","hasConfig","isTargetUsed","steps","some","step","Platform","OS","style","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","measurements","x","scrollX","y","scrollY","width","height","native","measureInWindow","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","useEffect","Array","from","keys","currentStep","currentTargetId","shouldScroll","forEach","id","theme","scrollOptions","handler","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["hooks/useGuidonRef.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,17 +59,25 @@ export function useGuidonRegister() {
|
|
|
59
59
|
const isActive = useGuidonStore(state => state.isActive);
|
|
60
60
|
const config = useGuidonStore(state => state.config);
|
|
61
61
|
const currentStepIndex = useGuidonStore(state => state.currentStepIndex);
|
|
62
|
+
|
|
63
|
+
// Use refs to avoid recreating callbacks when state changes (prevents infinite loop)
|
|
64
|
+
const isActiveRef = useRef(isActive);
|
|
65
|
+
const configRef = useRef(config);
|
|
66
|
+
isActiveRef.current = isActive;
|
|
67
|
+
configRef.current = config;
|
|
62
68
|
const measure = useCallback((targetId, node) => {
|
|
69
|
+
const currentIsActive = isActiveRef.current;
|
|
70
|
+
const currentConfig = configRef.current;
|
|
63
71
|
console.log("[useGuidon] measure() called for:", targetId, {
|
|
64
72
|
hasNode: !!node,
|
|
65
|
-
isActive,
|
|
66
|
-
hasConfig: !!
|
|
73
|
+
isActive: currentIsActive,
|
|
74
|
+
hasConfig: !!currentConfig
|
|
67
75
|
});
|
|
68
|
-
if (!node || !
|
|
76
|
+
if (!node || !currentIsActive || !currentConfig) {
|
|
69
77
|
console.log("[useGuidon] measure() early return - missing node, inactive, or no config");
|
|
70
78
|
return;
|
|
71
79
|
}
|
|
72
|
-
const isTargetUsed =
|
|
80
|
+
const isTargetUsed = currentConfig.steps.some(step => step.targetId === targetId);
|
|
73
81
|
if (!isTargetUsed) {
|
|
74
82
|
console.log("[useGuidon] measure() - target not in config steps:", targetId);
|
|
75
83
|
return;
|
|
@@ -109,7 +117,7 @@ export function useGuidonRegister() {
|
|
|
109
117
|
});
|
|
110
118
|
}
|
|
111
119
|
});
|
|
112
|
-
}, [
|
|
120
|
+
}, [registerTarget]);
|
|
113
121
|
const register = useCallback(targetId => {
|
|
114
122
|
return node => {
|
|
115
123
|
if (node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","Platform","useGuidonStore","isElementInViewport","el","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","scrollElementIntoView","options","scrollIntoView","behavior","block","inline","useGuidon","register","useGuidonRegister","elementsRef","Map","rafRef","registerTarget","state","unregisterTarget","isActive","config","currentStepIndex","measure","targetId","node","console","log","hasNode","hasConfig","isTargetUsed","steps","some","step","OS","style","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","measurements","x","scrollX","y","scrollY","width","height","native","measureInWindow","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","Platform","useGuidonStore","isElementInViewport","el","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","scrollElementIntoView","options","scrollIntoView","behavior","block","inline","useGuidon","register","useGuidonRegister","elementsRef","Map","rafRef","registerTarget","state","unregisterTarget","isActive","config","currentStepIndex","isActiveRef","configRef","current","measure","targetId","node","currentIsActive","currentConfig","console","log","hasNode","hasConfig","isTargetUsed","steps","some","step","OS","style","getComputedStyle","paddingLeft","parseFloat","paddingRight","paddingTop","paddingBottom","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","measurements","x","scrollX","y","scrollY","width","height","native","measureInWindow","set","raf","requestAnimationFrame","delete","get","cancelAnimationFrame","Array","from","keys","currentStep","currentTargetId","shouldScroll","forEach","id","theme","scrollOptions","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;IACV,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AA4BF;;;;;;;;;;;;;;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;IACV,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AA4BF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;yBA6GV,MAAM,YACD,iBAAiB,GAAG,IAAI;EA3G3C;AAED,wBAAgB,iBAAiB,eAwGlB,MAAM,YACD,iBAAiB,GAAG,IAAI,UA2E3C"}
|
|
@@ -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;IACV,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AA4BF;;;;;;;;;;;;;;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;IACV,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AA4BF;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,SAAS;yBA6GV,MAAM,YACD,iBAAiB,GAAG,IAAI;EA3G3C;AAED,wBAAgB,iBAAiB,eAwGlB,MAAM,YACD,iBAAiB,GAAG,IAAI,UA2E3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@korsolutions/guidon",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
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>",
|
|
@@ -76,22 +76,31 @@ export function useGuidonRegister() {
|
|
|
76
76
|
const config = useGuidonStore((state) => state.config);
|
|
77
77
|
const currentStepIndex = useGuidonStore((state) => state.currentStepIndex);
|
|
78
78
|
|
|
79
|
+
// Use refs to avoid recreating callbacks when state changes (prevents infinite loop)
|
|
80
|
+
const isActiveRef = useRef(isActive);
|
|
81
|
+
const configRef = useRef(config);
|
|
82
|
+
isActiveRef.current = isActive;
|
|
83
|
+
configRef.current = config;
|
|
84
|
+
|
|
79
85
|
const measure = useCallback(
|
|
80
86
|
(targetId: string, node: MeasurableElement | null) => {
|
|
87
|
+
const currentIsActive = isActiveRef.current;
|
|
88
|
+
const currentConfig = configRef.current;
|
|
89
|
+
|
|
81
90
|
console.log("[useGuidon] measure() called for:", targetId, {
|
|
82
91
|
hasNode: !!node,
|
|
83
|
-
isActive,
|
|
84
|
-
hasConfig: !!
|
|
92
|
+
isActive: currentIsActive,
|
|
93
|
+
hasConfig: !!currentConfig,
|
|
85
94
|
});
|
|
86
95
|
|
|
87
|
-
if (!node || !
|
|
96
|
+
if (!node || !currentIsActive || !currentConfig) {
|
|
88
97
|
console.log(
|
|
89
98
|
"[useGuidon] measure() early return - missing node, inactive, or no config",
|
|
90
99
|
);
|
|
91
100
|
return;
|
|
92
101
|
}
|
|
93
102
|
|
|
94
|
-
const isTargetUsed =
|
|
103
|
+
const isTargetUsed = currentConfig.steps.some(
|
|
95
104
|
(step) => step.targetId === targetId,
|
|
96
105
|
);
|
|
97
106
|
|
|
@@ -153,7 +162,7 @@ export function useGuidonRegister() {
|
|
|
153
162
|
}
|
|
154
163
|
});
|
|
155
164
|
},
|
|
156
|
-
[
|
|
165
|
+
[registerTarget],
|
|
157
166
|
);
|
|
158
167
|
|
|
159
168
|
const register = useCallback(
|