@tagadapay/headless-sdk 1.14.0 → 1.16.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 (81) hide show
  1. package/dist/core/client.d.ts +7 -0
  2. package/dist/core/client.d.ts.map +1 -1
  3. package/dist/core/client.js +10 -3
  4. package/dist/core/client.js.map +1 -1
  5. package/dist/core/index.d.ts +3 -1
  6. package/dist/core/index.d.ts.map +1 -1
  7. package/dist/core/index.js +1 -0
  8. package/dist/core/index.js.map +1 -1
  9. package/dist/core/modules/checkout.d.ts +5 -1
  10. package/dist/core/modules/checkout.d.ts.map +1 -1
  11. package/dist/core/modules/checkout.js +13 -11
  12. package/dist/core/modules/checkout.js.map +1 -1
  13. package/dist/core/modules/payment.d.ts +19 -1
  14. package/dist/core/modules/payment.d.ts.map +1 -1
  15. package/dist/core/modules/payment.js +42 -3
  16. package/dist/core/modules/payment.js.map +1 -1
  17. package/dist/core/modules/rx.d.ts +32 -1
  18. package/dist/core/modules/rx.d.ts.map +1 -1
  19. package/dist/core/modules/rx.js +17 -1
  20. package/dist/core/modules/rx.js.map +1 -1
  21. package/dist/core/modules/track.d.ts +127 -0
  22. package/dist/core/modules/track.d.ts.map +1 -0
  23. package/dist/core/modules/track.js +371 -0
  24. package/dist/core/modules/track.js.map +1 -0
  25. package/dist/core/types.d.ts +2 -0
  26. package/dist/core/types.d.ts.map +1 -1
  27. package/dist/core/version.d.ts +4 -0
  28. package/dist/core/version.d.ts.map +1 -0
  29. package/dist/core/version.js +4 -0
  30. package/dist/core/version.js.map +1 -0
  31. package/dist/pixels/engine.d.ts +56 -0
  32. package/dist/pixels/engine.d.ts.map +1 -0
  33. package/dist/pixels/engine.js +263 -0
  34. package/dist/pixels/engine.js.map +1 -0
  35. package/dist/pixels/index.d.ts +10 -0
  36. package/dist/pixels/index.d.ts.map +1 -0
  37. package/dist/pixels/index.js +5 -0
  38. package/dist/pixels/index.js.map +1 -0
  39. package/dist/pixels/metaEventId.d.ts +15 -0
  40. package/dist/pixels/metaEventId.d.ts.map +1 -0
  41. package/dist/pixels/metaEventId.js +17 -0
  42. package/dist/pixels/metaEventId.js.map +1 -0
  43. package/dist/pixels/pixelIdentity.d.ts +34 -0
  44. package/dist/pixels/pixelIdentity.d.ts.map +1 -0
  45. package/dist/pixels/pixelIdentity.js +65 -0
  46. package/dist/pixels/pixelIdentity.js.map +1 -0
  47. package/dist/pixels/pixelMapping.d.ts +172 -0
  48. package/dist/pixels/pixelMapping.d.ts.map +1 -0
  49. package/dist/pixels/pixelMapping.js +574 -0
  50. package/dist/pixels/pixelMapping.js.map +1 -0
  51. package/dist/pixels/pixelTracker.d.ts +81 -0
  52. package/dist/pixels/pixelTracker.d.ts.map +1 -0
  53. package/dist/pixels/pixelTracker.js +795 -0
  54. package/dist/pixels/pixelTracker.js.map +1 -0
  55. package/dist/pixels/types.d.ts +103 -0
  56. package/dist/pixels/types.d.ts.map +1 -0
  57. package/dist/pixels/types.js +14 -0
  58. package/dist/pixels/types.js.map +1 -0
  59. package/dist/react/hooks/useStep.d.ts +7 -0
  60. package/dist/react/hooks/useStep.d.ts.map +1 -0
  61. package/dist/react/hooks/useStep.js +14 -0
  62. package/dist/react/hooks/useStep.js.map +1 -0
  63. package/dist/react/index.d.ts +1 -0
  64. package/dist/react/index.d.ts.map +1 -1
  65. package/dist/react/index.js +1 -0
  66. package/dist/react/index.js.map +1 -1
  67. package/dist/stripe/index.d.ts +3 -1
  68. package/dist/stripe/index.d.ts.map +1 -1
  69. package/dist/stripe/index.js +13 -6
  70. package/dist/stripe/index.js.map +1 -1
  71. package/dist/stripe/useStripeExpress.d.ts.map +1 -1
  72. package/dist/stripe/useStripeExpress.js +15 -1
  73. package/dist/stripe/useStripeExpress.js.map +1 -1
  74. package/dist/tagada-headless-react.min.js +2 -2
  75. package/dist/tagada-headless-react.min.js.map +4 -4
  76. package/dist/tagada-headless.js +442 -26
  77. package/dist/tagada-headless.min.js +2 -2
  78. package/dist/tagada-headless.min.js.map +4 -4
  79. package/dist/tagada-pixels.min.js +7 -0
  80. package/dist/tagada-pixels.min.js.map +7 -0
  81. package/package.json +8 -1
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Framework-agnostic pixel tracker.
3
+ *
4
+ * Init / fire logic for Meta, TikTok, Snapchat, Pinterest, GTM/GA4 and
5
+ * Microsoft Clarity pixels —
6
+ * extracted from `react/hooks/usePixelTracking.tsx` so non-React entry points
7
+ * (Studio islands hydrator, full-SPA runtime) can fire pixel events from
8
+ * `window.__TGD_STEP_CONFIG__.pixels`.
9
+ *
10
+ * The React provider is a thin adapter on top of this module.
11
+ */
12
+ import type { PixelsConfig } from './types.js';
13
+ import { type Ga4UserData, type StandardPixelEvent } from './pixelMapping.js';
14
+ import { type PixelRawIdentity } from './pixelIdentity.js';
15
+ /**
16
+ * Optional per-event tracking metadata. `eventId` is the cross-channel dedup
17
+ * key that the SDK threads to `fbq` (Meta) and `ttq` (TikTok) so the same
18
+ * eventID/event_id can be matched against a server-side CAPI event. Use the
19
+ * `makeMetaEventId(eventName, entityId)` helper from `core/utils/metaEventId`
20
+ * to keep the formula in lockstep with the server.
21
+ */
22
+ export interface TrackOptions {
23
+ eventId?: string;
24
+ }
25
+ export interface PixelTracker {
26
+ /** Resolves once all pixel scripts have loaded (or hit their load timeout). */
27
+ readonly initPromise: Promise<void>;
28
+ /** True after `initPromise` resolves. */
29
+ readonly pixelsInitialized: boolean;
30
+ /** Track a standard pixel event. No-ops until init resolves. */
31
+ track(eventName: StandardPixelEvent, parameters?: Record<string, unknown>, options?: TrackOptions): void;
32
+ /**
33
+ * Feed customer identifiers for advanced matching. Applies to Meta (fbq init,
34
+ * raw — Meta hashes in-browser), Google (gtag set user_data, raw — enhanced
35
+ * conversions), Snapchat (re-init) + TikTok (identify), the last two with
36
+ * client-side SHA-256 hashing. Each provider persists the keys onto
37
+ * subsequent events, so call this as soon as the email is known to lift
38
+ * match quality on InitiateCheckout + Purchase. Idempotent per identity; safe
39
+ * to call repeatedly.
40
+ */
41
+ identify(identity: PixelRawIdentity): void;
42
+ }
43
+ /**
44
+ * Google Ads enhanced conversions / GA4 user-provided data.
45
+ *
46
+ * Google's documented mechanism is `gtag('set', 'user_data', {...})` BEFORE the
47
+ * conversion event fires (support.google.com/google-ads/answer/13258081) —
48
+ * `user_data` as an event parameter is not read for enhanced conversions. We
49
+ * pass RAW values; the Google tag normalizes + SHA-256 hashes in-browser.
50
+ * Field names per spec: `email`, `phone_number` (strict E.164 — dropped when
51
+ * not in that shape, email is the preferred key anyway), and
52
+ * `address.{first_name,last_name,street,city,region,postal_code,country}`.
53
+ * Exported for unit tests.
54
+ */
55
+ export declare function applyGoogleIdentity(w: any, ud: Ga4UserData): void;
56
+ /** True when `value` is a single, well-formed pixel / container ID. */
57
+ export declare function isSafePixelId(value: unknown): value is string;
58
+ /**
59
+ * Create a pixel tracker for a given pixels config.
60
+ * Kicks off pixel script init once the first frame has painted, fires PageView
61
+ * when init resolves, and returns a `track()` function that no-ops until then.
62
+ */
63
+ export declare function createPixelTracker(rawPixels: PixelsConfig | undefined, opts?: {
64
+ autoPageView?: boolean;
65
+ }): PixelTracker;
66
+ declare global {
67
+ interface Window {
68
+ __TGD_PIXEL_TRACKER__?: PixelTracker;
69
+ __TGD_STEP_CONFIG__?: string | Record<string, unknown>;
70
+ }
71
+ }
72
+ /**
73
+ * One-shot bootstrap: reads `window.__TGD_STEP_CONFIG__.pixels`, creates a
74
+ * tracker, kicks off init, and stashes it on `window.__TGD_PIXEL_TRACKER__`.
75
+ *
76
+ * Idempotent — both the islands SDK and the full-SPA runtime may call this,
77
+ * but only the first call creates a tracker. Returns the active tracker
78
+ * (existing or newly created), or null if there's no window or no pixels.
79
+ */
80
+ export declare function bootstrapPixelTrackerFromWindow(): PixelTracker | null;
81
+ //# sourceMappingURL=pixelTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelTracker.d.ts","sourceRoot":"","sources":["../../src/pixels/pixelTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAyD,YAAY,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gEAAgE;IAChE,KAAK,CACH,SAAS,EAAE,kBAAkB,EAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAC;IACR;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAmJD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,QA0B1D;AAySD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AA8ED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAmKvH;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,qBAAqB,CAAC,EAAE,YAAY,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxD;CACF;AAeD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,YAAY,GAAG,IAAI,CAUrE"}