{"version":3,"sources":["webpack:///./src/shared/utilities/screenSize.js","webpack:///./node_modules/process/browser.js","webpack:///./src/components/organisms/carousel-two/carousel-two.ts","webpack:///./src/shared/utilities/debounce.js","webpack:///./src/shared/utilities/pubsub.js","webpack:///./src/framework/base/base.js","webpack:///./src/shared/utilities/case.ts","webpack:///./src/shared/utilities/id.ts","webpack:///./src/framework/slider.ts"],"names":["defaultWidths","sm","md","lg","xl","getBreakpoint","window","getComputedStyle","document","querySelector","getPropertyValue","replace","screenSmallerThan","size","widths","arguments","length","undefined","Object","prototype","hasOwnProperty","call","Error","concat","keys","join","innerWidth","screenGreatOrEqualTo","cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","i","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","CarouselTwo","_Slider","element","_this","_classCallCheck","isExperienceEditor","body","classList","contains","_callSuper","dotContainer","slideContainer","createBullets","sliderOpts","infinite","resetProgressBar","progressBar","style","width","startProgressBar","timeLeft","setInterval","clearInterval","slider","next","resetCarouselAnimation","cancelAnimationFrame","frameId","startCarouselAnimation","fps","fpsInterval","timeThen","Date","now","animateCarouselSlide","requestAnimationFrame","bind","timeNow","timeElapsed","addSubscriptions","subscribe","initializeLory","addBgImage","carousel","carouselDots","forEach","slide","img","_b","_a","dataset","mhide","toLowerCase","parentElement","add","parentNode","remove","dotCount","initLory","publishBreakpointOnResize","querySelectorAll","addEventListener","evt","target","closest","_inherits","Slider","debounce","func","wait","immediate","_len","_key","later","callNow","pubsub","PubSub","subscriptions","key","value","topic","_step","_iterator","_createForOfIteratorHelper","s","n","done","fn","err","f","index","splice","BaseBehavior","state","events","behaviorName","camelCaseToDashCase","getAttribute","instanceId","generateId","attachInstanceId","partialState","_objectSpread","setAttribute","removeAttribute","_this2","dom","from","filter","el","ref","dashCaseToCamelCase","split","console","error","_this3","delay","breakpoint","publish","debouncedGetBreakpoint","newBreakPoint","event","useCapture","removeEventListener","obj","unsubscribe","navigation","getBoundingClientRect","bottom","scrollY","scroll","reason","promise","log","str","x","chr","toUpperCase","alphabet","id","charAt","Math","floor","random","_BaseBehavior","_ref","_ref$createBullets","_ref$isTabFocusDisabl","isTabFocusDisabled","hiddenCardsOnMobile","item","disableTabFocus","eventListeners","addBullets","addBulletsEventListeners","setActiveBullet","bullets","_toConsumableArray","map","appendChild","createElement","bullet","onBulletClick","_ref2","targetIdx","indexOf","slideTo","resetBullets","_ref3","_ref3$detail","detail","currentSlide","idx","loading","then","_ref4","lory","catch","destroyLory","destroy","classNameSlideContainer","assign","classNameFrame","enableMouseEvents"],"mappings":"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","file":"40-15d697ea.js","sourcesContent":["export const defaultWidths = {\r\n\tsm: 768,\r\n\tmd: 1024,\r\n\tlg: 1280,\r\n\txl: 1400\r\n};\r\n\r\n// getBreakpoint :: Void -> String\r\nexport const getBreakpoint = () =>\r\n\twindow\r\n\t\t.getComputedStyle(document.querySelector('body'), ':before')\r\n\t\t.getPropertyValue('content')\r\n\t\t.replace(/\"/g, '');\r\n\r\n// function :: String -> ?Object -> Boolean\r\nexport function screenSmallerThan(size, widths = defaultWidths) {\r\n\tif (!Object.prototype.hasOwnProperty.call(widths, size)) {\r\n\t\tthrow new Error(`size must be one of: ${Object.keys(widths).join(', ')}`);\r\n\t}\r\n\treturn window.innerWidth < widths[size];\r\n}\r\n\r\nexport function screenGreatOrEqualTo(size, widths = defaultWidths) {\r\n\tif (!Object.prototype.hasOwnProperty.call(widths, size)) {\r\n\t\tthrow new Error(`size must be one of: ${Object.keys(widths).join(', ')}`);\r\n\t}\r\n\treturn window.innerWidth >= widths[size];\r\n}\r\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import Slider from '../../../framework/slider';\r\nimport { screenSmallerThan } from '../../../shared/utilities/screenSize';\r\n\r\ntype addBgImageType = (carousel:NodeListOf, carouselDots:HTMLElement) => void;\r\ntype resetProgressBarType = () => void;\r\ntype startProgressBarType = () => void;\r\ntype startAnimationType = (fps:number) => void;\r\ntype animateCarouselType = () => void;\r\ntype addSubscriptionsType = () => void;\r\ntype initializeLoryType = () => void;\r\ntype resetAnimationType = () => void;\r\n\r\nconst fps = 0.14;\r\nexport default class CarouselTwo extends Slider {\r\n private readonly progressBar: HTMLElement | null;\r\n\tprivate timeLeft: ReturnType | undefined;\r\n private frameId: number;\r\n private timeNow: number;\r\n private timeThen: number;\r\n private timeElapsed: number;\r\n private fpsInterval: number;\r\n\r\n\tconstructor(element:HTMLElement) {\r\n\t\tconst isExperienceEditor = document.body.classList.contains('isSitecoreEditor');\r\n\t\tsuper({\r\n\t\t\telement,\r\n\t\t\tdotContainer: '.v2-slider__dots',\r\n\t\t\tslideContainer: '.v2-slider',\r\n\t\t\tcreateBullets: true,\r\n\t\t\tsliderOpts: {\r\n\t\t\t\tinfinite: isExperienceEditor ? false : 1\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.initializeLory();\r\n\t\tthis.publishBreakpointOnResize();\r\n\t\tthis.addSubscriptions();\r\n\t\t// Device check\r\n\t\tconst carousel:NodeListOf = document.querySelectorAll('.v2-slider__slide--carousel');\r\n\t\tthis.progressBar = this.element.querySelector('.v2-slider__progress-bar');\r\n\t\tconst carouselDots: HTMLElement = this.element.querySelector('ul.v2-slider__dots');\r\n\t\tthis.timeLeft = undefined;\r\n\r\n\t\tif (carouselDots) {\r\n\t\t\tthis.addBgImage.bind(this, carousel, carouselDots)();\r\n\t\t\tthis.addEventListener(carouselDots, 'click', (evt:Event) => {\r\n\t\t\t\tif ((evt.target as HTMLElement)?.closest('li')) {\r\n\t\t\t\t\tthis.resetCarouselAnimation();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\twindow.addEventListener('resize', () => {\r\n\t\t\t\tthis.addBgImage.bind(this, carousel, carouselDots)();\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (!screenSmallerThan('sm')) {\r\n\t\t\tthis.element.addEventListener('after.lory.slide', () => {\r\n\t\t\t\tif (this.progressBar) {\r\n\t\t\t\t\tclearInterval(this.timeLeft);\r\n\t\t\t\t\tthis.resetProgressBar();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.resetCarouselAnimation();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t// Check the progress Bar\r\n\t\t\tif (this.progressBar) {\r\n\t\t\t\tthis.startProgressBar();\r\n\t\t\t} else {\r\n\t\t\t\tthis.startCarouselAnimation(0.14); // value 0.14 is used for taking 7000 as fpsInterval.\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.resetCarouselAnimation();\r\n\t\t}\r\n\t}\r\n\r\n\tresetProgressBar: resetProgressBarType = ():void => {\r\n\t\tif(this.progressBar)this.progressBar.style.width = '0';\r\n\t\tthis.startProgressBar();\r\n\t}\r\n\r\n\tstartProgressBar: startProgressBarType = ():void => {\r\n\t\tlet width = 1;\r\n\t\tthis.timeLeft = setInterval(() => {\r\n\t\t\tif (width >= 100) {\r\n\t\t\t\tclearInterval(this.timeLeft);\r\n\t\t\t\tif (this.slider) this.slider.next();\r\n\t\t\t} else {\r\n\t\t\t\twidth++;\r\n\t\t\t\tif(this.progressBar)this.progressBar.style.width = width + '%';\r\n\t\t\t}\r\n\t\t}, 70);\r\n\t}\r\n\r\n\tresetCarouselAnimation: resetAnimationType = ():void =>{\r\n\t\twindow.cancelAnimationFrame(this.frameId);\r\n\t\tthis.startCarouselAnimation(fps);\r\n\t}\r\n\r\n\tstartCarouselAnimation: startAnimationType = (fps):void => {\r\n\t\tthis.fpsInterval = 1000 / fps;\r\n\t\tthis.timeThen = Date.now();\r\n\t\tthis.animateCarouselSlide();\r\n\t}\r\n\r\n\t// Function to call recursively after 7 seconds\r\n\tanimateCarouselSlide: animateCarouselType = ():void => {\r\n\t\tthis.frameId = requestAnimationFrame(this.animateCarouselSlide.bind(this));\r\n\t\tthis.timeNow = Date.now();\r\n\t\tthis.timeElapsed = this.timeNow - this.timeThen;\r\n\t\tif (this.timeElapsed > this.fpsInterval && this.slider) {\r\n\t\t\tthis.timeThen = this.timeNow - (this.timeElapsed % this.fpsInterval);\r\n\t\t\tthis.slider.next();\r\n\t\t}\r\n\t}\r\n\r\n\taddSubscriptions: addSubscriptionsType = ():void => {\r\n\t\tthis.subscribe('SITE.BREAKPOINT', this.initializeLory.bind(this));\r\n\t}\r\n\r\n\t// Check mobile and desktop and add bg-image\r\n\taddBgImage: addBgImageType = (carousel, carouselDots):void => {\r\n\t\tcarousel.forEach(slide => {\r\n\t\t\tif (screenSmallerThan('sm')) {\r\n\t\t\t\tconst img:HTMLImageElement|null = slide.querySelector('.v2-slider__slide--carousel--col img');\r\n\t\t\t\t// Check Carousel item image\r\n\t\t\t\tif (img?.dataset?.mhide?.toLowerCase() === 'true') {\r\n\t\t\t\t\t(img.parentElement as HTMLElement).classList.add('v2-hidden');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n const parentNode = this.progressBar?.parentNode as HTMLElement;\r\n\t\tif (screenSmallerThan('sm')) { \r\n\t\t\tif (parentNode?.classList) parentNode.classList.add('v2-hidden');\t\t\t\r\n\t\t\tif (carouselDots?.classList) carouselDots.classList.remove('v2-hidden');\r\n\t\t} else if (parentNode?.classList?.contains('v2-hidden')) {\r\n\t\t\tparentNode.classList.remove('v2-hidden');\r\n\t\t\tcarouselDots.classList.add('v2-hidden');\r\n\t\t}\r\n\t}\r\n\r\n\tinitializeLory:initializeLoryType = ():void => {\r\n\t\tif (!this.slider && this.dotCount > 1) {\r\n\t\t\tthis.initLory(this.slideContainer);\r\n\t\t}\r\n\t}\r\n}\r\n","// debounce :: Function, Number, Bool -> (Any -> Void)\r\nexport function debounce(func, wait, immediate) {\r\n\tlet timeout;\r\n\treturn function debounced(...args) {\r\n\t\tconst later = () => {\r\n\t\t\ttimeout = null;\r\n\t\t\tif (!immediate) func(args);\r\n\t\t};\r\n\t\tconst callNow = immediate && !timeout;\r\n\t\tclearTimeout(timeout);\r\n\t\ttimeout = setTimeout(later, wait);\r\n\t\tif (callNow) func(args);\r\n\t};\r\n}\r\n","class PubSub {\r\n\tconstructor() {\r\n\t\tthis.subscriptions = {};\r\n\t}\r\n\r\n\tpublish(topic, ...args) {\r\n\t\tif (this.subscriptions[topic]) {\r\n\t\t\t// eslint-disable-next-line no-restricted-syntax\r\n\t\t\tfor (const fn of this.subscriptions[topic]) {\r\n\t\t\t\tfn(...args);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsubscribe(topic, fn) {\r\n\t\tthis.subscriptions[topic] = this.subscriptions[topic] || [];\r\n\t\tthis.subscriptions[topic].push(fn);\r\n\t}\r\n\r\n\tunsubscribe(topic, fn) {\r\n\t\tif (this.subscriptions[topic]) {\r\n\t\t\tthis.subscriptions[topic].forEach((value, index) => {\r\n\t\t\t\tif (value === fn) {\r\n\t\t\t\t\tthis.subscriptions[topic].splice(index, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst pubsub = new PubSub();\r\n\r\nexport default pubsub;\r\n","import pubsub from '../../shared/utilities/pubsub';\r\nimport { generateId } from '../../shared/utilities/id';\r\nimport { camelCaseToDashCase, dashCaseToCamelCase } from '../../shared/utilities/case';\r\nimport { getBreakpoint } from '../../shared/utilities/screenSize';\r\nimport { debounce } from '../../shared/utilities/debounce';\r\n\r\nexport default class BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tthis.element = element;\r\n\t\tthis.state = undefined;\r\n\t\tthis.events = {};\r\n\t\tthis.subscriptions = {};\r\n\t\tthis.behaviorName = camelCaseToDashCase(element.getAttribute('data-behavior'));\r\n\t\tthis.instanceId = generateId();\r\n\t\tthis.attachInstanceId();\r\n\t}\r\n\r\n\tsetState(partialState) {\r\n\t\tObject.keys(partialState).forEach(key => {\r\n\t\t\tif (!{}.hasOwnProperty.call(this.state, key)) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`${this.behaviorName} does not have ${key} on the state object,\r\n\t\t\t\t\tmake sure to define all state properties in the constructor.`\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.state = { ...(this.state || {}), ...partialState };\r\n\t}\r\n\r\n\tattachInstanceId() {\r\n\t\tthis.element.setAttribute('data-instance', `${this.behaviorName}__${this.instanceId}`);\r\n\t\tthis.element.removeAttribute('data-instance-init');\r\n\t}\r\n\r\n\tinitDomCache() {\r\n\t\tthis.dom = {};\r\n\r\n\t\t// Filter out ref's that embedded in another instance of the same behavior.\r\n\t\tArray.from(this.element.querySelectorAll(`[data-ref^=${this.behaviorName}]`))\r\n\t\t\t.filter(el => el.closest(`[data-behavior*=\"${this.behaviorName}\"]`) === this.element)\r\n\t\t\t.forEach(element => {\r\n\t\t\t\tconst ref = element.getAttribute('data-ref');\r\n\t\t\t\tconst key = dashCaseToCamelCase(ref).split('__')[1];\r\n\r\n\t\t\t\tif (key) {\r\n\t\t\t\t\tthis.dom[key] = element;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t`Element cannot be cached. Reference \"${ref}\" should have the format \"behavior-name__element-name\"`\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublishBreakpointOnResize(delay = 250) {\r\n\t\tif (this.breakpoint) return;\r\n\r\n\t\tthis.breakpoint = getBreakpoint();\r\n\t\tthis.publish('SITE.BREAKPOINT', this.breakpoint);\r\n\r\n\t\tconst debouncedGetBreakpoint = debounce(() => {\r\n\t\t\tconst newBreakPoint = getBreakpoint();\r\n\t\t\tif (this.breakpoint !== newBreakPoint) {\r\n\t\t\t\tthis.publish('SITE.BREAKPOINT', newBreakPoint);\r\n\t\t\t\tthis.breakpoint = newBreakPoint;\r\n\t\t\t}\r\n\t\t}, delay);\r\n\r\n\t\twindow.addEventListener('resize', debouncedGetBreakpoint);\r\n\t}\r\n\r\n\taddEventListener(element, event, fn, useCapture = false) {\r\n\t\tif (element) {\r\n\t\t\tthis.events[event] = fn;\r\n\t\t\telement.addEventListener(event.split('.')[0], this.events[event], useCapture);\r\n\t\t}\r\n\t}\r\n\r\n\tremoveEventListener(element, event) {\r\n\t\telement.removeEventListener(event.split('.')[0], this.events[event]);\r\n\t\tthis.events[event] = null;\r\n\t\tdelete this.events[event];\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\tpublish(topic, obj) {\r\n\t\tpubsub.publish(topic, obj);\r\n\t}\r\n\r\n\tsubscribe(topic, fn) {\r\n\t\tthis.subscriptions[topic] = fn;\r\n\t\tpubsub.subscribe(topic, fn);\r\n\t}\r\n\r\n\tunsubscribe(topic) {\r\n\t\tpubsub.unsubscribe(topic, this.subscriptions[topic]);\r\n\t\tthis.subscriptions[topic] = null;\r\n\t\tdelete this.subscriptions[topic];\r\n\t}\r\n}\r\n\r\n// Below code is added for fixing scrolling issue on page refresh.\r\nwindow.addEventListener('load', () => {\r\n\tsetTimeout(() => {\r\n\t\tconst navigation = document.querySelector('#navigation');\r\n\t\t// eslint-disable-next-line\r\n\t\tif (navigation && navigation.getBoundingClientRect().bottom === scrollY) {\r\n\t\t\twindow.scroll(0, 0);\r\n\t\t}\r\n\t}, 0);\r\n});\r\n\r\nprocess.on('unhandledRejection', (reason, promise) => {\r\n\t// eslint-disable-next-line no-console\r\n\tconsole.log('Reason for this failure is : ', reason);\r\n\t// eslint-disable-next-line no-console\r\n\tconsole.log('promise is', promise);\r\n\t// Application specific logging, throwing an error, or other logic here\r\n});\r\n","export function camelCaseToDashCase(str: string): string {\r\n\treturn str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\r\n}\r\n\r\nexport function dashCaseToCamelCase(str: string): string {\r\n\treturn str.replace(/\\W+(.)/g, (x, chr) => chr.toUpperCase());\r\n}\r\n","const alphabet = '23456789ABDEGJKMNPQRVWXYZ';\r\n\r\nexport function generateId(length: number = 6): string {\r\n\tlet id:string = '';\r\n\r\n\tfor (let i:number = 0; i < length; i++) {\r\n\t\tid += alphabet.charAt(Math.floor(Math.random() * alphabet.length));\r\n\t}\r\n\r\n\treturn id;\r\n}\r\n","import { screenSmallerThan } from '../shared/utilities/screenSize';\r\nimport BaseBehavior from './base/base';\r\n\r\ninterface SliderOptions {\r\n classNameFrame?: string;\r\n classNameSlideContainer?: string;\r\n enableMouseEvents?: boolean;\r\n infinite?: boolean | number;\r\n}\r\n\r\ninterface SliderConstructorParams {\r\n dotContainer: string;\r\n slideContainer: string;\r\n sliderOpts?: SliderOptions;\r\n element: HTMLElement;\r\n createBullets?: boolean;\r\n isTabFocusDisabled?: boolean;\r\n}\r\ntype disableTabFocusType = () => void;\r\ntype eventListenersType = () => void;\r\ntype addBulletsType = () => void;\r\ntype addBulletsEventListenersType = () => void;\r\ntype onBulletClickType = (event:Event) => void;\r\ntype resetBulletsType = () => void;\r\ntype setActiveBulletType = ({ detail }:{ detail?: { currentSlide: number } }) => void;\r\ntype initLoryType = (slideContainer: HTMLElement | null) => Promise | null;\r\ntype destroyLoryType = () => void;\r\n\r\nexport default class Slider extends BaseBehavior {\r\n protected dotContainer: HTMLElement | null;\r\n private createBullets: boolean;\r\n protected slideContainer: HTMLElement | null;\r\n\tprotected dotCount: number;\r\n private bullets: (HTMLLIElement | undefined)[];\r\n protected slider: any;\r\n protected sliderOpts: SliderOptions;\r\n private loading: Promise | null;\r\n\r\n constructor({\r\n\t\tdotContainer,\r\n\t\tslideContainer,\r\n\t\tsliderOpts,\r\n\t\telement,\r\n\t\tcreateBullets = false,\r\n\t\tisTabFocusDisabled = false\r\n\t}: SliderConstructorParams) {\r\n const hiddenCardsOnMobile =\r\n\t\t\tscreenSmallerThan('sm') && element.querySelector('.v2-card-container')\r\n\t\t\t\t? element.querySelectorAll('.v2-show-sm.v2-slider__slide')\r\n\t\t\t\t: null;\r\n\r\n\t\tif (hiddenCardsOnMobile) {\r\n\t\t\thiddenCardsOnMobile.forEach(item => item.remove());\r\n\t\t}\r\n super(element);\r\n\r\n this.dotContainer = element.querySelector(dotContainer);\r\n this.createBullets = createBullets;\r\n this.sliderOpts = {\r\n\t\t\tclassNameFrame: 'v2-slider__frame',\r\n\t\t\tclassNameSlideContainer: 'v2-slider__slides',\r\n\t\t\tenableMouseEvents: true,\r\n\t\t\t...sliderOpts\r\n\t\t};\r\n if (isTabFocusDisabled) {\r\n\t\t\tthis.disableTabFocus();\r\n\t\t}\r\n this.slideContainer = element.querySelector(slideContainer);\r\n\t\tthis.dotCount =\r\n\t\t\t(element.querySelectorAll('.v2-slider__slides .v2-slider__slide') || []).length ||\r\n\t\t\t(element.querySelectorAll('.v2-slider__slides li') || []).length;\r\n this.bullets = [];\r\n this.eventListeners();\r\n }\r\n\r\n disableTabFocus: disableTabFocusType = ():void => {\r\n\t\tArray.from(this.element.querySelectorAll('a')).forEach((el:HTMLAnchorElement) => {\r\n\t\t\tel.setAttribute('tabindex', '-1');\r\n\t\t});\r\n\t}\r\n\r\n eventListeners: eventListenersType = ():void =>{\r\n\t\tif (this.createBullets && this.dotCount > 1) {\r\n\t\t\tthis.element.addEventListener('before.lory.init', this.addBullets.bind(this));\r\n\t\t\tthis.element.addEventListener('after.lory.init', this.addBulletsEventListeners.bind(this));\r\n\t\t\tthis.element.addEventListener('after.lory.slide', this.setActiveBullet.bind(this));\r\n\t\t}\r\n\t\tthis.element.addEventListener('after.lory.destroy', () => {\r\n\t\t\tthis.slider = undefined;\r\n\t\t});\r\n\t}\r\n\r\n addBullets: addBulletsType = ():void =>{\r\n this.bullets = [...Array(this.dotCount)].map(() =>\r\n\t\t\tthis.dotContainer?.appendChild(document.createElement('li'))\r\n\t\t);\r\n\t\tif (this.bullets.length) {\r\n\t\t\tthis.bullets[0]?.classList.add('active');\r\n\t\t}\r\n }\r\n\r\n addBulletsEventListeners: addBulletsEventListenersType = (): void =>{\r\n\t\tthis.bullets.forEach(bullet => {\r\n\t\t\tbullet?.addEventListener('click', e => this.onBulletClick(e));\r\n\t\t});\r\n\t}\r\n\r\n onBulletClick: onBulletClickType = ({ target }): void => {\r\n\t\tconst targetIdx = this.bullets.indexOf(target as HTMLLIElement);\r\n\t\tthis.slider.slideTo(targetIdx);\r\n\t}\r\n\r\n\tresetBullets: resetBulletsType = ():void => {\r\n\t\tthis.setActiveBullet({});\r\n\t}\r\n\r\n\tsetActiveBullet: setActiveBulletType = ({ detail = { currentSlide: 0 } } = {}):void => {\r\n\t\tthis.bullets.forEach((bullet, idx) => {\r\n\t\t\tif (\r\n\t\t\t\tthis.sliderOpts.infinite ? detail.currentSlide - 1 === idx : detail.currentSlide === idx\r\n\t\t\t) {\r\n\t\t\t\tbullet?.classList.add('active');\r\n\t\t\t} else {\r\n\t\t\t\tbullet?.classList.remove('active');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n initLory:initLoryType = (slideContainer) => {\r\n\t\tif (!this.loading) {\r\n\t\t\tthis.loading = import(/* webpackChunkName: \"lory\" */ 'lory.js')\r\n\t\t\t\t.then(({ lory }) => {\r\n\t\t\t\t\tthis.loading = null;\r\n\t\t\t\t\tthis.slider = lory(slideContainer, this.sliderOpts);\r\n\t\t\t\t\treturn this.slider;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(e => console.error(e));\r\n\t\t}\t\t\r\n\t\treturn this.loading;\r\n\t}\r\n\r\n destroyLory:destroyLoryType = (): void =>{\r\n\t\tthis.slider.destroy();\r\n\t\tthis.element\r\n\t\t\t.querySelector('.' + this.sliderOpts.classNameSlideContainer)\r\n\t\t\t.removeAttribute('style');\r\n\t}\r\n\r\n}\r\n\r\n"],"sourceRoot":""}