{"version":3,"sources":["webpack:///./src/shared/utilities/screenSize.js","webpack:///./node_modules/process/browser.js","webpack:///./src/components/organisms/workday/workday.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","Workday","_BaseBehavior","element","_this","_classCallCheck","_callSuper","initDomCache","addEventListeners","jobListingUrl","dataset","baseurl","jobFamilyURL","jobfamilyurl","readmoreText","columnKeys","split","getFiltersFromStorage","getJobListingData","_inherits","key","value","sessionStorage","from","querySelectorAll","forEach","filter","getItem","ref","isMobile","skeleton","dom","mobileSkeleton","desktopSkeleton","body","mobileBody","desktopBody","_this$getDeviceBasedD","getDeviceBasedDOM","showElement","hideElement","_this$getDeviceBasedD2","url","initialLoad","_this2","noresult","errormsg","showMore","switchToSkeletonFromBody","fetch","then","response","ok","text","resetView","data","fulldata","JSON","parse","Report_Entry","loadJobListingData","jobCategory","loadJobCategoryDropdown","catch","error","console","log","finally","switchToBodyFromSkeleton","_this3","jobCategoryData","populateJobCategoryData","_this4","addEventListener","evt","target","closest","setItem","showMoreRecords","populateMobileData","jobListingData","populateDesktopData","_this$dom$hours","_this$dom$country","hours","country","fetchJobListingData","innerHTML","index","toPrecision","fragment","createDocumentFragment","item","option","createElement","ID","JobCategoryName","appendChild","columnNames","colString","refresh","rowContainer","colNames","desktopHeader","map","td","innerText","rowString","currentCounter","j","initialRecord","totalRecord","animDelayStyle","getAnimationDelayStyle","loadColumnMobile","External_Job_URL","insertAdjacentHTML","getAttribute","rowIndex","_this5","cellValue","loadEachColumn","BaseBehavior","debounce","func","wait","immediate","_len","_key","later","callNow","pubsub","PubSub","subscriptions","topic","_step","_iterator","_createForOfIteratorHelper","s","n","done","fn","err","f","splice","state","events","behaviorName","camelCaseToDashCase","instanceId","generateId","attachInstanceId","partialState","_objectSpread","setAttribute","removeAttribute","el","dashCaseToCamelCase","delay","breakpoint","publish","debouncedGetBreakpoint","newBreakPoint","event","useCapture","removeEventListener","obj","subscribe","unsubscribe","navigation","getBoundingClientRect","bottom","scrollY","scroll","reason","promise","str","toLowerCase","x","chr","toUpperCase","alphabet","id","charAt","Math","floor","random","classList","add","remove"],"mappings":"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","file":"53-43ec7a81.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 BaseBehavior from '../../../framework/base/base';\r\nimport { showElement, hideElement } from '../../../shared/utilities/show-hide';\r\nimport { screenSmallerThan } from '../../../shared/utilities/screenSize';\r\n\r\nexport default class Workday extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.initDomCache();\r\n\t\tthis.addEventListeners();\r\n\t\tthis.jobListingUrl = element.dataset.baseurl;\r\n\t\tthis.jobFamilyURL = element.dataset.jobfamilyurl;\r\n\t\tthis.readmoreText = element.dataset.readmoreText;\r\n\t\tthis.columnKeys = this.element.dataset.columnKeys.split(','); // '' is for extra readmore column\r\n\t\tthis.getFiltersFromStorage();\r\n\t\tthis.getJobListingData(true);\r\n\t}\r\n\r\n\tgetFiltersFromStorage() {\r\n\t\tif (window.sessionStorage) {\r\n\t\t\tArray.from(\r\n\t\t\t\tthis.element.querySelectorAll('select:not([data-ref=\"workday__job-category\"])')\r\n\t\t\t).forEach(filter => {\r\n\t\t\t\tconst value = sessionStorage.getItem(filter.dataset.ref);\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tfilter.value = value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetDeviceBasedDOM(isMobile = screenSmallerThan('sm')) {\r\n\t\treturn {\r\n\t\t\tskeleton: isMobile ? this.dom.mobileSkeleton : this.dom.desktopSkeleton,\r\n\t\t\tbody: isMobile ? this.dom.mobileBody : this.dom.desktopBody\r\n\t\t};\r\n\t}\r\n\r\n\tswitchToBodyFromSkeleton() {\r\n\t\tconst { body, skeleton } = this.getDeviceBasedDOM();\r\n\t\t// hide skeleton show body\r\n\t\tshowElement(body);\r\n\t\thideElement(skeleton);\r\n\t}\r\n\r\n\tswitchToSkeletonFromBody() {\r\n\t\tconst { body, skeleton } = this.getDeviceBasedDOM();\r\n\t\t// hide body show skeleton\r\n\t\tshowElement(skeleton);\r\n\t\thideElement(body);\r\n\t}\r\n\r\n\tfetchJobListingData(url, initialLoad) {\r\n\t\thideElement(this.dom.noresult);\r\n\t\thideElement(this.dom.errormsg);\r\n\t\thideElement(this.dom.showMore);\r\n\t\tthis.switchToSkeletonFromBody();\r\n\r\n\t\treturn fetch(url)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.ok) {\r\n\t\t\t\t\treturn response.text();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.resetView();\r\n\t\t\t\tshowElement(this.dom.errormsg);\r\n\t\t\t\treturn undefined; // this is for fixing consistent return eslint error\r\n\t\t\t})\r\n\t\t\t.then(data => {\r\n\t\t\t\tconst fulldata = JSON.parse(data).Report_Entry;\r\n\r\n\t\t\t\tif (fulldata.length === 0) {\r\n\t\t\t\t\tthis.resetView();\r\n\t\t\t\t\tshowElement(this.dom.noresult);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.loadJobListingData(fulldata, true);\r\n\t\t\t\t}\r\n\t\t\t\tif (initialLoad && this.dom.jobCategory) {\r\n\t\t\t\t\tthis.loadJobCategoryDropdown();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(error => {\r\n\t\t\t\t// eslint-disable-next-line no-console\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.switchToBodyFromSkeleton();\r\n\t\t\t});\r\n\t}\r\n\r\n\tloadJobCategoryDropdown() {\r\n\t\treturn fetch(this.jobFamilyURL)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.ok) {\r\n\t\t\t\t\treturn response.text();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthrow new Error('Something went wrong');\r\n\t\t\t})\r\n\t\t\t.then(data => {\r\n\t\t\t\tconst jobCategoryData = JSON.parse(data).Report_Entry;\r\n\t\t\t\tthis.populateJobCategoryData(jobCategoryData);\r\n\t\t\t});\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.addEventListener(this.element.querySelector('.dropdown-section'), 'change', evt => {\r\n\t\t\tconst filter = evt.target.closest('select');\r\n\t\t\tif (filter) {\r\n\t\t\t\tif (window.sessionStorage) {\r\n\t\t\t\t\tconst { ref } = filter.dataset;\r\n\t\t\t\t\tsessionStorage.setItem(ref, evt.target.value);\r\n\t\t\t\t}\r\n\t\t\t\tthis.getJobListingData(false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.addEventListener(this.dom.showMore, 'click', () => {\r\n\t\t\tthis.showMoreRecords();\r\n\t\t});\r\n\t}\r\n\r\n\tshowMoreRecords() {\r\n\t\tif (screenSmallerThan('sm')) {\r\n\t\t\tthis.populateMobileData(this.jobListingData, this.columnKeys, false);\r\n\t\t} else {\r\n\t\t\tthis.populateDesktopData(this.jobListingData, this.columnKeys, false);\r\n\t\t}\r\n\t}\r\n\r\n\tgetJobListingData(initialLoad) {\r\n\t\tconst hours = this.dom.hours?.value || 'Full_time,Part_time';\r\n\t\tconst country = this.dom.country?.value || '';\r\n\r\n\t\tlet jobCategory = ''; // in case job category filter is not selected from BE, then use default value.\r\n\t\tif (this.dom.jobCategory) {\r\n\t\t\tjobCategory =\r\n\t\t\t\tsessionStorage.getItem(this.dom.jobCategory.dataset.ref) || this.dom.jobCategory.value;\r\n\t\t}\r\n\t\tconst url = `${this.element.dataset.baseurl}?country=${country}&workingHours=${hours}&category=${jobCategory}`;\r\n\r\n\t\tthis.fetchJobListingData(url, initialLoad);\r\n\t}\r\n\r\n\tresetView() {\r\n\t\tif (screenSmallerThan('sm')) {\r\n\t\t\tthis.element.querySelector('.table-container .row-container').innerHTML = '';\r\n\t\t} else {\r\n\t\t\tthis.dom.desktopBody.innerHTML = '';\r\n\t\t}\r\n\t\thideElement(this.dom.showMore);\r\n\t}\r\n\r\n\tgetAnimationDelayStyle(index) {\r\n\t\treturn `style=\"animation-delay: ${(0.1 * (index + 1)).toPrecision(1)}s\"`;\r\n\t}\r\n\r\n\tpopulateJobCategoryData(data) {\r\n\t\tconst jobCategory = sessionStorage.getItem(this.dom.jobCategory.dataset.ref);\r\n\r\n\t\tconst fragment = document.createDocumentFragment();\r\n\r\n\t\tdata.forEach(item => {\r\n\t\t\tconst option = document.createElement('option');\r\n\t\t\toption.value = item.ID;\r\n\t\t\toption.innerHTML = item.JobCategoryName;\r\n\t\t\tfragment.appendChild(option);\r\n\t\t});\r\n\r\n\t\tthis.dom.jobCategory.appendChild(fragment);\r\n\t\tif (jobCategory) {\r\n\t\t\tthis.dom.jobCategory.value = jobCategory;\r\n\t\t}\r\n\t}\r\n\r\n\tloadColumnMobile(item, keys, columnNames) {\r\n\t\tlet colString = ``;\r\n\t\tfor (let i = 1; i < keys.length && keys[i] !== ''; i++) {\r\n\t\t\tcolString += `
\r\n\t\t\t
${columnNames[i]}
\r\n\t\t\t
${item[keys[i]]}
\r\n\t\t\t
`;\r\n\t\t}\r\n\t\treturn colString;\r\n\t}\r\n\r\n\tpopulateMobileData(data, keys, refresh) {\r\n\t\tconst tableContainer = this.element.querySelector('.table-container');\r\n\t\tconst rowContainer = tableContainer.querySelector('.row-container');\r\n\t\tconst colNames = Array.from(this.dom.desktopHeader.querySelectorAll('th')).map(\r\n\t\t\ttd => td.innerText\r\n\t\t);\r\n\r\n\t\tlet rowString = ``;\r\n\r\n\t\tif (refresh) {\r\n\t\t\trowContainer.innerHTML = '';\r\n\t\t}\r\n\r\n\t\tfor (\r\n\t\t\tlet i = this.currentCounter, j = 0;\r\n\t\t\tj < this.initialRecord && this.currentCounter < this.totalRecord;\r\n\t\t\ti++, j++\r\n\t\t) {\r\n\t\t\tthis.currentCounter++;\r\n\t\t\tif (this.currentCounter === this.totalRecord) {\r\n\t\t\t\thideElement(this.dom.showMore);\r\n\t\t\t}\r\n\r\n\t\t\tconst animDelayStyle = this.getAnimationDelayStyle(j);\r\n\t\t\trowString += `
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
${this.loadColumnMobile(data[i], keys, colNames)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t ${this.readmoreText}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
`;\r\n\t\t}\r\n\t\trowContainer.insertAdjacentHTML('beforeend', rowString);\r\n\t}\r\n\r\n\tloadJobListingData(data, refresh) {\r\n\t\tthis.totalRecord = data.length;\r\n\t\tthis.initialRecord = +this.element.getAttribute('data-int-items');\r\n\t\tthis.currentCounter = 0;\r\n\t\tthis.jobListingData = data;\r\n\r\n\t\tif (screenSmallerThan('sm')) {\r\n\t\t\tthis.populateMobileData(data, this.columnKeys, refresh);\r\n\t\t} else {\r\n\t\t\tthis.populateDesktopData(data, this.columnKeys, refresh);\r\n\t\t}\r\n\r\n\t\tif (this.initialRecord < this.totalRecord) {\r\n\t\t\tshowElement(this.dom.showMore);\r\n\t\t}\r\n\r\n\t\tthis.switchToBodyFromSkeleton();\r\n\t}\r\n\r\n\tloadEachColumn(item, keys, rowIndex) {\r\n\t\treturn keys\r\n\t\t\t.map(key => {\r\n\t\t\t\tconst animDelayStyle = this.getAnimationDelayStyle(rowIndex);\r\n\t\t\t\tconst cellValue = item[key] || '-';\r\n\r\n\t\t\t\tif (key === '') {\r\n\t\t\t\t\treturn `\r\n\t\t\t\t\t\t ${this.readmoreText}\r\n\t\t\t\t\t `;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn `${cellValue}`;\r\n\t\t\t})\r\n\t\t\t.join('');\r\n\t}\r\n\r\n\tpopulateDesktopData(data, keys, refresh) {\r\n\t\tif (refresh) {\r\n\t\t\tthis.dom.desktopBody.innerHTML = '';\r\n\t\t}\r\n\r\n\t\tlet rowString = ``;\r\n\t\tfor (\r\n\t\t\tlet i = this.currentCounter, j = 0;\r\n\t\t\tj < this.initialRecord && this.currentCounter < this.totalRecord;\r\n\t\t\ti++, j++\r\n\t\t) {\r\n\t\t\tthis.currentCounter++;\r\n\r\n\t\t\tif (this.currentCounter === this.totalRecord) {\r\n\t\t\t\thideElement(this.dom.showMore);\r\n\t\t\t}\r\n\t\t\trowString += `${this.loadEachColumn(data[i], keys, j)}`;\r\n\t\t}\r\n\t\tthis.dom.desktopBody.insertAdjacentHTML('beforeend', rowString);\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":""}