{"version":3,"sources":["webpack:///./src/shared/utilities/screenSize.js","webpack:///./node_modules/process/browser.js","webpack:///./src/components/organisms/guided-navigation/guided-navigation-tracking.js","webpack:///./src/components/organisms/guided-navigation/guided-navigation.js","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/shared/utilities/show-hide.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","action","shown","expanded","closed","trackInteraction","currentAction","elementName","_window","_satellite","adobeDataLayer","setVar","track","componentViewed","guidedNavigationInfo","_objectSpread","event","error","console","log","message","GuidedNavigation","_BaseBehavior","element","_this","_classCallCheck","_callSuper","addEventListeners","itemList","navItemsContainer","navListContainer","popupShown","toggleOnScroll","setBottomPosition","subscribe","_inherits","key","value","style","bottom","clientHeight","pageYOffset","dataset","minimumScroll","showElement","header","target","closest","inputState","getAttribute","checked","nodes","from","children","index","indexOf","textContent","trim","_this2","addEventListener","debounce","bind","el","classList","contains","trigger","hideElement","innerHTML","nextTarget","resetToInitialState","removeEventListener","isItemExpanded","_this2$isItemClicked","isItemClicked","BaseBehavior","func","wait","immediate","_len","_key","later","callNow","pubsub","PubSub","subscriptions","topic","_step","_iterator","_createForOfIteratorHelper","s","n","done","fn","err","f","forEach","splice","state","events","behaviorName","camelCaseToDashCase","instanceId","generateId","attachInstanceId","partialState","setAttribute","removeAttribute","dom","querySelectorAll","filter","ref","dashCaseToCamelCase","split","_this3","delay","breakpoint","publish","debouncedGetBreakpoint","newBreakPoint","useCapture","obj","unsubscribe","navigation","getBoundingClientRect","scrollY","scroll","reason","promise","str","toLowerCase","x","chr","toUpperCase","alphabet","id","charAt","Math","floor","random","add","remove"],"mappings":"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","file":"30-de5d2d85.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","export const action = {\r\n\tshown: 'Guided Navigation shown',\r\n\texpanded: 'Guided Navigation expanded',\r\n\tclosed: 'Guided Navigation closed'\r\n};\r\n/*eslint-disable */\r\nexport function trackInteraction(currentAction, elementName) {\r\n try {\r\n const {_satellite, adobeDataLayer} = window;\r\n\r\n if (_satellite) {\r\n _satellite.setVar('popupInteraction', currentAction);\r\n _satellite.track('popupSolution');\r\n }\r\n if(adobeDataLayer) {\r\n const componentViewed = {\r\n \"guidedNavigationInfo\": {\r\n \"action\": currentAction\r\n }\r\n }\r\n if(elementName) {\r\n componentViewed.guidedNavigationInfo.elementName = elementName;\r\n }\r\n adobeDataLayer.push({ event: 'guidedNavigationEngaged', ...componentViewed});\r\n }\r\n }\r\n catch(error) {\r\n console.log(`${error.name} : ${error.message}`);\r\n }\r\n \r\n}\r\n/* eslint-enable */\r\n","import BaseBehavior from '../../../framework/base/base';\r\nimport { showElement, hideElement } from '../../../shared/utilities/show-hide';\r\nimport { debounce } from '../../../shared/utilities/debounce';\r\nimport { action, trackInteraction } from './guided-navigation-tracking';\r\n\r\nexport default class GuidedNavigation extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.addEventListeners();\r\n\t\tthis.itemList = this.element.querySelector('.base-content ul');\r\n\t\tthis.navItemsContainer = this.element.querySelector('.navitems-container');\r\n\t\tthis.navListContainer = this.element.querySelector('.base-content');\r\n\t\tthis.popupShown = false;\r\n\t\t// For visibility of guided navigation in case of Initial loading or during refresh, if scroll is above 800.\r\n\t\tthis.toggleOnScroll();\r\n\t\t// guided navigation should be above cookie diclaimer\r\n\r\n\t\tif (document.querySelector('.v2-cookie-disclaimer.v2-cookie-disclaimer--bottom')) {\r\n\t\t\tthis.setBottomPosition();\r\n\t\t\tthis.subscribe('cookie/height/change', () => {\r\n\t\t\t\t// On click OK button in cookie disclaimer, position of guided navigation should update.\r\n\t\t\t\tthis.setBottomPosition();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tsetBottomPosition() {\r\n\t\tthis.element.style.bottom = document.querySelector('.v2-cookie-disclaimer').clientHeight + 'px';\r\n\t}\r\n\r\n\ttoggleOnScroll() {\r\n\t\tif (window.pageYOffset >= +this.element.dataset.minimumScroll) {\r\n\t\t\tshowElement(this.element);\r\n\t\t\t// 'popup shown' action will sent only for one time. It should not be sent for scrolling once popup is shown.\r\n\t\t\tif (!this.popupShown) {\r\n\t\t\t\tthis.popupShown = true;\r\n\t\t\t\ttrackInteraction(action.shown, null);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisItemExpanded(event) {\r\n\t\tconst header = event.target.closest('.v2-accordion__toggle.guided-nav__header__text');\r\n\t\tconst inputState = header\r\n\t\t\t? this.element.querySelector(`#${header.getAttribute('for')}`).checked\r\n\t\t\t: '';\r\n\t\treturn !!(header && inputState === false);\r\n\t}\r\n\r\n\tisItemClicked(event) {\r\n\t\tconst nodes = Array.from(this.itemList.children);\r\n\t\tconst element = event.target.closest('.nav-trigger');\r\n\t\tconst index = nodes.indexOf(element);\r\n\t\treturn element\r\n\t\t\t? { index, elementName: element.textContent.trim() }\r\n\t\t\t: { index: -1, elementName: null };\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.addEventListener(\r\n\t\t\twindow,\r\n\t\t\t'scroll.guidedNavigation',\r\n\t\t\tdebounce(this.toggleOnScroll.bind(this), 200)\r\n\t\t);\r\n\r\n\t\tthis.addEventListener(this.element, 'click', el => {\r\n\t\t\tconst element = el.target.closest('.nav-trigger');\r\n\r\n\t\t\tif (element && !element.classList.contains('nav-link')) {\r\n\t\t\t\tconst trigger = el.target.closest('.nav-trigger');\r\n\r\n\t\t\t\thideElement(this.navListContainer);\r\n\t\t\t\tshowElement(this.navItemsContainer);\r\n\t\t\t\tthis.navItemsContainer.innerHTML = '';\r\n\t\t\t\tconst nextTarget = this.element.querySelector('#' + trigger.dataset.target);\r\n\r\n\t\t\t\tthis.navItemsContainer.innerHTML = nextTarget.innerHTML;\r\n\t\t\t} else if (el.target.closest('.navigate-back')) {\r\n\t\t\t\tthis.resetToInitialState();\r\n\t\t\t} else if (\r\n\t\t\t\tel.target.closest('.icon-minimize') ||\r\n\t\t\t\tel.target.closest('.guided-nav__header__text')\r\n\t\t\t) {\r\n\t\t\t\tif (!this.navItemsContainer.classList.contains('v2-hidden')) {\r\n\t\t\t\t\t// If second level navigation is visible, it should be reset on click on minimize button .\r\n\t\t\t\t\tthis.resetToInitialState();\r\n\t\t\t\t}\r\n\t\t\t} else if (el.target.closest('.icon-close')) {\r\n\t\t\t\thideElement(this.element);\r\n\t\t\t\tthis.removeEventListener(window, 'scroll.guidedNavigation'); // after closing, element should not be shown on scrolling.\r\n\t\t\t\ttrackInteraction(action.closed, null);\r\n\t\t\t\tthis.popupShown = false;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isItemExpanded(el)) {\r\n\t\t\t\ttrackInteraction(action.expanded, null);\r\n\t\t\t}\r\n\t\t\tconst { index, elementName } = this.isItemClicked(el);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\ttrackInteraction(`Item ${index + 1} clicked`, elementName);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tresetToInitialState() {\r\n\t\thideElement(this.navItemsContainer);\r\n\t\tshowElement(this.navListContainer);\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","const hiddenClass = 'v2-hidden';\r\nexport const hideElement = (element:HTMLElement):void => element && element.classList.add(hiddenClass);\r\nexport const showElement = (element:HTMLElement):void => element && element.classList.remove(hiddenClass);\r\n"],"sourceRoot":""}