@shware/analytics 2.6.2 → 2.8.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 (101) hide show
  1. package/README.md +4 -0
  2. package/dist/next/index.cjs +32 -32
  3. package/dist/next/index.cjs.map +1 -1
  4. package/dist/next/index.d.cts +8 -12
  5. package/dist/next/index.d.ts +8 -12
  6. package/dist/next/index.mjs +31 -29
  7. package/dist/next/index.mjs.map +1 -1
  8. package/dist/react-router/index.cjs +32 -32
  9. package/dist/react-router/index.cjs.map +1 -1
  10. package/dist/react-router/index.d.cts +8 -12
  11. package/dist/react-router/index.d.ts +8 -12
  12. package/dist/react-router/index.mjs +31 -29
  13. package/dist/react-router/index.mjs.map +1 -1
  14. package/dist/schema/index.cjs +85 -148
  15. package/dist/schema/index.cjs.map +1 -1
  16. package/dist/schema/index.d.cts +81 -1
  17. package/dist/schema/index.d.ts +81 -1
  18. package/dist/schema/index.mjs +83 -148
  19. package/dist/schema/index.mjs.map +1 -1
  20. package/dist/server/{conversions-api.cjs → meta-conversions-api.cjs} +5 -5
  21. package/dist/server/meta-conversions-api.cjs.map +1 -0
  22. package/dist/server/{conversions-api.mjs → meta-conversions-api.mjs} +2 -2
  23. package/dist/server/meta-conversions-api.mjs.map +1 -0
  24. package/dist/server/reddit-conversions-api.cjs +88 -0
  25. package/dist/server/reddit-conversions-api.cjs.map +1 -0
  26. package/dist/server/reddit-conversions-api.d.cts +75 -0
  27. package/dist/server/reddit-conversions-api.d.ts +75 -0
  28. package/dist/server/reddit-conversions-api.mjs +62 -0
  29. package/dist/server/reddit-conversions-api.mjs.map +1 -0
  30. package/dist/third-parties/google-analytics.cjs +48 -0
  31. package/dist/third-parties/google-analytics.cjs.map +1 -0
  32. package/dist/third-parties/google-analytics.d.cts +12 -0
  33. package/dist/third-parties/google-analytics.d.ts +12 -0
  34. package/dist/third-parties/google-analytics.mjs +22 -0
  35. package/dist/third-parties/google-analytics.mjs.map +1 -0
  36. package/dist/third-parties/hotjar.cjs +2 -0
  37. package/dist/third-parties/hotjar.cjs.map +1 -0
  38. package/dist/third-parties/hotjar.d.cts +2 -0
  39. package/dist/third-parties/hotjar.d.ts +2 -0
  40. package/dist/third-parties/hotjar.mjs +1 -0
  41. package/dist/third-parties/hotjar.mjs.map +1 -0
  42. package/dist/third-parties/index.cjs +43 -0
  43. package/dist/third-parties/index.cjs.map +1 -0
  44. package/dist/third-parties/index.d.cts +8 -0
  45. package/dist/third-parties/index.d.ts +8 -0
  46. package/dist/third-parties/index.mjs +13 -0
  47. package/dist/third-parties/index.mjs.map +1 -0
  48. package/dist/third-parties/meta-pixel.cjs +68 -0
  49. package/dist/third-parties/meta-pixel.cjs.map +1 -0
  50. package/dist/third-parties/meta-pixel.d.cts +13 -0
  51. package/dist/third-parties/meta-pixel.d.ts +13 -0
  52. package/dist/third-parties/meta-pixel.mjs +42 -0
  53. package/dist/third-parties/meta-pixel.mjs.map +1 -0
  54. package/dist/third-parties/reddit-pixel.cjs +60 -0
  55. package/dist/third-parties/reddit-pixel.cjs.map +1 -0
  56. package/dist/third-parties/reddit-pixel.d.cts +13 -0
  57. package/dist/third-parties/reddit-pixel.d.ts +13 -0
  58. package/dist/third-parties/reddit-pixel.mjs +34 -0
  59. package/dist/third-parties/reddit-pixel.mjs.map +1 -0
  60. package/dist/track/fbq.cjs.map +1 -1
  61. package/dist/track/fbq.d.cts +2 -2
  62. package/dist/track/fbq.d.ts +2 -2
  63. package/dist/track/fbq.mjs.map +1 -1
  64. package/dist/track/rdt.cjs +104 -0
  65. package/dist/track/rdt.cjs.map +1 -0
  66. package/dist/track/rdt.d.cts +94 -0
  67. package/dist/track/rdt.d.ts +94 -0
  68. package/dist/track/rdt.mjs +78 -0
  69. package/dist/track/rdt.mjs.map +1 -0
  70. package/dist/track/types.cjs.map +1 -1
  71. package/dist/track/types.d.cts +4 -3
  72. package/dist/track/types.d.ts +4 -3
  73. package/dist/{react/index.cjs → utils/field.cjs} +11 -9
  74. package/dist/utils/field.cjs.map +1 -0
  75. package/dist/utils/field.d.cts +3 -0
  76. package/dist/utils/field.d.ts +3 -0
  77. package/dist/utils/field.mjs +10 -0
  78. package/dist/utils/field.mjs.map +1 -0
  79. package/dist/visitor/index.cjs +2 -3
  80. package/dist/visitor/index.cjs.map +1 -1
  81. package/dist/visitor/index.d.cts +4 -2
  82. package/dist/visitor/index.d.ts +4 -2
  83. package/dist/visitor/index.mjs +2 -3
  84. package/dist/visitor/index.mjs.map +1 -1
  85. package/dist/visitor/types.cjs.map +1 -1
  86. package/dist/visitor/types.d.cts +5 -2
  87. package/dist/visitor/types.d.ts +5 -2
  88. package/dist/web/index.cjs +3 -0
  89. package/dist/web/index.cjs.map +1 -1
  90. package/dist/web/index.mjs +3 -0
  91. package/dist/web/index.mjs.map +1 -1
  92. package/package.json +15 -10
  93. package/dist/react/index.cjs.map +0 -1
  94. package/dist/react/index.d.cts +0 -3
  95. package/dist/react/index.d.ts +0 -3
  96. package/dist/react/index.mjs +0 -8
  97. package/dist/react/index.mjs.map +0 -1
  98. package/dist/server/conversions-api.cjs.map +0 -1
  99. package/dist/server/conversions-api.mjs.map +0 -1
  100. /package/dist/server/{conversions-api.d.cts → meta-conversions-api.d.cts} +0 -0
  101. /package/dist/server/{conversions-api.d.ts → meta-conversions-api.d.ts} +0 -0
