{"version":3,"file":"8583.eb57fe12888a484ba761.js","mappings":"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","sources":["webpack://front-end-build-system/./src/views/productclasspage/shared/events.js","webpack://front-end-build-system/./src/views/productclasspage/supplement/contentmanager.js","webpack://front-end-build-system/./src/views/productclasspage/supplement/events.js"],"sourcesContent":["import $ from 'jquery';\n\nconst events = {\n _triggerEvent: function(data) {\n if (window.dataLayer && window.dataLayer.push) {\n window.dataLayer.push(data);\n }\n },\n _orderControlInteractionLabel: function(category, label) {\n this._gaEvent(category, window.location.href, label);\n },\n _gaEvent: function(category, action, label) {\n if (/\\.com/gi.test(action)) {\n action = action.split('?')[0];\n }\n this._triggerEvent({\n event: 'gaTriggerEvent',\n gaEventCategory: category,\n gaEventAction: action,\n gaEventLabel: label\n });\n },\n _getCartData: function() {\n var dfd = new $.Deferred();\n\n $.get('/api/shoppingcart/GetCartItems').done(function(response) {\n dfd.resolve(response.Status === smartPak.HTTP_STATUS_OK ? response.Content.CartItems : []);\n });\n\n return dfd.promise();\n },\n _formatCartData: function(cartItems) {\n var SUPPY_TYPE = 2;\n\n return cartItems\n .reduce(function(items, item) {\n if (item.ProductType === SUPPY_TYPE) {\n items.push({\n productId: item.ProductId + '',\n quantity: item.Quantity,\n itemPrice: item.DiscountedPrice,\n itemId: item.ItemId\n });\n } else {\n item.SupplementViewModels.forEach(function(supplement) {\n items.push({\n productId: supplement.ProductId + '',\n quantity: supplement.Quantity,\n itemPrice: supplement.DiscountedPrice,\n itemId: supplement.ItemId\n });\n });\n }\n\n return items;\n }, [])\n .sort(function(a, b) {\n return a.itemId < b.itemId ? -1 : 1;\n })\n .map(function(item) {\n delete item.itemId;\n return item;\n });\n },\n _dynamicYieldAddToCart: function(data) {\n if (window.DY && window.DY.API) {\n this._getCartData().done(\n function(cartItems) {\n // eslint-disable-next-line new-cap\n window.DY.API('event', {\n name: 'Add to Cart',\n properties: {\n dyType: 'add-to-cart-v1',\n value: data.price,\n currency: 'USD',\n productId: data.sku + '',\n quantity: data.quantity,\n cart: this._formatCartData(cartItems)\n }\n });\n }.bind(this)\n );\n }\n },\n addToCart: function(data) {\n this._triggerEvent({\n event: 'addToCart',\n productClassId: convertToProductClassId(data.id),\n sku: data.sku,\n price: data.price,\n quantity: data.quantity\n });\n\n this._dynamicYieldAddToCart({\n sku: data.sku,\n price: data.price,\n quantity: data.quantity\n });\n }\n};\n\nfunction convertToProductClassId(id) {\n var NUM_TO_ADD_TO_ID = 10000;\n return id + NUM_TO_ADD_TO_ID;\n}\n\nexport default events;\n","import * as events from './events';\nimport {debounce} from '../../../utils/debounce';\nimport elementIntersectionObserver from '../../../dom/elementintersectionobserver';\nimport {small} from '../../../shared/breakpoints';\nimport whenValueChanges from '../../../utils/whenvaluechanges';\n\nconst observe = elementIntersectionObserver(),\n contentManager = {\n _isSmallScreen: function() {\n return !window.matchMedia(`screen and (min-width: ${small}px)`).matches;\n },\n _setControl: function(isSmallScreen, $content) {\n if (this._activeControl) {\n this._activeControl.destroy();\n }\n\n if (isSmallScreen) {\n import('./contentcontrolsmall').then(({default: ContentControlSmall}) => {\n this._activeControl = new ContentControlSmall($content);\n });\n }\n },\n setGAEventListeners: function(){\n [...document.querySelectorAll('.pc-badge')].forEach(link => {\n link.addEventListener('click', e => events.badgeClickEvent(e.target.src.split('badges/')[1].replace('.svg', '')));\n });\n\n [...document.querySelectorAll('#overview-section a')].forEach(link => {\n link.addEventListener('click', e => events.overviewLinkClickEvent(e.target.href));\n });\n\n [...document.querySelectorAll('#ingredients a')].forEach(link => {\n link.addEventListener('click', e => events.ingredientLinkClickEvent(e.target.href));\n });\n\n [...document.querySelectorAll('#research-section a')].forEach(link => {\n link.addEventListener('click', e => events.researchLinkClickEvent(e.target.href));\n });\n },\n init: function($content) {\n if (!$content) {\n throw new Error('contentManager.init requires an element');\n }\n\n this._setControl(this._isSmallScreen(), $content);\n\n const $bloomReach = document.getElementById('br-widgets'),\n $recentlyViewed = document.getElementById('divRecentlyViewedProducts'),\n $videoContent = document.getElementById('video-content');\n\n if ($videoContent) {\n observe($videoContent, $element => {\n import('../shared/videosection').then(({default: videoSection}) => videoSection.init($element, events.videoPlayEvent));\n });\n }\n\n if ($bloomReach) {\n observe($bloomReach, $element => {\n import('../../shared/bloomreach').then(({default: bloomReach}) =>\n bloomReach.init($element.querySelector('.BRRelatedProducts'), '.br-sf-widget')\n );\n });\n }\n\n if ($recentlyViewed) {\n observe($recentlyViewed, $element => {\n import('../shared/recentlyviewed').then(({default: recentlyViewed}) =>\n recentlyViewed.init($element)\n );\n });\n }\n\n this.setGAEventListeners();\n\n window.addEventListener(\n 'resize',\n debounce(\n whenValueChanges(this._isSmallScreen, isSmallScreen =>\n this._setControl(isSmallScreen, $content)\n ),\n 100\n )\n );\n }\n };\n\nexport default contentManager;\n","import events from '../shared/events';\n\nexport function supplementOrderControlInteraction(label) {\n events._orderControlInteractionLabel('Supplement Order Control', label);\n}\n\nexport function autoShipEvent(isAutoShip){\n events._gaEvent('Supplement Order Control', 'ATS/OTS Change', isAutoShip ? 'Autoship' : 'One-time');\n}\n\nexport function doseTypeChangeEvent(id){\n const types = {\n '-1': 'NONE', \n '1997690860': 'CUSTOM', \n '1997690859': 'LOADING', \n '1997690858': 'MAINTENANCE'\n };\n events._gaEvent('Supplement Order Control', 'Dose Type Change', types[id.toString()]);\n}\n\nexport function packagingTypeChange(type){\n events._gaEvent('Supplement Order Control', 'Package Type Change', type); \n}\n\nexport function badgeClickEvent(name){\n events._gaEvent('Supplement Product Class Page', 'Badge Click', name); \n}\n\nexport function overviewLinkClickEvent(link){\n events._gaEvent('Supplement Product Class Page', 'Overview section', link); \n}\n\nexport function ingredientLinkClickEvent(link){\n events._gaEvent('Supplement Product Class Page', 'Supplement Facts Section', link); \n}\n\nexport function researchLinkClickEvent(link){\n events._gaEvent('Supplement Product Class Page', 'Research Section', link); \n}\n\nexport function videoPlayEvent(title){\n events._gaEvent('Supplement Product Class Page', 'Video Section', title); \n}\n\n"],"names":["_triggerEvent","data","window","dataLayer","push","_orderControlInteractionLabel","category","label","this","_gaEvent","location","href","action","test","split","event","gaEventCategory","gaEventAction","gaEventLabel","_getCartData","dfd","$","done","response","resolve","Status","smartPak","HTTP_STATUS_OK","Content","CartItems","promise","_formatCartData","cartItems","reduce","items","item","ProductType","productId","ProductId","quantity","Quantity","itemPrice","DiscountedPrice","itemId","ItemId","SupplementViewModels","forEach","supplement","sort","a","b","map","_dynamicYieldAddToCart","DY","API","name","properties","dyType","value","price","currency","sku","cart","bind","addToCart","id","productClassId","observe","elementIntersectionObserver","_isSmallScreen","matchMedia","concat","small","matches","_setControl","isSmallScreen","$content","_this","_activeControl","destroy","then","_ref","ContentControlSmall","setGAEventListeners","_toConsumableArray","document","querySelectorAll","link","addEventListener","e","events","target","src","replace","init","_this2","Error","$bloomReach","getElementById","$recentlyViewed","$videoContent","$element","_ref2","_ref3","querySelector","_ref4","debounce","whenValueChanges","supplementOrderControlInteraction","autoShipEvent","isAutoShip","doseTypeChangeEvent","toString","packagingTypeChange","type","badgeClickEvent","overviewLinkClickEvent","ingredientLinkClickEvent","researchLinkClickEvent","videoPlayEvent","title"],"sourceRoot":""}