shopkit-analytics 1.0.13 → 1.0.15

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 (36) hide show
  1. package/dist/adapters/index.js +11 -3
  2. package/dist/adapters/index.js.map +1 -1
  3. package/dist/adapters/index.mjs +3 -2
  4. package/dist/affiliate/index.mjs +1 -0
  5. package/dist/{chunk-VKBE75YB.mjs → chunk-BE3W2SD6.mjs} +2 -1
  6. package/dist/chunk-BE3W2SD6.mjs.map +1 -0
  7. package/dist/{chunk-OT32PIVB.mjs → chunk-CJ3NUEQH.mjs} +12 -4
  8. package/dist/chunk-CJ3NUEQH.mjs.map +1 -0
  9. package/dist/{chunk-DY7EQ7D2.mjs → chunk-FTZLYNBN.mjs} +3 -3
  10. package/dist/chunk-NIL3JVRZ.mjs +39 -0
  11. package/dist/events/index.d.mts +1 -1
  12. package/dist/events/index.d.ts +1 -1
  13. package/dist/events/index.js +10 -2
  14. package/dist/events/index.js.map +1 -1
  15. package/dist/events/index.mjs +4 -3
  16. package/dist/experiment/index.mjs +1 -0
  17. package/dist/index.d.mts +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +774 -14
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +762 -9
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/services/index.mjs +2 -1
  24. package/dist/{subscriber-VF3IYUCU.mjs → subscriber-K6VCQXNV.mjs} +2 -1
  25. package/dist/subscriber-K6VCQXNV.mjs.map +1 -0
  26. package/dist/types.d.mts +8 -3
  27. package/dist/types.d.ts +8 -3
  28. package/dist/types.js +1 -0
  29. package/dist/types.js.map +1 -1
  30. package/dist/types.mjs +2 -1
  31. package/dist/utils/index.mjs +1 -0
  32. package/package.json +1 -1
  33. package/dist/chunk-OT32PIVB.mjs.map +0 -1
  34. package/dist/chunk-VKBE75YB.mjs.map +0 -1
  35. /package/dist/{chunk-DY7EQ7D2.mjs.map → chunk-FTZLYNBN.mjs.map} +0 -0
  36. /package/dist/{subscriber-VF3IYUCU.mjs.map → chunk-NIL3JVRZ.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ShopkitAnalytics.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect } from \"react\";\nimport { useShopifyCookies } from \"@shopify/hydrogen-react\";\nimport { initializeEventTracking } from \"./events/init\";\nimport { AffiliateTracker } from \"./affiliate\";\nimport { createLogger, type LoggerConfig } from \"./logger\";\nimport {\n GoogleAdapter,\n PixelAdapter,\n MoengageAdapter,\n PostHogAdapter,\n ShopifyAdapter,\n KwikPassAdapter,\n KwikCheckoutAdapter,\n} from \"./adapters\";\nimport type {\n GoogleAdapterConfig,\n PixelAdapterConfig,\n MoengageAdapterConfig,\n PostHogAdapterConfig,\n ShopifyAdapterConfig,\n KwikPassConfig,\n KwikCheckoutConfig,\n} from \"./adapters\";\nimport type { TrackingAdapter } from \"./events/subscriber\";\nimport type { AffiliateConfig } from \"./affiliate/types\";\n\nexport interface ShopkitAnalyticsConfig {\n // Analytics Adapters\n googleAnalytics?: GoogleAdapterConfig;\n facebookPixel?: PixelAdapterConfig;\n moengage?: MoengageAdapterConfig;\n posthog?: PostHogAdapterConfig;\n shopify?: ShopifyAdapterConfig;\n kwikpass?: KwikPassConfig;\n kwikcheckout?: KwikCheckoutConfig;\n customAdapters?: TrackingAdapter[];\n\n // Affiliate Tracking\n affiliate?: {\n enabled?: boolean;\n config?: Partial<AffiliateConfig>;\n autoCapture?: boolean;\n };\n\n // Logger Settings\n logger?: LoggerConfig;\n\n // General Settings (deprecated - use logger.enabled instead)\n enableDebugLogs?: boolean;\n autoInitialize?: boolean;\n}\n\nexport interface ShopkitAnalyticsProps {\n config: ShopkitAnalyticsConfig;\n children?: React.ReactNode;\n onInitialized?: () => void;\n onError?: (error: Error) => void;\n}\n\nconst ShopkitAnalytics: React.FC<ShopkitAnalyticsProps> = ({\n config,\n children,\n onInitialized,\n onError,\n}) => {\n // Enable Shopify cookies if Shopify adapter is configured\n useShopifyCookies({\n hasUserConsent: true,\n domain: config.shopify?.domain || \"\",\n });\n\n useEffect(() => {\n const initializeAnalytics = async () => {\n if (config.autoInitialize === false) return;\n\n // Create logger instance\n const loggerConfig: LoggerConfig = {\n enabled: config.logger?.enabled ?? config.enableDebugLogs ?? true,\n level: config.logger?.level ?? \"info\",\n name: \"@shopkit/analytics\",\n prettyPrint: config.logger?.prettyPrint ?? false,\n };\n\n const logger = createLogger(loggerConfig);\n\n try {\n logger.info(\"Starting initialization...\");\n\n const adapters: TrackingAdapter[] = [];\n\n // Helper function to add logger config to adapter config\n const addLoggerConfig = (adapterConfig: any) => ({\n ...adapterConfig,\n enableDebugLogs: loggerConfig.enabled,\n logLevel: loggerConfig.level,\n });\n\n // Google Analytics 4\n if (config.googleAnalytics) {\n const gaAdapter = new GoogleAdapter(\n addLoggerConfig(config.googleAnalytics)\n );\n adapters.push(gaAdapter);\n logger.info(\"Added Google Analytics adapter\");\n }\n\n // Facebook Pixel\n if (config.facebookPixel) {\n const pixelAdapter = new PixelAdapter(\n addLoggerConfig(config.facebookPixel)\n );\n adapters.push(pixelAdapter);\n logger.info(\"Added Facebook Pixel adapter\");\n }\n\n // MoEngage\n if (config.moengage) {\n const moengageAdapter = new MoengageAdapter(\n addLoggerConfig(config.moengage)\n );\n adapters.push(moengageAdapter);\n logger.info(\"Added MoEngage adapter\");\n }\n\n // PostHog\n if (config.posthog) {\n const posthogAdapter = new PostHogAdapter(\n addLoggerConfig(config.posthog)\n );\n adapters.push(posthogAdapter);\n logger.info(\"Added PostHog adapter\");\n }\n\n // Shopify Analytics\n if (config.shopify) {\n const shopifyAdapter = new ShopifyAdapter(\n addLoggerConfig(config.shopify)\n );\n adapters.push(shopifyAdapter);\n logger.info(\"Added Shopify Analytics adapter\");\n }\n\n // KwikPass Analytics\n if (config.kwikpass) {\n const kwikpassAdapter = new KwikPassAdapter(\n addLoggerConfig(config.kwikpass)\n );\n adapters.push(kwikpassAdapter);\n logger.info(\"Added KwikPass Analytics adapter\");\n }\n\n // KwikCheckout Analytics\n if (config.kwikcheckout) {\n const kwikcheckoutAdapter = new KwikCheckoutAdapter(\n addLoggerConfig(config.kwikcheckout)\n );\n adapters.push(kwikcheckoutAdapter);\n logger.info(\"Added KwikCheckout Analytics adapter\");\n }\n\n // Custom adapters\n if (config.customAdapters) {\n adapters.push(...config.customAdapters);\n logger.info(`Added ${config.customAdapters.length} custom adapters`);\n }\n\n if (adapters.length === 0) {\n logger.warn(\"No analytics adapters configured\");\n } else {\n // Initialize the event tracking system\n await initializeEventTracking(adapters);\n logger.info(\"Event tracking initialized with adapters\", {\n adapters: adapters.map((a) => a.name),\n });\n }\n\n logger.info(\"Initialization completed successfully\");\n onInitialized?.();\n } catch (err) {\n const error =\n err instanceof Error\n ? err\n : new Error(\"Unknown initialization error\");\n logger.error(\"Initialization failed\", error);\n onError?.(error);\n }\n };\n\n initializeAnalytics();\n }, [config, onInitialized, onError]);\n\n return (\n <>\n {/* Affiliate Tracker */}\n {config.affiliate?.enabled !== false && (\n <AffiliateTracker\n config={config.affiliate?.config}\n autoCapture={config.affiliate?.autoCapture}\n />\n )}\n\n {children ? <>{children}</> : null}\n </>\n );\n};\n\nexport default ShopkitAnalytics;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAgB,iBAAiB;AACjC,SAAS,yBAAyB;AA+L9B,SASc,UANV,KAHJ;AArIJ,IAAM,mBAAoD,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AAEJ,oBAAkB;AAAA,IAChB,gBAAgB;AAAA,IAChB,QAAQ,OAAO,SAAS,UAAU;AAAA,EACpC,CAAC;AAED,YAAU,MAAM;AACd,UAAM,sBAAsB,YAAY;AACtC,UAAI,OAAO,mBAAmB,MAAO;AAGrC,YAAM,eAA6B;AAAA,QACjC,SAAS,OAAO,QAAQ,WAAW,OAAO,mBAAmB;AAAA,QAC7D,OAAO,OAAO,QAAQ,SAAS;AAAA,QAC/B,MAAM;AAAA,QACN,aAAa,OAAO,QAAQ,eAAe;AAAA,MAC7C;AAEA,YAAMA,UAAS,aAAa,YAAY;AAExC,UAAI;AACF,QAAAA,QAAO,KAAK,4BAA4B;AAExC,cAAM,WAA8B,CAAC;AAGrC,cAAM,kBAAkB,CAAC,mBAAwB;AAAA,UAC/C,GAAG;AAAA,UACH,iBAAiB,aAAa;AAAA,UAC9B,UAAU,aAAa;AAAA,QACzB;AAGA,YAAI,OAAO,iBAAiB;AAC1B,gBAAM,YAAY,IAAI;AAAA,YACpB,gBAAgB,OAAO,eAAe;AAAA,UACxC;AACA,mBAAS,KAAK,SAAS;AACvB,UAAAA,QAAO,KAAK,gCAAgC;AAAA,QAC9C;AAGA,YAAI,OAAO,eAAe;AACxB,gBAAM,eAAe,IAAI;AAAA,YACvB,gBAAgB,OAAO,aAAa;AAAA,UACtC;AACA,mBAAS,KAAK,YAAY;AAC1B,UAAAA,QAAO,KAAK,8BAA8B;AAAA,QAC5C;AAGA,YAAI,OAAO,UAAU;AACnB,gBAAM,kBAAkB,IAAI;AAAA,YAC1B,gBAAgB,OAAO,QAAQ;AAAA,UACjC;AACA,mBAAS,KAAK,eAAe;AAC7B,UAAAA,QAAO,KAAK,wBAAwB;AAAA,QACtC;AAGA,YAAI,OAAO,SAAS;AAClB,gBAAM,iBAAiB,IAAI;AAAA,YACzB,gBAAgB,OAAO,OAAO;AAAA,UAChC;AACA,mBAAS,KAAK,cAAc;AAC5B,UAAAA,QAAO,KAAK,uBAAuB;AAAA,QACrC;AAGA,YAAI,OAAO,SAAS;AAClB,gBAAM,iBAAiB,IAAI;AAAA,YACzB,gBAAgB,OAAO,OAAO;AAAA,UAChC;AACA,mBAAS,KAAK,cAAc;AAC5B,UAAAA,QAAO,KAAK,iCAAiC;AAAA,QAC/C;AAGA,YAAI,OAAO,UAAU;AACnB,gBAAM,kBAAkB,IAAI;AAAA,YAC1B,gBAAgB,OAAO,QAAQ;AAAA,UACjC;AACA,mBAAS,KAAK,eAAe;AAC7B,UAAAA,QAAO,KAAK,kCAAkC;AAAA,QAChD;AAGA,YAAI,OAAO,cAAc;AACvB,gBAAM,sBAAsB,IAAI;AAAA,YAC9B,gBAAgB,OAAO,YAAY;AAAA,UACrC;AACA,mBAAS,KAAK,mBAAmB;AACjC,UAAAA,QAAO,KAAK,sCAAsC;AAAA,QACpD;AAGA,YAAI,OAAO,gBAAgB;AACzB,mBAAS,KAAK,GAAG,OAAO,cAAc;AACtC,UAAAA,QAAO,KAAK,SAAS,OAAO,eAAe,MAAM,kBAAkB;AAAA,QACrE;AAEA,YAAI,SAAS,WAAW,GAAG;AACzB,UAAAA,QAAO,KAAK,kCAAkC;AAAA,QAChD,OAAO;AAEL,gBAAM,wBAAwB,QAAQ;AACtC,UAAAA,QAAO,KAAK,4CAA4C;AAAA,YACtD,UAAU,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI;AAAA,UACtC,CAAC;AAAA,QACH;AAEA,QAAAA,QAAO,KAAK,uCAAuC;AACnD,wBAAgB;AAAA,MAClB,SAAS,KAAK;AACZ,cAAM,QACJ,eAAe,QACX,MACA,IAAI,MAAM,8BAA8B;AAC9C,QAAAA,QAAO,MAAM,yBAAyB,KAAK;AAC3C,kBAAU,KAAK;AAAA,MACjB;AAAA,IACF;AAEA,wBAAoB;AAAA,EACtB,GAAG,CAAC,QAAQ,eAAe,OAAO,CAAC;AAEnC,SACE,iCAEG;AAAA,WAAO,WAAW,YAAY,SAC7B;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,OAAO,WAAW;AAAA,QAC1B,aAAa,OAAO,WAAW;AAAA;AAAA,IACjC;AAAA,IAGD,WAAW,gCAAG,UAAS,IAAM;AAAA,KAChC;AAEJ;AAEA,IAAO,2BAAQ;","names":["logger"]}