package/README.md CHANGED
@@ -56,3 +56,7 @@ function Button() {
56
56
  - gad_source
57
57
  - gad_campaignid
58
58
  - gclid
59
+
60
+ ## Third Parties Advices
61
+
62
+ - reddit: We strongly recommend using the Reddit Pixel and Conversions API (CAPI) together.
@@ -31,45 +31,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/next/index.tsx
32
32
  var next_exports = {};
33
33
  __export(next_exports, {
34
- Analytics: () => Analytics,
35
- sendFBEvent: () => sendFBEvent,
36
- sendGAEvent: () => sendGAEvent
34
+ Analytics: () => Analytics
37
35
  });
38
36
  module.exports = __toCommonJS(next_exports);
39
37
  var import_navigation = require("next/navigation");
40
38
  var import_script = __toESM(require("next/script"), 1);
41
39
  var import_web_vitals = require("next/web-vitals");
42
40
  var import_use_page_view_analytics = require("../hooks/use-page-view-analytics.cjs");
43
- var import_fbq = require("../track/fbq.cjs");
44
41
  var import_track = require("../track/index.cjs");
45
42
  var import_jsx_runtime = require("react/jsx-runtime");
46
- function sendGAEvent(name, properties) {
47
- if (!window.gtag) {
48
- console.warn("GA has not been initialized");
49
- return;
50
- }
51
- window.gtag("event", name, properties);
52
- }
53
- function sendFBEvent(name, properties, event_id) {
54
- if (typeof window === "undefined" || !window.fbq) {
55
- console.warn("fbq has not been initialized");
56
- return;
57
- }
58
- const { fbq } = window;
59
- const options = { eventID: event_id };
60
- const [type, fbEventName, fbEventProperties] = (0, import_fbq.mapFBEvent)(name, properties);
61
- if (type === "track") {
62
- fbq(type, fbEventName, fbEventProperties, options);
63
- } else {
64
- fbq(type, fbEventName, fbEventProperties, options);
65
- }
66
- }
67
43
  function Analytics({
68
44
  gaId,
69
45
  nonce,
70
46
  debugMode,
71
- pixelId,
47
+ metaPixelId,
72
48
  hotjarId,
49
+ redditPixelId,
73
50
  facebookAppId,
74
51
  reportWebVitals = true
75
52
  }) {
@@ -115,10 +92,10 @@ function Analytics({
115
92
  }
116
93
  )
117
94
  ] }),
118
- pixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
95
+ metaPixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
96
  import_script.default,
120
97
  {
121
- id: "pixel",
98
+ id: "meta-pixel",
122
99
  strategy: "afterInteractive",
123
100
  dangerouslySetInnerHTML: {
124
101
  __html: `
@@ -138,11 +115,36 @@ function Analytics({
138
115
  s = b.getElementsByTagName(e)[0];
139
116
  s.parentNode.insertBefore(t, s);
140
117
  })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
141
- fbq('init', '${pixelId}');
118
+ fbq('init', '${metaPixelId}');
142
119
  fbq('track', 'PageView');`
143
120
  }
144
121
  }
145
122
  ),
123
+ redditPixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
+ import_script.default,
125
+ {
126
+ id: "reddit-pixel",
127
+ strategy: "afterInteractive",
128
+ dangerouslySetInnerHTML: {
129
+ __html: `
130
+ !function(w,d) {
131
+ if(!w.rdt) {
132
+ var p = w.rdt = function() {
133
+ p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)
134
+ };
135
+ p.callQueue = [];
136
+ var t = d.createElement("script");
137
+ t.src = "https://www.redditstatic.com/ads/pixel.js";
138
+ t.async = !0;
139
+ var s = d.getElementsByTagName("script")[0];
140
+ s.parentNode.insertBefore(t,s)
141
+ }
142
+ }(window, document);
143
+ rdt('init', '${redditPixelId}');
144
+ rdt('track', 'PageVisit');`
145
+ }
146
+ }
147
+ ),
146
148
  hotjarId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
