@tagadapay/headless-sdk 1.1.1 → 1.3.0

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 (64) hide show
  1. package/dist/core/client.d.ts +2 -5
  2. package/dist/core/client.d.ts.map +1 -1
  3. package/dist/core/client.js +1 -3
  4. package/dist/core/client.js.map +1 -1
  5. package/dist/core/helpers/autocomplete.d.ts +89 -0
  6. package/dist/core/helpers/autocomplete.d.ts.map +1 -0
  7. package/dist/core/helpers/autocomplete.js +186 -0
  8. package/dist/core/helpers/autocomplete.js.map +1 -0
  9. package/dist/core/helpers/countries.d.ts +45 -0
  10. package/dist/core/helpers/countries.d.ts.map +1 -0
  11. package/dist/core/helpers/countries.js +65 -0
  12. package/dist/core/helpers/countries.js.map +1 -0
  13. package/dist/core/helpers/currency.d.ts +26 -0
  14. package/dist/core/helpers/currency.d.ts.map +1 -0
  15. package/dist/core/helpers/currency.js +72 -0
  16. package/dist/core/helpers/currency.js.map +1 -0
  17. package/dist/core/helpers/index.d.ts +5 -0
  18. package/dist/core/helpers/index.d.ts.map +1 -0
  19. package/dist/core/helpers/index.js +5 -0
  20. package/dist/core/helpers/index.js.map +1 -0
  21. package/dist/core/helpers/iso3166.d.ts +28 -0
  22. package/dist/core/helpers/iso3166.d.ts.map +1 -0
  23. package/dist/core/helpers/iso3166.js +84 -0
  24. package/dist/core/helpers/iso3166.js.map +1 -0
  25. package/dist/core/index.d.ts +3 -2
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +2 -1
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/modules/offers.d.ts +64 -23
  30. package/dist/core/modules/offers.d.ts.map +1 -1
  31. package/dist/core/modules/offers.js +70 -33
  32. package/dist/core/modules/offers.js.map +1 -1
  33. package/dist/core/types.d.ts +26 -16
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/react/hooks/useGoogleAutocomplete.d.ts +26 -0
  36. package/dist/react/hooks/useGoogleAutocomplete.d.ts.map +1 -0
  37. package/dist/react/hooks/useGoogleAutocomplete.js +70 -0
  38. package/dist/react/hooks/useGoogleAutocomplete.js.map +1 -0
  39. package/dist/react/hooks/useISOData.d.ts +23 -0
  40. package/dist/react/hooks/useISOData.d.ts.map +1 -0
  41. package/dist/react/hooks/useISOData.js +63 -0
  42. package/dist/react/hooks/useISOData.js.map +1 -0
  43. package/dist/react/hooks/useOffers.d.ts +63 -22
  44. package/dist/react/hooks/useOffers.d.ts.map +1 -1
  45. package/dist/react/hooks/useOffers.js +36 -52
  46. package/dist/react/hooks/useOffers.js.map +1 -1
  47. package/dist/react/index.d.ts +7 -3
  48. package/dist/react/index.d.ts.map +1 -1
  49. package/dist/react/index.js +4 -1
  50. package/dist/react/index.js.map +1 -1
  51. package/dist/tagada-headless-react.min.js +2 -2
  52. package/dist/tagada-headless-react.min.js.map +4 -4
  53. package/dist/tagada-headless.js +536 -292
  54. package/dist/tagada-headless.min.js +2 -2
  55. package/dist/tagada-headless.min.js.map +4 -4
  56. package/package.json +3 -3
  57. package/dist/core/modules/analytics.d.ts +0 -79
  58. package/dist/core/modules/analytics.d.ts.map +0 -1
  59. package/dist/core/modules/analytics.js +0 -265
  60. package/dist/core/modules/analytics.js.map +0 -1
  61. package/dist/react/hooks/useAnalytics.d.ts +0 -59
  62. package/dist/react/hooks/useAnalytics.d.ts.map +0 -1
  63. package/dist/react/hooks/useAnalytics.js +0 -49
  64. package/dist/react/hooks/useAnalytics.js.map +0 -1
