{"version":3,"file":"component-tile.chunk.js","mappings":"wMAGe,MAAMA,UCCN,MACXC,cACIC,EAAA,YAAW,OAAO,GAClBC,KAAKC,eACT,CACIC,sBACA,OAAO,GACX,CACIC,eACA,MAAO,CAAC,CACZ,CACAC,iBACI,IAAK,MAAMC,KAAWL,KAAKG,SACvB,GAAIG,OAAOC,WAAWC,IAAIH,GAAU,CAChC,MAAMI,EAAMT,KAAKG,SAASE,GAASK,KAAKV,MACxCM,OAAOC,WAAWC,IAAIH,GAASM,KAAKC,IAChCH,EAAIG,EAAQ,IAEhBN,OAAOC,WAAWM,OAAOR,EAC7B,CAER,CACAJ,gBACID,KAAKc,UAAY,CAAC,EAClB,IAAK,MAAMT,KAAWL,KAAKG,SACvB,GAAIH,KAAKG,SAASE,GAAU,CACxB,MAAMU,EAAUf,KAAKG,SAASE,GAASK,KAAKV,MAC5CA,KAAKc,UAAUT,GAAWU,EAC1Bf,KAAKgB,KAAKX,EAASU,EACvB,CAER,CACAE,kBACI,IAAK,MAAMZ,KAAWL,KAAKc,UACvBd,KAAKkB,OAAOb,EAASL,KAAKc,UAAUT,GAE5C,CACAc,cAAcC,GACV,IAAK,IAAIC,KAAOD,EACZ,GAAIA,EAAOE,eAAeD,GACtB,OAAO,EAEf,OAAO,CACX,CAQAE,KAAKlB,EAASO,GACV,OAAO,SAAcP,EAASO,EAClC,CAQAI,KAAKX,EAASmB,GACLA,GAEL,OAAYnB,EAASmB,EACzB,CAQAN,OAAOb,EAASmB,GACPA,GAEL,QAAanB,EAASmB,EAC1B,CACAC,kBAAkBC,GACd,OAAO,OAAkBA,EAC7B,CACAC,qBAAqBD,GACjB,OAAO,OAAwBA,EACnC,CACAE,WACI5B,KAAKiB,iBACT,GDhFAnB,YAAY+B,GACRC,QACA9B,KAAK+B,SAAW,IAAIC,sBAAqBC,IACrC,GAAIA,EAAQ,GAAGC,eAAgB,CACb,IAAID,EAAQ,GAAGE,OAAOC,iBAAiB,4BAC/CC,SAAQ,CAACC,EAAMC,KACjBC,YAAW,KACPF,EAAKG,aAAa,gBAAiB,OAAO,GAC3C,IAAMF,EAAE,IAEfvC,KAAK+B,SAASW,UAAUT,EAAQ,GAAGE,OACvC,IACD,CACCQ,UAAW,KAEf3C,KAAK4C,kBAAoBf,EACzB7B,KAAK4C,kBAAkBH,aAAa,sBAAuB,QAC3DzC,KAAK+B,SAASc,QAAQ7C,KAAK4C,kBAC/B,CAIIE,UACA,OAAO9C,KAAK4C,iBAChB,CACIG,eACA,MAAMC,EAAc,CAAC,EACfC,EAAUC,OAAOC,OAAO,CAAC,EAAGnD,KAAK8C,IAAIM,SAa3C,OAZuBF,OAAOG,KAAKJ,GAASK,QAAQC,GAAUA,EAAMC,SAAS,YAC9DnB,SAASkB,IACpB,MAAME,EAAa5D,EAAc6D,eAAeH,GAChD,IAAII,EAEAA,EADAV,EAAQM,GAAOC,SAAS,MAAQP,EAAQM,GAAOC,SAAS,KAC1CI,KAAKC,MAAMZ,EAAQM,GAAOO,QAAQ,KAAM,MAGxCjE,EAAckE,YAAYd,EAAQM,IAEpDP,EAAYS,GAAcE,CAAW,KAElC,OAAWX,EACtB,CACIgB,qBACA,OAAOhE,KAAKiE,UAAUnE,YAAYoE,IACtC,CACAC,mBAAmBC,GACf,IAAIC,EACJ,OAAQD,GACJ,IAAK,QACDC,GAAe,EACf,MACJ,IAAK,OACDA,GAAe,EACf,MACJ,IAAK,OACDA,EAAe,KACf,MACJ,QACIA,EAAeD,EAGvB,OAAOC,CACX,CACAF,sBAAsB9C,GAClB,MAAMiD,EAAMjD,EAAIyC,QAAQ,SAAU,IAClC,MAAO,GAAGQ,EAAIC,OAAO,GAAGC,sBAAsBF,EAAIG,MAAM,IAC5D,CAUAC,IAAIC,EAAQC,EAAI/C,EAAU7B,KAAK8C,IAAK+B,EAAW,MACtChD,GAAY8C,GAAWC,IAEvBC,EAQD,OAAQhD,EAAS8C,EAAQE,GAAWC,IAC5BA,GACAA,EAAEC,kBACNH,EAAGE,EAAE,IAVT,OAAQjD,EAAS8C,GAASG,IAClBA,GACAA,EAAEC,kBACNH,EAAGE,EAAE,IAUjB,CASAE,KAAKL,EAAQC,EAAI/C,EAAU7B,KAAK8C,KAC5B,QAASjB,EAAS8C,EAAQC,EAC9B,CAQAK,KAAKN,EAAQ9C,EAAU7B,KAAK8C,KACxB,QAASjB,EAAS8C,EACtB,CAQAO,MAAMP,EAAQ9C,EAAU7B,KAAK8C,KACzB,SAAUjB,EAAS8C,EACvB,CAKAQ,QAAQC,EAAW/E,EAAU,IACzBL,KAAKuB,KAAKvB,KAAKE,gBAAgBmF,cAAcC,KAAM,CAC/CF,UAAWA,GAAapF,KAAK8C,IAC7BzC,WAER,CAQAkF,WAAWH,EAAW/E,EAASmF,EAAMC,GAAQ,EAAOC,GAChD1F,KAAKuB,KAAKvB,KAAKE,gBAAgBmF,cAAcM,KAAM,CAC/CP,UAAWA,GAAapF,KAAK8C,IAC7BzC,UACAmF,OACAC,QACAC,QAER,E,yHEzJW,MAAME,UAAa,IAC1BC,gBACA,MAAO,CACHC,QAAS,uBACTC,aAAc,6BACdC,YAAa,4BAErB,CACAlG,YAAY+B,GACRC,MAAMD,GACN7B,KAAKiG,MACT,CACAA,OACIjG,KAAKkG,cACLlG,KAAKmG,yBACT,CACAD,cACI,IAAOlG,KAAK8C,IAAIsD,cAAcpG,KAAK6F,UAAUC,SACzC,OAAO,EAEX,eAA2B9F,KAAKqG,oBAAsBrG,KAAKsG,oBAC/D,CACAA,qBACItG,KAAKuG,sBACL,IAOIC,EAPAV,EAAU9F,KAAK8C,IAAIsD,cAAcpG,KAAK6F,UAAUC,SACpD,oBAA8B,CAC1BhD,IAAKgD,EACLW,WAAW,EACXC,YAAY,IAEhB,SAAW,CAAC,KAAY,OAExB1G,KAAK0E,IAAI,gBAAgB,UACGiC,IAApBH,IACAA,EAAkB,IAAI,KAAOV,EAAS,CAClCc,cAAe,EACfC,MAAM,EACNC,WAAY,CACRC,OAAQ,sBACRC,OAAQ,yBAGpB,GAER,CACAX,oBACI,IAAIP,EAAU9F,KAAK8C,IAAIsD,cAAcpG,KAAK6F,UAAUC,SACpD,oBAA8B,CAC1BhD,IAAKgD,EACLW,WAAW,EACXC,YAAY,IAEhB,SAAW,CAAC,KAAY,OACH,IAAI,KAAOZ,EAAS,CACrCc,cAAe,EACfC,MAAM,EACNI,WAAY,CACRC,GAAI,qBACJC,KAAM,YAGlB,CACAZ,sBACI,MAAMR,EAAe/F,KAAK8C,IAAIsD,cAAcpG,KAAK6F,UAAUE,cACrDqB,EAAQrB,EAAaK,cAAcpG,KAAK6F,UAAUG,YAAc,gBAChEqB,EAAOtB,EAAaK,cAAcpG,KAAK6F,UAAUG,YAAc,eACrED,EAAauB,aAAaF,EAAOC,EAAKE,YAC1C,CACApB,0BAEI,IADYnG,KAAK8C,IAAI0E,qBAAqB,MAC/BnF,SAASoF,IAChBA,EAAKC,iBAAiB,SAASC,MAAO7C,IAClCA,EAAE8C,iBACF,IAAIC,EAAO,CACP,eAAkB,eAClB,IAAO7H,KAAK+C,SAAS+E,KAAO9H,KAAK+C,SAASgF,GAC1C,eAAkB,oBAA+B/H,KAAK8C,KACtD,MAAS,iBAA4B9C,KAAK8C,MAE1C9C,KAAK+C,SAASiF,WACd,SAAoB,4BAAwC,CAAEC,SAAUjI,KAAK+C,SAASiF,YAE1F,yBAAoCH,GAAM,KAClC/C,EAAEoD,UAAYpD,EAAEqD,QAChB7H,OAAO8H,KAAKX,EAAKY,KAAM,UAGvB/H,OAAOgI,SAASD,KAAOZ,EAAKY,IAChC,GACF,GACJ,GAEV,E,kCCnGJ,MA8BA,EA9BsB,CAClBE,gBAAiB,EAAGzF,MAAK2D,aAAY,EAAMC,cAAa,MACpD,IAAK5D,EACD,KAAM,sCAEVA,EAAI0F,UAAUC,IAAI,UAClB,IAAIC,EAAS5F,EAAI6F,kBACjBD,EAAOF,UAAUC,IAAI,kBACrB,IAAK,IAAIG,KAAUF,EAAOG,SACtBD,EAAOJ,UAAUC,IAAI,gBAEzB,GAAIhC,EAAW,CACX,IAAIqC,EAAQC,SAASC,cAAc,UACnCF,EAAMN,UAAUC,IAAI,sBACpBK,EAAMrG,aAAa,aAAc,YACjCqG,EAAMrG,aAAa,OAAQ,UAC3B,IAAIwG,EAAQF,SAASC,cAAc,UACnCC,EAAMT,UAAUC,IAAI,sBACpBK,EAAMrG,aAAa,aAAc,QACjCqG,EAAMrG,aAAa,OAAQ,UAC3BK,EAAIoG,YAAYJ,GAChBhG,EAAIoG,YAAYD,EACpB,CACA,GAAIvC,EAAY,CACZ,IAAIyC,EAAWJ,SAASC,cAAc,OACtCG,EAASX,UAAUC,IAAI,qBACvB3F,EAAIoG,YAAYC,EACpB,G,0CC3BR,MAAMC,EAAqB,sHACd3H,EAAqBC,GAAWA,EAAO0E,cAAcgD,GACrDC,EAA2B3H,GAAWA,EAAOU,iBAAiBgH,E,gDCA3E,MAAME,E,QAAiB,EACvBA,EAAeC,KAAO,CAACC,EAAOC,KAC1BA,EAAYC,MAAQF,EAChBF,EAAeK,KAAKH,IAChB,cAAW,QACXI,QAAQC,KAAK,MAAML,0BAA8BF,EAAeK,KAAKH,GAAOM,iBAAiBR,EAAeK,KAAKH,GAAOM,OAAS,EAAI,IAAM,KAAM,gBAAiB,gBAEtKR,EAAeK,KAAKH,GAAOnH,SAAS0H,IAChCA,EAAcC,QAAQP,GAClBM,EAAcE,MACdX,EAAeY,IAAIV,EAAOO,EAAcC,QAC5C,MAIJJ,QAAQO,IAAI,UAAUX,cACjBlJ,OAAOC,WAAWC,IAAIgJ,IACvBlJ,OAAOC,WAAW6J,IAAIZ,EAAO,IACjClJ,OAAOC,WAAWC,IAAIgJ,GAAOa,KAAKZ,GAC9B,cAAW,QACXG,QAAQC,KAAK,+BAA+BL,MAEpD,EAEJ,S","sources":["webpack:///./assets/src/scripts/base/baseComponent.ts","webpack:///./assets/src/scripts/base/commonInterface.ts","webpack:///./assets/src/scripts/components/tile.ts","webpack:///./assets/src/scripts/utils/carouselUtils.ts","webpack:///./assets/src/scripts/utils/focusableElementUtils.ts","webpack:///./assets/src/utils/eventBus.ts"],"sourcesContent":["import deepFreeze from '../utils/freeze';\nimport CommonInterface from './commonInterface';\nimport Bean from 'bean';\nexport default class BaseComponent extends CommonInterface {\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super();\n this.observer = new IntersectionObserver(entries => {\n if (entries[0].isIntersecting) {\n const items = [...entries[0].target.querySelectorAll('[data-animated=\"false\"]')];\n items.forEach((item, i) => {\n setTimeout(() => {\n item.setAttribute('data-animated', 'true');\n }, 300 * i);\n });\n this.observer.unobserve(entries[0].target);\n }\n }, {\n threshold: 0.5\n });\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this.observer.observe(this._componentElement);\n }\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return this._componentElement;\n }\n get $options() {\n const compOptions = {};\n const options = Object.assign({}, this.$el.dataset);\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n }\n else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n get COMPONENT_NAME() {\n return this.__proto__.constructor.name;\n }\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n return optionReturn;\n }\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb)\n return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e)\n e.stopPropagation();\n cb(e);\n });\n }\n else {\n Bean.on(element, events, elements, (e) => {\n if (e)\n e.stopPropagation();\n cb(e);\n });\n }\n }\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n /**\n *\n * @param {HTMLElement} [container]\n */\n loading(container, message = '') {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || this.$el,\n message\n });\n }\n /**\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {String} [icon]\n * @param {Boolean} [error=false]\n */\n endLoading(container, message, icon, error = false, time) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || this.$el,\n message,\n icon,\n error,\n time\n });\n }\n}\n","import config from 'gia/config';\nimport EventBus from '../libs/eventBus';\nimport CustomMessages from '../constants/customMessages';\nimport { getFirstFocusable, getAllFocusableElements } from '../utils/focusableElementUtils';\nexport default class CommonInterface {\n constructor() {\n config.set('log', true);\n this._grabMessages();\n }\n get CUSTOM_MESSAGES() {\n return CustomMessages;\n }\n get Messages() {\n return {};\n }\n _checkMessages() {\n for (const message in this.Messages) {\n if (window.eventQueue.get(message)) {\n const ref = this.Messages[message].bind(this);\n window.eventQueue.get(message).map((payload) => {\n ref(payload);\n });\n window.eventQueue.delete(message);\n }\n }\n }\n _grabMessages() {\n this._messages = {};\n for (const message in this.Messages) {\n if (this.Messages[message]) {\n const __ref__ = this.Messages[message].bind(this);\n this._messages[message] = __ref__;\n this.GRAB(message, __ref__);\n }\n }\n }\n _ungrabMessages() {\n for (const message in this._messages) {\n this.UNGRAB(message, this._messages[message]);\n }\n }\n objectIsEmpty(object) {\n for (var key in object) {\n if (object.hasOwnProperty(key))\n return false;\n }\n return true;\n }\n /**\n *\n * EMIT\n *\n * @param {string} message\n * @param {Object} payload\n */\n EMIT(message, payload) {\n return EventBus.emit(message, payload);\n }\n /**\n *\n * GRAB\n *\n * @param {string} message\n * @param {Function} callBack\n */\n GRAB(message, callBack) {\n if (!callBack)\n return;\n EventBus.on(message, callBack);\n }\n /**\n *\n * UNGRAB\n *\n * @param {string} message\n * @param {Function} callBack\n */\n UNGRAB(message, callBack) {\n if (!callBack)\n return;\n EventBus.off(message, callBack);\n }\n getFirstFocusable(parent) {\n return getFirstFocusable(parent);\n }\n getFocusableElements(parent) {\n return getAllFocusableElements(parent);\n }\n _destroy() {\n this._ungrabMessages();\n }\n}\n","import Swiper, { A11y, Navigation, Pagination } from 'swiper';\nimport viewportUtils from '../utils/viewportUtils';\nimport carouselUtils from '../utils/carouselUtils';\nimport BaseComponent from '../base/baseComponent';\nimport analyticsUtils from '../utils/analyticsUtils';\nimport customMessages from '../constants/customMessages';\nimport customEventBus from '@utils/eventBus';\nexport default class Tile extends BaseComponent {\n get SELECTORS() {\n return {\n gallery: '.producttile-gallery',\n galleryInner: '.producttile-gallery-inner',\n galleryItem: '.producttile-gallery-item',\n };\n }\n constructor(element) {\n super(element);\n this.init();\n }\n init() {\n this.setCarousel();\n this.listenLinksForDatalayer();\n }\n setCarousel() {\n if (!!!this.$el.querySelector(this.SELECTORS.gallery)) {\n return false;\n }\n viewportUtils.isMobile() ? this.setCarouselMobile() : this.setCarouselDesktop();\n }\n setCarouselDesktop() {\n this.moveFirstImageToEnd();\n let gallery = this.$el.querySelector(this.SELECTORS.gallery);\n carouselUtils.setSwiperMarkup({\n $el: gallery,\n hasArrows: true,\n hasBullets: false,\n });\n Swiper.use([Navigation, A11y]);\n let carouselDesktop;\n this.$on('focusin.tile', () => {\n if (carouselDesktop === undefined) {\n carouselDesktop = new Swiper(gallery, {\n slidesPerView: 1,\n loop: true,\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n }\n });\n }\n });\n }\n setCarouselMobile() {\n let gallery = this.$el.querySelector(this.SELECTORS.gallery);\n carouselUtils.setSwiperMarkup({\n $el: gallery,\n hasArrows: false,\n hasBullets: true,\n });\n Swiper.use([Pagination, A11y]);\n let carouselMobile = new Swiper(gallery, {\n slidesPerView: 1,\n loop: false,\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n },\n });\n }\n moveFirstImageToEnd() {\n const galleryInner = this.$el.querySelector(this.SELECTORS.galleryInner);\n const first = galleryInner.querySelector(this.SELECTORS.galleryItem + ':first-child');\n const last = galleryInner.querySelector(this.SELECTORS.galleryItem + ':last-child');\n galleryInner.insertBefore(first, last.nextSibling);\n }\n listenLinksForDatalayer() {\n let links = this.$el.getElementsByTagName('a');\n [...links].forEach((link) => {\n link.addEventListener('click', async (e) => {\n e.preventDefault();\n let data = {\n 'forcedPipeline': 'ProductClick',\n 'pid': this.$options.pid || this.$options.id,\n 'item_list_name': analyticsUtils.getTileListName(this.$el),\n 'index': analyticsUtils.getTileIndex(this.$el),\n };\n if (this.$options.masterPid) {\n customEventBus.emit(customMessages.SFMC.PRODUCT_CARD.click, { masterID: this.$options.masterPid });\n }\n analyticsUtils.passThroughProcessor(data, () => {\n if (e.shiftKey || e.metaKey) {\n window.open(link.href, '_blank');\n }\n else {\n window.location.href = link.href;\n }\n });\n });\n });\n }\n}\n","const carouselUtils = {\n setSwiperMarkup: ({ $el, hasArrows = true, hasBullets = true, }) => {\n if (!$el) {\n throw 'setSwiperMarkup requires an element';\n }\n $el.classList.add('swiper');\n let $inner = $el.firstElementChild;\n $inner.classList.add('swiper-wrapper');\n for (let $child of $inner.children) {\n $child.classList.add('swiper-slide');\n }\n if (hasArrows) {\n let $prev = document.createElement('button');\n $prev.classList.add('swiper-button-prev');\n $prev.setAttribute('aria-label', 'Previous');\n $prev.setAttribute('type', 'button');\n let $next = document.createElement('button');\n $next.classList.add('swiper-button-next');\n $prev.setAttribute('aria-label', 'Next');\n $prev.setAttribute('type', 'button');\n $el.appendChild($prev);\n $el.appendChild($next);\n }\n if (hasBullets) {\n let $bullets = document.createElement('div');\n $bullets.classList.add('swiper-pagination');\n $el.appendChild($bullets);\n }\n },\n};\nexport default carouselUtils;\n","const focusableSelectors = 'button, [href]:not([aria-hidden=\"true\"]), input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), [role=\"button\"]';\nexport const getFirstFocusable = (parent) => parent.querySelector(focusableSelectors);\nexport const getAllFocusableElements = (parent) => parent.querySelectorAll(focusableSelectors);\n","import config from 'gia/config';\nimport eventbus from 'gia/eventbus';\nconst customEventBus = eventbus; // assign needed cause gia don't offer types\ncustomEventBus.emit = (event, eventObject) => {\n eventObject._name = event;\n if (customEventBus.list[event]) {\n if (config.get('log')) {\n console.info(`%c[${event}]%c event captured by ${customEventBus.list[event].length} handler${customEventBus.list[event].length > 1 ? 's' : ''}`, 'color:violet;', 'color:white;');\n }\n customEventBus.list[event].forEach((handlerObject) => {\n handlerObject.handler(eventObject);\n if (handlerObject.once) {\n customEventBus.off(event, handlerObject.handler);\n }\n });\n }\n else {\n console.log(`adding ${event} to queue`);\n if (!window.eventQueue.get(event))\n window.eventQueue.set(event, []);\n window.eventQueue.get(event).push(eventObject);\n if (config.get('log')) {\n console.info(`0 handlers called on event '${event}'`);\n }\n }\n};\nexport default customEventBus;\n"],"names":["BaseComponent","constructor","config","this","_grabMessages","CUSTOM_MESSAGES","Messages","_checkMessages","message","window","eventQueue","get","ref","bind","map","payload","delete","_messages","__ref__","GRAB","_ungrabMessages","UNGRAB","objectIsEmpty","object","key","hasOwnProperty","EMIT","callBack","getFirstFocusable","parent","getFocusableElements","_destroy","element","super","observer","IntersectionObserver","entries","isIntersecting","target","querySelectorAll","forEach","item","i","setTimeout","setAttribute","unobserve","threshold","_componentElement","observe","$el","$options","compOptions","options","Object","assign","dataset","keys","filter","entry","includes","cleanEntry","cleanOptionKey","optionValue","JSON","parse","replace","convertType","COMPONENT_NAME","__proto__","name","static","option","optionReturn","str","charAt","toLocaleLowerCase","slice","$on","events","cb","elements","e","stopPropagation","$one","$off","$fire","loading","container","LOADER_EVENTS","show","endLoading","icon","error","time","hide","Tile","SELECTORS","gallery","galleryInner","galleryItem","init","setCarousel","listenLinksForDatalayer","querySelector","setCarouselMobile","setCarouselDesktop","moveFirstImageToEnd","carouselDesktop","hasArrows","hasBullets","undefined","slidesPerView","loop","navigation","nextEl","prevEl","pagination","el","type","first","last","insertBefore","nextSibling","getElementsByTagName","link","addEventListener","async","preventDefault","data","pid","id","masterPid","masterID","shiftKey","metaKey","open","href","location","setSwiperMarkup","classList","add","$inner","firstElementChild","$child","children","$prev","document","createElement","$next","appendChild","$bullets","focusableSelectors","getAllFocusableElements","customEventBus","emit","event","eventObject","_name","list","console","info","length","handlerObject","handler","once","off","log","set","push"],"sourceRoot":""}