147
149
  import_script.default,
148
150
  {
@@ -166,8 +168,6 @@ function Analytics({
166
168
  }
167
169
  // Annotate the CommonJS export names for ESM import in node:
168
170
  0 && (module.exports = {
169
- Analytics,
170
- sendFBEvent,
171
- sendGAEvent
171
+ Analytics
172
172
  });
173
173
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/next/index.tsx"],"sourcesContent":["'use client';\n\nimport { usePathname } from 'next/navigation';\nimport Script from 'next/script';\nimport { useReportWebVitals } from 'next/web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { mapFBEvent } from '../track/fbq';\nimport { track } from '../track/index';\nimport type { Pixel, PixelId } from '../track/fbq';\nimport type { GaId, Gtag, GtmId } from '../track/gtag';\nimport type { EventName, TrackName, TrackProperties } from '../track/types';\n\ntype HotjarId = `${number}`;\n\ndeclare global {\n interface Window extends Gtag, Pixel {}\n}\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n pixelId?: PixelId;\n hotjarId?: HotjarId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function sendGAEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>\n) {\n if (!window.gtag) {\n console.warn('GA has not been initialized');\n return;\n }\n window.gtag('event', name, properties);\n}\n\nexport function sendFBEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n event_id?: string\n) {\n if (typeof window === 'undefined' || !window.fbq) {\n console.warn('fbq has not been initialized');\n return;\n }\n const { fbq } = window;\n const options = { eventID: event_id };\n const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);\n if (type === 'track') {\n fbq(type, fbEventName, fbEventProperties, options);\n } else {\n fbq(type, fbEventName, fbEventProperties, options);\n }\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n pixelId,\n hotjarId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const pathname = usePathname();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <Script\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <Script\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {pixelId && (\n <Script\n id=\"pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${pixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {hotjarId && (\n <Script\n id=\"hotjar\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAA4B;AAC5B,oBAAmB;AACnB,wBAAmC;AACnC,qCAAqC;AACrC,iBAA2B;AAC3B,mBAAsB;AA+EE;AAzDjB,SAAS,YACd,MACA,YACA;AACA,MAAI,CAAC,OAAO,MAAM;AAChB,YAAQ,KAAK,6BAA6B;AAC1C;AAAA,EACF;AACA,SAAO,KAAK,SAAS,MAAM,UAAU;AACvC;AAEO,SAAS,YACd,MACA,YACA,UACA;AACA,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,KAAK;AAChD,YAAQ,KAAK,8BAA8B;AAC3C;AAAA,EACF;AACA,QAAM,EAAE,IAAI,IAAI;AAChB,QAAM,UAAU,EAAE,SAAS,SAAS;AACpC,QAAM,CAAC,MAAM,aAAa,iBAAiB,QAAI,uBAAW,MAAM,UAAU;AAC1E,MAAI,SAAS,SAAS;AACpB,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD,OAAO;AACL,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD;AACF;AAEO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,eAAW,+BAAY;AAC7B,2DAAqB,QAAQ;AAE7B,4CAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,4BAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,4EACG;AAAA,qBAAiB,4CAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,4EACE;AAAA;AAAA,QAAC,cAAAA;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC,cAAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,WACC;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,OAAO;AAAA;AAAA,QAExB;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":["Script"]}
1
+ {"version":3,"sources":["../../src/next/index.tsx"],"sourcesContent":["'use client';\n\nimport { usePathname } from 'next/navigation';\nimport Script from 'next/script';\nimport { useReportWebVitals } from 'next/web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { track } from '../track/index';\nimport type { PixelId as MetaPixelId } from '../track/fbq';\nimport type { GaId, GtmId } from '../track/gtag';\nimport type { PixelId as RedditPixelId } from '../track/rdt';\n\ntype HotjarId = `${number}`;\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n hotjarId?: HotjarId;\n metaPixelId?: MetaPixelId;\n redditPixelId?: RedditPixelId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n metaPixelId,\n hotjarId,\n redditPixelId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const pathname = usePathname();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <Script\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <Script\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {metaPixelId && (\n <Script\n id=\"meta-pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${metaPixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {redditPixelId && (\n <Script\n id=\"reddit-pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !function(w,d) {\n if(!w.rdt) {\n var p = w.rdt = function() {\n p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)\n };\n p.callQueue = [];\n var t = d.createElement(\"script\");\n t.src = \"https://www.redditstatic.com/ads/pixel.js\";\n t.async = !0;\n var s = d.getElementsByTagName(\"script\")[0];\n s.parentNode.insertBefore(t,s)\n }\n }(window, document);\n rdt('init', '${redditPixelId}');\n rdt('track', 'PageVisit');`,\n }}\n />\n )}\n {hotjarId && (\n <Script\n id=\"hotjar\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAA4B;AAC5B,oBAAmB;AACnB,wBAAmC;AACnC,qCAAqC;AACrC,mBAAsB;AA+CE;AA5BjB,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,eAAW,+BAAY;AAC7B,2DAAqB,QAAQ;AAE7B,4CAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,4BAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,4EACG;AAAA,qBAAiB,4CAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,4EACE;AAAA;AAAA,QAAC,cAAAA;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC,cAAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,eACC;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,WAAW;AAAA;AAAA,QAE5B;AAAA;AAAA,IACF;AAAA,IAED,iBACC;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAcO,aAAa;AAAA;AAAA,QAE9B;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC,cAAAA;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":["Script"]}
@@ -1,25 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Pixel, PixelId } from '../track/fbq.cjs';
3
- import { Gtag, GaId, GtmId } from '../track/gtag.cjs';
4
- import { EventName, TrackName, TrackProperties } from '../track/types.cjs';
2
+ import { PixelId } from '../track/fbq.cjs';
3
+ import { GaId, GtmId } from '../track/gtag.cjs';
4
+ import { PixelId as PixelId$1 } from '../track/rdt.cjs';
5
+ import '../track/types.cjs';
5
6
 
6
7
  type HotjarId = `${number}`;
7
- declare global {
8
- interface Window extends Gtag, Pixel {
9
- }
10
- }
11
8
  interface Props {
12
9
  gaId?: GaId;
13
10
  gtmId?: GtmId;
14
- pixelId?: PixelId;
15
11
  hotjarId?: HotjarId;
12
+ metaPixelId?: PixelId;
13
+ redditPixelId?: PixelId$1;
16
14
  facebookAppId?: string;
17
15
  nonce?: string;
18
16
  debugMode?: boolean;
19
17
  reportWebVitals?: boolean;
20
18
  }
21
- declare function sendGAEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>): void;
22
- declare function sendFBEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>, event_id?: string): void;
23
- declare function Analytics({ gaId, nonce, debugMode, pixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
19
+ declare function Analytics({ gaId, nonce, debugMode, metaPixelId, hotjarId, redditPixelId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
24
20
 
25
- export { Analytics, sendFBEvent, sendGAEvent };
21
+ export { Analytics };
@@ -1,25 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Pixel, PixelId } from '../track/fbq.js';
3
- import { Gtag, GaId, GtmId } from '../track/gtag.js';
4
- import { EventName, TrackName, TrackProperties } from '../track/types.js';
2
+ import { PixelId } from '../track/fbq.js';
3
+ import { GaId, GtmId } from '../track/gtag.js';
4
+ import { PixelId as PixelId$1 } from '../track/rdt.js';
5
+ import '../track/types.js';
5
6
 
6
7
  type HotjarId = `${number}`;
7
- declare global {
8
- interface Window extends Gtag, Pixel {
9
- }
10
- }
11
8
  interface Props {
12
9
  gaId?: GaId;
13
10
  gtmId?: GtmId;
14
- pixelId?: PixelId;
15
11
  hotjarId?: HotjarId;
12
+ metaPixelId?: PixelId;
13
+ redditPixelId?: PixelId$1;
16
14
  facebookAppId?: string;
17
15
  nonce?: string;
18
16
  debugMode?: boolean;
19
17
  reportWebVitals?: boolean;
20
18
  }
21
- declare function sendGAEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>): void;
22
- declare function sendFBEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>, event_id?: string): void;
23
- declare function Analytics({ gaId, nonce, debugMode, pixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
19
+ declare function Analytics({ gaId, nonce, debugMode, metaPixelId, hotjarId, redditPixelId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
24
20
 
25
- export { Analytics, sendFBEvent, sendGAEvent };
21
+ export { Analytics };
@@ -5,36 +5,15 @@ import { usePathname } from "next/navigation";
5
5
  import Script from "next/script";
6
6
  import { useReportWebVitals } from "next/web-vitals";
7
7
  import { usePageViewAnalytics } from "../hooks/use-page-view-analytics.mjs";
8
- import { mapFBEvent } from "../track/fbq.mjs";
9
8
  import { track } from "../track/index.mjs";
10
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- function sendGAEvent(name, properties) {
12
- if (!window.gtag) {
13
- console.warn("GA has not been initialized");
14
- return;
15
- }
16
- window.gtag("event", name, properties);
17
- }
18
- function sendFBEvent(name, properties, event_id) {
19
- if (typeof window === "undefined" || !window.fbq) {
20
- console.warn("fbq has not been initialized");
21
- return;
22
- }
23
- const { fbq } = window;
24
- const options = { eventID: event_id };
25
- const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);
26
- if (type === "track") {
27
- fbq(type, fbEventName, fbEventProperties, options);
28
- } else {
29
- fbq(type, fbEventName, fbEventProperties, options);
30
- }
31
- }
32
10
  function Analytics({
33
11
  gaId,
34
12
  nonce,
35
13
  debugMode,
36
- pixelId,
14
+ metaPixelId,
37
15
  hotjarId,
16
+ redditPixelId,
38
17
  facebookAppId,
39
18
  reportWebVitals = true
40
19
  }) {
@@ -80,10 +59,10 @@ function Analytics({
80
59
  }
81
60
  )
82
61
  ] }),
83
- pixelId && /* @__PURE__ */ jsx(
62
+ metaPixelId && /* @__PURE__ */ jsx(
84
63
  Script,
85
64
  {
86
- id: "pixel",
65
+ id: "meta-pixel",
87
66
  strategy: "afterInteractive",
88
67
  dangerouslySetInnerHTML: {
89
68
  __html: `
@@ -103,11 +82,36 @@ function Analytics({
103
82
  s = b.getElementsByTagName(e)[0];
104
83
  s.parentNode.insertBefore(t, s);
105
84
  })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
106
- fbq('init', '${pixelId}');
85
+ fbq('init', '${metaPixelId}');
107
86
  fbq('track', 'PageView');`
108
87
  }
109
88
  }
110
89
  ),
90
+ redditPixelId && /* @__PURE__ */ jsx(
91
+ Script,
92
+ {
93
+ id: "reddit-pixel",
94
+ strategy: "afterInteractive",
95
+ dangerouslySetInnerHTML: {
96
+ __html: `
97
+ !function(w,d) {
98
+ if(!w.rdt) {
99
+ var p = w.rdt = function() {
100
+ p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)
101
+ };
102
+ p.callQueue = [];
103
+ var t = d.createElement("script");
104
+ t.src = "https://www.redditstatic.com/ads/pixel.js";
105
+ t.async = !0;
106
+ var s = d.getElementsByTagName("script")[0];
107
+ s.parentNode.insertBefore(t,s)
108
+ }
109
+ }(window, document);
110
+ rdt('init', '${redditPixelId}');
111
+ rdt('track', 'PageVisit');`
112
+ }
113
+ }
114
+ ),
111
115
  hotjarId && /* @__PURE__ */ jsx(
112
116
  Script,
113
117
  {
@@ -130,8 +134,6 @@ function Analytics({
130
134
  ] });
131
135
  }
132
136
  export {
133
- Analytics,
134
- sendFBEvent,
135
- sendGAEvent
137
+ Analytics
136
138
  };
137
139
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/next/index.tsx"],"sourcesContent":["'use client';\n\nimport { usePathname } from 'next/navigation';\nimport Script from 'next/script';\nimport { useReportWebVitals } from 'next/web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { mapFBEvent } from '../track/fbq';\nimport { track } from '../track/index';\nimport type { Pixel, PixelId } from '../track/fbq';\nimport type { GaId, Gtag, GtmId } from '../track/gtag';\nimport type { EventName, TrackName, TrackProperties } from '../track/types';\n\ntype HotjarId = `${number}`;\n\ndeclare global {\n interface Window extends Gtag, Pixel {}\n}\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n pixelId?: PixelId;\n hotjarId?: HotjarId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function sendGAEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>\n) {\n if (!window.gtag) {\n console.warn('GA has not been initialized');\n return;\n }\n window.gtag('event', name, properties);\n}\n\nexport function sendFBEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n event_id?: string\n) {\n if (typeof window === 'undefined' || !window.fbq) {\n console.warn('fbq has not been initialized');\n return;\n }\n const { fbq } = window;\n const options = { eventID: event_id };\n const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);\n if (type === 'track') {\n fbq(type, fbEventName, fbEventProperties, options);\n } else {\n fbq(type, fbEventName, fbEventProperties, options);\n }\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n pixelId,\n hotjarId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const pathname = usePathname();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <Script\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <Script\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {pixelId && (\n <Script\n id=\"pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${pixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {hotjarId && (\n <Script\n id=\"hotjar\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AACnB,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AA+EE,SAEhB,UAFgB,KAEhB,YAFgB;AAzDjB,SAAS,YACd,MACA,YACA;AACA,MAAI,CAAC,OAAO,MAAM;AAChB,YAAQ,KAAK,6BAA6B;AAC1C;AAAA,EACF;AACA,SAAO,KAAK,SAAS,MAAM,UAAU;AACvC;AAEO,SAAS,YACd,MACA,YACA,UACA;AACA,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,KAAK;AAChD,YAAQ,KAAK,8BAA8B;AAC3C;AAAA,EACF;AACA,QAAM,EAAE,IAAI,IAAI;AAChB,QAAM,UAAU,EAAE,SAAS,SAAS;AACpC,QAAM,CAAC,MAAM,aAAa,iBAAiB,IAAI,WAAW,MAAM,UAAU;AAC1E,MAAI,SAAS,SAAS;AACpB,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD,OAAO;AACL,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD;AACF;AAEO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,WAAW,YAAY;AAC7B,uBAAqB,QAAQ;AAE7B,qBAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,UAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,iCACG;AAAA,qBAAiB,oBAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,iCACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,WACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,OAAO;AAAA;AAAA,QAExB;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/next/index.tsx"],"sourcesContent":["'use client';\n\nimport { usePathname } from 'next/navigation';\nimport Script from 'next/script';\nimport { useReportWebVitals } from 'next/web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { track } from '../track/index';\nimport type { PixelId as MetaPixelId } from '../track/fbq';\nimport type { GaId, GtmId } from '../track/gtag';\nimport type { PixelId as RedditPixelId } from '../track/rdt';\n\ntype HotjarId = `${number}`;\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n hotjarId?: HotjarId;\n metaPixelId?: MetaPixelId;\n redditPixelId?: RedditPixelId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n metaPixelId,\n hotjarId,\n redditPixelId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const pathname = usePathname();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <Script\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <Script\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {metaPixelId && (\n <Script\n id=\"meta-pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${metaPixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {redditPixelId && (\n <Script\n id=\"reddit-pixel\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n !function(w,d) {\n if(!w.rdt) {\n var p = w.rdt = function() {\n p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)\n };\n p.callQueue = [];\n var t = d.createElement(\"script\");\n t.src = \"https://www.redditstatic.com/ads/pixel.js\";\n t.async = !0;\n var s = d.getElementsByTagName(\"script\")[0];\n s.parentNode.insertBefore(t,s)\n }\n }(window, document);\n rdt('init', '${redditPixelId}');\n rdt('track', 'PageVisit');`,\n }}\n />\n )}\n {hotjarId && (\n <Script\n id=\"hotjar\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AACnB,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,SAAS,aAAa;AA+CE,SAEhB,UAFgB,KAEhB,YAFgB;AA5BjB,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,WAAW,YAAY;AAC7B,uBAAqB,QAAQ;AAE7B,qBAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,UAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,iCACG;AAAA,qBAAiB,oBAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,iCACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,eACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,WAAW;AAAA;AAAA,QAE5B;AAAA;AAAA,IACF;AAAA,IAED,iBACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAcO,aAAa;AAAA;AAAA,QAE9B;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,UAAS;AAAA,QACT,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -20,16 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/react-router/index.tsx
21
21
  var react_router_exports = {};
22
22
  __export(react_router_exports, {
23
- Analytics: () => Analytics,
24
- sendFBEvent: () => sendFBEvent,
25
- sendGAEvent: () => sendGAEvent
23
+ Analytics: () => Analytics
26
24
  });
27
25
  module.exports = __toCommonJS(react_router_exports);
28
26
  var import_react = require("react");
29
27
  var import_react_router = require("react-router");
30
28
  var import_web_vitals = require("web-vitals");
31
29
  var import_use_page_view_analytics = require("../hooks/use-page-view-analytics.cjs");
32
- var import_fbq = require("../track/fbq.cjs");
33
30
  var import_track = require("../track/index.cjs");
34
31
  var import_jsx_runtime = require("react/jsx-runtime");
35
32
  function useReportWebVitals(reportWebVitalsFn) {
@@ -41,32 +38,12 @@ function useReportWebVitals(reportWebVitalsFn) {
41
38
  (0, import_web_vitals.onTTFB)(reportWebVitalsFn);
42
39
  }, [reportWebVitalsFn]);
43
40
  }
44
- function sendGAEvent(name, properties) {
45
- if (typeof window === "undefined" || !window.gtag) {
46
- console.warn("gtag has not been initialized");
47
- return;
48
- }
49
- window.gtag("event", name, properties);
50
- }
51
- function sendFBEvent(name, properties, event_id) {
52
- if (typeof window === "undefined" || !window.fbq) {
53
- console.warn("fbq has not been initialized");
54
- return;
55
- }
56
- const { fbq } = window;
57
- const options = { eventID: event_id };
58
- const [type, fbEventName, fbEventProperties] = (0, import_fbq.mapFBEvent)(name, properties);
59
- if (type === "track") {
60
- fbq(type, fbEventName, fbEventProperties, options);
61
- } else {
62
- fbq(type, fbEventName, fbEventProperties, options);
63
- }
64
- }
65
41
  function Analytics({
66
42
  gaId,
67
43
  nonce,
68
44
  debugMode,
69
- pixelId,
45
+ metaPixelId,
46
+ redditPixelId,
70
47
  hotjarId,
71
48
  facebookAppId,
72
49
  reportWebVitals = true
@@ -115,11 +92,11 @@ function Analytics({
115
92
  }
116
93
  )
117
94
  ] }),
118
- pixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
95
+ metaPixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
96
  "script",
120
97
  {
121
98
  async: true,
122
- id: "pixel",
99
+ id: "meta-pixel",
123
100
  dangerouslySetInnerHTML: {
124
101
  __html: `
125
102
  !(function (f, b, e, v, n, t, s) {
@@ -138,11 +115,36 @@ function Analytics({
138
115
  s = b.getElementsByTagName(e)[0];
139
116
  s.parentNode.insertBefore(t, s);
140
117
  })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
141
- fbq('init', '${pixelId}');
118
+ fbq('init', '${metaPixelId}');
142
119
  fbq('track', 'PageView');`
143
120
  }
144
121
  }
145
122
  ),
123
+ redditPixelId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
+ "script",
125
+ {
126
+ async: true,
127
+ id: "reddit-pixel",
128
+ dangerouslySetInnerHTML: {
129
+ __html: `
130
+ !function(w,d) {
131
+ if(!w.rdt) {
132
+ var p = w.rdt = function() {
133
+ p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)
134
+ };
135
+ p.callQueue = [];
136
+ var t = d.createElement("script");
137
+ t.src = "https://www.redditstatic.com/ads/pixel.js";
138
+ t.async = !0;
139
+ var s = d.getElementsByTagName("script")[0];
140
+ s.parentNode.insertBefore(t,s)
141
+ }
142
+ }(window, document);
143
+ rdt('init', '${redditPixelId}');
144
+ rdt('track', 'PageVisit');`
145
+ }
146
+ }
147
+ ),
146
148
  hotjarId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
147
149
  "script",
148
150
  {
@@ -166,8 +168,6 @@ function Analytics({
166
168
  }
167
169
  // Annotate the CommonJS export names for ESM import in node:
168
170
  0 && (module.exports = {
169
- Analytics,
170
- sendFBEvent,
171
- sendGAEvent
171
+ Analytics
172
172
  });
173
173
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-router/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { type Metric, onCLS, onFCP, onINP, onLCP, onTTFB } from 'web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { mapFBEvent } from '../track/fbq';\nimport { track } from '../track/index';\nimport type { Pixel, PixelId } from '../track/fbq';\nimport type { GaId, Gtag, GtmId } from '../track/gtag';\nimport type { EventName, TrackName, TrackProperties } from '../track/types';\n\ntype HotjarId = `${number}`;\n\nfunction useReportWebVitals(reportWebVitalsFn: (metric: Metric) => void) {\n useEffect(() => {\n onCLS(reportWebVitalsFn);\n onLCP(reportWebVitalsFn);\n onINP(reportWebVitalsFn);\n onFCP(reportWebVitalsFn);\n onTTFB(reportWebVitalsFn);\n }, [reportWebVitalsFn]);\n}\n\ndeclare global {\n interface Window extends Gtag, Pixel {}\n}\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n pixelId?: PixelId;\n hotjarId?: HotjarId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function sendGAEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>\n) {\n if (typeof window === 'undefined' || !window.gtag) {\n console.warn('gtag has not been initialized');\n return;\n }\n window.gtag('event', name, properties);\n}\n\nexport function sendFBEvent<T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n event_id?: string\n) {\n if (typeof window === 'undefined' || !window.fbq) {\n console.warn('fbq has not been initialized');\n return;\n }\n const { fbq } = window;\n const options = { eventID: event_id };\n const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);\n if (type === 'track') {\n fbq(type, fbEventName, fbEventProperties, options);\n } else {\n fbq(type, fbEventName, fbEventProperties, options);\n }\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n pixelId,\n hotjarId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const { pathname } = useLocation();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <script\n async\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <script\n async\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {pixelId && (\n <script\n async\n id=\"pixel\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${pixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {hotjarId && (\n <script\n async\n id=\"hotjar\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,0BAA4B;AAC5B,wBAAgE;AAChE,qCAAqC;AACrC,iBAA2B;AAC3B,mBAAsB;AAyFE;AAlFxB,SAAS,mBAAmB,mBAA6C;AACvE,8BAAU,MAAM;AACd,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,kCAAO,iBAAiB;AAAA,EAC1B,GAAG,CAAC,iBAAiB,CAAC;AACxB;AAiBO,SAAS,YACd,MACA,YACA;AACA,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,MAAM;AACjD,YAAQ,KAAK,+BAA+B;AAC5C;AAAA,EACF;AACA,SAAO,KAAK,SAAS,MAAM,UAAU;AACvC;AAEO,SAAS,YACd,MACA,YACA,UACA;AACA,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,KAAK;AAChD,YAAQ,KAAK,8BAA8B;AAC3C;AAAA,EACF;AACA,QAAM,EAAE,IAAI,IAAI;AAChB,QAAM,UAAU,EAAE,SAAS,SAAS;AACpC,QAAM,CAAC,MAAM,aAAa,iBAAiB,QAAI,uBAAW,MAAM,UAAU;AAC1E,MAAI,SAAS,SAAS;AACpB,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD,OAAO;AACL,QAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EACnD;AACF;AAEO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,EAAE,SAAS,QAAI,iCAAY;AACjC,2DAAqB,QAAQ;AAE7B,qBAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,4BAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,4EACG;AAAA,qBAAiB,4CAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,4EACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,WACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,OAAO;AAAA;AAAA,QAExB;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/react-router/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { type Metric, onCLS, onFCP, onINP, onLCP, onTTFB } from 'web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { track } from '../track/index';\nimport type { PixelId as MetaPixelId } from '../track/fbq';\nimport type { GaId, GtmId } from '../track/gtag';\nimport type { PixelId as RedditPixelId } from '../track/rdt';\n\ntype HotjarId = `${number}`;\n\nfunction useReportWebVitals(reportWebVitalsFn: (metric: Metric) => void) {\n useEffect(() => {\n onCLS(reportWebVitalsFn);\n onLCP(reportWebVitalsFn);\n onINP(reportWebVitalsFn);\n onFCP(reportWebVitalsFn);\n onTTFB(reportWebVitalsFn);\n }, [reportWebVitalsFn]);\n}\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n metaPixelId?: MetaPixelId;\n redditPixelId?: RedditPixelId;\n hotjarId?: HotjarId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n metaPixelId,\n redditPixelId,\n hotjarId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const { pathname } = useLocation();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <script\n async\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <script\n async\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {metaPixelId && (\n <script\n async\n id=\"meta-pixel\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${metaPixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {redditPixelId && (\n <script\n async\n id=\"reddit-pixel\"\n dangerouslySetInnerHTML={{\n __html: `\n !function(w,d) {\n if(!w.rdt) {\n var p = w.rdt = function() {\n p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)\n };\n p.callQueue = [];\n var t = d.createElement(\"script\");\n t.src = \"https://www.redditstatic.com/ads/pixel.js\";\n t.async = !0;\n var s = d.getElementsByTagName(\"script\")[0];\n s.parentNode.insertBefore(t,s)\n }\n }(window, document);\n rdt('init', '${redditPixelId}');\n rdt('track', 'PageVisit');`,\n }}\n />\n )}\n {hotjarId && (\n <script\n async\n id=\"hotjar\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,0BAA4B;AAC5B,wBAAgE;AAChE,qCAAqC;AACrC,mBAAsB;AAyDE;AAlDxB,SAAS,mBAAmB,mBAA6C;AACvE,8BAAU,MAAM;AACd,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,iCAAM,iBAAiB;AACvB,kCAAO,iBAAiB;AAAA,EAC1B,GAAG,CAAC,iBAAiB,CAAC;AACxB;AAcO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,EAAE,SAAS,QAAI,iCAAY;AACjC,2DAAqB,QAAQ;AAE7B,qBAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,4BAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,4EACG;AAAA,qBAAiB,4CAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,4EACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,eACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,WAAW;AAAA;AAAA,QAE5B;AAAA;AAAA,IACF;AAAA,IAED,iBACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAcO,aAAa;AAAA;AAAA,QAE9B;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,25 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Pixel, PixelId } from '../track/fbq.cjs';
3
- import { Gtag, GaId, GtmId } from '../track/gtag.cjs';
4
- import { EventName, TrackName, TrackProperties } from '../track/types.cjs';
2
+ import { PixelId } from '../track/fbq.cjs';
3
+ import { GaId, GtmId } from '../track/gtag.cjs';
4
+ import { PixelId as PixelId$1 } from '../track/rdt.cjs';
5
+ import '../track/types.cjs';
5
6
 
6
7
  type HotjarId = `${number}`;
7
- declare global {
8
- interface Window extends Gtag, Pixel {
9
- }
10
- }
11
8
  interface Props {
12
9
  gaId?: GaId;
13
10
  gtmId?: GtmId;
14
- pixelId?: PixelId;
11
+ metaPixelId?: PixelId;
12
+ redditPixelId?: PixelId$1;
15
13
  hotjarId?: HotjarId;
16
14
  facebookAppId?: string;
17
15
  nonce?: string;
18
16
  debugMode?: boolean;
19
17
  reportWebVitals?: boolean;
20
18
  }
21
- declare function sendGAEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>): void;
22
- declare function sendFBEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>, event_id?: string): void;
23
- declare function Analytics({ gaId, nonce, debugMode, pixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
19
+ declare function Analytics({ gaId, nonce, debugMode, metaPixelId, redditPixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
24
20
 
25
- export { Analytics, sendFBEvent, sendGAEvent };
21
+ export { Analytics };
@@ -1,25 +1,21 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Pixel, PixelId } from '../track/fbq.js';
3
- import { Gtag, GaId, GtmId } from '../track/gtag.js';
4
- import { EventName, TrackName, TrackProperties } from '../track/types.js';
2
+ import { PixelId } from '../track/fbq.js';
3
+ import { GaId, GtmId } from '../track/gtag.js';
4
+ import { PixelId as PixelId$1 } from '../track/rdt.js';
5
+ import '../track/types.js';
5
6
 
6
7
  type HotjarId = `${number}`;
7
- declare global {
8
- interface Window extends Gtag, Pixel {
9
- }
10
- }
11
8
  interface Props {
12
9
  gaId?: GaId;
13
10
  gtmId?: GtmId;
14
- pixelId?: PixelId;
11
+ metaPixelId?: PixelId;
12
+ redditPixelId?: PixelId$1;
15
13
  hotjarId?: HotjarId;
16
14
  facebookAppId?: string;
17
15
  nonce?: string;
18
16
  debugMode?: boolean;
19
17
  reportWebVitals?: boolean;
20
18
  }
21
- declare function sendGAEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>): void;
22
- declare function sendFBEvent<T extends EventName>(name: TrackName<T>, properties?: TrackProperties<T>, event_id?: string): void;
23
- declare function Analytics({ gaId, nonce, debugMode, pixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
19
+ declare function Analytics({ gaId, nonce, debugMode, metaPixelId, redditPixelId, hotjarId, facebookAppId, reportWebVitals, }: Props): react_jsx_runtime.JSX.Element;
24
20
 
25
- export { Analytics, sendFBEvent, sendGAEvent };
21
+ export { Analytics };