@@ -1,79 +0,0 @@
1
- import type { HttpClient } from '../http.js';
2
- import type { PixelConfig } from '../types.js';
3
- /**
4
- * Analytics and pixel tracking -- page views, checkout steps, conversions.
5
- *
6
- * Automatically loads pixel scripts (Meta, TikTok, Snapchat, GTM, GA)
7
- * from your store's configuration in the CRM, then fires events to all active pixels.
8
- */
9
- export declare class AnalyticsModule {
10
- private readonly http;
11
- private readonly storeId;
12
- private pixels;
13
- private eventQueue;
14
- private dedupeSet;
15
- constructor(http: HttpClient, storeId: string);
16
- /**
17
- * Initialize analytics by loading pixel configuration from the store.
18
- * Call this once on page load. Events fired before init completes are queued.
19
- */
20
- init(opts?: {
21
- pixelConfig?: PixelConfig;
22
- }): Promise<void>;
23
- trackPageView(page?: string): void;
24
- trackViewContent(data: {
25
- productId?: string;
26
- variantId?: string;
27
- value?: number;
28
- currency?: string;
29
- }): void;
30
- trackAddToCart(data: {
31
- variantId: string;
32
- quantity?: number;
33
- amount?: number;
34
- currency?: string;
35
- }): void;
36
- trackInitiateCheckout(data?: {
37
- sessionId?: string;
38
- value?: number;
39
- currency?: string;
40
- }): void;
41
- trackAddPaymentInfo(data?: {
42
- paymentMethod?: string;
43
- }): void;
44
- trackPurchase(data: {
45
- orderId: string;
46
- amount: number;
47
- currency: string;
48
- items?: unknown[];
49
- }): void;
50
- trackCustomEvent(event: string, data?: Record<string, unknown>): void;
51
- /** Track a funnel step (maps to Tagada's funnel tracking endpoint). */
52
- trackStep(data: {
53
- stepName: string;
54
- stepIndex?: number;
55
- funnelId?: string;
56
- sessionId?: string;
57
- }): void;
58
- trackConversion(data: {
59
- orderId: string;
60
- amount: number;
61
- currency: string;
62
- }): void;
63
- private fireEvent;
64
- private flushQueue;
65
- private getCurrentPath;
66
- private loadPixelScripts;
67
- private loadMetaPixel;
68
- private loadTikTokPixel;
69
- private loadSnapchatPixel;
70
- private loadGTM;
71
- private loadGA;
72
- private injectScript;
73
- private sendToMeta;
74
- private sendToTikTok;
75
- private sendToSnapchat;
76
- private sendToGTM;
77
- private sendToGA;
78
- }
79
- //# sourceMappingURL=analytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/core/modules/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C;;;;;GAKG;AACH,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,UAAU,CAA+D;IACjF,OAAO,CAAC,SAAS,CAAqB;gBAGnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM;IAGlC;;;OAGG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/D,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,gBAAgB,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI3G,cAAc,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIxG,qBAAqB,CAAC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI7F,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI5D,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI;IAInG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,uEAAuE;IACvE,SAAS,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAatG,eAAe,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQlF,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,265 +0,0 @@
1
- /**
2
- * Analytics and pixel tracking -- page views, checkout steps, conversions.
3
- *
4
- * Automatically loads pixel scripts (Meta, TikTok, Snapchat, GTM, GA)
5
- * from your store's configuration in the CRM, then fires events to all active pixels.
6
- */
7
- export class AnalyticsModule {
8
- constructor(http, storeId) {
9
- this.http = http;
10
- this.storeId = storeId;
11
- this.pixels = { loaded: false };
12
- this.eventQueue = [];
13
- this.dedupeSet = new Set();
14
- }
15
- /**
16
- * Initialize analytics by loading pixel configuration from the store.
17
- * Call this once on page load. Events fired before init completes are queued.
18
- */
19
- async init(opts) {
20
- if (this.pixels.loaded)
21
- return;
22
- let config = opts?.pixelConfig;
23
- if (!config) {
24
- try {
25
- const res = await this.http.get('/api/v1/checkout/config', { params: { storeId: this.storeId } });
26
- config = res.pixels;
27
- }
28
- catch {
29
- // graceful degradation -- analytics just won't fire pixels
30
- }
31
- }
32
- this.pixels = { loaded: true, config };
33
- if (typeof window !== 'undefined' && config) {
34
- this.loadPixelScripts(config);
35
- }
36
- this.flushQueue();
37
- }
38
- // ---------------------------------------------------------------------------
39
- // Standard e-commerce events
40
- // ---------------------------------------------------------------------------
41
- trackPageView(page) {
42
- this.fireEvent('PageView', { page: page ?? this.getCurrentPath() });
43
- }
44
- trackViewContent(data) {
45
- this.fireEvent('ViewContent', data);
46
- }
47
- trackAddToCart(data) {
48
- this.fireEvent('AddToCart', data);
49
- }
50
- trackInitiateCheckout(data) {
51
- this.fireEvent('InitiateCheckout', data ?? {});
52
- }
53
- trackAddPaymentInfo(data) {
54
- this.fireEvent('AddPaymentInfo', data ?? {});
55
- }
56
- trackPurchase(data) {
57
- this.fireEvent('Purchase', data, true);
58
- }
59
- trackCustomEvent(event, data) {
60
- this.fireEvent(event, data ?? {});
61
- }
62
- /** Track a funnel step (maps to Tagada's funnel tracking endpoint). */
63
- trackStep(data) {
64
- this.fireEvent('FunnelStep', data);
65
- this.http
66
- .post('/api/v1/funnel-tracking/step', {
67
- storeId: this.storeId,
68
- ...data,
69
- })
70
- .catch(() => {
71
- // best-effort -- don't block the UI
72
- });
73
- }
74
- trackConversion(data) {
75
- this.fireEvent('Conversion', data, true);
76
- }
77
- // ---------------------------------------------------------------------------
78
- // Internals
79
- // ---------------------------------------------------------------------------
80
- fireEvent(event, data, dedupe = false) {
81
- if (dedupe) {
82
- const key = `${event}:${JSON.stringify(data)}`;
83
- if (this.dedupeSet.has(key))
84
- return;
85
- this.dedupeSet.add(key);
86
- }
87
- if (!this.pixels.loaded) {
88
- this.eventQueue.push({ event, data });
89
- return;
90
- }
91
- this.sendToMeta(event, data);
92
- this.sendToTikTok(event, data);
93
- this.sendToSnapchat(event, data);
94
- this.sendToGTM(event, data);
95
- this.sendToGA(event, data);
96
- }
97
- flushQueue() {
98
- const queue = [...this.eventQueue];
99
- this.eventQueue = [];
100
- for (const { event, data } of queue) {
101
- this.fireEvent(event, data);
102
- }
103
- }
104
- getCurrentPath() {
105
- return typeof window !== 'undefined' ? window.location.pathname : '/';
106
- }
107
- // ---------------------------------------------------------------------------
108
- // Pixel script loaders
109
- // ---------------------------------------------------------------------------
110
- loadPixelScripts(config) {
111
- if (config.metaPixelId)
112
- this.loadMetaPixel(config.metaPixelId);
113
- if (config.tiktokPixelId)
114
- this.loadTikTokPixel(config.tiktokPixelId);
115
- if (config.snapchatPixelId)
116
- this.loadSnapchatPixel(config.snapchatPixelId);
117
- if (config.gtmId)
118
- this.loadGTM(config.gtmId);
119
- if (config.gaId)
120
- this.loadGA(config.gaId);
121
- }
122
- loadMetaPixel(pixelId) {
123
- if (typeof window === 'undefined')
124
- return;
125
- const w = window;
126
- if (w.fbq)
127
- return;
128
- const n = (w.fbq = function (...args) {
129
- n.callMethod
130
- ? n.callMethod(...args)
131
- : n.queue.push(args);
132
- });
133
- n.queue = [];
134
- n.loaded = true;
135
- n.version = '2.0';
136
- this.injectScript('https://connect.facebook.net/en_US/fbevents.js');
137
- w.fbq('init', pixelId);
138
- }
139
- loadTikTokPixel(pixelId) {
140
- if (typeof window === 'undefined')
141
- return;
142
- const w = window;
143
- if (w.ttq)
144
- return;
145
- const ttq = {};
146
- ttq.methods = ['page', 'track', 'identify', 'instances', 'debug', 'on', 'off', 'once', 'ready', 'alias', 'group', 'enableCookie', 'disableCookie'];
147
- ttq.setAndDefer = function (t, e) {
148
- t[e] = function (...args) {
149
- t.push([e, ...args]);
150
- };
151
- };
152
- w.ttq = ttq;
153
- this.injectScript('https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=' + pixelId);
154
- }
155
- loadSnapchatPixel(pixelId) {
156
- if (typeof window === 'undefined')
157
- return;
158
- const w = window;
159
- if (w.snaptr)
160
- return;
161
- w.snaptr = function (...args) {
162
- w.snaptr.handleRequest
163
- ? w.snaptr.handleRequest(...args)
164
- : w.snaptr.queue.push(args);
165
- };
166
- w.snaptr.queue = [];
167
- this.injectScript('https://sc-static.net/scevent.min.js');
168
- w.snaptr('init', pixelId);
169
- }
170
- loadGTM(gtmId) {
171
- if (typeof window === 'undefined')
172
- return;
173
- const w = window;
174
- w.dataLayer = w.dataLayer ?? [];
175
- w.dataLayer.push({ 'gtm.start': Date.now(), event: 'gtm.js' });
176
- this.injectScript(`https://www.googletagmanager.com/gtm.js?id=${gtmId}`);
177
- }
178
- loadGA(gaId) {
179
- if (typeof window === 'undefined')
180
- return;
181
- this.injectScript(`https://www.googletagmanager.com/gtag/js?id=${gaId}`);
182
- const w = window;
183
- w.dataLayer = w.dataLayer ?? [];
184
- w.gtag = function (...args) {
185
- w.dataLayer.push(args);
186
- };
187
- w.gtag('js', new Date());
188
- w.gtag('config', gaId);
189
- }
190
- injectScript(src) {
191
- if (typeof document === 'undefined')
192
- return;
193
- const s = document.createElement('script');
194
- s.async = true;
195
- s.src = src;
196
- document.head.appendChild(s);
197
- }
198
- // ---------------------------------------------------------------------------
199
- // Event dispatchers per pixel
200
- // ---------------------------------------------------------------------------
201
- sendToMeta(event, data) {
202
- const w = typeof window !== 'undefined' ? window : null;
203
- const fbq = w?.fbq;
204
- if (!fbq)
205
- return;
206
- const metaEventMap = {
207
- PageView: 'PageView',
208
- ViewContent: 'ViewContent',
209
- AddToCart: 'AddToCart',
210
- InitiateCheckout: 'InitiateCheckout',
211
- AddPaymentInfo: 'AddPaymentInfo',
212
- Purchase: 'Purchase',
213
- };
214
- const mapped = metaEventMap[event];
215
- if (mapped) {
216
- fbq('track', mapped, data);
217
- }
218
- else {
219
- fbq('trackCustom', event, data);
220
- }
221
- }
222
- sendToTikTok(event, data) {
223
- const w = typeof window !== 'undefined' ? window : null;
224
- const ttq = w?.ttq;
225
- if (!ttq)
226
- return;
227
- if (event === 'PageView') {
228
- ttq.page?.();
229
- }
230
- else {
231
- ttq.track?.(event, data);
232
- }
233
- }
234
- sendToSnapchat(event, data) {
235
- const w = typeof window !== 'undefined' ? window : null;
236
- const snaptr = w?.snaptr;
237
- if (!snaptr)
238
- return;
239
- const snapEventMap = {
240
- PageView: 'PAGE_VIEW',
241
- ViewContent: 'VIEW_CONTENT',
242
- AddToCart: 'ADD_CART',
243
- InitiateCheckout: 'START_CHECKOUT',
244
- Purchase: 'PURCHASE',
245
- };
246
- const mapped = snapEventMap[event];
247
- if (mapped)
248
- snaptr('track', mapped, data);
249
- }
250
- sendToGTM(event, data) {
251
- const w = typeof window !== 'undefined' ? window : null;
252
- const dataLayer = w?.dataLayer;
253
- if (!dataLayer)
254
- return;
255
- dataLayer.push({ event, ...data });
256
- }
257
- sendToGA(event, data) {
258
- const w = typeof window !== 'undefined' ? window : null;
259
- const gtag = w?.gtag;
260
- if (!gtag)
261
- return;
262
- gtag('event', event, data);
263
- }
264
- }
265
- //# sourceMappingURL=analytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/core/modules/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import type { PixelConfig } from '../../core/types.js';
2
- export interface UseAnalyticsReturn {
3
- trackPageView: (page?: string) => void;
4
- trackViewContent: (data: {
5
- productId?: string;
6
- variantId?: string;
7
- value?: number;
8
- currency?: string;
9
- }) => void;
10
- trackAddToCart: (data: {
11
- variantId: string;
12
- quantity?: number;
13
- amount?: number;
14
- currency?: string;
15
- }) => void;
16
- trackInitiateCheckout: (data?: {
17
- sessionId?: string;
18
- value?: number;
19
- currency?: string;
20
- }) => void;
21
- trackAddPaymentInfo: (data?: {
22
- paymentMethod?: string;
23
- }) => void;
24
- trackPurchase: (data: {
25
- orderId: string;
26
- amount: number;
27
- currency: string;
28
- }) => void;
29
- trackStep: (data: {
30
- stepName: string;
31
- stepIndex?: number;
32
- }) => void;
33
- trackConversion: (data: {
34
- orderId: string;
35
- amount: number;
36
- currency: string;
37
- }) => void;
38
- trackCustomEvent: (event: string, data?: Record<string, unknown>) => void;
39
- }
40
- /**
41
- * React hook for analytics and pixel tracking.
42
- *
43
- * Auto-initializes on mount, loading pixel config from the store.
44
- * All track methods fire events to configured pixels (Meta, TikTok, Snap, GTM, GA).
45
- *
46
- * @example
47
- * ```tsx
48
- * const { trackPageView, trackPurchase } = useAnalytics();
49
- *
50
- * useEffect(() => { trackPageView('/checkout'); }, []);
51
- *
52
- * // After payment
53
- * trackPurchase({ orderId: 'ord_xxx', amount: 4900, currency: 'USD' });
54
- * ```
55
- */
56
- export declare function useAnalytics(opts?: {
57
- pixelConfig?: PixelConfig;
58
- }): UseAnalyticsReturn;
59
- //# sourceMappingURL=useAnalytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnalytics.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gBAAgB,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChH,cAAc,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7G,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,eAAe,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,kBAAkB,CAuErF"}
@@ -1,49 +0,0 @@
1
- import { useEffect, useCallback, useRef } from 'react';
2
- import { useHeadlessClient } from '../provider.js';
3
- /**
4
- * React hook for analytics and pixel tracking.
5
- *
6
- * Auto-initializes on mount, loading pixel config from the store.
7
- * All track methods fire events to configured pixels (Meta, TikTok, Snap, GTM, GA).
8
- *
9
- * @example
10
- * ```tsx
11
- * const { trackPageView, trackPurchase } = useAnalytics();
12
- *
13
- * useEffect(() => { trackPageView('/checkout'); }, []);
14
- *
15
- * // After payment
16
- * trackPurchase({ orderId: 'ord_xxx', amount: 4900, currency: 'USD' });
17
- * ```
18
- */
19
- export function useAnalytics(opts) {
20
- const client = useHeadlessClient();
21
- const initRef = useRef(false);
22
- useEffect(() => {
23
- if (initRef.current)
24
- return;
25
- initRef.current = true;
26
- client.analytics.init({ pixelConfig: opts?.pixelConfig });
27
- }, [client, opts?.pixelConfig]);
28
- const trackPageView = useCallback((page) => client.analytics.trackPageView(page), [client]);
29
- const trackViewContent = useCallback((data) => client.analytics.trackViewContent(data), [client]);
30
- const trackAddToCart = useCallback((data) => client.analytics.trackAddToCart(data), [client]);
31
- const trackInitiateCheckout = useCallback((data) => client.analytics.trackInitiateCheckout(data), [client]);
32
- const trackAddPaymentInfo = useCallback((data) => client.analytics.trackAddPaymentInfo(data), [client]);
33
- const trackPurchase = useCallback((data) => client.analytics.trackPurchase(data), [client]);
34
- const trackStep = useCallback((data) => client.analytics.trackStep(data), [client]);
35
- const trackConversion = useCallback((data) => client.analytics.trackConversion(data), [client]);
36
- const trackCustomEvent = useCallback((event, data) => client.analytics.trackCustomEvent(event, data), [client]);
37
- return {
38
- trackPageView,
39
- trackViewContent,
40
- trackAddToCart,
41
- trackInitiateCheckout,
42
- trackAddPaymentInfo,
43
- trackPurchase,
44
- trackStep,
45
- trackConversion,
46
- trackCustomEvent,
47
- };
48
- }
49
- //# sourceMappingURL=useAnalytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnalytics.js","sourceRoot":"","sources":["../../../src/react/hooks/useAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAenD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoC;IAC/D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO;QAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAAa,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EACvD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAmF,EAAE,EAAE,CACtF,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACzC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,IAAkF,EAAE,EAAE,CACrF,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EACvC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAgE,EAAE,EAAE,CACnE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAC9C,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAiC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACjF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAA2D,EAAE,EAAE,CAC9D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EACtC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,IAA8C,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EACpF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAA2D,EAAE,EAAE,CAC9D,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EACxC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,KAAa,EAAE,IAA8B,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,EACjG,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,qBAAqB;QACrB,mBAAmB;QACnB,aAAa;QACb,SAAS;QACT,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC"}