{"version":3,"file":"dataLayerPushService-CaXfi77b-chunk.js","sources":["../../../GSDClient/Scripts/Utils/dataLayerPushService.tsx"],"sourcesContent":["import {\n IAlphaMiniCartModel,\n IProductItemViewModelTrackingData,\n IOrderItem,\n} from 'Scripts/Types/Litium';\nimport store from 'Scripts/store';\n\ntype IDataLayerEvent = 'add' | 'remove';\n\nexport const handleCheckoutClickDatalayerPush = () => {\n const state = store.getState() as {\n cart: { miniCartModel: IAlphaMiniCartModel };\n };\n const { shoppingCart } = state.cart.miniCartModel;\n\n if (shoppingCart.orderItems.length > 0) {\n window.dataLayer.push({\n event: 'checkout',\n ecommerce: {\n checkout: {\n actionField: {\n step: 1,\n },\n products: shoppingCart.orderItems.map(item => ({\n name: item.dataLayerCarrierModel.baseIdAndName,\n id: item.dataLayerCarrierModel.variantId,\n id7: item.dataLayerCarrierModel.variantId7,\n id5: item.dataLayerCarrierModel.variantId5,\n price: item.dataLayerCarrierModel.price,\n variant: item.dataLayerCarrierModel.color,\n quantity: parseInt(item.dataLayerCarrierModel.quantity),\n category: item.dataLayerCarrierModel.category,\n dimension1: item.dataLayerCarrierModel.size,\n })),\n },\n currencyCode:\n shoppingCart.orderItems[0].dataLayerCarrierModel.currency,\n },\n });\n }\n};\n\nexport const handleProductCardClickDatalayerPush = (\n trackingData: IProductItemViewModelTrackingData\n) => {\n window.dataLayer.push({\n event: 'ee_product_click',\n ecommerce: {\n click: {\n actionField: {\n list: 'Productcard',\n },\n products: [\n {\n name: trackingData.name,\n id: trackingData.variantId,\n price: trackingData.basePrice,\n variant: trackingData.variant,\n },\n ],\n },\n },\n });\n};\n\nexport const handleChangeSizeVariantDatalayerPush = (\n trackingData: IProductItemViewModelTrackingData\n) => {\n if (trackingData) {\n window.dataLayer.push({\n event: 'ee_products_details',\n ecommerce: {\n currencyCode: trackingData.currencyCode,\n detail: {\n actiondField: {\n list: trackingData.categoryName,\n },\n products: [\n {\n name: trackingData.name,\n id: trackingData.variantId,\n id7: trackingData.variantId7,\n id5: trackingData.variantId5,\n price: trackingData.basePrice,\n category: trackingData.categoryName,\n variant: trackingData.variant,\n brand: trackingData.ecoLabel,\n },\n ],\n },\n },\n });\n }\n};\n\nexport const handleAddToCartDatalayerPush = (\n trackingData: IProductItemViewModelTrackingData\n) => {\n if (trackingData) {\n window.dataLayer.push({\n event: 'ee_add_to_cart',\n ecommerce: {\n currencyCode: trackingData.currencyCode,\n add: {\n products: [\n {\n name: trackingData.name,\n id: trackingData.variantId,\n id7: trackingData.variantId7,\n id5: trackingData.variantId5,\n price: trackingData.basePrice,\n category: trackingData.categoryName,\n variant: trackingData.variant,\n brand: trackingData.ecoLabel,\n },\n ],\n },\n },\n });\n }\n};\n\nexport const handleOrderItemClickDatalayerPush = (item: IOrderItem) => {\n window.dataLayer.push({\n event: 'ee_product_click',\n ecommerce: {\n click: {\n actionField: {\n list: 'Minicart',\n },\n products: [\n {\n name: item.dataLayerCarrierModel.baseIdAndName,\n id: item.dataLayerCarrierModel.variantId,\n price: item.dataLayerCarrierModel.price,\n variant: item.dataLayerCarrierModel.color,\n },\n ],\n },\n },\n });\n};\n\nexport const handleItemDataLayerPush = (\n item: IOrderItem,\n event: IDataLayerEvent\n) => {\n const products = [\n {\n name: item.dataLayerCarrierModel.baseIdAndName,\n id: item.dataLayerCarrierModel.variantId,\n price: item.dataLayerCarrierModel.price,\n variant: item.dataLayerCarrierModel.color,\n quantity: item.dataLayerCarrierModel.quantity,\n dimension1: item.dataLayerCarrierModel.size,\n },\n ];\n\n switch (event) {\n case 'remove':\n window.dataLayer.push({\n event: 'remove_from_cart',\n ecommerce: {\n currencyCode: item.dataLayerCarrierModel.currency,\n remove: {\n products,\n },\n },\n });\n break;\n\n case 'add':\n window.dataLayer.push({\n event: 'ee_add_to_cart',\n ecommerce: {\n currencyCode: item.dataLayerCarrierModel.currency,\n add: {\n products,\n },\n },\n });\n break;\n\n default: {\n const exhaustiveCheck: never = event;\n return exhaustiveCheck;\n }\n }\n};\n\nexport const newsletterSignupDataLayerPush = (newsLetterEventType: string) => {\n window.dataLayer.push({\n event: 'userNewsletterRegister',\n trigger: newsLetterEventType,\n });\n};\n\nexport const submitFormDataLayerPush = (eventType: string) => {\n window.dataLayer.push({\n event: eventType,\n });\n};\n\nexport const logintUserDataLayerPush = () => {\n window.dataLayer.push({\n event: 'userLoggedInOnLoginPage',\n });\n};\n\nexport const createAccountDataLayerPush = () => {\n window.dataLayer.push({\n event: 'create_account',\n });\n};\n"],"names":["handleCheckoutClickDatalayerPush","state","store","shoppingCart","item","handleChangeSizeVariantDatalayerPush","trackingData","handleAddToCartDatalayerPush","handleOrderItemClickDatalayerPush","handleItemDataLayerPush","event","products","newsletterSignupDataLayerPush","newsLetterEventType","submitFormDataLayerPush","eventType","logintUserDataLayerPush","createAccountDataLayerPush"],"mappings":"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"}