{"version":3,"file":"checkout-google-analytics-e5d3582b.js","sources":["../../../client/src/javascripts/customer_pages/_libs/analytics/events/begin-checkout.js","../../../client/src/javascripts/customer_pages/_libs/analytics/checkout-google-analytics.js"],"sourcesContent":["import { GoogleAnalytics } from '../google-analytics';\nimport Store from '../../../_utils/tools/store';\nimport { CartItemsAnalyticsEvents } from '../../../_cart/cart-items-change-events';\n\nexport class GoogleAnalyticsBeginCheckoutEvent extends GoogleAnalytics {\n items() {\n return (this.dataLayer.items || []).map(item =>\n this.mapToItemEventKeys(item)\n );\n }\n\n beginCheckoutParams() {\n const defaultParams = {\n currency: this.currency(),\n transaction_id: this.transactionId(),\n };\n\n if (this.modifiedCart()) {\n return {\n ...defaultParams,\n ...this.updatedCartContents(),\n };\n }\n\n return {\n ...defaultParams,\n value: this.orderValue(),\n items: this.items(),\n };\n }\n\n sendEvent() {\n if (this.analyticsEnabled() && this.dataLayerEnabled()) {\n if (Store.isWalmart()) {\n // Capture cart as a purchase event for analytics before redirect to Walmart\n super.sendEvent('purchase', this.beginCheckoutParams());\n return;\n }\n\n super.sendEvent('begin_checkout', this.beginCheckoutParams());\n }\n }\n\n updatedCartContents() {\n const cartUpdates = window.dataLayer\n .filter(layer => layer.event === CartItemsAnalyticsEvents.UPDATED)\n .pop();\n\n return {\n items: cartUpdates.items.map(item => this.mapToItemEventKeys(item)),\n value: Number(this.stripCurrencySymbol(cartUpdates.cart_value)),\n };\n }\n\n modifiedCart() {\n return window.dataLayer.some(\n layer =>\n layer.event === CartItemsAnalyticsEvents.UPDATED && layer.cart_value\n );\n }\n\n mapToItemEventKeys(item) {\n const {\n catalog_item_id,\n id,\n category,\n product_title,\n quantity,\n price,\n total_price,\n delivery_option,\n } = item;\n\n return {\n item_id: id,\n item_name: product_title,\n affiliation: window.location.host,\n catalog_item_id: catalog_item_id,\n item_category: category?.title || category,\n price: Number(this.stripCurrencySymbol(price)),\n quantity: Number(quantity),\n total_price: Number(this.stripCurrencySymbol(total_price)),\n delivery_option: delivery_option,\n };\n }\n}\n","import { builderDispatch, WebUI } from '../../_utils/ui';\nimport { GoogleAnalyticsBeginCheckoutEvent } from './events/begin-checkout';\nimport { GoogleAnalytics } from './google-analytics';\n\n\nconst AnalyticsHandler = {\n handleAnalyticsEvent(payload) {\n switch (payload.type) {\n case WebUI.Analytics.SEND:\n this.handleSendEvent(payload);\n break;\n\n case WebUI.Analytics.BEGIN_CHECKOUT_EVENT:\n this.handleBeginCheckoutEvent();\n break;\n }\n },\n\n handleSendEvent({ eventCategory, eventAction, eventLabel, eventValue }) {\n new GoogleAnalytics().sendEvent(eventAction, {\n eventCategory,\n eventAction,\n eventLabel,\n eventValue: eventValue || 0,\n });\n },\n\n handleBeginCheckoutEvent() {\n new GoogleAnalyticsBeginCheckoutEvent().sendEvent();\n }\n};\n\nexport default AnalyticsHandler;\n"],"names":["GoogleAnalyticsBeginCheckoutEvent","GoogleAnalytics","item","defaultParams","Store","cartUpdates","layer","CartItemsAnalyticsEvents","catalog_item_id","id","category","product_title","quantity","price","total_price","delivery_option","AnalyticsHandler","payload","WebUI","eventCategory","eventAction","eventLabel","eventValue"],"mappings":"2LAIO,MAAMA,UAA0CC,CAAgB,CACrE,OAAQ,CACN,OAAQ,KAAK,UAAU,OAAS,CAAE,GAAE,IAAIC,GACtC,KAAK,mBAAmBA,CAAI,CAClC,CACG,CAED,qBAAsB,CACpB,MAAMC,EAAgB,CACpB,SAAU,KAAK,SAAU,EACzB,eAAgB,KAAK,cAAe,CAC1C,EAEI,OAAI,KAAK,eACA,CACL,GAAGA,EACH,GAAG,KAAK,oBAAqB,CACrC,EAGW,CACL,GAAGA,EACH,MAAO,KAAK,WAAY,EACxB,MAAO,KAAK,MAAO,CACzB,CACG,CAED,WAAY,CACV,GAAI,KAAK,iBAAgB,GAAM,KAAK,iBAAgB,EAAI,CACtD,GAAIC,EAAM,YAAa,CAErB,MAAM,UAAU,WAAY,KAAK,oBAAqB,CAAA,EACtD,MACD,CAED,MAAM,UAAU,iBAAkB,KAAK,oBAAqB,CAAA,CAC7D,CACF,CAED,qBAAsB,CACpB,MAAMC,EAAc,OAAO,UACxB,OAAOC,GAASA,EAAM,QAAUC,EAAyB,OAAO,EAChE,MAEH,MAAO,CACL,MAAOF,EAAY,MAAM,IAAIH,GAAQ,KAAK,mBAAmBA,CAAI,CAAC,EAClE,MAAO,OAAO,KAAK,oBAAoBG,EAAY,UAAU,CAAC,CACpE,CACG,CAED,cAAe,CACb,OAAO,OAAO,UAAU,KACtBC,GACEA,EAAM,QAAUC,EAAyB,SAAWD,EAAM,UAClE,CACG,CAED,mBAAmBJ,EAAM,CACvB,KAAM,CACJ,gBAAAM,EACA,GAAAC,EACA,SAAAC,EACA,cAAAC,EACA,SAAAC,EACA,MAAAC,EACA,YAAAC,EACA,gBAAAC,CACD,EAAGb,EAEJ,MAAO,CACL,QAASO,EACT,UAAWE,EACX,YAAa,OAAO,SAAS,KAC7B,gBAAiBH,EACjB,eAAeE,GAAA,YAAAA,EAAU,QAASA,EAClC,MAAO,OAAO,KAAK,oBAAoBG,CAAK,CAAC,EAC7C,SAAU,OAAOD,CAAQ,EACzB,YAAa,OAAO,KAAK,oBAAoBE,CAAW,CAAC,EACzD,gBAAiBC,CACvB,CACG,CACH,CChFK,MAACC,EAAmB,CACvB,qBAAqBC,EAAS,CAC5B,OAAQA,EAAQ,KAAI,CAClB,KAAKC,EAAM,UAAU,KACnB,KAAK,gBAAgBD,CAAO,EAC5B,MAEF,KAAKC,EAAM,UAAU,qBACnB,KAAK,yBAAwB,EAC7B,KACH,CACF,EAED,gBAAgB,CAAE,cAAAC,EAAe,YAAAC,EAAa,WAAAC,EAAY,WAAAC,CAAU,EAAI,CACtE,IAAIrB,EAAe,EAAG,UAAUmB,EAAa,CAC3C,cAAAD,EACA,YAAAC,EACA,WAAAC,EACA,WAAYC,GAAc,CAChC,CAAK,CACF,EAED,0BAA2B,CACzB,IAAItB,EAAiC,EAAG,WACzC,CACH"}