@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.
@@ -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: !!config
77
+ isActive: currentIsActive,
78
+ hasConfig: !!currentConfig
71
79
  });
72
- if (!node || !isActive || !config) {
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 = config.steps.some(step => step.targetId === targetId);
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
- }, [isActive, config, registerTarget]);
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","current","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":[]}
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: !!config
73
+ isActive: currentIsActive,
74
+ hasConfig: !!currentConfig
67
75
  });
68
- if (!node || !isActive || !config) {
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 = config.steps.some(step => step.targetId === targetId);
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
- }, [isActive, config, registerTarget]);
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","current","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
+ {"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;yBAoGV,MAAM,YACD,iBAAiB,GAAG,IAAI;EAlG3C;AAED,wBAAgB,iBAAiB,eA+FlB,MAAM,YACD,iBAAiB,GAAG,IAAI,UA2E3C"}
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;yBAoGV,MAAM,YACD,iBAAiB,GAAG,IAAI;EAlG3C;AAED,wBAAgB,iBAAiB,eA+FlB,MAAM,YACD,iBAAiB,GAAG,IAAI,UA2E3C"}
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.21",
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: !!config,
92
+ isActive: currentIsActive,
93
+ hasConfig: !!currentConfig,
85
94
  });
86
95
 
87
- if (!node || !isActive || !config) {
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 = config.steps.some(
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
- [isActive, config, registerTarget],
165
+ [registerTarget],
157
166
  );
158
167
 
159
168
  const register = useCallback(