{"version":3,"sources":["webpack:///./src/shared/utilities/screenSize.js","webpack:///./node_modules/process/browser.js","webpack:///./src/components/molecules/share-component/share-component.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.js","webpack:///./src/shared/utilities/openPopup.js"],"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","ShareComponent","_BaseBehavior","element","_this","_classCallCheck","_callSuper","addEventListeners","_inherits","key","value","url","_satellite","digitalData","share","track","adobeDataLayer","event","shareInfo","shareNetwork","shareUrl","target","platform","_this2","api","dataset","originalUrl","location","href","fetch","then","response","ok","text","Promise","resolve","data","updatedUrl","replaceAll","parts","emailHref","split","encodeURIComponent","attribute","type","publish","decodeURI","openPopup","trackPlatformUsage","catch","err","console","error","_this3","addEventListener","preventDefault","tagName","closest","openUrlInPlatform","BaseBehavior","debounce","func","wait","immediate","_len","_key","later","callNow","pubsub","PubSub","subscriptions","topic","_step","_iterator","_createForOfIteratorHelper","s","n","done","fn","f","forEach","index","splice","state","events","behaviorName","camelCaseToDashCase","getAttribute","instanceId","generateId","attachInstanceId","partialState","_objectSpread","setAttribute","removeAttribute","dom","from","querySelectorAll","filter","el","ref","dashCaseToCamelCase","delay","breakpoint","debouncedGetBreakpoint","newBreakPoint","useCapture","removeEventListener","obj","subscribe","unsubscribe","navigation","getBoundingClientRect","bottom","scrollY","scroll","reason","promise","log","str","toLowerCase","x","chr","toUpperCase","alphabet","id","charAt","Math","floor","random","width","height","top","documentElement","clientHeight","left","clientWidth","options","status","resizable","popup","open","JSON","stringify","focus","openWindow","newTab"],"mappings":"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","file":"59-ea373bdc.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","/* eslint no-underscore-dangle: 0 */\r\n\r\nimport BaseBehavior from '../../../framework/base/base';\r\nimport { openPopup } from '../../../shared/utilities/openPopup';\r\n\r\nexport default class ShareComponent extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.addEventListeners();\r\n\t}\r\n\r\n\ttrackPlatformUsage(name, url) {\r\n\t\tif (window._satellite && window.digitalData) {\r\n\t\t\twindow.digitalData.share = { name, url };\r\n\t\t\twindow._satellite.track('shareArticle');\r\n\t\t}\r\n\t\tif (window.adobeDataLayer) {\r\n\t\t\twindow.adobeDataLayer.push({\r\n\t\t\t\tevent: 'shareContent',\r\n\t\t\t\tshareInfo: {\r\n\t\t\t\t\tshareNetwork: name,\r\n\t\t\t\t\tshareUrl: url\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\topenUrlInPlatform(target, platform) {\r\n\t\tlet { api } = this.element.dataset;\r\n\t\t// Below condition added to stop picking default current url else current page url will be called in fetch and user will get webpage in response.\r\n\t\tapi = api === '' ? 'wrongurl' : api;\r\n\t\t// eslint-disable-next-line\r\n\t\tconst originalUrl = location.href;\r\n\t\t// eslint-disable-next-line\r\n\t\treturn fetch(`${api}?longUrl=${originalUrl}`)\r\n\t\t\t.then(\r\n\t\t\t\tresponse => {\r\n\t\t\t\t\tif (!response.ok) {\r\n\t\t\t\t\t\treturn Promise.resolve(originalUrl);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn response.text();\r\n\t\t\t\t},\r\n\t\t\t\t// In case of wrong api, to handle it and to stop error. Condition will be handled in !response.ok part\r\n\t\t\t\t() => {\r\n\t\t\t\t\treturn originalUrl;\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.then(data => {\r\n\t\t\t\t// case for providing fallback url in case null or blank is returned as shorturl.\r\n\t\t\t\t// url from api is wrapped in \"\", causing error, so we need to remove those.\r\n\t\t\t\tconst url = data === (null || undefined || '') ? originalUrl : data.replaceAll('\"', '');\r\n\t\t\t\tlet updatedUrl;\r\n\r\n\t\t\t\tif (platform === 'email') {\r\n\t\t\t\t\t// we have taken in dataset as well for handling email case, since href encoded string by default.\r\n\t\t\t\t\tupdatedUrl = target.dataset.emailHref.replace('', url);\r\n\t\t\t\t\tconst parts = updatedUrl.split('mailto:?subject=')[1].split('&body=');\r\n\t\t\t\t\tupdatedUrl = `mailto:?subject=${encodeURIComponent(parts[0])}&body=${encodeURIComponent(\r\n\t\t\t\t\t\tparts[1]\r\n\t\t\t\t\t)}`;\r\n\t\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\t\tlocation.replace(updatedUrl);\r\n\t\t\t\t} else if (platform === 'wechat') {\r\n\t\t\t\t\tconst attribute = target.dataset.type;\r\n\t\t\t\t\tthis.publish('/lightbox/open', {\r\n\t\t\t\t\t\ttarget: url,\r\n\t\t\t\t\t\ttype: attribute || 'id'\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (platform !== 'email' && platform !== 'wechat') {\r\n\t\t\t\t\tupdatedUrl = decodeURI(target.href).replace('', url);\r\n\t\t\t\t\topenPopup(updatedUrl);\r\n\t\t\t\t}\r\n\t\t\t\tthis.trackPlatformUsage(platform, originalUrl);\r\n\t\t\t})\r\n\t\t\t.catch(err => console.error(err));\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.addEventListener(this.element, 'click', e => {\r\n\t\t\te.preventDefault();\r\n\t\t\tconst target =\r\n\t\t\t\te.target.tagName === 'A' ? e.target : e.target.closest('.share-component__item');\r\n\t\t\tconst platform = target?.dataset.platform;\r\n\t\t\tthis.openUrlInPlatform(target, platform);\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) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nexport function dashCaseToCamelCase(str) {\n return str.replace(/\\W+(.)/g, (x, chr) => chr.toUpperCase());\n}\n","const alphabet = '23456789ABDEGJKMNPQRVWXYZ';\r\n\r\nexport function generateId(length = 6) {\r\n\tlet id = '';\r\n\r\n\tfor (let i = 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","/**\r\n * Performs window.open for a given URL;\r\n * @param {string} url Address to display in a pop-up window\r\n * @param {*} width in pixels; default: 575px\r\n * @param {*} height in pixels; default: 400px\r\n */\r\nexport const openPopup = (url, width = 575, height = 400) => {\r\n\tconst top = (document.documentElement.clientHeight - height) / 2;\r\n\tconst left = document.documentElement.clientWidth / 2 - width / 2;\r\n\tconst options = {\r\n\t\tstatus: 1,\r\n\t\tresizable: 'yes',\r\n\t\twidth,\r\n\t\theight,\r\n\t\ttop,\r\n\t\tleft\r\n\t};\r\n\tconst popup = window.open(\r\n\t\turl,\r\n\t\t'',\r\n\t\tJSON.stringify(options)\r\n\t\t\t.replace(/\"|{|}/g, '')\r\n\t\t\t.replace(/:/g, '=')\r\n\t);\r\n\r\n\tif (popup) {\r\n\t\tpopup.focus();\r\n\t}\r\n\r\n\treturn popup;\r\n};\r\n\r\nexport const openWindow = (url, name = '_blank', options = {}) => {\r\n\tconst newTab = window.open(\r\n\t\turl,\r\n\t\tname,\r\n\t\tJSON.stringify(options)\r\n\t\t\t.replace(/\"|{|}/g, '')\r\n\t\t\t.replace(/:/g, '=')\r\n\t);\r\n\treturn newTab;\r\n};\r\n"],"sourceRoot":""}