@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.
@@ -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
- await markStepViewed(currentStepIndex);
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, currentStepIndex]);
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","current","checkAndStart","should","setTimeout","activeConfig","currentStep","steps","waitTimeout","isWaiting","timer","stillWaiting","getState","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":[]}
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) return;
47
+ if (!node || !isActive || !config) {
48
+ return;
49
+ }
48
50
  const isTargetUsed = config.steps.some(step => step.targetId === targetId);
49
- if (!isTargetUsed) return;
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
- const step = config.steps[currentStepIndex];
102
- if (!step?.targetId) return;
103
- const targetId = step.targetId;
104
- const node = elementsRef.current.get(targetId);
105
- if (!node) return;
106
- requestAnimationFrame(() => {
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","handler","forEach","id","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["hooks/useGuidonRef.ts"],"mappings":"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","ignoreList":[]}
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
- await markStepViewed(currentStepIndex);
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, currentStepIndex]);
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","current","checkAndStart","should","setTimeout","activeConfig","currentStep","steps","waitTimeout","isWaiting","timer","stillWaiting","getState","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
+ {"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) return;
43
+ if (!node || !isActive || !config) {
44
+ return;
45
+ }
44
46
  const isTargetUsed = config.steps.some(step => step.targetId === targetId);
45
- if (!isTargetUsed) return;
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
- const step = config.steps[currentStepIndex];
98
- if (!step?.targetId) return;
99
- const targetId = step.targetId;
100
- const node = elementsRef.current.get(targetId);
101
- if (!node) return;
102
- requestAnimationFrame(() => {
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","handler","forEach","id","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["hooks/useGuidonRef.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,aAAU;;AAGzC;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAGC,iBAAiB,CAAC,CAAC;EACpC,OAAO;IAAED;EAAS,CAAC;AACrB;AAEA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,WAAW,GAAGN,MAAM,CAAiC,IAAIO,GAAG,CAAC,CAAC,CAAC;EACrE,MAAMC,MAAM,GAAGR,MAAM,CAAsB,IAAIO,GAAG,CAAC,CAAC,CAAC;EAErD,MAAME,cAAc,GAAGP,cAAc,CAClCQ,KAAkB,IAAKA,KAAK,CAACD,cAChC,CAAC;EACD,MAAME,gBAAgB,GAAGT,cAAc,CACpCQ,KAAkB,IAAKA,KAAK,CAACC,gBAChC,CAAC;EACD,MAAMC,QAAQ,GAAGV,cAAc,CAAEQ,KAAK,IAAKA,KAAK,CAACE,QAAQ,CAAC;EAC1D,MAAMC,MAAM,GAAGX,cAAc,CAAEQ,KAAK,IAAKA,KAAK,CAACG,MAAM,CAAC;EACtD,MAAMC,gBAAgB,GAAGZ,cAAc,CAAEQ,KAAK,IAAKA,KAAK,CAACI,gBAAgB,CAAC;EAE1E,MAAMC,OAAO,GAAGjB,WAAW,CACzB,CAACkB,QAAgB,EAAEC,IAA8B,KAAK;IACpD,IAAI,CAACA,IAAI,IAAI,CAACL,QAAQ,IAAI,CAACC,MAAM,EAAE;IAEnC,MAAMK,YAAY,GAAGL,MAAM,CAACM,KAAK,CAACC,IAAI,CACnCC,IAAI,IAAKA,IAAI,CAACL,QAAQ,KAAKA,QAC9B,CAAC;IAED,IAAI,CAACE,YAAY,EAAE;IAEnB,IAAIjB,QAAQ,CAACqB,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMC,EAAE,GAAGN,IAA8B;MAEzC,IAAI,CAACM,EAAE,EAAEC,qBAAqB,EAAE;MAEhC,MAAMC,IAAI,GAAGF,EAAE,CAACC,qBAAqB,CAAC,CAAC;MACvC,MAAME,KAAK,GAAGC,MAAM,CAACC,gBAAgB,CAACL,EAAE,CAAC;MAEzC,MAAMM,WAAW,GAAGC,UAAU,CAACJ,KAAK,CAACG,WAAW,CAAC;MACjD,MAAME,YAAY,GAAGD,UAAU,CAACJ,KAAK,CAACK,YAAY,CAAC;MACnD,MAAMC,UAAU,GAAGF,UAAU,CAACJ,KAAK,CAACM,UAAU,CAAC;MAC/C,MAAMC,aAAa,GAAGH,UAAU,CAACJ,KAAK,CAACO,aAAa,CAAC;MAErD,MAAMC,UAAU,GAAGJ,UAAU,CAACJ,KAAK,CAACS,eAAe,CAAC;MACpD,MAAMC,WAAW,GAAGN,UAAU,CAACJ,KAAK,CAACW,gBAAgB,CAAC;MACtD,MAAMC,SAAS,GAAGR,UAAU,CAACJ,KAAK,CAACa,cAAc,CAAC;MAClD,MAAMC,YAAY,GAAGV,UAAU,CAACJ,KAAK,CAACe,iBAAiB,CAAC;MAExDhC,cAAc,CAACO,QAAQ,EAAE;QACvB0B,CAAC,EAAEjB,IAAI,CAACkB,IAAI,GAAGhB,MAAM,CAACiB,OAAO,GAAGV,UAAU,GAAGL,WAAW;QACxDgB,CAAC,EAAEpB,IAAI,CAACqB,GAAG,GAAGnB,MAAM,CAACoB,OAAO,GAAGT,SAAS,GAAGN,UAAU;QACrDgB,KAAK,EACHvB,IAAI,CAACuB,KAAK,GAAGnB,WAAW,GAAGE,YAAY,GAAGG,UAAU,GAAGE,WAAW;QACpEa,MAAM,EACJxB,IAAI,CAACwB,MAAM,GAAGjB,UAAU,GAAGC,aAAa,GAAGK,SAAS,GAAGE;MAC3D,CAAC,CAAC;MAEF;IACF;IAEA,MAAMU,MAAM,GAAGjC,IAId;IAEDiC,MAAM,EAAEC,eAAe,GAAG,CAACT,CAAC,EAAEG,CAAC,EAAEG,KAAK,EAAEC,MAAM,KAAK;MACjD,IAAID,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,EAAE;QAC3BxC,cAAc,CAACO,QAAQ,EAAE;UAAE0B,CAAC;UAAEG,CAAC;UAAEG,KAAK;UAAEC;QAAO,CAAC,CAAC;MACnD;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACrC,QAAQ,EAAEC,MAAM,EAAEJ,cAAc,CACnC,CAAC;EAED,MAAML,QAAQ,GAAGN,WAAW,CACzBkB,QAAgB,IAAK;IACpB,OAAQC,IAA8B,IAAK;MACzC,IAAIA,IAAI,EAAE;QACRX,WAAW,CAAC8C,OAAO,CAACC,GAAG,CAACrC,QAAQ,EAAEC,IAAI,CAAC;QAEvC,MAAMqC,GAAG,GAAGC,qBAAqB,CAAC,MAAM;UACtCxC,OAAO,CAACC,QAAQ,EAAEC,IAAI,CAAC;QACzB,CAAC,CAAC;QAEFT,MAAM,CAAC4C,OAAO,CAACC,GAAG,CAACrC,QAAQ,EAAEsC,GAAG,CAAC;QACjC;MACF;MACAhD,WAAW,CAAC8C,OAAO,CAACI,MAAM,CAACxC,QAAQ,CAAC;MACpCL,gBAAgB,CAACK,QAAQ,CAAC;MAE1B,MAAMsC,GAAG,GAAG9C,MAAM,CAAC4C,OAAO,CAACK,GAAG,CAACzC,QAAQ,CAAC;MACxC,IAAIsC,GAAG,EAAEI,oBAAoB,CAACJ,GAAG,CAAC;IACpC,CAAC;EACH,CAAC,EACD,CAACvC,OAAO,EAAEJ,gBAAgB,CAC5B,CAAC;EAEDZ,SAAS,CAAC,MAAM;IACd,IAAI,CAACa,QAAQ,IAAI,CAACC,MAAM,EAAE;IAE1B,MAAMQ,IAAI,GAAGR,MAAM,CAACM,KAAK,CAACL,gBAAgB,CAAC;IAC3C,IAAI,CAACO,IAAI,EAAEL,QAAQ,EAAE;IAErB,MAAMA,QAAQ,GAAGK,IAAI,CAACL,QAAQ;IAE9B,MAAMC,IAAI,GAAGX,WAAW,CAAC8C,OAAO,CAACK,GAAG,CAACzC,QAAQ,CAAC;IAC9C,IAAI,CAACC,IAAI,EAAE;IAEXsC,qBAAqB,CAAC,MAAM;MAC1BxC,OAAO,CAACC,QAAQ,EAAEC,IAAI,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACH,gBAAgB,EAAEF,QAAQ,EAAEC,MAAM,EAAEE,OAAO,CAAC,CAAC;EAEjDhB,SAAS,CAAC,MAAM;IACd,IAAIE,QAAQ,CAACqB,EAAE,KAAK,KAAK,IAAI,CAACV,QAAQ,EAAE;IAExC,MAAM+C,OAAO,GAAGA,CAAA,KAAM;MACpBrD,WAAW,CAAC8C,OAAO,CAACQ,OAAO,CAAC,CAAC3C,IAAI,EAAE4C,EAAE,KAAK;QACxC9C,OAAO,CAAC8C,EAAE,EAAE5C,IAAI,CAAC;MACnB,CAAC,CAAC;IACJ,CAAC;IAEDU,MAAM,CAACmC,gBAAgB,CAAC,QAAQ,EAAEH,OAAO,EAAE,IAAI,CAAC;IAChDhC,MAAM,CAACmC,gBAAgB,CAAC,QAAQ,EAAEH,OAAO,CAAC;IAE1C,OAAO,MAAM;MACXhC,MAAM,CAACoC,mBAAmB,CAAC,QAAQ,EAAEJ,OAAO,EAAE,IAAI,CAAC;MACnDhC,MAAM,CAACoC,mBAAmB,CAAC,QAAQ,EAAEJ,OAAO,CAAC;IAC/C,CAAC;EACH,CAAC,EAAE,CAAC/C,QAAQ,EAAEG,OAAO,CAAC,CAAC;EAEvB,OAAOX,QAAQ;AACjB","ignoreList":[]}
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,2CAgKrB"}
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;yBA2EV,MAAM,YACD,iBAAiB,GAAG,IAAI;EAzE3C;AAED,wBAAgB,iBAAiB,eAsElB,MAAM,YACD,iBAAiB,GAAG,IAAI,UAwD3C"}
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,2CAgKrB"}
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;yBA2EV,MAAM,YACD,iBAAiB,GAAG,IAAI;EAzE3C;AAED,wBAAgB,iBAAiB,eAsElB,MAAM,YACD,iBAAiB,GAAG,IAAI,UAwD3C"}
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.10",
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
- await markStepViewed(currentStepIndex);
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, currentStepIndex]);
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) return;
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) return;
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
- const step = config.steps[currentStepIndex];
134
- if (!step?.targetId) return;
135
-
136
- const targetId = step.targetId;
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