1
+ {"version":3,"sources":["../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/next/src/shared/lib/app-router-context.shared-runtime.ts","../../../node_modules/next/src/shared/lib/hooks-client-context.shared-runtime.ts","../../../node_modules/next/src/client/components/client-hook-in-server-component-error.ts","../../../node_modules/next/src/client/components/router-reducer/reducers/get-segment-value.ts","../../../node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs","../../../node_modules/next/src/shared/lib/server-inserted-html.shared-runtime.tsx","../../../node_modules/next/src/client/components/async-local-storage.ts","../../../node_modules/next/src/client/components/request-async-storage.external.ts","../../../node_modules/next/src/client/components/redirect.ts","../../../node_modules/next/src/client/components/not-found.ts","../../../node_modules/next/src/shared/lib/lazy-dynamic/no-ssr-error.ts","../../../node_modules/next/src/client/components/static-generation-async-storage.external.ts","../../../node_modules/next/src/client/components/bailout-to-client-rendering.ts","../../../node_modules/next/src/client/components/navigation.ts","../../../node_modules/next/navigation.js","../src/ShopkitAnalytics.tsx","../src/shopify/ShopifyAnalyticsScript.tsx"],"sourcesContent":["\"use strict\";\n\nexports._ = exports._interop_require_default = _interop_require_default;\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n",null,null,null,null,"\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nexports._ = exports._interop_require_wildcard = _interop_require_wildcard;\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n",null,null,null,null,null,null,null,null,null,"module.exports = require('./dist/client/components/navigation')\n","\"use client\";\n\nimport React, { useEffect } from \"react\";\nimport { initializeEventTracking } from \"./events/init\";\nimport { AffiliateTracker } from \"./affiliate\";\nimport { createLogger, type LoggerConfig } from \"./logger\";\nimport {\n GoogleAdapter,\n PixelAdapter,\n MoengageAdapter,\n PostHogAdapter,\n ShopifyAdapter,\n KwikPassAdapter,\n KwikCheckoutAdapter,\n} from \"./adapters\";\nimport type {\n GoogleAdapterConfig,\n PixelAdapterConfig,\n MoengageAdapterConfig,\n PostHogAdapterConfig,\n ShopifyAdapterConfig,\n KwikPassConfig,\n KwikCheckoutConfig,\n} from \"./adapters\";\nimport type { TrackingAdapter } from \"./events/subscriber\";\nimport type { AffiliateConfig } from \"./affiliate/types\";\nimport { ShopifyAnalyticsScript } from \"./shopify/ShopifyAnalyticsScript\";\n\nexport interface ShopkitAnalyticsConfig {\n // Analytics Adapters\n googleAnalytics?: GoogleAdapterConfig;\n facebookPixel?: PixelAdapterConfig;\n moengage?: MoengageAdapterConfig;\n posthog?: PostHogAdapterConfig;\n shopify?: ShopifyAdapterConfig;\n kwikpass?: KwikPassConfig;\n kwikcheckout?: KwikCheckoutConfig;\n customAdapters?: TrackingAdapter[];\n\n // Affiliate Tracking\n affiliate?: {\n enabled?: boolean;\n config?: Partial<AffiliateConfig>;\n autoCapture?: boolean;\n };\n\n // Logger Settings\n logger?: LoggerConfig;\n\n // General Settings (deprecated - use logger.enabled instead)\n enableDebugLogs?: boolean;\n autoInitialize?: boolean;\n}\n\nexport interface ShopkitAnalyticsProps {\n config: ShopkitAnalyticsConfig;\n children?: React.ReactNode;\n onInitialized?: () => void;\n onError?: (error: Error) => void;\n}\n\nconst ShopkitAnalytics: React.FC<ShopkitAnalyticsProps> = ({\n config,\n children,\n onInitialized,\n onError,\n}) => {\n useEffect(() => {\n const initializeAnalytics = async () => {\n if (config.autoInitialize === false) return;\n\n // Create logger instance\n const loggerConfig: LoggerConfig = {\n enabled: config.logger?.enabled ?? config.enableDebugLogs ?? true,\n level: config.logger?.level ?? \"info\",\n name: \"@shopkit/analytics\",\n prettyPrint: config.logger?.prettyPrint ?? false,\n };\n\n const logger = createLogger(loggerConfig);\n\n try {\n logger.info(\"Starting initialization...\");\n\n const adapters: TrackingAdapter[] = [];\n\n // Helper function to add logger config to adapter config\n const addLoggerConfig = (adapterConfig: any) => ({\n ...adapterConfig,\n enableDebugLogs: loggerConfig.enabled,\n logLevel: loggerConfig.level,\n });\n\n // Google Analytics 4\n if (config.googleAnalytics) {\n const gaAdapter = new GoogleAdapter(\n addLoggerConfig(config.googleAnalytics)\n );\n adapters.push(gaAdapter);\n logger.info(\"Added Google Analytics adapter\");\n }\n\n // Facebook Pixel\n if (config.facebookPixel) {\n const pixelAdapter = new PixelAdapter(\n addLoggerConfig(config.facebookPixel)\n );\n adapters.push(pixelAdapter);\n logger.info(\"Added Facebook Pixel adapter\");\n }\n\n // MoEngage\n if (config.moengage) {\n const moengageAdapter = new MoengageAdapter(\n addLoggerConfig(config.moengage)\n );\n adapters.push(moengageAdapter);\n logger.info(\"Added MoEngage adapter\");\n }\n\n // PostHog\n if (config.posthog) {\n const posthogAdapter = new PostHogAdapter(\n addLoggerConfig(config.posthog)\n );\n adapters.push(posthogAdapter);\n logger.info(\"Added PostHog adapter\");\n }\n\n // Shopify Analytics\n if (config.shopify) {\n const shopifyAdapter = new ShopifyAdapter(\n addLoggerConfig(config.shopify)\n );\n adapters.push(shopifyAdapter);\n logger.info(\"Added Shopify Analytics adapter\");\n }\n\n // KwikPass Analytics\n if (config.kwikpass) {\n const kwikpassAdapter = new KwikPassAdapter(\n addLoggerConfig(config.kwikpass)\n );\n adapters.push(kwikpassAdapter);\n logger.info(\"Added KwikPass Analytics adapter\");\n }\n\n // KwikCheckout Analytics\n if (config.kwikcheckout) {\n const kwikcheckoutAdapter = new KwikCheckoutAdapter(\n addLoggerConfig(config.kwikcheckout)\n );\n adapters.push(kwikcheckoutAdapter);\n logger.info(\"Added KwikCheckout Analytics adapter\");\n }\n\n // Custom adapters\n if (config.customAdapters) {\n adapters.push(...config.customAdapters);\n logger.info(`Added ${config.customAdapters.length} custom adapters`);\n }\n\n if (adapters.length === 0) {\n logger.warn(\"No analytics adapters configured\");\n } else {\n // Initialize the event tracking system\n await initializeEventTracking(adapters);\n logger.info(\"Event tracking initialized with adapters\", {\n adapters: adapters.map((a) => a.name),\n });\n }\n\n logger.info(\"Initialization completed successfully\");\n onInitialized?.();\n } catch (err) {\n const error =\n err instanceof Error\n ? err\n : new Error(\"Unknown initialization error\");\n logger.error(\"Initialization failed\", error);\n onError?.(error);\n }\n };\n\n initializeAnalytics();\n }, [config, onInitialized, onError]);\n\n return (\n <>\n {/* Affiliate Tracker */}\n {config.affiliate?.enabled !== false && (\n <AffiliateTracker\n config={config.affiliate?.config}\n autoCapture={config.affiliate?.autoCapture}\n />\n )}\n\n {/* Shopify Tracker */}\n {config.shopify?.domain && (\n <ShopifyAnalyticsScript domain={config.shopify?.domain} />\n )}\n\n {children ? <>{children}</> : null}\n </>\n );\n};\n\nexport default ShopkitAnalytics;\n","\"use client\";\n\nimport { useShopifyCookies } from \"@shopify/hydrogen-react\";\nimport { usePathname } from \"next/navigation\";\nimport { useEffect, useState } from \"react\";\nimport { EventType, publishEvent } from \"../events\";\n\n/**\n * Component to initialize Shopify Analytics cookies\n * This component handles the useShopifyCookies hook which must be used in a React component\n */\n\ninterface ShopifyAnalyticsScriptProps {\n domain: string;\n}\n\nexport function ShopifyAnalyticsScript({\n domain,\n}: ShopifyAnalyticsScriptProps) {\n const pathname = usePathname();\n\n const [sessionValid, setSessionValid] = useState(false);\n\n useShopifyCookies({\n hasUserConsent: true,\n domain: domain,\n });\n\n useEffect(() => {\n // Validate session after cookie initialization\n const validateSession = () => {\n const shopifyY = document.cookie.includes(\"_shopify_y=\");\n const shopifyS = document.cookie.includes(\"_shopify_s=\");\n\n if (shopifyY && shopifyS) {\n setSessionValid(true);\n console.log(\"✅ Shopify Analytics session validated\");\n } else {\n console.warn(\"⚠️ Shopify session cookies missing\");\n }\n };\n\n // Allow time for cookies to be set\n const timer = setTimeout(validateSession, 1000);\n return () => clearTimeout(timer);\n }, []);\n\n // Expose session status for debugging\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n (window as any).__shopifySessionValid = sessionValid;\n }\n }, [sessionValid]);\n\n useEffect(() => {\n const trackPageView = () => {\n publishEvent({\n type: EventType.SHOPIFY_PAGE_VIEW,\n });\n };\n\n const timer = setTimeout(trackPageView, 1500);\n return () => clearTimeout(timer);\n }, [pathname]);\n\n return null; // This component doesn't render anything\n}\n"],"mappings":"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","names":["AppRouterContext","LayoutRouterContext","GlobalLayoutRouterContext","TemplateContext","CacheStates","LAZY_INITIALIZED","DATA_FETCH","READY","React","createContext","process","displayName","SearchParamsContext","PathnameContext","PathParamsContext","createContext","process","displayName","clientHookInServerComponentError","hookName","process","env","NODE_ENV","React","useState","Error","getSegmentValue","segment","Array","isArray","nodeInterop","ServerInsertedHTMLContext","useServerInsertedHTML","React","createContext","addInsertedServerHTMLCallback","callback","createAsyncLocalStorage","sharedAsyncLocalStorageNotAvailableError","Error","FakeAsyncLocalStorage","disable","getStore","undefined","run","exit","enterWith","maybeGlobalAsyncLocalStorage","globalThis","AsyncLocalStorage","requestAsyncStorage","createAsyncLocalStorage","getRedirectError","redirect","permanentRedirect","isRedirectError","getURLFromRedirectError","getRedirectTypeFromError","REDIRECT_ERROR_CODE","RedirectType","push","replace","url","type","permanent","error","Error","digest","requestStore","requestAsyncStorage","getStore","mutableCookies","errorCode","destination","split","notFound","isNotFoundError","NOT_FOUND_ERROR_CODE","error","Error","digest","NEXT_DYNAMIC_NO_SSR_CODE","throwWithNoSSR","error","Error","digest","staticGenerationAsyncStorage","createAsyncLocalStorage","bailoutToClientRendering","staticGenerationStore","staticGenerationAsyncStorage","getStore","forceStatic","isStaticGeneration","throwWithNoSSR","ReadonlyURLSearchParams","useSearchParams","usePathname","ServerInsertedHTMLContext","useServerInsertedHTML","useRouter","useParams","useSelectedLayoutSegments","useSelectedLayoutSegment","redirect","permanentRedirect","RedirectType","notFound","INTERNAL_URLSEARCHPARAMS_INSTANCE","Symbol","readonlyURLSearchParamsError","Error","iterator","append","delete","set","sort","constructor","urlSearchParams","entries","bind","forEach","get","getAll","has","keys","values","toString","size","clientHookInServerComponentError","searchParams","useContext","SearchParamsContext","readonlySearchParams","useMemo","window","bailoutToClientRendering","require","PathnameContext","router","AppRouterContext","getSelectedParams","tree","params","parallelRoutes","parallelRoute","Object","segment","isDynamicParameter","Array","isArray","segmentValue","startsWith","isCatchAll","split","globalLayoutRouter","GlobalLayoutRouterContext","pathParams","PathParamsContext","getSelectedLayoutSegmentPath","parallelRouteKey","first","segmentPath","node","children","getSegmentValue","push","LayoutRouterContext","selectedLayoutSegments","length","require_navigation","useEffect","useEffect","logger"]}
@@ -3,7 +3,8 @@ import {
3
3
  FacebookCAPIService,
4
4
  createFacebookCAPIService
5
5
  } from "../chunk-CTKVQUZ5.mjs";
