@korsolutions/guidon 1.0.0 → 1.0.2

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.
Files changed (144) hide show
  1. package/README.md +11 -11
  2. package/dist/commonjs/babel.config.js +15 -0
  3. package/dist/commonjs/babel.config.js.map +1 -0
  4. package/dist/commonjs/bob.config.js +11 -0
  5. package/dist/commonjs/bob.config.js.map +1 -0
  6. package/dist/commonjs/components/GuidonOverlay.js +206 -0
  7. package/dist/commonjs/components/GuidonOverlay.js.map +1 -0
  8. package/dist/commonjs/components/GuidonProvider.js +157 -0
  9. package/dist/commonjs/components/GuidonProvider.js.map +1 -0
  10. package/dist/commonjs/components/GuidonTarget.js +108 -0
  11. package/dist/commonjs/components/GuidonTarget.js.map +1 -0
  12. package/dist/commonjs/components/GuidonTooltip.js +422 -0
  13. package/dist/commonjs/components/GuidonTooltip.js.map +1 -0
  14. package/dist/commonjs/components/index.js +40 -0
  15. package/dist/commonjs/components/index.js.map +1 -0
  16. package/dist/commonjs/hooks/index.js +13 -0
  17. package/dist/commonjs/hooks/index.js.map +1 -0
  18. package/dist/commonjs/hooks/useGuidonRef.js +132 -0
  19. package/dist/commonjs/hooks/useGuidonRef.js.map +1 -0
  20. package/dist/commonjs/index.js +143 -0
  21. package/dist/commonjs/index.js.map +1 -0
  22. package/dist/commonjs/package.json +1 -0
  23. package/dist/commonjs/persistence/adapters.js +213 -0
  24. package/dist/commonjs/persistence/adapters.js.map +1 -0
  25. package/dist/commonjs/persistence/hooks.js +153 -0
  26. package/dist/commonjs/persistence/hooks.js.map +1 -0
  27. package/dist/commonjs/persistence/index.js +28 -0
  28. package/dist/commonjs/persistence/index.js.map +1 -0
  29. package/dist/commonjs/store.js +305 -0
  30. package/dist/commonjs/store.js.map +1 -0
  31. package/dist/commonjs/tsconfig.json +32 -0
  32. package/dist/commonjs/types.js +6 -0
  33. package/dist/commonjs/types.js.map +1 -0
  34. package/dist/module/babel.config.js +15 -0
  35. package/dist/module/babel.config.js.map +1 -0
  36. package/dist/module/bob.config.js +11 -0
  37. package/dist/module/bob.config.js.map +1 -0
  38. package/dist/module/components/GuidonOverlay.js +201 -0
  39. package/dist/module/components/GuidonOverlay.js.map +1 -0
  40. package/dist/module/components/GuidonProvider.js +152 -0
  41. package/dist/module/components/GuidonProvider.js.map +1 -0
  42. package/dist/module/components/GuidonTarget.js +104 -0
  43. package/dist/module/components/GuidonTarget.js.map +1 -0
  44. package/dist/module/components/GuidonTooltip.js +417 -0
  45. package/dist/module/components/GuidonTooltip.js.map +1 -0
  46. package/dist/module/components/index.js +7 -0
  47. package/dist/module/components/index.js.map +1 -0
  48. package/dist/module/hooks/index.js +4 -0
  49. package/dist/module/hooks/index.js.map +1 -0
  50. package/dist/module/hooks/useGuidonRef.js +129 -0
  51. package/dist/module/hooks/useGuidonRef.js.map +1 -0
  52. package/dist/module/index.js +17 -0
  53. package/dist/module/index.js.map +1 -0
  54. package/dist/module/package.json +1 -0
  55. package/dist/module/persistence/adapters.js +203 -0
  56. package/dist/module/persistence/adapters.js.map +1 -0
  57. package/dist/module/persistence/hooks.js +148 -0
  58. package/dist/module/persistence/hooks.js.map +1 -0
  59. package/dist/module/persistence/index.js +5 -0
  60. package/dist/module/persistence/index.js.map +1 -0
  61. package/dist/module/store.js +295 -0
  62. package/dist/module/store.js.map +1 -0
  63. package/dist/module/tsconfig.json +32 -0
  64. package/dist/module/types.js +4 -0
  65. package/dist/module/types.js.map +1 -0
  66. package/dist/typescript/commonjs/components/GuidonOverlay.d.ts +9 -0
  67. package/dist/typescript/commonjs/components/GuidonOverlay.d.ts.map +1 -0
  68. package/dist/typescript/commonjs/components/GuidonProvider.d.ts +14 -0
  69. package/dist/typescript/commonjs/components/GuidonProvider.d.ts.map +1 -0
  70. package/dist/typescript/commonjs/components/GuidonTarget.d.ts +7 -0
  71. package/dist/typescript/commonjs/components/GuidonTarget.d.ts.map +1 -0
  72. package/dist/typescript/commonjs/components/GuidonTooltip.d.ts +24 -0
  73. package/dist/typescript/commonjs/components/GuidonTooltip.d.ts.map +1 -0
  74. package/dist/typescript/commonjs/components/index.d.ts +5 -0
  75. package/dist/typescript/commonjs/components/index.d.ts.map +1 -0
  76. package/dist/typescript/commonjs/hooks/index.d.ts +2 -0
  77. package/dist/typescript/commonjs/hooks/index.d.ts.map +1 -0
  78. package/dist/typescript/commonjs/hooks/useGuidonRef.d.ts +35 -0
  79. package/dist/typescript/commonjs/hooks/useGuidonRef.d.ts.map +1 -0
  80. package/dist/typescript/commonjs/index.d.ts +7 -0
  81. package/dist/typescript/commonjs/index.d.ts.map +1 -0
  82. package/dist/typescript/commonjs/package.json +1 -0
  83. package/dist/typescript/commonjs/persistence/adapters.d.ts +57 -0
  84. package/dist/typescript/commonjs/persistence/adapters.d.ts.map +1 -0
  85. package/dist/typescript/commonjs/persistence/hooks.d.ts +29 -0
  86. package/dist/typescript/commonjs/persistence/hooks.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/persistence/index.d.ts +3 -0
  88. package/dist/typescript/commonjs/persistence/index.d.ts.map +1 -0
  89. package/dist/typescript/commonjs/store.d.ts +89 -0
  90. package/dist/typescript/commonjs/store.d.ts.map +1 -0
  91. package/dist/{index-D_JFvCIg.d.mts → typescript/commonjs/types.d.ts} +40 -104
  92. package/dist/typescript/commonjs/types.d.ts.map +1 -0
  93. package/dist/typescript/module/components/GuidonOverlay.d.ts +9 -0
  94. package/dist/typescript/module/components/GuidonOverlay.d.ts.map +1 -0
  95. package/dist/typescript/module/components/GuidonProvider.d.ts +14 -0
  96. package/dist/typescript/module/components/GuidonProvider.d.ts.map +1 -0
  97. package/dist/typescript/module/components/GuidonTarget.d.ts +7 -0
  98. package/dist/typescript/module/components/GuidonTarget.d.ts.map +1 -0
  99. package/dist/typescript/module/components/GuidonTooltip.d.ts +24 -0
  100. package/dist/typescript/module/components/GuidonTooltip.d.ts.map +1 -0
  101. package/dist/typescript/module/components/index.d.ts +5 -0
  102. package/dist/typescript/module/components/index.d.ts.map +1 -0
  103. package/dist/typescript/module/hooks/index.d.ts +2 -0
  104. package/dist/typescript/module/hooks/index.d.ts.map +1 -0
  105. package/dist/typescript/module/hooks/useGuidonRef.d.ts +35 -0
  106. package/dist/typescript/module/hooks/useGuidonRef.d.ts.map +1 -0
  107. package/dist/typescript/module/index.d.ts +7 -0
  108. package/dist/typescript/module/index.d.ts.map +1 -0
  109. package/dist/typescript/module/package.json +1 -0
  110. package/dist/typescript/module/persistence/adapters.d.ts +57 -0
  111. package/dist/typescript/module/persistence/adapters.d.ts.map +1 -0
  112. package/dist/typescript/module/persistence/hooks.d.ts +29 -0
  113. package/dist/typescript/module/persistence/hooks.d.ts.map +1 -0
  114. package/dist/typescript/module/persistence/index.d.ts +3 -0
  115. package/dist/typescript/module/persistence/index.d.ts.map +1 -0
  116. package/dist/typescript/module/store.d.ts +89 -0
  117. package/dist/typescript/module/store.d.ts.map +1 -0
  118. package/dist/{index-D_JFvCIg.d.ts → typescript/module/types.d.ts} +40 -104
  119. package/dist/typescript/module/types.d.ts.map +1 -0
  120. package/package.json +25 -13
  121. package/src/babel.config.js +18 -0
  122. package/src/bob.config.js +14 -0
  123. package/src/components/GuidonOverlay.tsx +60 -4
  124. package/src/components/GuidonProvider.tsx +29 -1
  125. package/src/components/GuidonTarget.tsx +26 -16
  126. package/src/components/GuidonTooltip.tsx +143 -9
  127. package/src/hooks/index.ts +1 -0
  128. package/src/hooks/useGuidonRef.ts +154 -0
  129. package/src/index.ts +6 -0
  130. package/src/store.ts +40 -0
  131. package/src/tsconfig.json +32 -0
  132. package/src/types.ts +32 -2
  133. package/dist/index.d.mts +0 -128
  134. package/dist/index.d.ts +0 -128
  135. package/dist/index.js +0 -1098
  136. package/dist/index.js.map +0 -1
  137. package/dist/index.mjs +0 -1073
  138. package/dist/index.mjs.map +0 -1
  139. package/dist/persistence/index.d.mts +0 -2
  140. package/dist/persistence/index.d.ts +0 -2
  141. package/dist/persistence/index.js +0 -300
  142. package/dist/persistence/index.js.map +0 -1
  143. package/dist/persistence/index.mjs +0 -291
  144. package/dist/persistence/index.mjs.map +0 -1
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Guidon", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _store.Guidon;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "GuidonOverlay", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _index.GuidonOverlay;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "GuidonProvider", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _index.GuidonProvider;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "GuidonTarget", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _index.GuidonTarget;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "GuidonTooltip", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _index.GuidonTooltip;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "createApiAdapter", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _adapters.createApiAdapter;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "createAsyncStorageAdapter", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _adapters.createAsyncStorageAdapter;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "createCompositeAdapter", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _adapters.createCompositeAdapter;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "createLocalStorageAdapter", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _adapters.createLocalStorageAdapter;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "createMemoryAdapter", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _adapters.createMemoryAdapter;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "createNoopAdapter", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _adapters.createNoopAdapter;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "useGuidonActive", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _store.useGuidonActive;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "useGuidonContext", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _index.useGuidonContext;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "useGuidonPersistence", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _hooks.useGuidonPersistence;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "useGuidonProgress", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _store.useGuidonProgress;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "useGuidonRef", {
97
+ enumerable: true,
98
+ get: function () {
99
+ return _index2.useGuidonRef;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "useGuidonStep", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _store.useGuidonStep;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "useGuidonStore", {
109
+ enumerable: true,
110
+ get: function () {
111
+ return _store.useGuidonStore;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "useIsFloatingStep", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _store.useIsFloatingStep;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "useShouldShowGuidon", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _hooks.useShouldShowGuidon;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "useTargetMeasurements", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _store.useTargetMeasurements;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, "useWaitingState", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _store.useWaitingState;
136
+ }
137
+ });
138
+ var _index = require("./components/index.js");
139
+ var _index2 = require("./hooks/index.js");
140
+ var _store = require("./store.js");
141
+ var _adapters = require("./persistence/adapters.js");
142
+ var _hooks = require("./persistence/hooks.js");
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_index2","_store","_adapters","_hooks"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AASA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AA+BA,IAAAG,SAAA,GAAAH,OAAA;AASA,IAAAI,MAAA,GAAAJ,OAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createNoopAdapter = exports.createMemoryAdapter = exports.createLocalStorageAdapter = exports.createCompositeAdapter = exports.createAsyncStorageAdapter = exports.createApiAdapter = void 0;
7
+ const STORAGE_KEY_PREFIX = '@guidon:';
8
+
9
+ /**
10
+ * No-op adapter that doesn't persist anything
11
+ * Useful for testing or when persistence is not needed
12
+ */
13
+ const createNoopAdapter = () => ({
14
+ loadProgress: async () => null,
15
+ saveProgress: async () => {},
16
+ loadAllProgress: async () => ({}),
17
+ clearProgress: async () => {}
18
+ });
19
+
20
+ /**
21
+ * Memory adapter that stores progress in memory
22
+ * Data is lost when the app is closed
23
+ */
24
+ exports.createNoopAdapter = createNoopAdapter;
25
+ const createMemoryAdapter = () => {
26
+ const store = {};
27
+ return {
28
+ loadProgress: async guidonId => store[guidonId] ?? null,
29
+ saveProgress: async progress => {
30
+ store[progress.guidonId] = progress;
31
+ },
32
+ loadAllProgress: async () => ({
33
+ ...store
34
+ }),
35
+ clearProgress: async guidonId => {
36
+ delete store[guidonId];
37
+ }
38
+ };
39
+ };
40
+
41
+ /**
42
+ * localStorage adapter for web
43
+ * Only works in browser environments
44
+ */
45
+ exports.createMemoryAdapter = createMemoryAdapter;
46
+ const createLocalStorageAdapter = (keyPrefix = STORAGE_KEY_PREFIX) => ({
47
+ loadProgress: async guidonId => {
48
+ if (typeof window === 'undefined' || !window.localStorage) {
49
+ return null;
50
+ }
51
+ try {
52
+ const data = localStorage.getItem(`${keyPrefix}${guidonId}`);
53
+ return data ? JSON.parse(data) : null;
54
+ } catch {
55
+ return null;
56
+ }
57
+ },
58
+ saveProgress: async progress => {
59
+ if (typeof window === 'undefined' || !window.localStorage) {
60
+ return;
61
+ }
62
+ try {
63
+ localStorage.setItem(`${keyPrefix}${progress.guidonId}`, JSON.stringify(progress));
64
+ } catch {
65
+ // Silently fail if storage is full
66
+ }
67
+ },
68
+ loadAllProgress: async () => {
69
+ if (typeof window === 'undefined' || !window.localStorage) {
70
+ return {};
71
+ }
72
+ const result = {};
73
+ try {
74
+ for (let i = 0; i < localStorage.length; i++) {
75
+ const key = localStorage.key(i);
76
+ if (key?.startsWith(keyPrefix)) {
77
+ const data = localStorage.getItem(key);
78
+ if (data) {
79
+ const progress = JSON.parse(data);
80
+ result[progress.guidonId] = progress;
81
+ }
82
+ }
83
+ }
84
+ } catch {
85
+ // Silently fail
86
+ }
87
+ return result;
88
+ },
89
+ clearProgress: async guidonId => {
90
+ if (typeof window === 'undefined' || !window.localStorage) {
91
+ return;
92
+ }
93
+ try {
94
+ localStorage.removeItem(`${keyPrefix}${guidonId}`);
95
+ } catch {
96
+ // Silently fail
97
+ }
98
+ }
99
+ });
100
+
101
+ /**
102
+ * AsyncStorage adapter for React Native
103
+ * Requires @react-native-async-storage/async-storage to be installed
104
+ *
105
+ * @example
106
+ * import AsyncStorage from '@react-native-async-storage/async-storage';
107
+ * const adapter = createAsyncStorageAdapter(AsyncStorage);
108
+ */
109
+ exports.createLocalStorageAdapter = createLocalStorageAdapter;
110
+ const createAsyncStorageAdapter = (asyncStorage, keyPrefix = STORAGE_KEY_PREFIX) => ({
111
+ loadProgress: async guidonId => {
112
+ try {
113
+ const data = await asyncStorage.getItem(`${keyPrefix}${guidonId}`);
114
+ return data ? JSON.parse(data) : null;
115
+ } catch {
116
+ return null;
117
+ }
118
+ },
119
+ saveProgress: async progress => {
120
+ try {
121
+ await asyncStorage.setItem(`${keyPrefix}${progress.guidonId}`, JSON.stringify(progress));
122
+ } catch {
123
+ // Silently fail
124
+ }
125
+ },
126
+ loadAllProgress: async () => {
127
+ const result = {};
128
+ try {
129
+ const allKeys = await asyncStorage.getAllKeys();
130
+ const relevantKeys = allKeys.filter(key => key.startsWith(keyPrefix));
131
+ const pairs = await asyncStorage.multiGet(relevantKeys);
132
+ for (const [, value] of pairs) {
133
+ if (value) {
134
+ const progress = JSON.parse(value);
135
+ result[progress.guidonId] = progress;
136
+ }
137
+ }
138
+ } catch {
139
+ // Silently fail
140
+ }
141
+ return result;
142
+ },
143
+ clearProgress: async guidonId => {
144
+ try {
145
+ await asyncStorage.removeItem(`${keyPrefix}${guidonId}`);
146
+ } catch {
147
+ // Silently fail
148
+ }
149
+ }
150
+ });
151
+
152
+ /**
153
+ * Create a custom API adapter for backend persistence
154
+ * This is a factory function that creates an adapter based on your API endpoints
155
+ *
156
+ * @example
157
+ * const adapter = createApiAdapter({
158
+ * loadProgress: async (guidonId) => {
159
+ * const response = await fetch(`/api/guidon/${guidonId}`);
160
+ * return response.json();
161
+ * },
162
+ * saveProgress: async (progress) => {
163
+ * await fetch(`/api/guidon/${progress.guidonId}`, {
164
+ * method: 'POST',
165
+ * body: JSON.stringify(progress),
166
+ * });
167
+ * },
168
+ * });
169
+ */
170
+ exports.createAsyncStorageAdapter = createAsyncStorageAdapter;
171
+ const createApiAdapter = handlers => {
172
+ const noopAdapter = createNoopAdapter();
173
+ return {
174
+ loadProgress: handlers.loadProgress ?? noopAdapter.loadProgress,
175
+ saveProgress: handlers.saveProgress ?? noopAdapter.saveProgress,
176
+ loadAllProgress: handlers.loadAllProgress ?? noopAdapter.loadAllProgress,
177
+ clearProgress: handlers.clearProgress ?? noopAdapter.clearProgress
178
+ };
179
+ };
180
+
181
+ /**
182
+ * Combine multiple adapters (e.g., save to both local and API)
183
+ * Loads from the first adapter that returns data
184
+ * Saves to all adapters
185
+ */
186
+ exports.createApiAdapter = createApiAdapter;
187
+ const createCompositeAdapter = adapters => ({
188
+ loadProgress: async guidonId => {
189
+ for (const adapter of adapters) {
190
+ const progress = await adapter.loadProgress(guidonId);
191
+ if (progress) return progress;
192
+ }
193
+ return null;
194
+ },
195
+ saveProgress: async progress => {
196
+ await Promise.all(adapters.map(adapter => adapter.saveProgress(progress)));
197
+ },
198
+ loadAllProgress: async () => {
199
+ const result = {};
200
+ for (const adapter of adapters) {
201
+ if (adapter.loadAllProgress) {
202
+ const data = await adapter.loadAllProgress();
203
+ Object.assign(result, data);
204
+ }
205
+ }
206
+ return result;
207
+ },
208
+ clearProgress: async guidonId => {
209
+ await Promise.all(adapters.map(adapter => adapter.clearProgress?.(guidonId)));
210
+ }
211
+ });
212
+ exports.createCompositeAdapter = createCompositeAdapter;
213
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["STORAGE_KEY_PREFIX","createNoopAdapter","loadProgress","saveProgress","loadAllProgress","clearProgress","exports","createMemoryAdapter","store","guidonId","progress","createLocalStorageAdapter","keyPrefix","window","localStorage","data","getItem","JSON","parse","setItem","stringify","result","i","length","key","startsWith","removeItem","createAsyncStorageAdapter","asyncStorage","allKeys","getAllKeys","relevantKeys","filter","pairs","multiGet","value","createApiAdapter","handlers","noopAdapter","createCompositeAdapter","adapters","adapter","Promise","all","map","Object","assign"],"sourceRoot":"../../../src","sources":["persistence/adapters.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useGuidonPersistence = useGuidonPersistence;
7
+ exports.useShouldShowGuidon = useShouldShowGuidon;
8
+ var _react = require("react");
9
+ /**
10
+ * Hook to manage guidon's walkthrough progress with a persistence adapter
11
+ */
12
+ function useGuidonPersistence(adapter, guidonId) {
13
+ const [progress, setProgress] = (0, _react.useState)(null);
14
+ const [isLoading, setIsLoading] = (0, _react.useState)(true);
15
+ const [error, setError] = (0, _react.useState)(null);
16
+
17
+ // Load progress on mount
18
+ (0, _react.useEffect)(() => {
19
+ if (!adapter) {
20
+ setIsLoading(false);
21
+ return;
22
+ }
23
+ let mounted = true;
24
+ const loadProgress = async () => {
25
+ try {
26
+ setIsLoading(true);
27
+ setError(null);
28
+ const data = await adapter.loadProgress(guidonId);
29
+ if (mounted) {
30
+ setProgress(data);
31
+ }
32
+ } catch (err) {
33
+ if (mounted) {
34
+ setError(err instanceof Error ? err.message : 'Failed to load progress');
35
+ }
36
+ } finally {
37
+ if (mounted) {
38
+ setIsLoading(false);
39
+ }
40
+ }
41
+ };
42
+ loadProgress();
43
+ return () => {
44
+ mounted = false;
45
+ };
46
+ }, [adapter, guidonId]);
47
+ const saveProgress = (0, _react.useCallback)(async newProgress => {
48
+ if (!adapter) return;
49
+ const fullProgress = {
50
+ ...newProgress,
51
+ guidonId
52
+ };
53
+ try {
54
+ setError(null);
55
+ await adapter.saveProgress(fullProgress);
56
+ setProgress(fullProgress);
57
+ } catch (err) {
58
+ setError(err instanceof Error ? err.message : 'Failed to save progress');
59
+ throw err;
60
+ }
61
+ }, [adapter, guidonId]);
62
+ const clearProgress = (0, _react.useCallback)(async () => {
63
+ if (!adapter?.clearProgress) return;
64
+ try {
65
+ setError(null);
66
+ await adapter.clearProgress(guidonId);
67
+ setProgress(null);
68
+ } catch (err) {
69
+ setError(err instanceof Error ? err.message : 'Failed to clear progress');
70
+ throw err;
71
+ }
72
+ }, [adapter, guidonId]);
73
+ const markCompleted = (0, _react.useCallback)(async () => {
74
+ const currentCount = progress?.completionCount ?? 0;
75
+ await saveProgress({
76
+ completed: true,
77
+ completedAt: new Date().toISOString(),
78
+ completionCount: currentCount + 1
79
+ });
80
+ }, [saveProgress, progress?.completionCount]);
81
+ const markStepViewed = (0, _react.useCallback)(async stepIndex => {
82
+ await saveProgress({
83
+ completed: progress?.completed ?? false,
84
+ lastStepIndex: stepIndex,
85
+ completedAt: progress?.completedAt,
86
+ completionCount: progress?.completionCount
87
+ });
88
+ }, [saveProgress, progress]);
89
+ return {
90
+ progress,
91
+ isLoading,
92
+ error,
93
+ isCompleted: progress?.completed ?? false,
94
+ hasStarted: progress !== null,
95
+ saveProgress,
96
+ clearProgress,
97
+ markCompleted,
98
+ markStepViewed
99
+ };
100
+ }
101
+
102
+ /**
103
+ * Hook to check if a guidon should be shown
104
+ */
105
+ function useShouldShowGuidon(adapter, guidonId, options) {
106
+ const {
107
+ progress,
108
+ isLoading
109
+ } = useGuidonPersistence(adapter, guidonId);
110
+ const [shouldShow, setShouldShow] = (0, _react.useState)(false);
111
+ const [isChecking, setIsChecking] = (0, _react.useState)(true);
112
+ (0, _react.useEffect)(() => {
113
+ if (isLoading) return;
114
+ const checkCondition = async () => {
115
+ setIsChecking(true);
116
+
117
+ // If forceShow is true, always show
118
+ if (options?.forceShow) {
119
+ setShouldShow(true);
120
+ setIsChecking(false);
121
+ return;
122
+ }
123
+
124
+ // If already completed, don't show
125
+ if (progress?.completed) {
126
+ setShouldShow(false);
127
+ setIsChecking(false);
128
+ return;
129
+ }
130
+
131
+ // Check additional condition if provided
132
+ if (options?.additionalCondition) {
133
+ try {
134
+ const result = await options.additionalCondition();
135
+ setShouldShow(result);
136
+ } catch {
137
+ setShouldShow(true); // Default to showing on error
138
+ }
139
+ } else {
140
+ // Default: show if not completed
141
+ setShouldShow(true);
142
+ }
143
+ setIsChecking(false);
144
+ };
145
+ checkCondition();
146
+ }, [isLoading, progress?.completed, options?.forceShow, options?.additionalCondition]);
147
+ return {
148
+ shouldShow,
149
+ isChecking: isLoading || isChecking,
150
+ isCompleted: progress?.completed ?? false
151
+ };
152
+ }
153
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useGuidonPersistence","adapter","guidonId","progress","setProgress","useState","isLoading","setIsLoading","error","setError","useEffect","mounted","loadProgress","data","err","Error","message","saveProgress","useCallback","newProgress","fullProgress","clearProgress","markCompleted","currentCount","completionCount","completed","completedAt","Date","toISOString","markStepViewed","stepIndex","lastStepIndex","isCompleted","hasStarted","useShouldShowGuidon","options","shouldShow","setShouldShow","isChecking","setIsChecking","checkCondition","forceShow","additionalCondition","result"],"sourceRoot":"../../../src","sources":["persistence/hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _adapters = require("./adapters.js");
7
+ Object.keys(_adapters).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _adapters[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _adapters[key];
14
+ }
15
+ });
16
+ });
17
+ var _hooks = require("./hooks.js");
18
+ Object.keys(_hooks).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _hooks[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _hooks[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_adapters","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_hooks"],"sourceRoot":"../../../src","sources":["persistence/index.ts"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}