@korsolutions/guidon 1.0.10 → 1.0.11
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/module/components/GuidonProvider.js +14 -2
- package/dist/module/components/GuidonProvider.js.map +1 -1
- package/dist/typescript/commonjs/components/GuidonProvider.d.ts.map +1 -1
- package/dist/typescript/module/components/GuidonProvider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/GuidonProvider.tsx +14 -2
|
@@ -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":[]}
|
|
@@ -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":[]}
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@korsolutions/guidon",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
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(() => {
|