6
- import "../chunk-VKBE75YB.mjs";
6
+ import "../chunk-BE3W2SD6.mjs";
7
+ import "../chunk-NIL3JVRZ.mjs";
7
8
  export {
8
9
  FacebookCAPIService,
9
10
  createFacebookCAPIService
@@ -2,7 +2,8 @@
2
2
  import {
3
3
  eventSubscriber
4
4
  } from "./chunk-HCA4E2RA.mjs";
5
+ import "./chunk-NIL3JVRZ.mjs";
5
6
  export {
6
7
  eventSubscriber
7
8
  };
8
- //# sourceMappingURL=subscriber-VF3IYUCU.mjs.map
9
+ //# sourceMappingURL=subscriber-K6VCQXNV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/types.d.mts CHANGED
@@ -40,7 +40,8 @@ declare enum EventType {
40
40
  ORDER_COMPLETED = "order_completed",
41
41
  PIN_CODE_ADDED_GK = "pin_code_added_gk",
42
42
  ADDRESS_ADDED_GK = "address_added_gk",
43
- SPECIFIC = "specific"
43
+ SPECIFIC = "specific",
44
+ SHOPIFY_PAGE_VIEW = "shopify_page_view"
44
45
  }
45
46
  /**
46
47
  * Base event interface that all events should implement
@@ -652,9 +653,13 @@ interface IProductViewEvent extends BaseEvent {
652
653
  currency?: string;
653
654
  category?: string;
654
655
  }
656
+ interface IShopifyPageViewEvent extends BaseEvent {
657
+ type: EventType.SHOPIFY_PAGE_VIEW;
658
+ path?: string;
659
+ }
655
660
  /**
656
661
  * Union type of all possible events
657
662
  */
658
- type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | ISpecificEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IViewedProductEvent | ICheckoutPaymentEvent;
663
+ type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | ISpecificEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IViewedProductEvent | ICheckoutPaymentEvent | IShopifyPageViewEvent;
659
664
 
660
- export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICustomEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IMobileAddedGKEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type ISpecificEvent, type IStartedCheckoutGKEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
665
+ export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICustomEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IMobileAddedGKEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type IShopifyPageViewEvent, type ISpecificEvent, type IStartedCheckoutGKEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
package/dist/types.d.ts CHANGED
@@ -40,7 +40,8 @@ declare enum EventType {
40
40
  ORDER_COMPLETED = "order_completed",
41
41
  PIN_CODE_ADDED_GK = "pin_code_added_gk",
42
42
  ADDRESS_ADDED_GK = "address_added_gk",
43
- SPECIFIC = "specific"
43
+ SPECIFIC = "specific",
44
+ SHOPIFY_PAGE_VIEW = "shopify_page_view"
44
45
  }
45
46
  /**
46
47
  * Base event interface that all events should implement
@@ -652,9 +653,13 @@ interface IProductViewEvent extends BaseEvent {
652
653
  currency?: string;
653
654
  category?: string;
654
655
  }
656
+ interface IShopifyPageViewEvent extends BaseEvent {
657
+ type: EventType.SHOPIFY_PAGE_VIEW;
658
+ path?: string;
659
+ }
655
660
  /**
656
661
  * Union type of all possible events
657
662
  */
658
- type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | ISpecificEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IViewedProductEvent | ICheckoutPaymentEvent;
663
+ type TEvent = IProductViewEvent | IPageViewEvent | IButtonClickEvent | IFormSubmissionEvent | IViewItemEvent | IPCollectionViewEvent | IAddToCartEvent | IRemoveFromCartEvent | ICheckoutStartedEvent | ICheckoutCompletedEvent | ICartViewedEvent | ISearchEvent | IUserSignupEvent | IUserLoginEvent | IViewContentEvent | IPurchaseEvent | IViewSearchResultsEvent | IOrderPlacedEvent | IBeginCheckoutEvent | ICustomEvent | ISpecificEvent | IUserEngagementEvent | ISessionStartEvent | IFirstVisitEvent | IScrollEvent | IFormStartEvent | IAddPaymentInfoEvent | IStartedCheckoutGKEvent | IMobileAddedGKEvent | IAddressSelectedGKEvent | IAddressCompletedGKEvent | IPaymentMethodSelectedGKEvent | IPaymentCompletedGKEvent | IOrderSuccessEvent | IOrderCompletedEvent | IPinCodeAddedGKEvent | IAddressAddedGKEvent | IViewedProductEvent | ICheckoutPaymentEvent | IShopifyPageViewEvent;
659
664
 
660
- export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICustomEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IMobileAddedGKEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type ISpecificEvent, type IStartedCheckoutGKEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
665
+ export { type BaseEvent, EventType, type IAddPaymentInfoEvent, type IAddToCartEvent, type IAddressAddedGKEvent, type IAddressCompletedGKEvent, type IAddressSelectedGKEvent, type IBeginCheckoutEvent, type IButtonClickEvent, type ICartViewedEvent, type ICheckoutCompletedEvent, type ICheckoutPaymentEvent, type ICheckoutStartedEvent, type ICustomEvent, type IFirstVisitEvent, type IFormStartEvent, type IFormSubmissionEvent, type IMobileAddedGKEvent, type IOrderCompletedEvent, type IOrderPlacedEvent, type IOrderSuccessEvent, type IPCollectionViewEvent, type IPageViewEvent, type IPaymentCompletedGKEvent, type IPaymentMethodSelectedGKEvent, type IPinCodeAddedGKEvent, type IProductViewEvent, type IPurchaseEvent, type IRemoveFromCartEvent, type IScrollEvent, type ISearchEvent, type ISessionStartEvent, type IShopifyPageViewEvent, type ISpecificEvent, type IStartedCheckoutGKEvent, type IUserEngagementEvent, type IUserLoginEvent, type IUserSignupEvent, type IViewContentEvent, type IViewItemEvent, type IViewSearchResultsEvent, type IViewedProductEvent, type TEvent };
package/dist/types.js CHANGED
@@ -64,6 +64,7 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
64
64
  EventType2["PIN_CODE_ADDED_GK"] = "pin_code_added_gk";
65
65
  EventType2["ADDRESS_ADDED_GK"] = "address_added_gk";
66
66
  EventType2["SPECIFIC"] = "specific";
67
+ EventType2["SHOPIFY_PAGE_VIEW"] = "shopify_page_view";
67
68
  return EventType2;
68
69
  })(EventType || {});
