@korsolutions/guidon 1.0.10 → 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/components/GuidonProvider.js +14 -2
- package/dist/commonjs/components/GuidonProvider.js.map +1 -1
- package/dist/commonjs/hooks/useGuidonRef.js +15 -9
- package/dist/commonjs/hooks/useGuidonRef.js.map +1 -1
- package/dist/module/components/GuidonProvider.js +14 -2
- package/dist/module/components/GuidonProvider.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/components/GuidonProvider.d.ts.map +1 -1
- package/dist/typescript/commonjs/hooks/useGuidonRef.d.ts.map +1 -1
- package/dist/typescript/module/components/GuidonProvider.d.ts.map +1 -1
- package/dist/typescript/module/hooks/useGuidonRef.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/GuidonProvider.tsx +14 -2
- package/src/hooks/useGuidonRef.ts +13 -12
|
@@ -55,9 +55,19 @@ function GuidonProvider({
|
|
|
55
55
|
} = (0, _hooks.useGuidonPersistence)(persistenceAdapter, persistenceId);
|
|
56
56
|
const isCompleted = storeIsCompleted || persistedCompleted;
|
|
57
57
|
|
|
58
|
+
// Track if we've already configured to prevent re-configuring during active tour
|
|
59
|
+
const hasConfigured = (0, _react.useRef)(false);
|
|
60
|
+
const configRef = (0, _react.useRef)(config);
|
|
61
|
+
configRef.current = config;
|
|
62
|
+
|
|
58
63
|
// Only configure if a config prop is provided (legacy single-config mode)
|
|
64
|
+
// Don't reconfigure if a tour is already active
|
|
59
65
|
(0, _react.useEffect)(() => {
|
|
60
66
|
if (!config) return;
|
|
67
|
+
if (isActive) return; // Don't reconfigure while tour is running
|
|
68
|
+
if (hasConfigured.current && configRef.current === config) return; // Same config, already configured
|
|
69
|
+
|
|
70
|
+
hasConfigured.current = true;
|
|
61
71
|
const enhancedConfig = {
|
|
62
72
|
...config,
|
|
63
73
|
onComplete: async () => {
|
|
@@ -69,7 +79,9 @@ function GuidonProvider({
|
|
|
69
79
|
onSkip: async () => {
|
|
70
80
|
config.onSkip?.();
|
|
71
81
|
if (persistenceAdapter) {
|
|
72
|
-
|
|
82
|
+
// Get current step index from store at time of skip
|
|
83
|
+
const currentIdx = _store.useGuidonStore.getState().currentStepIndex;
|
|
84
|
+
await markStepViewed(currentIdx);
|
|
73
85
|
}
|
|
74
86
|
},
|
|
75
87
|
onStepChange: async (stepIndex, step) => {
|
|
@@ -80,7 +92,7 @@ function GuidonProvider({
|
|
|
80
92
|
}
|
|
81
93
|
};
|
|
82
94
|
configure(enhancedConfig);
|
|
83
|
-
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed,
|
|
95
|
+
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed, isActive]);
|
|
84
96
|
|
|
85
97
|
// Auto-start only in legacy single-config mode
|
|
86
98
|
(0, _react.useEffect)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_store","_hooks","_GuidonOverlay","_GuidonTooltip","_jsxRuntime","GuidonContext","createContext","useGuidonContext","context","useContext","Error","GuidonProvider","children","config","autoStart","shouldStart","persistenceAdapter","portalComponent","Portal","renderTooltip","tooltipLabels","onBackdropPress","hasInitialized","useRef","isActive","useGuidonStore","state","storeIsCompleted","isCompleted","storeConfig","currentStepIndex","configure","start","next","skip","reset","waitingState","useWaitingState","persistenceId","id","isLoading","persistedCompleted","markCompleted","markStepViewed","clearProgress","useGuidonPersistence","useEffect","enhancedConfig","onComplete","onSkip","onStepChange","stepIndex","step","
|
|
1
|
+
{"version":3,"names":["_react","require","_store","_hooks","_GuidonOverlay","_GuidonTooltip","_jsxRuntime","GuidonContext","createContext","useGuidonContext","context","useContext","Error","GuidonProvider","children","config","autoStart","shouldStart","persistenceAdapter","portalComponent","Portal","renderTooltip","tooltipLabels","onBackdropPress","hasInitialized","useRef","isActive","useGuidonStore","state","storeIsCompleted","isCompleted","storeConfig","currentStepIndex","configure","start","next","skip","reset","waitingState","useWaitingState","persistenceId","id","isLoading","persistedCompleted","markCompleted","markStepViewed","clearProgress","useGuidonPersistence","hasConfigured","configRef","current","useEffect","enhancedConfig","onComplete","onSkip","currentIdx","getState","onStepChange","stepIndex","step","checkAndStart","should","setTimeout","activeConfig","currentStep","steps","waitTimeout","isWaiting","timer","stillWaiting","targetMeasurements","targetId","undefined","clearTimeout","replay","useCallback","manualStart","tourId","contextValue","activeTheme","theme","activeDuration","animationDuration","overlayContent","jsxs","Fragment","jsx","GuidonOverlay","GuidonTooltip","renderCustomTooltip","labels","Provider","value"],"sourceRoot":"../../../src","sources":["components/GuidonProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -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":[]}
|
|
@@ -50,9 +50,19 @@ export function GuidonProvider({
|
|
|
50
50
|
} = useGuidonPersistence(persistenceAdapter, persistenceId);
|
|
51
51
|
const isCompleted = storeIsCompleted || persistedCompleted;
|
|
52
52
|
|
|
53
|
+
// Track if we've already configured to prevent re-configuring during active tour
|
|
54
|
+
const hasConfigured = useRef(false);
|
|
55
|
+
const configRef = useRef(config);
|
|
56
|
+
configRef.current = config;
|
|
57
|
+
|
|
53
58
|
// Only configure if a config prop is provided (legacy single-config mode)
|
|
59
|
+
// Don't reconfigure if a tour is already active
|
|
54
60
|
useEffect(() => {
|
|
55
61
|
if (!config) return;
|
|
62
|
+
if (isActive) return; // Don't reconfigure while tour is running
|
|
63
|
+
if (hasConfigured.current && configRef.current === config) return; // Same config, already configured
|
|
64
|
+
|
|
65
|
+
hasConfigured.current = true;
|
|
56
66
|
const enhancedConfig = {
|
|
57
67
|
...config,
|
|
58
68
|
onComplete: async () => {
|
|
@@ -64,7 +74,9 @@ export function GuidonProvider({
|
|
|
64
74
|
onSkip: async () => {
|
|
65
75
|
config.onSkip?.();
|
|
66
76
|
if (persistenceAdapter) {
|
|
67
|
-
|
|
77
|
+
// Get current step index from store at time of skip
|
|
78
|
+
const currentIdx = useGuidonStore.getState().currentStepIndex;
|
|
79
|
+
await markStepViewed(currentIdx);
|
|
68
80
|
}
|
|
69
81
|
},
|
|
70
82
|
onStepChange: async (stepIndex, step) => {
|
|
@@ -75,7 +87,7 @@ export function GuidonProvider({
|
|
|
75
87
|
}
|
|
76
88
|
};
|
|
77
89
|
configure(enhancedConfig);
|
|
78
|
-
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed,
|
|
90
|
+
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed, isActive]);
|
|
79
91
|
|
|
80
92
|
// Auto-start only in legacy single-config mode
|
|
81
93
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useCallback","useRef","createContext","useContext","useGuidonStore","useWaitingState","useGuidonPersistence","GuidonOverlay","GuidonTooltip","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","GuidonContext","useGuidonContext","context","Error","GuidonProvider","children","config","autoStart","shouldStart","persistenceAdapter","portalComponent","Portal","renderTooltip","tooltipLabels","onBackdropPress","hasInitialized","isActive","state","storeIsCompleted","isCompleted","storeConfig","currentStepIndex","configure","start","next","skip","reset","waitingState","persistenceId","id","isLoading","persistedCompleted","markCompleted","markStepViewed","clearProgress","enhancedConfig","onComplete","onSkip","onStepChange","stepIndex","step","
|
|
1
|
+
{"version":3,"names":["useEffect","useCallback","useRef","createContext","useContext","useGuidonStore","useWaitingState","useGuidonPersistence","GuidonOverlay","GuidonTooltip","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","GuidonContext","useGuidonContext","context","Error","GuidonProvider","children","config","autoStart","shouldStart","persistenceAdapter","portalComponent","Portal","renderTooltip","tooltipLabels","onBackdropPress","hasInitialized","isActive","state","storeIsCompleted","isCompleted","storeConfig","currentStepIndex","configure","start","next","skip","reset","waitingState","persistenceId","id","isLoading","persistedCompleted","markCompleted","markStepViewed","clearProgress","hasConfigured","configRef","current","enhancedConfig","onComplete","onSkip","currentIdx","getState","onStepChange","stepIndex","step","checkAndStart","should","setTimeout","activeConfig","currentStep","steps","waitTimeout","isWaiting","timer","stillWaiting","targetMeasurements","targetId","undefined","clearTimeout","replay","manualStart","tourId","contextValue","activeTheme","theme","activeDuration","animationDuration","overlayContent","renderCustomTooltip","labels","Provider","value"],"sourceRoot":"../../../src","sources":["components/GuidonProvider.tsx"],"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":"GuidonProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAElB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,gBAAgB,uBAM/B;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,SAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EAAE,MAAM,EACvB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"GuidonProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAElB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,gBAAgB,uBAM/B;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,SAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EAAE,MAAM,EACvB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,EAAE,mBAAmB,2CA4KrB"}
|
|
@@ -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":"GuidonProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAElB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,gBAAgB,uBAM/B;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,SAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EAAE,MAAM,EACvB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"GuidonProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonProvider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAElB,UAAU,kBAAkB;IAC1B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,gBAAgB,uBAM/B;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,SAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EAAE,MAAM,EACvB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,EAAE,mBAAmB,2CA4KrB"}
|
|
@@ -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>",
|
|
@@ -67,9 +67,19 @@ export function GuidonProvider({
|
|
|
67
67
|
|
|
68
68
|
const isCompleted = storeIsCompleted || persistedCompleted;
|
|
69
69
|
|
|
70
|
+
// Track if we've already configured to prevent re-configuring during active tour
|
|
71
|
+
const hasConfigured = useRef(false);
|
|
72
|
+
const configRef = useRef(config);
|
|
73
|
+
configRef.current = config;
|
|
74
|
+
|
|
70
75
|
// Only configure if a config prop is provided (legacy single-config mode)
|
|
76
|
+
// Don't reconfigure if a tour is already active
|
|
71
77
|
useEffect(() => {
|
|
72
78
|
if (!config) return;
|
|
79
|
+
if (isActive) return; // Don't reconfigure while tour is running
|
|
80
|
+
if (hasConfigured.current && configRef.current === config) return; // Same config, already configured
|
|
81
|
+
|
|
82
|
+
hasConfigured.current = true;
|
|
73
83
|
|
|
74
84
|
const enhancedConfig: GuidonConfig = {
|
|
75
85
|
...config,
|
|
@@ -82,7 +92,9 @@ export function GuidonProvider({
|
|
|
82
92
|
onSkip: async () => {
|
|
83
93
|
config.onSkip?.();
|
|
84
94
|
if (persistenceAdapter) {
|
|
85
|
-
|
|
95
|
+
// Get current step index from store at time of skip
|
|
96
|
+
const currentIdx = useGuidonStore.getState().currentStepIndex;
|
|
97
|
+
await markStepViewed(currentIdx);
|
|
86
98
|
}
|
|
87
99
|
},
|
|
88
100
|
onStepChange: async (stepIndex, step) => {
|
|
@@ -94,7 +106,7 @@ export function GuidonProvider({
|
|
|
94
106
|
};
|
|
95
107
|
|
|
96
108
|
configure(enhancedConfig);
|
|
97
|
-
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed,
|
|
109
|
+
}, [config, configure, persistenceAdapter, markCompleted, markStepViewed, isActive]);
|
|
98
110
|
|
|
99
111
|
// Auto-start only in legacy single-config mode
|
|
100
112
|
useEffect(() => {
|
|
@@ -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
|
|