@korsolutions/guidon 1.0.2 → 1.0.3

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.
@@ -42,7 +42,9 @@ function GuidonTarget({
42
42
  }
43
43
  } else {
44
44
  // Native measurement using measureInWindow
45
- viewRef.current.measureInWindow((x, y, width, height) => {
45
+ // Cast to access the native measureInWindow method
46
+ const nativeRef = viewRef.current;
47
+ nativeRef.measureInWindow((x, y, width, height) => {
46
48
  if (width > 0 && height > 0) {
47
49
  const measurements = {
48
50
  x,
@@ -66,13 +68,13 @@ function GuidonTarget({
66
68
 
67
69
  // Re-measure when walkthrough becomes active or when this target becomes relevant
68
70
  (0, _react.useEffect)(() => {
69
- if (isTargetNeeded) {
70
- // Delay to ensure the element is rendered
71
- const timer = setTimeout(() => {
72
- measureElement();
73
- }, 100);
74
- return () => clearTimeout(timer);
75
- }
71
+ if (!isTargetNeeded) return;
72
+
73
+ // Delay to ensure the element is rendered
74
+ const timer = setTimeout(() => {
75
+ measureElement();
76
+ }, 100);
77
+ return () => clearTimeout(timer);
76
78
  }, [isTargetNeeded, measureElement]);
77
79
 
78
80
  // Re-measure on scroll (web only)
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_store","_jsxRuntime","GuidonTarget","children","targetId","active","viewRef","useRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","isTargetNeeded","steps","some","step","measureElement","useCallback","current","Platform","OS","element","getBoundingClientRect","rect","measurements","x","left","window","scrollX","y","top","scrollY","width","height","measureInWindow","handleLayout","_event","requestAnimationFrame","useEffect","timer","setTimeout","clearTimeout","handleScroll","addEventListener","removeEventListener","jsx","View","ref","onLayout","collapsable","style","alignSelf"],"sourceRoot":"../../../src","sources":["components/GuidonTarget.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_store","_jsxRuntime","GuidonTarget","children","targetId","active","viewRef","useRef","registerTarget","useGuidonStore","state","unregisterTarget","isActive","config","isTargetNeeded","steps","some","step","measureElement","useCallback","current","Platform","OS","element","getBoundingClientRect","rect","measurements","x","left","window","scrollX","y","top","scrollY","width","height","nativeRef","measureInWindow","handleLayout","_event","requestAnimationFrame","useEffect","timer","setTimeout","clearTimeout","handleScroll","addEventListener","removeEventListener","jsx","View","ref","onLayout","collapsable","style","alignSelf"],"sourceRoot":"../../../src","sources":["components/GuidonTarget.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useWaitingState = exports.useTargetMeasurements = exports.useIsFloatingStep = exports.useGuidonStore = exports.useGuidonStep = exports.useGuidonProgress = exports.useGuidonActive = exports.Guidon = void 0;
7
7
  var _zustand = require("zustand");
8
+ var _shallow = require("zustand/react/shallow");
8
9
  const initialState = {
9
10
  config: null,
10
11
  isActive: false,
@@ -38,8 +39,10 @@ const useGuidonStore = exports.useGuidonStore = (0, _zustand.create)((set, get)
38
39
 
39
40
  // Call onStepEnter for the first step
40
41
  const firstStep = config.steps[0];
41
- firstStep.onStepEnter?.();
42
- config.onStepChange?.(0, firstStep);
42
+ firstStep?.onStepEnter?.();
43
+ if (firstStep) {
44
+ config.onStepChange?.(0, firstStep);
45
+ }
43
46
  },
44
47
  next: () => {
45
48
  const {
@@ -56,8 +59,10 @@ const useGuidonStore = exports.useGuidonStore = (0, _zustand.create)((set, get)
56
59
  set({
57
60
  currentStepIndex: nextIndex
58
61
  });
59
- nextStep.onStepEnter?.();
60
- config.onStepChange?.(nextIndex, nextStep);
62
+ nextStep?.onStepEnter?.();
63
+ if (nextStep) {
64
+ config.onStepChange?.(nextIndex, nextStep);
65
+ }
61
66
  } else {
62
67
  // Last step completed
63
68
  get().complete();
@@ -77,8 +82,10 @@ const useGuidonStore = exports.useGuidonStore = (0, _zustand.create)((set, get)
77
82
  set({
78
83
  currentStepIndex: prevIndex
79
84
  });
80
- prevStep.onStepEnter?.();
81
- config.onStepChange?.(prevIndex, prevStep);
85
+ prevStep?.onStepEnter?.();
86
+ if (prevStep) {
87
+ config.onStepChange?.(prevIndex, prevStep);
88
+ }
82
89
  },
83
90
  goToStep: index => {
84
91
  const {
@@ -94,8 +101,10 @@ const useGuidonStore = exports.useGuidonStore = (0, _zustand.create)((set, get)
94
101
  set({
95
102
  currentStepIndex: index
96
103
  });
97
- targetStep.onStepEnter?.();
98
- config.onStepChange?.(index, targetStep);
104
+ targetStep?.onStepEnter?.();
105
+ if (targetStep) {
106
+ config.onStepChange?.(index, targetStep);
107
+ }
99
108
  },
100
109
  skip: () => {
101
110
  const {
@@ -265,11 +274,11 @@ const useGuidonStep = () => useGuidonStore(state => {
265
274
  return state.config.steps[state.currentStepIndex];
266
275
  });
267
276
  exports.useGuidonStep = useGuidonStep;
268
- const useGuidonProgress = () => useGuidonStore(state => ({
277
+ const useGuidonProgress = () => useGuidonStore((0, _shallow.useShallow)(state => ({
269
278
  currentStep: state.currentStepIndex + 1,
270
279
  totalSteps: state.config?.steps.length ?? 0,
271
280
  percentage: state.config ? (state.currentStepIndex + 1) / state.config.steps.length * 100 : 0
272
- }));
281
+ })));
273
282
  exports.useGuidonProgress = useGuidonProgress;
274
283
  const useTargetMeasurements = targetId => useGuidonStore(state => state.targetMeasurements[targetId]);
275
284
 
@@ -278,7 +287,7 @@ const useTargetMeasurements = targetId => useGuidonStore(state => state.targetMe
278
287
  * Returns null if not active, not waiting, or if it's a floating step
279
288
  */
280
289
  exports.useTargetMeasurements = useTargetMeasurements;
281
- const useWaitingState = () => useGuidonStore(state => {
290
+ const useWaitingState = () => useGuidonStore((0, _shallow.useShallow)(state => {
282
291
  if (!state.isActive || !state.config) return null;
283
292
  const currentStep = state.config.steps[state.currentStepIndex];
284
293
  const targetId = currentStep?.targetId;
@@ -291,7 +300,7 @@ const useWaitingState = () => useGuidonStore(state => {
291
300
  targetId: hasMeasurements ? null : targetId,
292
301
  message: currentStep?.waitingMessage ?? null
293
302
  };
294
- });
303
+ }));
295
304
 
296
305
  /**
297
306
  * Hook to check if the current step is a floating step (no target element)
@@ -1 +1 @@
1
- {"version":3,"names":["_zustand","require","initialState","config","isActive","currentStepIndex","isCompleted","targetMeasurements","isLoading","error","waitingForTarget","waitingTargetId","useGuidonStore","exports","create","set","get","configure","start","steps","length","firstStep","onStepEnter","onStepChange","next","currentStep","onStepExit","nextIndex","nextStep","complete","previous","prevIndex","prevStep","goToStep","index","targetStep","skip","onSkip","onComplete","reset","registerTarget","targetId","measurements","state","unregisterTarget","_","rest","setLoading","setError","Guidon","getState","getCurrentStepIndex","getCurrentStep","getSteps","subscribe","useGuidonActive","useGuidonStep","useGuidonProgress","totalSteps","percentage","useTargetMeasurements","useWaitingState","hasMeasurements","isWaiting","message","waitingMessage","useIsFloatingStep"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_zustand","require","_shallow","initialState","config","isActive","currentStepIndex","isCompleted","targetMeasurements","isLoading","error","waitingForTarget","waitingTargetId","useGuidonStore","exports","create","set","get","configure","start","steps","length","firstStep","onStepEnter","onStepChange","next","currentStep","onStepExit","nextIndex","nextStep","complete","previous","prevIndex","prevStep","goToStep","index","targetStep","skip","onSkip","onComplete","reset","registerTarget","targetId","measurements","state","unregisterTarget","_","rest","setLoading","setError","Guidon","getState","getCurrentStepIndex","getCurrentStep","getSteps","subscribe","useGuidonActive","useGuidonStep","useGuidonProgress","useShallow","totalSteps","percentage","useTargetMeasurements","useWaitingState","hasMeasurements","isWaiting","message","waitingMessage","useIsFloatingStep"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,9 @@ export function GuidonTarget({
38
38
  }
39
39
  } else {
40
40
  // Native measurement using measureInWindow
41
- viewRef.current.measureInWindow((x, y, width, height) => {
41
+ // Cast to access the native measureInWindow method
42
+ const nativeRef = viewRef.current;
43
+ nativeRef.measureInWindow((x, y, width, height) => {
42
44
  if (width > 0 && height > 0) {
43
45
  const measurements = {
44
46
  x,
@@ -62,13 +64,13 @@ export function GuidonTarget({
62
64
 
63
65
  // Re-measure when walkthrough becomes active or when this target becomes relevant
64
66
  useEffect(() => {
65
- if (isTargetNeeded) {
66
- // Delay to ensure the element is rendered
67
- const timer = setTimeout(() => {
68
- measureElement();
69
- }, 100);
70
- return () => clearTimeout(timer);
71
- }
67
+ if (!isTargetNeeded) return;
68
+
69
+ // Delay to ensure the element is rendered
70
+ const timer = setTimeout(() => {
71
+ measureElement();
72
+ }, 100);
73
+ return () => clearTimeout(timer);
72
74
  }, [isTargetNeeded, measureElement]);
73
75
 
74
76
  // Re-measure on scroll (web only)
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","View","Platform","useGuidonStore","jsx","_jsx","GuidonTarget","children","targetId","active","viewRef","registerTarget","state","unregisterTarget","isActive","config","isTargetNeeded","steps","some","step","measureElement","current","OS","element","getBoundingClientRect","rect","measurements","x","left","window","scrollX","y","top","scrollY","width","height","measureInWindow","handleLayout","_event","requestAnimationFrame","timer","setTimeout","clearTimeout","handleScroll","addEventListener","removeEventListener","ref","onLayout","collapsable","style","alignSelf"],"sourceRoot":"../../../src","sources":["components/GuidonTarget.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","View","Platform","useGuidonStore","jsx","_jsx","GuidonTarget","children","targetId","active","viewRef","registerTarget","state","unregisterTarget","isActive","config","isTargetNeeded","steps","some","step","measureElement","current","OS","element","getBoundingClientRect","rect","measurements","x","left","window","scrollX","y","top","scrollY","width","height","nativeRef","measureInWindow","handleLayout","_event","requestAnimationFrame","timer","setTimeout","clearTimeout","handleScroll","addEventListener","removeEventListener","ref","onLayout","collapsable","style","alignSelf"],"sourceRoot":"../../../src","sources":["components/GuidonTarget.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { create } from "zustand";
4
+ import { useShallow } from "zustand/react/shallow";
4
5
  const initialState = {
5
6
  config: null,
6
7
  isActive: false,
@@ -34,8 +35,10 @@ export const useGuidonStore = create((set, get) => ({
34
35
 
35
36
  // Call onStepEnter for the first step
36
37
  const firstStep = config.steps[0];
37
- firstStep.onStepEnter?.();
38
- config.onStepChange?.(0, firstStep);
38
+ firstStep?.onStepEnter?.();
39
+ if (firstStep) {
40
+ config.onStepChange?.(0, firstStep);
41
+ }
39
42
  },
40
43
  next: () => {
41
44
  const {
@@ -52,8 +55,10 @@ export const useGuidonStore = create((set, get) => ({
52
55
  set({
53
56
  currentStepIndex: nextIndex
54
57
  });
55
- nextStep.onStepEnter?.();
56
- config.onStepChange?.(nextIndex, nextStep);
58
+ nextStep?.onStepEnter?.();
59
+ if (nextStep) {
60
+ config.onStepChange?.(nextIndex, nextStep);
61
+ }
57
62
  } else {
58
63
  // Last step completed
59
64
  get().complete();
@@ -73,8 +78,10 @@ export const useGuidonStore = create((set, get) => ({
73
78
  set({
74
79
  currentStepIndex: prevIndex
75
80
  });
76
- prevStep.onStepEnter?.();
77
- config.onStepChange?.(prevIndex, prevStep);
81
+ prevStep?.onStepEnter?.();
82
+ if (prevStep) {
83
+ config.onStepChange?.(prevIndex, prevStep);
84
+ }
78
85
  },
79
86
  goToStep: index => {
80
87
  const {
@@ -90,8 +97,10 @@ export const useGuidonStore = create((set, get) => ({
90
97
  set({
91
98
  currentStepIndex: index
92
99
  });
93
- targetStep.onStepEnter?.();
94
- config.onStepChange?.(index, targetStep);
100
+ targetStep?.onStepEnter?.();
101
+ if (targetStep) {
102
+ config.onStepChange?.(index, targetStep);
103
+ }
95
104
  },
96
105
  skip: () => {
97
106
  const {
@@ -259,18 +268,18 @@ export const useGuidonStep = () => useGuidonStore(state => {
259
268
  if (!state.config || !state.isActive) return null;
260
269
  return state.config.steps[state.currentStepIndex];
261
270
  });
262
- export const useGuidonProgress = () => useGuidonStore(state => ({
271
+ export const useGuidonProgress = () => useGuidonStore(useShallow(state => ({
263
272
  currentStep: state.currentStepIndex + 1,
264
273
  totalSteps: state.config?.steps.length ?? 0,
265
274
  percentage: state.config ? (state.currentStepIndex + 1) / state.config.steps.length * 100 : 0
266
- }));
275
+ })));
267
276
  export const useTargetMeasurements = targetId => useGuidonStore(state => state.targetMeasurements[targetId]);
268
277
 
269
278
  /**
270
279
  * Hook to check if the guidon is waiting for a target element to mount
271
280
  * Returns null if not active, not waiting, or if it's a floating step
272
281
  */
273
- export const useWaitingState = () => useGuidonStore(state => {
282
+ export const useWaitingState = () => useGuidonStore(useShallow(state => {
274
283
  if (!state.isActive || !state.config) return null;
275
284
  const currentStep = state.config.steps[state.currentStepIndex];
276
285
  const targetId = currentStep?.targetId;
@@ -283,7 +292,7 @@ export const useWaitingState = () => useGuidonStore(state => {
283
292
  targetId: hasMeasurements ? null : targetId,
284
293
  message: currentStep?.waitingMessage ?? null
285
294
  };
286
- });
295
+ }));
287
296
 
288
297
  /**
289
298
  * Hook to check if the current step is a floating step (no target element)
@@ -1 +1 @@
1
- {"version":3,"names":["create","initialState","config","isActive","currentStepIndex","isCompleted","targetMeasurements","isLoading","error","waitingForTarget","waitingTargetId","useGuidonStore","set","get","configure","start","steps","length","firstStep","onStepEnter","onStepChange","next","currentStep","onStepExit","nextIndex","nextStep","complete","previous","prevIndex","prevStep","goToStep","index","targetStep","skip","onSkip","onComplete","reset","registerTarget","targetId","measurements","state","unregisterTarget","_","rest","setLoading","setError","Guidon","getState","getCurrentStepIndex","getCurrentStep","getSteps","subscribe","useGuidonActive","useGuidonStep","useGuidonProgress","totalSteps","percentage","useTargetMeasurements","useWaitingState","hasMeasurements","isWaiting","message","waitingMessage","useIsFloatingStep"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","useShallow","initialState","config","isActive","currentStepIndex","isCompleted","targetMeasurements","isLoading","error","waitingForTarget","waitingTargetId","useGuidonStore","set","get","configure","start","steps","length","firstStep","onStepEnter","onStepChange","next","currentStep","onStepExit","nextIndex","nextStep","complete","previous","prevIndex","prevStep","goToStep","index","targetStep","skip","onSkip","onComplete","reset","registerTarget","targetId","measurements","state","unregisterTarget","_","rest","setLoading","setError","Guidon","getState","getCurrentStepIndex","getCurrentStep","getSteps","subscribe","useGuidonActive","useGuidonStep","useGuidonProgress","totalSteps","percentage","useTargetMeasurements","useWaitingState","hasMeasurements","isWaiting","message","waitingMessage","useIsFloatingStep"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GuidonTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonTarget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,MAAa,GACd,EAAE,iBAAiB,2CAmGnB"}
1
+ {"version":3,"file":"GuidonTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonTarget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,MAAa,GACd,EAAE,iBAAiB,2CAyGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAcjB,eAAO,MAAM,cAAc,0EA+HxB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;wBACiB,YAAY;IAIhC;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;sBACe,MAAM;IAIxB;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAMH;;OAEG;;IAKH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,eAC4B,CAAC;AAEzD,eAAO,MAAM,aAAa,2CAItB,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;CAOzB,CAAC;AAEN,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,uBAGnD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;QAiBxB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAI1B,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAcjB,eAAO,MAAM,cAAc,0EAuIxB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;wBACiB,YAAY;IAIhC;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;sBACe,MAAM;IAIxB;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAMH;;OAEG;;IAKH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,eAC4B,CAAC;AAEzD,eAAO,MAAM,aAAa,2CAItB,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;CAS3B,CAAC;AAEJ,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,uBAGnD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;QAmBzB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAI1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GuidonTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonTarget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,MAAa,GACd,EAAE,iBAAiB,2CAmGnB"}
1
+ {"version":3,"file":"GuidonTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/GuidonTarget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,MAAa,GACd,EAAE,iBAAiB,2CAyGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAcjB,eAAO,MAAM,cAAc,0EA+HxB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;wBACiB,YAAY;IAIhC;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;sBACe,MAAM;IAIxB;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAMH;;OAEG;;IAKH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,eAC4B,CAAC;AAEzD,eAAO,MAAM,aAAa,2CAItB,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;CAOzB,CAAC;AAEN,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,uBAGnD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;QAiBxB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAI1B,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAcjB,eAAO,MAAM,cAAc,0EAuIxB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;wBACiB,YAAY;IAIhC;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;sBACe,MAAM;IAIxB;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAMH;;OAEG;;IAKH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,eAC4B,CAAC;AAEzD,eAAO,MAAM,aAAa,2CAItB,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;CAS3B,CAAC;AAEJ,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,uBAGnD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;QAmBzB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAI1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@korsolutions/guidon",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
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>",
@@ -1,4 +1,4 @@
1
- import { useCallback, useEffect, useRef } from "react";
1
+ import { useCallback, useEffect, useRef, type ComponentRef } from "react";
2
2
  import { View, Platform, type LayoutChangeEvent } from "react-native";
3
3
  import { useGuidonStore } from "../store";
4
4
  import type {
@@ -17,7 +17,7 @@ export function GuidonTarget({
17
17
  targetId,
18
18
  active = true,
19
19
  }: GuidonTargetProps) {
20
- const viewRef = useRef<View>(null);
20
+ const viewRef = useRef<ComponentRef<typeof View>>(null);
21
21
  const registerTarget = useGuidonStore(
22
22
  (state: GuidonStore) => state.registerTarget,
23
23
  );
@@ -50,7 +50,13 @@ export function GuidonTarget({
50
50
  }
51
51
  } else {
52
52
  // Native measurement using measureInWindow
53
- viewRef.current.measureInWindow((x, y, width, height) => {
53
+ // Cast to access the native measureInWindow method
54
+ const nativeRef = viewRef.current as unknown as {
55
+ measureInWindow: (
56
+ callback: (x: number, y: number, width: number, height: number) => void
57
+ ) => void;
58
+ };
59
+ nativeRef.measureInWindow((x, y, width, height) => {
54
60
  if (width > 0 && height > 0) {
55
61
  const measurements: TargetMeasurements = { x, y, width, height };
56
62
  registerTarget(targetId, measurements);
@@ -72,13 +78,13 @@ export function GuidonTarget({
72
78
 
73
79
  // Re-measure when walkthrough becomes active or when this target becomes relevant
74
80
  useEffect(() => {
75
- if (isTargetNeeded) {
76
- // Delay to ensure the element is rendered
77
- const timer = setTimeout(() => {
78
- measureElement();
79
- }, 100);
80
- return () => clearTimeout(timer);
81
- }
81
+ if (!isTargetNeeded) return;
82
+
83
+ // Delay to ensure the element is rendered
84
+ const timer = setTimeout(() => {
85
+ measureElement();
86
+ }, 100);
87
+ return () => clearTimeout(timer);
82
88
  }, [isTargetNeeded, measureElement]);
83
89
 
84
90
  // Re-measure on scroll (web only)
package/src/store.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { create } from "zustand";
2
+ import { useShallow } from "zustand/react/shallow";
2
3
  import type {
3
4
  GuidonConfig,
4
5
  GuidonStore,
@@ -32,8 +33,10 @@ export const useGuidonStore = create<GuidonStore>((set, get) => ({
32
33
 
33
34
  // Call onStepEnter for the first step
34
35
  const firstStep = config.steps[0];
35
- firstStep.onStepEnter?.();
36
- config.onStepChange?.(0, firstStep);
36
+ firstStep?.onStepEnter?.();
37
+ if (firstStep) {
38
+ config.onStepChange?.(0, firstStep);
39
+ }
37
40
  },
38
41
 
39
42
  next: () => {
@@ -49,8 +52,10 @@ export const useGuidonStore = create<GuidonStore>((set, get) => ({
49
52
 
50
53
  set({ currentStepIndex: nextIndex });
51
54
 
52
- nextStep.onStepEnter?.();
53
- config.onStepChange?.(nextIndex, nextStep);
55
+ nextStep?.onStepEnter?.();
56
+ if (nextStep) {
57
+ config.onStepChange?.(nextIndex, nextStep);
58
+ }
54
59
  } else {
55
60
  // Last step completed
56
61
  get().complete();
@@ -69,8 +74,10 @@ export const useGuidonStore = create<GuidonStore>((set, get) => ({
69
74
 
70
75
  set({ currentStepIndex: prevIndex });
71
76
 
72
- prevStep.onStepEnter?.();
73
- config.onStepChange?.(prevIndex, prevStep);
77
+ prevStep?.onStepEnter?.();
78
+ if (prevStep) {
79
+ config.onStepChange?.(prevIndex, prevStep);
80
+ }
74
81
  },
75
82
 
76
83
  goToStep: (index: number) => {
@@ -85,8 +92,10 @@ export const useGuidonStore = create<GuidonStore>((set, get) => ({
85
92
 
86
93
  set({ currentStepIndex: index });
87
94
 
88
- targetStep.onStepEnter?.();
89
- config.onStepChange?.(index, targetStep);
95
+ targetStep?.onStepEnter?.();
96
+ if (targetStep) {
97
+ config.onStepChange?.(index, targetStep);
98
+ }
90
99
  },
91
100
 
92
101
  skip: () => {
@@ -262,13 +271,15 @@ export const useGuidonStep = () =>
262
271
  });
263
272
 
264
273
  export const useGuidonProgress = () =>
265
- useGuidonStore((state: GuidonStore) => ({
266
- currentStep: state.currentStepIndex + 1,
267
- totalSteps: state.config?.steps.length ?? 0,
268
- percentage: state.config
269
- ? ((state.currentStepIndex + 1) / state.config.steps.length) * 100
270
- : 0,
271
- }));
274
+ useGuidonStore(
275
+ useShallow((state: GuidonStore) => ({
276
+ currentStep: state.currentStepIndex + 1,
277
+ totalSteps: state.config?.steps.length ?? 0,
278
+ percentage: state.config
279
+ ? ((state.currentStepIndex + 1) / state.config.steps.length) * 100
280
+ : 0,
281
+ }))
282
+ );
272
283
 
273
284
  export const useTargetMeasurements = (targetId: string) =>
274
285
  useGuidonStore(
@@ -280,23 +291,25 @@ export const useTargetMeasurements = (targetId: string) =>
280
291
  * Returns null if not active, not waiting, or if it's a floating step
281
292
  */
282
293
  export const useWaitingState = () =>
283
- useGuidonStore((state: GuidonStore) => {
284
- if (!state.isActive || !state.config) return null;
294
+ useGuidonStore(
295
+ useShallow((state: GuidonStore) => {
296
+ if (!state.isActive || !state.config) return null;
285
297
 
286
- const currentStep = state.config.steps[state.currentStepIndex];
287
- const targetId = currentStep?.targetId;
298
+ const currentStep = state.config.steps[state.currentStepIndex];
299
+ const targetId = currentStep?.targetId;
288
300
 
289
- // Floating step (no targetId) - not waiting
290
- if (!targetId) return null;
301
+ // Floating step (no targetId) - not waiting
302
+ if (!targetId) return null;
291
303
 
292
- const hasMeasurements = !!state.targetMeasurements[targetId];
304
+ const hasMeasurements = !!state.targetMeasurements[targetId];
293
305
 
294
- return {
295
- isWaiting: !hasMeasurements,
296
- targetId: hasMeasurements ? null : targetId,
297
- message: currentStep?.waitingMessage ?? null,
298
- };
299
- });
306
+ return {
307
+ isWaiting: !hasMeasurements,
308
+ targetId: hasMeasurements ? null : targetId,
309
+ message: currentStep?.waitingMessage ?? null,
310
+ };
311
+ })
312
+ );
300
313
 
301
314
  /**
302
315
  * Hook to check if the current step is a floating step (no target element)