69
70
  // Annotate the CommonJS export names for ESM import in node:
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["/**\n * Event types that can be tracked across the application\n */\nexport enum EventType {\n PRODUCT_VIEW = \"product_view\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n FORM_SUBMISSION = \"form_submission\",\n VIEW_ITEM = \"view_item\",\n VIEWED_PRODUCT = \"viewed_product\",\n CHECKOUT_PAYMENT = \"checkout_payment\",\n COLLECTION_VIEW = \"collection_view\",\n ADD_TO_CART = \"add_to_cart\",\n REMOVE_FROM_CART = \"remove_from_cart\",\n CHECKOUT_STARTED = \"checkout_started\",\n CHECKOUT_COMPLETED = \"checkout_completed\",\n SEARCH = \"search\",\n USER_SIGNUP = \"user_signup\",\n USER_LOGIN = \"user_login\",\n CUSTOM = \"custom\",\n USER_ENGAGEMENT = \"user_engagement\",\n SESSION_START = \"session_start\",\n FIRST_VISIT = \"first_visit\",\n SCROLL = \"scroll\",\n FORM_START = \"form_start\",\n ADD_PAYMENT_INFO = \"add_payment_info\",\n CART_VIEWED = \"cart_viewed\",\n VIEW_CONTENT = \"view_content\",\n PURCHASE = \"purchase\",\n VIEW_SEARCH_RESULTS = \"view_search_results\",\n ORDER_PLACED = \"order_placed\",\n BEGIN_CHECKOUT = \"begin_checkout\",\n\n // GoKwik Checkout events (actually used)\n STARTED_CHECKOUT_GK = \"started_checkout_gk\",\n MOBILE_ADDED_GK = \"mobile_added_gk\",\n ADDRESS_SELECTED_GK = \"address_selected_gk\",\n ADDRESS_COMPLETED_GK = \"address_completed_gk\",\n PAYMENT_METHOD_SELECTED_GK = \"payment_method_selected_gk\",\n PAYMENT_COMPLETED_GK = \"payment_completed_gk\",\n ORDER_SUCCESS = \"order_success\",\n ORDER_COMPLETED = \"order_completed\",\n PIN_CODE_ADDED_GK = \"pin_code_added_gk\",\n ADDRESS_ADDED_GK = \"address_added_gk\",\n\n // Track Specific Event\n SPECIFIC = \"specific\",\n}\n\n/**\n * Base event interface that all events should implement\n */\nexport interface BaseEvent {\n type: EventType;\n timestamp?: number;\n eventId?: string;\n event_category?: string;\n description?: string;\n [key: string]: any;\n}\n\n/**\n * Page view event\n */\nexport interface IPageViewEvent extends BaseEvent {\n type: EventType.PAGE_VIEW;\n path: string;\n title: string;\n referrer?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n debug_mode?: boolean;\n engagement_time_msec?: number;\n entrances?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n page_source?: string;\n page_term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * User engagement event\n */\nexport interface IUserEngagementEvent extends BaseEvent {\n type: EventType.USER_ENGAGEMENT;\n engagementTime?: number; // in seconds\n pagePath?: string;\n pageTitle?: string;\n scrollDepth?: number; // in percentage\n formId?: string;\n formName?: string;\n formFields?: Array<{\n fieldName: string;\n fieldValue: string;\n }>;\n buttonId?: string;\n buttonText?: string;\n location?: string;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Session start event\n */\nexport interface ISessionStartEvent extends BaseEvent {\n type: EventType.SESSION_START;\n sessionId: string;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * First visit event\n */\nexport interface IFirstVisitEvent extends BaseEvent {\n type: EventType.FIRST_VISIT;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Scroll event\n */\nexport interface IScrollEvent extends BaseEvent {\n type: EventType.SCROLL;\n scrollDepth: number; // in percentage\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n percent_scrolled?: number;\n}\n\n/**\n * Form start event\n */\nexport interface IFormStartEvent extends BaseEvent {\n type: EventType.FORM_START;\n formId: string;\n formName?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Form submission event\n */\nexport interface IFormSubmissionEvent extends BaseEvent {\n type: EventType.FORM_SUBMISSION;\n formId: string;\n formName?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User signup event\n */\nexport interface IUserSignupEvent extends BaseEvent {\n type: EventType.USER_SIGNUP;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User login event\n */\nexport interface IUserLoginEvent extends BaseEvent {\n type: EventType.USER_LOGIN;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Button click event\n */\nexport interface IButtonClickEvent extends BaseEvent {\n type: EventType.BUTTON_CLICK;\n buttonId?: string;\n buttonText?: string;\n location: string;\n}\n\n/**\n * View item event for e-commerce tracking\n */\nexport interface IViewItemEvent extends BaseEvent {\n type: EventType.VIEW_ITEM;\n currency: string;\n value: number;\n items: Array<{\n item_id: string;\n item_name: string;\n price: number;\n currency: string;\n }>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Checkout payment event\n */\nexport interface ICheckoutPaymentEvent extends BaseEvent {\n type: EventType.CHECKOUT_PAYMENT;\n cartValue: number;\n currency: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Viewed product event after 20 seconds\n */\nexport interface IViewedProductEvent extends BaseEvent {\n type: EventType.VIEWED_PRODUCT;\n productId: string;\n productName: string;\n price: number;\n currency: string;\n viewDuration?: number;\n}\n\nexport interface IPCollectionViewEvent extends BaseEvent {\n type: EventType.COLLECTION_VIEW;\n productId: string;\n productName: string;\n price?: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Add to cart event\n */\nexport interface IAddToCartEvent extends BaseEvent {\n type: EventType.ADD_TO_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity?: number;\n variant?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n value?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Remove from cart event\n */\nexport interface IRemoveFromCartEvent extends BaseEvent {\n type: EventType.REMOVE_FROM_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Checkout started event\n */\nexport interface ICheckoutStartedEvent extends BaseEvent {\n type: EventType.CHECKOUT_STARTED;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n coupon?: string;\n discount?: number | string;\n}\n\n/**\n * Checkout completed event\n */\nexport interface ICheckoutCompletedEvent extends BaseEvent {\n type: EventType.CHECKOUT_COMPLETED;\n orderId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Cart viewed event\n */\nexport interface ICartViewedEvent extends BaseEvent {\n type: EventType.CART_VIEWED;\n cartId: string;\n products: Array<{\n variantId: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Search event\n */\nexport interface ISearchEvent extends BaseEvent {\n type: EventType.SEARCH;\n searchTerm: string;\n content_ids: string[];\n resultsCount?: number;\n}\n\n/**\n * View content event (for Facebook Pixel ViewContent)\n */\nexport interface IViewContentEvent extends BaseEvent {\n type: EventType.VIEW_CONTENT;\n content_type?: string;\n content_ids?: string[];\n content_name?: string;\n content_category?: string;\n value?: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * Purchase event (for Facebook Pixel Purchase)\n */\nexport interface IPurchaseEvent extends BaseEvent {\n type: EventType.PURCHASE;\n value: number;\n currency?: string;\n content_type?: string;\n content_ids?: string[];\n num_items?: number;\n contents?: Array<{\n id: string;\n quantity: number;\n item_price?: number;\n }>;\n transaction_id?: string;\n coupon?: string;\n shipping?: number;\n tax?: number;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * View search results event (for GA4)\n */\nexport interface IViewSearchResultsEvent extends BaseEvent {\n type: EventType.VIEW_SEARCH_RESULTS;\n search_term?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n engagement_time_msec?: number;\n}\n\n/**\n * Order placed event (for GA4)\n */\nexport interface IOrderPlacedEvent extends BaseEvent {\n type: EventType.ORDER_PLACED;\n transaction_id?: string;\n order_id?: string;\n total_amount?: number;\n value: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n coupon?: string;\n discount?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n payment_type?: string;\n shipping?: number;\n shipping_name?: string;\n tax?: number;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Begin checkout event (for GA4)\n */\nexport interface IBeginCheckoutEvent extends BaseEvent {\n type: EventType.BEGIN_CHECKOUT;\n currency?: string;\n value: number;\n coupon?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ICustomEvent extends BaseEvent {\n type: EventType.CUSTOM;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ISpecificEvent extends BaseEvent {\n type: EventType.SPECIFIC;\n}\n\n/**\n * Add Payment Info event\n */\nexport interface IAddPaymentInfoEvent extends BaseEvent {\n type: EventType.ADD_PAYMENT_INFO;\n cartValue: number;\n currency?: string;\n itemCount: number;\n paymentType?: string;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Started checkout GK event\n */\nexport interface IStartedCheckoutGKEvent extends BaseEvent {\n type: EventType.STARTED_CHECKOUT_GK;\n cartValue?: number;\n currency?: string;\n}\n\n/**\n * Mobile added GK event\n */\nexport interface IMobileAddedGKEvent extends BaseEvent {\n type: EventType.MOBILE_ADDED_GK;\n mobile?: string;\n}\n\n/**\n * Address selected GK event\n */\nexport interface IAddressSelectedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_SELECTED_GK;\n addressId?: string;\n}\n\n/**\n * Address completed GK event\n */\nexport interface IAddressCompletedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_COMPLETED_GK;\n addressId?: string;\n}\n\n/**\n * Payment method selected GK event\n */\nexport interface IPaymentMethodSelectedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_METHOD_SELECTED_GK;\n paymentMethod?: string;\n}\n\n/**\n * Payment completed GK event\n */\nexport interface IPaymentCompletedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_COMPLETED_GK;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order success event\n */\nexport interface IOrderSuccessEvent extends BaseEvent {\n type: EventType.ORDER_SUCCESS;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order completed event\n */\nexport interface IOrderCompletedEvent extends BaseEvent {\n type: EventType.ORDER_COMPLETED;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * PIN code added GK event\n */\nexport interface IPinCodeAddedGKEvent extends BaseEvent {\n type: EventType.PIN_CODE_ADDED_GK;\n pinCode?: string;\n}\n\n/**\n * Address added GK event\n */\nexport interface IAddressAddedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_ADDED_GK;\n addressId?: string;\n}\n\n/**\n * Product view event\n */\nexport interface IProductViewEvent extends BaseEvent {\n type: EventType.PRODUCT_VIEW;\n event_category: string;\n description: string;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Union type of all possible events\n */\nexport type TEvent =\n | IProductViewEvent\n | IPageViewEvent\n | IButtonClickEvent\n | IFormSubmissionEvent\n | IViewItemEvent\n | IPCollectionViewEvent\n | IAddToCartEvent\n | IRemoveFromCartEvent\n | ICheckoutStartedEvent\n | ICheckoutCompletedEvent\n | ICartViewedEvent\n | ISearchEvent\n | IUserSignupEvent\n | IUserLoginEvent\n | IViewContentEvent\n | IPurchaseEvent\n | IViewSearchResultsEvent\n | IOrderPlacedEvent\n | IBeginCheckoutEvent\n | ICustomEvent\n | ISpecificEvent\n | IUserEngagementEvent\n | ISessionStartEvent\n | IFirstVisitEvent\n | IScrollEvent\n | IFormStartEvent\n | IAddPaymentInfoEvent\n | IStartedCheckoutGKEvent\n | IMobileAddedGKEvent\n | IAddressSelectedGKEvent\n | IAddressCompletedGKEvent\n | IPaymentMethodSelectedGKEvent\n | IPaymentCompletedGKEvent\n | IOrderSuccessEvent\n | IOrderCompletedEvent\n | IPinCodeAddedGKEvent\n | IAddressAddedGKEvent\n | IViewedProductEvent\n | ICheckoutPaymentEvent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,wBAAqB;AACrB,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,cAAW;AACX,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,oBAAiB;AAGjB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,uBAAoB;AACpB,EAAAA,WAAA,sBAAmB;AAGnB,EAAAA,WAAA,cAAW;AA3CD,SAAAA;AAAA,GAAA;","names":["EventType"]}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["/**\n * Event types that can be tracked across the application\n */\nexport enum EventType {\n PRODUCT_VIEW = \"product_view\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n FORM_SUBMISSION = \"form_submission\",\n VIEW_ITEM = \"view_item\",\n VIEWED_PRODUCT = \"viewed_product\",\n CHECKOUT_PAYMENT = \"checkout_payment\",\n COLLECTION_VIEW = \"collection_view\",\n ADD_TO_CART = \"add_to_cart\",\n REMOVE_FROM_CART = \"remove_from_cart\",\n CHECKOUT_STARTED = \"checkout_started\",\n CHECKOUT_COMPLETED = \"checkout_completed\",\n SEARCH = \"search\",\n USER_SIGNUP = \"user_signup\",\n USER_LOGIN = \"user_login\",\n CUSTOM = \"custom\",\n USER_ENGAGEMENT = \"user_engagement\",\n SESSION_START = \"session_start\",\n FIRST_VISIT = \"first_visit\",\n SCROLL = \"scroll\",\n FORM_START = \"form_start\",\n ADD_PAYMENT_INFO = \"add_payment_info\",\n CART_VIEWED = \"cart_viewed\",\n VIEW_CONTENT = \"view_content\",\n PURCHASE = \"purchase\",\n VIEW_SEARCH_RESULTS = \"view_search_results\",\n ORDER_PLACED = \"order_placed\",\n BEGIN_CHECKOUT = \"begin_checkout\",\n\n // GoKwik Checkout events (actually used)\n STARTED_CHECKOUT_GK = \"started_checkout_gk\",\n MOBILE_ADDED_GK = \"mobile_added_gk\",\n ADDRESS_SELECTED_GK = \"address_selected_gk\",\n ADDRESS_COMPLETED_GK = \"address_completed_gk\",\n PAYMENT_METHOD_SELECTED_GK = \"payment_method_selected_gk\",\n PAYMENT_COMPLETED_GK = \"payment_completed_gk\",\n ORDER_SUCCESS = \"order_success\",\n ORDER_COMPLETED = \"order_completed\",\n PIN_CODE_ADDED_GK = \"pin_code_added_gk\",\n ADDRESS_ADDED_GK = \"address_added_gk\",\n\n // Track Specific Event\n SPECIFIC = \"specific\",\n\n // Shopify specific\n SHOPIFY_PAGE_VIEW= \"shopify_page_view\"\n}\n\n/**\n * Base event interface that all events should implement\n */\nexport interface BaseEvent {\n type: EventType;\n timestamp?: number;\n eventId?: string;\n event_category?: string;\n description?: string;\n [key: string]: any;\n}\n\n/**\n * Page view event\n */\nexport interface IPageViewEvent extends BaseEvent {\n type: EventType.PAGE_VIEW;\n path: string;\n title: string;\n referrer?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n debug_mode?: boolean;\n engagement_time_msec?: number;\n entrances?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n page_source?: string;\n page_term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * User engagement event\n */\nexport interface IUserEngagementEvent extends BaseEvent {\n type: EventType.USER_ENGAGEMENT;\n engagementTime?: number; // in seconds\n pagePath?: string;\n pageTitle?: string;\n scrollDepth?: number; // in percentage\n formId?: string;\n formName?: string;\n formFields?: Array<{\n fieldName: string;\n fieldValue: string;\n }>;\n buttonId?: string;\n buttonText?: string;\n location?: string;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Session start event\n */\nexport interface ISessionStartEvent extends BaseEvent {\n type: EventType.SESSION_START;\n sessionId: string;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * First visit event\n */\nexport interface IFirstVisitEvent extends BaseEvent {\n type: EventType.FIRST_VISIT;\n userId?: string;\n userAgent?: string;\n referrer?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Scroll event\n */\nexport interface IScrollEvent extends BaseEvent {\n type: EventType.SCROLL;\n scrollDepth: number; // in percentage\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n percent_scrolled?: number;\n}\n\n/**\n * Form start event\n */\nexport interface IFormStartEvent extends BaseEvent {\n type: EventType.FORM_START;\n formId: string;\n formName?: string;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Form submission event\n */\nexport interface IFormSubmissionEvent extends BaseEvent {\n type: EventType.FORM_SUBMISSION;\n formId: string;\n formName?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User signup event\n */\nexport interface IUserSignupEvent extends BaseEvent {\n type: EventType.USER_SIGNUP;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * User login event\n */\nexport interface IUserLoginEvent extends BaseEvent {\n type: EventType.USER_LOGIN;\n userId?: string;\n method?: string;\n success: boolean;\n pagePath: string;\n pageTitle: string;\n timestamp: number;\n customProperties?: Record<string, any>;\n}\n\n/**\n * Button click event\n */\nexport interface IButtonClickEvent extends BaseEvent {\n type: EventType.BUTTON_CLICK;\n buttonId?: string;\n buttonText?: string;\n location: string;\n}\n\n/**\n * View item event for e-commerce tracking\n */\nexport interface IViewItemEvent extends BaseEvent {\n type: EventType.VIEW_ITEM;\n currency: string;\n value: number;\n items: Array<{\n item_id: string;\n item_name: string;\n price: number;\n currency: string;\n }>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n ignore_referrer?: boolean;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Checkout payment event\n */\nexport interface ICheckoutPaymentEvent extends BaseEvent {\n type: EventType.CHECKOUT_PAYMENT;\n cartValue: number;\n currency: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Viewed product event after 20 seconds\n */\nexport interface IViewedProductEvent extends BaseEvent {\n type: EventType.VIEWED_PRODUCT;\n productId: string;\n productName: string;\n price: number;\n currency: string;\n viewDuration?: number;\n}\n\nexport interface IPCollectionViewEvent extends BaseEvent {\n type: EventType.COLLECTION_VIEW;\n productId: string;\n productName: string;\n price?: number;\n currency?: string;\n category?: string;\n}\n\n/**\n * Add to cart event\n */\nexport interface IAddToCartEvent extends BaseEvent {\n type: EventType.ADD_TO_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity?: number;\n variant?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n value?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Remove from cart event\n */\nexport interface IRemoveFromCartEvent extends BaseEvent {\n type: EventType.REMOVE_FROM_CART;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n quantity: number;\n variant?: string;\n}\n\n/**\n * Checkout started event\n */\nexport interface ICheckoutStartedEvent extends BaseEvent {\n type: EventType.CHECKOUT_STARTED;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n coupon?: string;\n discount?: number | string;\n}\n\n/**\n * Checkout completed event\n */\nexport interface ICheckoutCompletedEvent extends BaseEvent {\n type: EventType.CHECKOUT_COMPLETED;\n orderId: string;\n cartValue: number;\n currency?: string;\n itemCount: number;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Cart viewed event\n */\nexport interface ICartViewedEvent extends BaseEvent {\n type: EventType.CART_VIEWED;\n cartId: string;\n products: Array<{\n variantId: string;\n price: number;\n quantity: number;\n }>;\n}\n\n/**\n * Search event\n */\nexport interface ISearchEvent extends BaseEvent {\n type: EventType.SEARCH;\n searchTerm: string;\n content_ids: string[];\n resultsCount?: number;\n}\n\n/**\n * View content event (for Facebook Pixel ViewContent)\n */\nexport interface IViewContentEvent extends BaseEvent {\n type: EventType.VIEW_CONTENT;\n content_type?: string;\n content_ids?: string[];\n content_name?: string;\n content_category?: string;\n value?: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * Purchase event (for Facebook Pixel Purchase)\n */\nexport interface IPurchaseEvent extends BaseEvent {\n type: EventType.PURCHASE;\n value: number;\n currency?: string;\n content_type?: string;\n content_ids?: string[];\n num_items?: number;\n contents?: Array<{\n id: string;\n quantity: number;\n item_price?: number;\n }>;\n transaction_id?: string;\n coupon?: string;\n shipping?: number;\n tax?: number;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n ga_session_id?: string;\n engagement_time_msec?: number;\n session_engaged?: boolean;\n page_title?: string;\n page_location?: string;\n page_referrer?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n}\n\n/**\n * View search results event (for GA4)\n */\nexport interface IViewSearchResultsEvent extends BaseEvent {\n type: EventType.VIEW_SEARCH_RESULTS;\n search_term?: string;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n campaign?: string;\n campaign_id?: string;\n content?: string;\n ga_session_id?: string;\n ga_session_number?: number;\n gclid?: string;\n medium?: string;\n page_location?: string;\n page_path?: string;\n page_referrer?: string;\n page_title?: string;\n source?: string;\n srsltid?: string;\n term?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n engagement_time_msec?: number;\n}\n\n/**\n * Order placed event (for GA4)\n */\nexport interface IOrderPlacedEvent extends BaseEvent {\n type: EventType.ORDER_PLACED;\n transaction_id?: string;\n order_id?: string;\n total_amount?: number;\n value: number;\n currency?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n coupon?: string;\n discount?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n payment_type?: string;\n shipping?: number;\n shipping_name?: string;\n tax?: number;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Begin checkout event (for GA4)\n */\nexport interface IBeginCheckoutEvent extends BaseEvent {\n type: EventType.BEGIN_CHECKOUT;\n currency?: string;\n value: number;\n coupon?: string;\n items?: Array<any>;\n // GA4 specific parameters\n batch_ordering_id?: string;\n batch_page_id?: string;\n ecomm_pagetype?: string;\n ecomm_prodid?: string;\n ecomm_totalvalue?: number;\n engagement_time_msec?: number;\n ga_session_id?: string;\n ga_session_number?: number;\n ignore_referrer?: boolean;\n page_location?: string;\n page_referrer?: string;\n page_title?: string;\n user_id?: string;\n user_properties?: Record<string, any>;\n session_engaged?: boolean;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ICustomEvent extends BaseEvent {\n type: EventType.CUSTOM;\n}\n\n/**\n * Custom event for any other tracking needs\n */\nexport interface ISpecificEvent extends BaseEvent {\n type: EventType.SPECIFIC;\n}\n\n/**\n * Add Payment Info event\n */\nexport interface IAddPaymentInfoEvent extends BaseEvent {\n type: EventType.ADD_PAYMENT_INFO;\n cartValue: number;\n currency?: string;\n itemCount: number;\n paymentType?: string;\n items: Array<{\n productId: string;\n productName: string;\n price: number;\n quantity: number;\n variant?: string;\n }>;\n}\n\n/**\n * Started checkout GK event\n */\nexport interface IStartedCheckoutGKEvent extends BaseEvent {\n type: EventType.STARTED_CHECKOUT_GK;\n cartValue?: number;\n currency?: string;\n}\n\n/**\n * Mobile added GK event\n */\nexport interface IMobileAddedGKEvent extends BaseEvent {\n type: EventType.MOBILE_ADDED_GK;\n mobile?: string;\n}\n\n/**\n * Address selected GK event\n */\nexport interface IAddressSelectedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_SELECTED_GK;\n addressId?: string;\n}\n\n/**\n * Address completed GK event\n */\nexport interface IAddressCompletedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_COMPLETED_GK;\n addressId?: string;\n}\n\n/**\n * Payment method selected GK event\n */\nexport interface IPaymentMethodSelectedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_METHOD_SELECTED_GK;\n paymentMethod?: string;\n}\n\n/**\n * Payment completed GK event\n */\nexport interface IPaymentCompletedGKEvent extends BaseEvent {\n type: EventType.PAYMENT_COMPLETED_GK;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order success event\n */\nexport interface IOrderSuccessEvent extends BaseEvent {\n type: EventType.ORDER_SUCCESS;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * Order completed event\n */\nexport interface IOrderCompletedEvent extends BaseEvent {\n type: EventType.ORDER_COMPLETED;\n orderId?: string;\n amount?: number;\n currency?: string;\n}\n\n/**\n * PIN code added GK event\n */\nexport interface IPinCodeAddedGKEvent extends BaseEvent {\n type: EventType.PIN_CODE_ADDED_GK;\n pinCode?: string;\n}\n\n/**\n * Address added GK event\n */\nexport interface IAddressAddedGKEvent extends BaseEvent {\n type: EventType.ADDRESS_ADDED_GK;\n addressId?: string;\n}\n\n/**\n * Product view event\n */\nexport interface IProductViewEvent extends BaseEvent {\n type: EventType.PRODUCT_VIEW;\n event_category: string;\n description: string;\n productId: string;\n productName: string;\n price: number;\n currency?: string;\n category?: string;\n}\n\nexport interface IShopifyPageViewEvent extends BaseEvent {\n type: EventType.SHOPIFY_PAGE_VIEW;\n path?: string;\n}\n\n\n/**\n * Union type of all possible events\n */\nexport type TEvent =\n | IProductViewEvent\n | IPageViewEvent\n | IButtonClickEvent\n | IFormSubmissionEvent\n | IViewItemEvent\n | IPCollectionViewEvent\n | IAddToCartEvent\n | IRemoveFromCartEvent\n | ICheckoutStartedEvent\n | ICheckoutCompletedEvent\n | ICartViewedEvent\n | ISearchEvent\n | IUserSignupEvent\n | IUserLoginEvent\n | IViewContentEvent\n | IPurchaseEvent\n | IViewSearchResultsEvent\n | IOrderPlacedEvent\n | IBeginCheckoutEvent\n | ICustomEvent\n | ISpecificEvent\n | IUserEngagementEvent\n | ISessionStartEvent\n | IFirstVisitEvent\n | IScrollEvent\n | IFormStartEvent\n | IAddPaymentInfoEvent\n | IStartedCheckoutGKEvent\n | IMobileAddedGKEvent\n | IAddressSelectedGKEvent\n | IAddressCompletedGKEvent\n | IPaymentMethodSelectedGKEvent\n | IPaymentCompletedGKEvent\n | IOrderSuccessEvent\n | IOrderCompletedEvent\n | IPinCodeAddedGKEvent\n | IAddressAddedGKEvent\n | IViewedProductEvent\n | ICheckoutPaymentEvent\n | IShopifyPageViewEvent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,oBAAiB;AACjB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,wBAAqB;AACrB,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,cAAW;AACX,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,oBAAiB;AAGjB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,gCAA6B;AAC7B,EAAAA,WAAA,0BAAuB;AACvB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,qBAAkB;AAClB,EAAAA,WAAA,uBAAoB;AACpB,EAAAA,WAAA,sBAAmB;AAGnB,EAAAA,WAAA,cAAW;AAGX,EAAAA,WAAA,uBAAmB;AA9CT,SAAAA;AAAA,GAAA;","names":["EventType"]}
package/dist/types.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  EventType
4
- } from "./chunk-VKBE75YB.mjs";
4
+ } from "./chunk-BE3W2SD6.mjs";
5
+ import "./chunk-NIL3JVRZ.mjs";
5
6
  export {
6
7
  EventType
7
8
  };
@@ -4,6 +4,7 @@ import {
4
4
  getBrowserInfo,
5
5
  getClientIpAddress
6
6
  } from "../chunk-4RDPDMGW.mjs";
7
+ import "../chunk-NIL3JVRZ.mjs";
7
8
  export {
8
9
  generateEventId,
9
10
  getBrowserInfo,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shopkit-analytics",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "A comprehensive analytics package combining event tracking and affiliate tracking for e-commerce applications with multiple platform adapters",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",