{"version":3,"file":"5899.chunk.b296cedeb4feb17e40de.js","mappings":"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","sources":["webpack://apexchatwidgets/./widgets/core/WidgetsCache.js","webpack://apexchatwidgets/./widgets/core/events/PubSub.js","webpack://apexchatwidgets/./widgets/core/createNs.js","webpack://apexchatwidgets/./widgets/core/LiveChatBase.js","webpack://apexchatwidgets/./widgets/core/hooks/Browser.js","webpack://apexchatwidgets/./widgets/core/hooks/getGaClientId.js","webpack://apexchatwidgets/./widgets/core/hooks/getCSSRule.js","webpack://apexchatwidgets/./widgets/core/hooks/addCSSRule.js","webpack://apexchatwidgets/./widgets/core/hooks/resetCSS.js","webpack://apexchatwidgets/./widgets/core/hooks/ScriptsQuestionTypeToolTips.js","webpack://apexchatwidgets/./node_modules/@neodrag/vanilla/dist/min/index.js","webpack://apexchatwidgets/./widgets/core/files/LoadJsCssFile.js","webpack://apexchatwidgets/./widgets/core/WidgetCreator.js","webpack://apexchatwidgets/./widgets/core/BaseWidgetClient.js","webpack://apexchatwidgets/./widgets/core/hooks/checkSpanishLanguage.js","webpack://apexchatwidgets/./widgets/core/hooks/getBody.js","webpack://apexchatwidgets/./widgets/core/WidgetStateEventRegistery.js","webpack://apexchatwidgets/./widgets/core/WidgetStateMachine.js","webpack://apexchatwidgets/./widgets/core/hooks/trackTime.js","webpack://apexchatwidgets/./widgets/core/BaseClass.js","webpack://apexchatwidgets/./widgets/core/hooks/ChatStates.js","webpack://apexchatwidgets/./widgets/core/hooks/ChatEvents.js","webpack://apexchatwidgets/./widgets/core/hooks/getStorageAPIValue.js","webpack://apexchatwidgets/./widgets/core/hooks/addStyleText.js","webpack://apexchatwidgets/./widgets/core/hooks/ServerLog.js"],"sourcesContent":["/**\r\n * An in-memory cache to keep record of all widgets type on page\r\n */\r\nconst WidgetsCache = {\r\n register(id, widget) {\r\n // Create _cache for keeping widgets\r\n const registry = this._cache || (this._cache = {});\r\n registry[id] = widget;\r\n },\r\n destroy(id) {\r\n const widget = this._cache[id];\r\n if (widget) {\r\n delete this._cache[id];\r\n }\r\n },\r\n get(id) {\r\n const exists = this._cache && this._cache[id];\r\n if (exists) {\r\n return this._cache[id];\r\n }\r\n return null;\r\n // throw 'no widget found with the specified id:' + id;\r\n },\r\n logAll() {\r\n if (this._cache) {\r\n for (const i in this._cache) {\r\n console.log(this._cache[i].widgetId);\r\n }\r\n }\r\n },\r\n getAlliFrameIds() {\r\n const arrIFrameIds = [];\r\n if (this._cache) {\r\n for (const i in this._cache) {\r\n arrIFrameIds.push(this._cache[i].iframeId);\r\n }\r\n }\r\n return arrIFrameIds;\r\n }\r\n};\r\nexport default WidgetsCache;\r\n","import logIt from \"../../../logIt\";\r\n\r\n/**\r\n * A Pub-Sub event-cache\r\n */\r\nexport default class PubSub {\r\n // Pre-req: the using class must have this.key property defined\r\n publish() {\r\n // expects something like: {event: 'abc', data:{}}\r\n // Turn arguments object into a real array\r\n const args = Array.prototype.slice.call(arguments, 0);\r\n // Extract the first argument, the event object\r\n const e = args.shift();\r\n const cache = window.apexchat_event_cache || (window.apexchat_event_cache = {});\r\n // the following blocks are deliberately left to track illegal calls:-) See line#375: ApexChat.isInDevMode = false; ... so these blocks will never run in Test/Prod\r\n if (this.widget == undefined && ApexChat.isInDevMode) {\r\n logIt('PubSub.publish(): widget must be defined!');\r\n }\r\n if (e == undefined && ApexChat.isInDevMode) {\r\n logIt('PubSub.publish(): event must be in JSON format!');\r\n }\r\n const state = e.origin + e.state ? e.origin + e.state : e.event;\r\n logIt(`${this.widget}::publishing:${state}`);\r\n\r\n for (const w in cache) {\r\n const widget_cache = cache[w]; // get each widget cache\r\n if (widget_cache) {\r\n const handlers = widget_cache[state]; // get this event's subscriptions in a widget cache\r\n if (handlers) {\r\n handlers.forEach((cb) => {\r\n // call every callback attached with this event\r\n const _args = e.data ? e.data : e.value;\r\n cb(_args); // run callback with event data passed in\r\n });\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n subscribe(event /* string */, callback) {\r\n const cache = window.apexchat_event_cache || (window.apexchat_event_cache = {});\r\n const widget_cache = cache[this.widget] || (cache[this.widget] = {});\r\n // the following blocks are deliberately left to track illegal calls:-) See line#375: ApexChat.isInDevMode = false; ... so these blocks will never run in Test/Prod\r\n if (this.widget == undefined && ApexChat.isInDevMode) {\r\n logIt('PubSub.subscribe(): widget must be defined!');\r\n }\r\n if (event == undefined && ApexChat.isInDevMode) {\r\n logIt('PubSub.subscribe(): event must be in string format!');\r\n }\r\n logIt(`${this.widget}::subscribing:${event}`);\r\n // Create an array for the given event key, unless it exists, then\r\n // append the callback to the array\r\n (widget_cache[event] || (widget_cache[event] = [])).push(callback);\r\n return this;\r\n }\r\n\r\n clearSubscriptions() {\r\n window.apexchat_event_cache[this.widget] = {};\r\n }\r\n\r\n allSubscriptions() {\r\n return window.apexchat_event_cache;\r\n }\r\n\r\n subscriptions() {\r\n return window.apexchat_event_cache[this.widget];\r\n }\r\n\r\n eventSubscriptions(evt) {\r\n // returns list of events subscribed or list of callback for the evt specified\r\n const cache = window.apexchat_event_cache || (window.apexchat_event_cache = {});\r\n const widget_cache = cache[this.widget] || (cache[this.widget] = {});\r\n if (evt) {\r\n return widget_cache[evt];\r\n }\r\n const events = [];\r\n for (const prop in widget_cache) {\r\n events.push(widget_cache[prop]);\r\n }\r\n return events;\r\n }\r\n}\r\n","\r\nconst createNS = function (fqName, cls) {\r\n let nsparts = fqName.split('.');\r\n let parent = window;\r\n // we want to be able to include or exclude the root namespace\r\n // So we strip it if it's in the namespace\r\n if (nsparts[0] === 'window') {\r\n nsparts = nsparts.slice(1);\r\n }\r\n // check if we have to only create ns or ns+cls=a fully qualified class name\r\n const modulesCount = cls !== undefined ? nsparts.length - 1 : nsparts.length;\r\n // loop through the parts and create\r\n // a nested namespace if necessary\r\n for (let i = 0; i < modulesCount; i++) {\r\n const partname = nsparts[i];\r\n // check if the current parent already has\r\n // the namespace declared, if not create it\r\n if (typeof parent[partname] === 'undefined') {\r\n parent[partname] = {};\r\n }\r\n // get a reference to the deepest element\r\n // in the hierarchy so far\r\n parent = parent[partname];\r\n }\r\n // the parent is now completely constructed\r\n // with empty namespaces and can be used.\r\n if (cls !== undefined) {\r\n // finally add class to ns if cls found\r\n parent[nsparts[modulesCount]] = cls;\r\n }\r\n return parent;\r\n};\r\nexport default createNS;\r\n","// Create a new Class that inherits from this class\r\n\r\nimport PubSub from './events/PubSub';\r\n\r\nexport default class LiveChatBase {\r\n // static include = _include;\r\n constructor(prop) {\r\n this.include = _include;\r\n this.prop = prop;\r\n this.pubSub = new PubSub();\r\n }\r\n\r\n publish(e) {\r\n this.pubSub.publish.call(this, e);\r\n }\r\n\r\n subscribe(e, h) {\r\n this.pubSub.subscribe.call(this, e, h);\r\n }\r\n\r\n eventSubscriptions(evt) {\r\n return this.pubSub.eventSubscriptions.call(this, evt);\r\n }\r\n\r\n clearAllSubscriptions() {\r\n return this.pubSub.clearSubscriptions.call(this);\r\n }\r\n\r\n execute(funcName) {\r\n return this[funcName] && this[funcName].apply(this, [].slice.call(arguments, 1));\r\n }\r\n\r\n log(msg) {\r\n if (window.console && ApexChat.trace) {\r\n console.log(`>>${msg}`);\r\n }\r\n }\r\n}\r\n\r\nconst extend = function (dest, src) {\r\n for (let prop in src) {\r\n dest[prop] = src[prop];\r\n }\r\n return dest;\r\n};\r\nconst _include = function (o) {\r\n extend(this, o);\r\n};\r\n","const Browser = {\r\n getIEVersion() {\r\n if (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent)) {\r\n /*\r\n * sample user-Agent\r\n * \"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\"\r\n */\r\n // test for MSIE x.x;\r\n return new Number(RegExp.$1); // capture x.x portion and store as a number\r\n }\r\n return -1;\r\n },\r\n getChromeVersion() {\r\n const chrome = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\r\n if (chrome) {\r\n return parseInt(chrome[2], 10);\r\n }\r\n },\r\n getFirefoxVersion() {\r\n const firefox = navigator.userAgent.match(/Firefox\\/([0-9]+)\\./);\r\n if (firefox) {\r\n return parseInt(firefox[1]);\r\n }\r\n },\r\n isIE6() {\r\n if (document.all && !window.opera && !window.XMLHttpRequest) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n isIE7() {\r\n return Browser.getIEVersion() == 7;\r\n },\r\n isIE8() {\r\n return Browser.getIEVersion() == 8;\r\n },\r\n isIE9() {\r\n return Browser.getIEVersion() == 9;\r\n },\r\n isIE9Standards() {\r\n return Browser.isIE9() && !Browser.isQuirksMode();\r\n },\r\n isIE10() {\r\n return Browser.getIEVersion() == 10;\r\n },\r\n isIE10Standards() {\r\n return Browser.isIE10() && !Browser.isQuirksMode();\r\n },\r\n isIE11() {\r\n const matches = navigator.userAgent.match(\r\n /(?:\\b(MS)?IE\\s+|\\bTrident\\/7\\.0;.*\\s+rv:)(\\d+)/\r\n );\r\n if (matches && matches.length == 3) {\r\n return matches[2] == 11;\r\n }\r\n return false;\r\n },\r\n isIE() {\r\n // this returns false if in IE9 standards, because all our non-IE code WORKS IN IE9 standards!!! IE9 hardly counts as IE anymore!\r\n // IE10 also doesn't count, quirks mode or not\r\n return (\r\n !!document.protocol &&\r\n !(\r\n Browser.isIE9Standards() ||\r\n Browser.isIE10() ||\r\n Browser.isIE11()\r\n )\r\n );\r\n },\r\n isQuirksMode() {\r\n const mode = document.compatMode;\r\n let m;\r\n return mode && mode == 'BackCompat';\r\n },\r\n isiOS() {\r\n // Added Window.MSStream // Source: https://stackoverflow.com/questions/9038625/detect-if-device-is-ios\r\n return /iPad|iPhone|iPod/.test(navigator.platform) && !window.MSStream;\r\n },\r\n isAndroid() {\r\n return /Android/i.test(navigator.userAgent);\r\n },\r\n isMacintosh() {\r\n return /Mac/.test(navigator.platform) && !window.MSStream;\r\n },\r\n isChrome() {\r\n const isChromium = window.chrome;\r\n const winNav = window.navigator;\r\n const vendorName = winNav.vendor;\r\n const isOpera = winNav.userAgent.indexOf('OPR') > -1;\r\n const isIEedge = winNav.userAgent.indexOf('Edge') > -1;\r\n const isIOSChrome = winNav.userAgent.match('CriOS');\r\n\r\n // http://stackoverflow.com/questions/4565112/javascript-how-to-find-out-if-the-user-browser-is-chrome/13348618#13348618\r\n return (\r\n isChromium !== null &&\r\n isChromium !== undefined &&\r\n vendorName === 'Google Inc.' &&\r\n isOpera == false &&\r\n isIEedge == false\r\n );\r\n },\r\n isSafari() {\r\n const ua = navigator.userAgent.toLowerCase();\r\n if (ua.indexOf('safari') != -1) {\r\n if (ua.indexOf('chrome') < 0) {\r\n return true;\r\n }\r\n }\r\n },\r\n isFirefox() {\r\n const ua = navigator.userAgent.toLowerCase();\r\n if (ua.indexOf('firefox') != -1) {\r\n if (ua.indexOf('chrome') < 0) {\r\n return true;\r\n }\r\n }\r\n }\r\n};\r\nexport default Browser;\r\n","const getGaClientId = function (gaAccount, ga) {\r\n let gaClientId = '';\r\n if (gaAccount && ga) {\r\n ga('create', gaAccount, 'auto');\r\n ga((tracker) => {\r\n gaClientId = tracker.get('clientId');\r\n });\r\n }\r\n return gaClientId;\r\n};\r\nexport default getGaClientId;\r\n","// gets a rule from the specified sheet, or searches all sheets\r\nconst getCSSRule = (ruleName, sheetId, deleteFlag) => {\r\n try {\r\n ruleName = ruleName.toLowerCase();\r\n\r\n const trySheet = function (styleSheet) {\r\n if (styleSheet == null) {\r\n return;\r\n }\r\n try {\r\n // in firefox, this can throw a security exception under some (I have no idea what triggers it) conditions\r\n const ignore = styleSheet.cssRules;\r\n } catch (e2) {\r\n return;\r\n }\r\n let ii = 0;\r\n let cssRule = false;\r\n do {\r\n if (styleSheet.cssRules) {\r\n cssRule = styleSheet.cssRules[ii];\r\n } else if (styleSheet.rules) {\r\n cssRule = styleSheet.rules[ii];\r\n } else {\r\n // in chrome, styleSheet.cssRules can be null, so we need the extra check\r\n continue;\r\n }\r\n if (cssRule) {\r\n if (cssRule.selectorText &&\r\n cssRule.selectorText.toLowerCase() == ruleName) {\r\n if (deleteFlag == 'delete') {\r\n if (styleSheet.cssRules) {\r\n styleSheet.deleteRule(ii);\r\n } else {\r\n styleSheet.removeRule(ii);\r\n }\r\n return true;\r\n }\r\n return cssRule;\r\n }\r\n }\r\n ii++;\r\n } while (cssRule);\r\n };\r\n\r\n if (document.styleSheets) {\r\n if (sheetId) {\r\n var styleSheet = null;\r\n const el = document.getElementById(sheetId);\r\n if (el) {\r\n styleSheet = el.styleSheet || el.sheet;\r\n }\r\n var result = trySheet(styleSheet);\r\n if (result) {\r\n return result;\r\n }\r\n } else {\r\n for (let i = 0; i < document.styleSheets.length; i++) {\r\n var styleSheet = document.styleSheets[i];\r\n var result = trySheet(styleSheet);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n if (window && window.console && window.console.error) {\r\n window.console.error(e);\r\n }\r\n }\r\n return false;\r\n};\r\nexport default getCSSRule;\r\n","import getCSSRule from './getCSSRule';\r\n\r\nconst addCSSRule = (ruleName, bypassCheck) => {\r\n const defaultSheetId = 'apexchat_default';\r\n\r\n try {\r\n if (document.styleSheets) {\r\n if (bypassCheck || !getCSSRule(ruleName, defaultSheetId)) {\r\n if (!document.getElementById(defaultSheetId)) {\r\n const cssNode = document.createElement('style');\r\n cssNode.type = 'text/css';\r\n cssNode.rel = 'stylesheet';\r\n cssNode.media = 'screen';\r\n cssNode.title = defaultSheetId;\r\n cssNode.id = defaultSheetId;\r\n document.getElementsByTagName('head')[0].appendChild(cssNode);\r\n }\r\n let sheet = null;\r\n try {\r\n const el = document.getElementById(defaultSheetId);\r\n if (el) {\r\n sheet = el.styleSheet || el.sheet;\r\n }\r\n } catch (e0) { }\r\n if (!sheet) {\r\n for (let i = 0; i < document.styleSheets.length; i++) {\r\n try {\r\n if (document.styleSheets[i].title == defaultSheetId) {\r\n sheet = document.styleSheets[i];\r\n break;\r\n }\r\n } catch (e1) {\r\n // security exceptions are possible here\r\n }\r\n }\r\n if (!sheet) {\r\n sheet = document.styleSheets[0];\r\n }\r\n }\r\n try {\r\n if (sheet.addRule) {\r\n sheet.addRule(ruleName, null, 0); // Yes, add IE style\r\n } else {\r\n sheet.insertRule(`${ruleName} { }`, 0); // Yes, add Moz style.\r\n }\r\n } catch (e2) {\r\n // gah...ignore it\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n if (window && window.console && window.console.error) {\r\n window.console.error(e);\r\n }\r\n }\r\n return getCSSRule(ruleName, defaultSheetId);\r\n};\r\nexport default addCSSRule;\r\n","import addCSSRule from './addCSSRule';\r\nimport addStyleText from './addStyleText';\r\n\r\nconst resetCSS = (id, extra) => {\r\n // JIRA_2913 -START- Create New DOM For Desktop.\r\n // summary: We were just frequently calling resetCSS earlier, and even resetting 1 HTML element multiple times specially in Visitor Form scenario.\r\n // so, I've introduced a best practice that we are saving in Array the elements That Have Been Reset and not resetting them more than 1.\r\n const defaultSheetId = 'apexchat_default';\r\n if (ApexChat.elementsThatHaveBeenReset[id]) {\r\n return;\r\n }\r\n const delimitter = extra && extra.trimWhiteSpaces ? '' : '\\r\\n';\r\n ApexChat.elementsThatHaveBeenReset[id] = id;\r\n // JIRA_2913 -END-\r\n const rules = [\r\n `#${id}`,\r\n `#${id} a`,\r\n `#${id} *`,\r\n `#${id} a:hover`,\r\n `#${id} a:visited`,\r\n `#${id} a:active`\r\n ];\r\n const identity = `${rules.join(',')}{${delimitter}`;\r\n const props = {\r\n background: 'none',\r\n border: 'none',\r\n bottom: 'auto',\r\n clear: 'none',\r\n /* 'cursor':'inherit', */\r\n color: '#000',\r\n /* didn't really know what the default for display should be; of course, if someone changes the default across the board,\r\n they'll have some pretty funky looking results on their site... */\r\n /* 'display':'inline', */\r\n /* 'display':'block', */\r\n float: 'none',\r\n 'font-family': \"'Arial', 'Helvetica', sans-serif\",\r\n 'font-size': 'medium',\r\n 'font-style': 'normal',\r\n 'font-weight': 'normal',\r\n height: 'auto',\r\n left: 'auto',\r\n 'letter-spacing': 'normal',\r\n 'line-height': 'normal',\r\n 'max-height': 'none',\r\n 'max-width': 'none',\r\n margin: '0',\r\n\r\n overflow: 'visible',\r\n padding: '0',\r\n position: 'static',\r\n /* the following 3 values, if set on some elements in IE, trigger a different layout; thus, we ignore them if at all possible\r\n 'min-height': '0',\r\n 'min-width': '0',\r\n 'right': 'auto', */\r\n 'text-align': 'left',\r\n 'text-decoration': 'none',\r\n 'text-indent': '0',\r\n 'text-transform': 'none',\r\n top: 'auto',\r\n visibility: 'visible',\r\n 'white-space': 'normal',\r\n width: 'auto',\r\n 'z-index': 'auto',\r\n 'box-sizing': 'unset',\r\n // 'cursor': 'default',\r\n 'min-height': 'auto',\r\n 'min-width': 'auto',\r\n 'font-stretch': 'normal',\r\n 'font-variant': 'none',\r\n 'counter-reset': 'none',\r\n 'list-style-image': 'none',\r\n 'list-style-type': 'none',\r\n outline: '0',\r\n 'outline-color': 'transparent',\r\n 'outline-style': 'none',\r\n 'outline-width': 'unset',\r\n clip: 'unset',\r\n right: 'auto',\r\n bottom: 'auto',\r\n top: 'auto',\r\n 'vertical-align': 'unset',\r\n 'border-collapse': 'unset',\r\n 'border-spacing': 'unset',\r\n 'caption-side': 'unset',\r\n 'table-layout': 'unset',\r\n direction: 'unset',\r\n 'text-shadow': 'none',\r\n 'word-spacing': 'unset',\r\n 'white-space': 'unset',\r\n 'list-style': 'none',\r\n quotes: 'none',\r\n transition: 'none',\r\n '-webkit-transition': 'none',\r\n '-moz-transition': 'none'\r\n };\r\n\r\n const propsList = [];\r\n for (const prop in props) {\r\n propsList.push(`${prop}:${props[prop]};`);\r\n }\r\n const result = `${identity + propsList.join(delimitter)}}`;\r\n\r\n // reset rules get added to the top\r\n addStyleText(result, defaultSheetId, true);\r\n\r\n // for those brilliant folks who have div { display: none; }\r\n let rule = addCSSRule(`#${id} div`, true);\r\n rule.style.display = 'block';\r\n\r\n // for those brilliant folks who have table { display: none; }\r\n rule = addCSSRule(`#${id} table`, true);\r\n rule.style.display = 'block';\r\n};\r\nexport default resetCSS;\r\n","const ScriptsQuestionTypeToolTips = {\r\n Eng: {\r\n TrueFalse: 'Choose an option above',\r\n Text: 'Type your response...',\r\n Date: 'Select date',\r\n Time: 'Select time',\r\n DateTime: 'Select date and time',\r\n AllThatApply: 'Choose option(s) above',\r\n MC: 'Choose an option above',\r\n FTEllipses: '...', // used to show a block input field\r\n FTPhone: 'Enter your phone number...', // CHAT-7004\r\n FTMessage: 'Type your message...',\r\n FTName: 'Enter your name...', // CHAT-7003\r\n FTEmail: 'Enter your email address...', /// /CHAT-7005\r\n FTZipcode: 'Enter your zip code...',\r\n AppointmentSchedule: 'Please select a date and time',\r\n FTAddress: 'Enter your address...',\r\n Hello: 'Hello',\r\n },\r\n Spa: {\r\n TrueFalse: 'Elige una opción arriba',\r\n Text: 'Escriba su respuesta...',\r\n Date: 'Seleccione fecha',\r\n Time: 'Seleccionar hora',\r\n DateTime: 'Seleccionar fecha y hora',\r\n AllThatApply: 'Elija la(s) opción(es) arriba',\r\n MC: 'Elige una opción arriba',\r\n FTEllipses: '...',\r\n FTPhone: 'Ingrese su número telefónico...',\r\n FTMessage: 'Escribe tu mensaje...',\r\n FTName: 'Introduzca su nombre...',\r\n FTEmail: 'Ingrese su dirección de correo electrónico...',\r\n FTZipcode: 'Ingrese su codigo postal...',\r\n AppointmentSchedule: 'Por favor seleccione una fecha y hora',\r\n FTAddress: 'Introduce tu dirección...',\r\n Hello: 'Hola',\r\n }\r\n};\r\nexport default ScriptsQuestionTypeToolTips;\r\n","var t={dragStart:!0},e={delay:0,distance:3};function n(n,c={}){let u,f,{bounds:g,axis:h=\"both\",gpuAcceleration:p=!0,legacyTranslate:m=!1,transform:y,applyUserSelectHack:w=!0,disabled:b=!1,ignoreMultitouch:v=!1,recomputeBounds:x=t,grid:_,threshold:E=e,position:S,cancel:A,handle:C,defaultClass:D=\"neodrag\",defaultClassDragging:N=\"neodrag-dragging\",defaultClassDragged:M=\"neodrag-dragged\",defaultPosition:B={x:0,y:0},onDragStart:R,onDrag:$,onDragEnd:X}=c,Y=!1,q=!1,H=0,P=!1,T=!1,k=0,L=0,j=0,z=0,I=0,O=0,{x:U,y:W}=S?{x:S?.x??0,y:S?.y??0}:B;ot(U,W);let F,G,J,K,Q,V=\"\",Z=!!S;x={...t,...x},E={...e,...E??{}};let tt=new Set;function et(t){Y&&!q&&T&&P&&Q&&(q=!0,function(t){it(\"neodrag:start\",R,t)}(t),rt.add(N),w&&(V=nt.userSelect,nt.userSelect=\"none\"))}const nt=document.body.style,rt=n.classList;function ot(t=k,e=L){if(!y){if(m){let r=`${+t}px, ${+e}px`;return d(n,\"transform\",p?`translate3d(${r}, 0)`:`translate(${r})`)}return d(n,\"translate\",`${+t}px ${+e}px`)}const r=y({offsetX:t,offsetY:e,rootNode:n});o(r)&&d(n,\"transform\",r)}function it(t,e,r){const o=function(t){return{offsetX:k,offsetY:L,rootNode:n,currentNode:Q,event:t}}(r);n.dispatchEvent(new CustomEvent(t,{detail:o})),e?.(o)}const at=addEventListener,st=new AbortController,dt={signal:st.signal,capture:!1};function lt(){let t=n.offsetWidth/G.width;return isNaN(t)&&(t=1),t}return d(n,\"touch-action\",\"none\"),at(\"pointerdown\",(t=>{if(b)return;if(2===t.button)return;if(tt.add(t.pointerId),v&&tt.size>1)return t.preventDefault();if(x.dragStart&&(F=s(g,n)),o(C)&&o(A)&&C===A)throw new Error(\"`handle` selector can't be same as `cancel` selector\");if(rt.add(D),J=function(t,e){if(!t)return[e];if(l(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `handle` option should be child of the element on which the action is applied\");return Array.from(n.values())}(C,n),K=function(t,e){if(!t)return[];if(l(t))return[t];if(Array.isArray(t))return t;const n=e.querySelectorAll(t);if(null===n)throw new Error(\"Selector passed for `cancel` option should be child of the element on which the action is applied\");return Array.from(n.values())}(A,n),u=/(both|x)/.test(h),f=/(both|y)/.test(h),a(K,J))throw new Error(\"Element being dragged can't be a child of the element on which `cancel` is applied\");const e=t.composedPath()[0];if(!J.some((t=>t.contains(e)||t.shadowRoot?.contains(e)))||a(K,[e]))return;Q=1===J.length?n:J.find((t=>t.contains(e))),Y=!0,H=Date.now(),E.delay||(P=!0),G=n.getBoundingClientRect();const{clientX:r,clientY:i}=t,d=lt();u&&(j=r-U/d),f&&(z=i-W/d),F&&(I=r-G.left,O=i-G.top)}),dt),at(\"pointermove\",(t=>{if(!Y||v&&tt.size>1)return;if(!q){if(!P){Date.now()-H>=E.delay&&(P=!0,et(t))}if(!T){const e=t.clientX-j,n=t.clientY-z;Math.sqrt(e**2+n**2)>=E.distance&&(T=!0,et(t))}if(!q)return}x.drag&&(F=s(g,n)),t.preventDefault(),G=n.getBoundingClientRect();let e=t.clientX,o=t.clientY;const a=lt();if(F){const t={left:F.left+I,top:F.top+O,right:F.right+I-G.width,bottom:F.bottom+O-G.height};e=r(e,t.left,t.right),o=r(o,t.top,t.bottom)}if(Array.isArray(_)){let[t,n]=_;if(isNaN(+t)||t<0)throw new Error(\"1st argument of `grid` must be a valid positive number\");if(isNaN(+n)||n<0)throw new Error(\"2nd argument of `grid` must be a valid positive number\");let r=e-j,s=o-z;[r,s]=i([t/a,n/a],r,s),e=j+r,o=z+s}u&&(k=Math.round((e-j)*a)),f&&(L=Math.round((o-z)*a)),U=k,W=L,it(\"neodrag\",$,t),ot()}),dt),at(\"pointerup\",(t=>{(tt.delete(t.pointerId),Y)&&(q&&(at(\"click\",(t=>t.stopPropagation()),{once:!0,signal:st.signal,capture:!0}),x.dragEnd&&(F=s(g,n)),rt.remove(N),rt.add(M),w&&(nt.userSelect=V),it(\"neodrag:end\",X,t),u&&(j=k),f&&(z=L)),Y=!1,q=!1,P=!1,T=!1)}),dt),{destroy:()=>st.abort(),update:n=>{h=n.axis||\"both\",b=n.disabled??!1,v=n.ignoreMultitouch??!1,C=n.handle,g=n.bounds,x=n.recomputeBounds??t,A=n.cancel,w=n.applyUserSelectHack??!0,_=n.grid,p=n.gpuAcceleration??!0,m=n.legacyTranslate??!0,y=n.transform,E={...e,...n.threshold??{}};const r=rt.contains(M);rt.remove(D,M),D=n.defaultClass??\"neodrag\",N=n.defaultClassDragging??\"neodrag-dragging\",M=n.defaultClassDragged??\"neodrag-dragged\",rt.add(D),r&&rt.add(M),Z&&(U=k=n.position?.x??k,W=L=n.position?.y??L,ot())}}}var r=(t,e,n)=>Math.min(Math.max(t,e),n),o=t=>\"string\"==typeof t,i=([t,e],n,r)=>{const o=(t,e)=>0===e?0:Math.ceil(t/e)*e;return[o(n,t),o(r,e)]};var a=(t,e)=>t.some((t=>e.some((e=>t.contains(e)))));function s(t,e){if(void 0===t)return;if(l(t))return t.getBoundingClientRect();if(\"object\"==typeof t){const{top:e=0,left:n=0,right:r=0,bottom:o=0}=t;return{top:e,right:window.innerWidth-r,bottom:window.innerHeight-o,left:n}}if(\"parent\"===t)return e.parentNode.getBoundingClientRect();const n=document.querySelector(t);if(null===n)throw new Error(\"The selector provided for bound doesn't exists in the document.\");return n.getBoundingClientRect()}var d=(t,e,n)=>t.style.setProperty(e,n),l=t=>t instanceof HTMLElement,c=class{constructor(t,e={}){this.node=t,this._drag_instance=n(t,this._options=e)}_drag_instance;_options={};updateOptions(t){this._drag_instance.update(Object.assign(this._options,t))}set options(t){this._drag_instance.update(this._options=t)}get options(){return this._options}destroy(){this._drag_instance.destroy()}};export{c as Draggable};","const LoadJsCssFile = (filename, filetype, dom, async) => {\r\n if (filetype === 'js') {\r\n // if filename is a external JavaScript file\r\n var fileref = dom.createElement('script');\r\n fileref.setAttribute('type', 'text/javascript');\r\n fileref.setAttribute('src', filename);\r\n if (async === true) {\r\n fileref.setAttribute('async', '');\r\n }\r\n } else if (filetype === 'css') {\r\n // if filename is an external CSS file\r\n var fileref = dom.createElement('link');\r\n fileref.setAttribute('rel', 'stylesheet');\r\n fileref.setAttribute('type', 'text/css');\r\n fileref.setAttribute('href', filename);\r\n }\r\n if (typeof fileref !== 'undefined') {\r\n dom.getElementsByTagName('head')[0].appendChild(fileref);\r\n }\r\n};\r\n\r\nexport default LoadJsCssFile;\r\n","// import PreChatInvitation from '../prechat/PreChatInvitation';\r\nimport WidgetTypes from './enums/WidgetTypes';\r\nexport class WidgetCreator {\r\n async create(options) {\r\n if (options.widget == WidgetTypes.DropDown) {\r\n const module = await import(/* webpackChunkName: \"dropdownInvitation\" */ '../standardInvitation/DropDownInvitation')\r\n const DropDownInvitation = module.default;\r\n new DropDownInvitation(options)\r\n\r\n } else if (options.widget == WidgetTypes.Tab) {\r\n const module = await import(/* webpackChunkName: \"tabInvitation\" */ '../tab/TabInvitation')\r\n const TabInvitation = module.default;\r\n new TabInvitation(options)\r\n } else if (options.widget == WidgetTypes.Bar) {\r\n const module = await import(/* webpackChunkName: \"barInvitation\" */ '../bar/BarInvitation')\r\n const BarInvitation = module.default;\r\n new BarInvitation(options);\r\n\r\n } else if (options.widget == WidgetTypes.SMS) {\r\n const module = await import(/* webpackChunkName: \"webSmsFormInvitation\" */ '../sms/SMSInvitation')\r\n const SMSInvitation = module.default;\r\n new SMSInvitation(options)\r\n }\r\n else if (options.widget == WidgetTypes.DOM) {\r\n // return new DOMChatWindow(options);\r\n const module = await import(/* webpackChunkName: \"DOMChatWindow\" */ '../dom/DOMChatWindow')\r\n const DOMChatWindow = module.default;\r\n new DOMChatWindow(options)\r\n }\r\n else if (options.widget == WidgetTypes.ExitPopup) {\r\n // WE DO NOT NEED TO LOAD EXITPOPUP CODE AT INVITATION TIME \r\n // WE LOADED AT WHEN WE NEED TO SHOW THE EXITPOPUP\r\n if (options.isPageRefreshed) {\r\n import(/* webpackChunkName: \"exitChatWindow\" */ '../exitpopup/ExitChatWindow').then(\r\n (module) => {\r\n const ExitChatWindow = module.default;\r\n const chat = new ExitChatWindow(options);\r\n }\r\n );\r\n }\r\n } else if (options.widget == WidgetTypes.PreChat) {\r\n // new PreChatInvitation(options);\r\n const module = await import(/* webpackChunkName: \"PreChatInvitation\" */ '../prechat/PreChatInvitation')\r\n const PreChatInvitation = module.default;\r\n new PreChatInvitation(options)\r\n } else if (options.widget == WidgetTypes.VisitorForm) {\r\n const module = await import(/* webpackChunkName: \"visitorForm\" */ '../visitorInfo/VisitorForm')\r\n const VisitorForm = module.default;\r\n new VisitorForm(options)\r\n } else if (options.widget == WidgetTypes.DynamicVisitorForm) {\r\n const module = await import(/* webpackChunkName: \"dynamicVisitorForm\" */ '../visitorInfo/DynamicVisitorForm')\r\n const DynamicVisitorForm = module.default;\r\n new DynamicVisitorForm(options)\r\n } else if (options.widget == WidgetTypes.WebSmsForm) {\r\n const module = await import(/* webpackChunkName: \"webSmsFormInvitation\" */ '../sms/WebSmsFormInvitation')\r\n const WebSmsFormInvitation = module.default;\r\n new WebSmsFormInvitation(options)\r\n } else if (options.widget == WidgetTypes.Test) {\r\n //return new ApexChat.TestInvitation(options);\r\n } else if (options.widget == WidgetTypes.VideoGreetInvitation) {\r\n const module = await import(/* webpackChunkName: \"videoGreetInvitation\" */ '../videogreet/VideoGreetInvitation')\r\n const VideoGreetInvitation = module.default;\r\n new VideoGreetInvitation(options)\r\n }\r\n }\r\n}","import { Draggable } from '@neodrag/vanilla';\r\nimport BaseClass from './BaseClass';\r\nimport TempCache from './enums/TempCache';\r\nimport WidgetsCache from './WidgetsCache';\r\nimport LoadJsCssFile from './files/LoadJsCssFile';\r\nimport { WidgetCreator } from './WidgetCreator';\r\nimport GlobalVariables from './GlobalVariables';\r\nimport resetCSS from './hooks/resetCSS';\r\nimport addStyleText from './hooks/addStyleText';\r\nimport getCookieValue from './hooks/getCookieValue';\r\nimport CreateGuid from '../../CreateGuid';\r\n\r\nexport default class BaseWidgetClient extends BaseClass {\r\n /** METHODS FOR COMMON LIFE-CYCLE LOGIC* */\r\n constructor(options) {\r\n super(options);\r\n const me = this;\r\n // no need for this as our super-most class (BaseClass) has made me.$ available for us all:-)\r\n // me.extend_$();\r\n me.options = options;\r\n me.options.greetVideoURL = `${GlobalVariables.ApexChatBaseUrl}greetVideos/greet.webm`;\r\n me.options.greetVideoText = \"Hey, let's watch the intro\";\r\n me.options.greetVideoStartChat = \"Let's get started\";\r\n me.widget = options && options.widget ? options.widget : 'n/a';\r\n me.handlesAll = options && options.handlesAll;\r\n me.notifiesAll = options && options.notifiesAll;\r\n me.widgetId = options && options.widgetId ? options.widgetId : CreateGuid();\r\n me.iframeId = options && options.iframeId ? options.iframeId : CreateGuid();\r\n me.parentDivId = options && options.parentDivId ? options.parentDivId : CreateGuid();\r\n me.elDragnDrop = options && options.elDragnDrop ? options.elDragnDrop : null;\r\n me.elDragnDropCss = options && options.elDragnDropCss ? options.elDragnDropCss : '';\r\n me.isDraggable = false;\r\n // me.listenForMessages(); // JIRA_4283 - Due to this function PostMessage was running twice.\r\n me.widgetScripts = [];\r\n me.widgetCss = [];\r\n const popOut = function (args) {\r\n /// /me.options.chatInitiatedBy = 'ExitPopup';\r\n /// /me.startWindowedChat(me.options);\r\n };\r\n // push default css and scripts here for all widgets\r\n // this.widgetScripts.push('https://cdn.jsdelivr.net/lodash/4/lodash.min.js');\r\n // this.widgetCss.push('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');\r\n // this.log('client created for ' + self.widget);\r\n WidgetsCache.register(me.widget, this);\r\n // Adding custom (Advance css) on visitor page to override iframe position, width and height\r\n if (options.customIFrameWrapperCss) {\r\n addStyleText(\r\n this.options.customIFrameWrapperCss,\r\n 'apexchat_iframe_custom_css'\r\n );\r\n }\r\n //if (options.v3DefaultStyles) {\r\n // addStyleText(this.options.v3DefaultStyles, 'apexchat_v3_default_css');\r\n // }\r\n }\r\n\r\n ready() {\r\n const me = this;\r\n }\r\n\r\n create() {\r\n const me = this;\r\n const wrapper = document.createElement('div');\r\n wrapper.setAttribute('id', me.parentDivId);\r\n wrapper.setAttribute('class', `${me.widget}_wrapper`);\r\n wrapper.setAttribute('class', `${me.widget}_wrapper_custom`);\r\n wrapper.setAttribute('style', `z-index:${TempCache.CONTAINER_Z_INDEX}`);\r\n wrapper.style.background = me.options.containerBg;\r\n me.$container = wrapper;\r\n }\r\n\r\n async show() {\r\n const me = this;\r\n const iframeHtml = me.getIframeBodyTemplate();\r\n const iframe = document.getElementById(me.iframeId);\r\n let frameDoc = iframe.document;\r\n if (iframe.contentWindow) {\r\n frameDoc = iframe.contentWindow.document; // IE\r\n }\r\n frameDoc.open();\r\n frameDoc.close();\r\n me.widgetCss.forEach((item, index) => {\r\n LoadJsCssFile(item, 'css', frameDoc, true);\r\n });\r\n me.widgetScripts.forEach((item, index) => {\r\n LoadJsCssFile(item, 'js', frameDoc);\r\n });\r\n if (me.elDragnDrop) {\r\n me.makeDraggable();\r\n }\r\n resetCSS(me.iframeId, { trimWhiteSpaces: true });\r\n const widgetCreator = new WidgetCreator();\r\n me.options.isPageRefreshed = this.isPageRefreshed();\r\n await widgetCreator.create(me.options);\r\n }\r\n\r\n /** METHODS FOR STATE MANAGEMENT * */\r\n getLastRenderedState() {\r\n // ZEE: this must be tested against each widget type!\r\n const store = this.state.retrieve();\r\n const stateLog = store.history;\r\n const stateTransitions = stateLog.length;\r\n const state = stateLog[stateTransitions - 1];\r\n return state;\r\n }\r\n\r\n isChatInProgress() {\r\n return (getCookieValue(TempCache.CHAT_ID_COOKIE) || 0) > 0;\r\n }\r\n\r\n /** UTIL METHODS * */\r\n getIframeBodyTemplate() {\r\n const me = this;\r\n const widgetKey = me.options.widget.split('_')[1];\r\n let templateText = '
';\r\n me.widgetCss.forEach((item, index) => {\r\n templateText += ``;\r\n });\r\n me.widgetScripts.forEach((item, index) => {\r\n templateText += ``;\r\n });\r\n templateText += '';\r\n // templateText += '';\r\n // templateText += '';\r\n templateText += '';\r\n return templateText;\r\n }\r\n\r\n makeDraggable() {\r\n const me = this;\r\n setTimeout(() => {\r\n const dragInstance = new Draggable(document.querySelector(`#${me.parentDivId}`));\r\n }, 0);\r\n }\r\n\r\n setupWiggling(timeout) {\r\n let defaultTimeout = this.options.wiggleInterval;\r\n if (timeout !== undefined) {\r\n defaultTimeout = timeout;\r\n }\r\n setTimeout(this.startWiggling, defaultTimeout, this);\r\n }\r\n\r\n startWiggling(ctx) {\r\n const me = ctx;\r\n me.animator.wiggleElement({\r\n element: me.parentDivId,\r\n position: me.isPageRefreshed() ? me.options.secondaryPosition : me.options.position\r\n });\r\n ApexChat.wigglingTimeouts = setTimeout(\r\n me.startWiggling,\r\n me.options.wiggleInterval + me.options.animationTime,\r\n me\r\n );\r\n }\r\n\r\n stopWiggling() {\r\n clearTimeout(ApexChat.wigglingTimeouts);\r\n }\r\n}\r\n// Export to window\r\n","const checkSpanishLanguage = (options) => {\r\n if (!options || !options.model) {\r\n // check options is not exists return false;\r\n return false;\r\n }\r\n const lang = options.language || options.model.language;\r\n return lang === 'sps' || lang === 'spa';\r\n};\r\nexport default checkSpanishLanguage;\r\n","/* If this context will be provided than this function will return the body of that specific context */\r\nconst getBody = function (context) {\r\n return context\r\n ? context.getElementsByTagName('body')[0]\r\n : document.getElementsByTagName('body')[0];\r\n};\r\nexport default getBody;\r\n","/**\r\n * An in-memory cache to keep record of:\r\n . all possible states and/or analytic events for a widget\r\n */\r\nimport WidgetTypes from './enums/WidgetTypes';\r\nimport AnalyticsCategories from './enums/AnalyticsCategories';\r\nimport AnalyticsEvents from './enums/AnalyticsEvents';\r\nimport ChatStates from './hooks/ChatStates';\r\nimport ChatEvents from './hooks/ChatEvents';\r\nimport WidgetStates from './hooks/WidgetStates';\r\n\r\nconst WidgetStateEventRegistery = function () {\r\n const registery = {};\r\n registery[WidgetTypes.DropDown] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.InvitationRequested,\r\n state: WidgetStates.Requested,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.InvitationAvailable,\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.InvitationReady,\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.InvitationShown,\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownCollapsed,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.InvitationClicked,\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.PoppedOut,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VisitorFormClicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.DynamicVisitorFormClicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VideoClicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Closed,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.Windowed] = [\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatWindowLoaded,\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatStarted,\r\n state: ChatStates.Started,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.PoppedOut,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.ExitPopup] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatStarted,\r\n state: ChatStates.Started,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Closed,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.MouseExit,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.Tab] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VisitorFormClicked,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.DynamicVisitorFormClicked,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.Bar] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VisitorFormClicked,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.DynamicVisitorFormClicked,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.SMS] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.SMSRequested,\r\n state: ChatStates.SMSClicked,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.Static] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.DOM] = [\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Closed,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.MessageSent,\r\n maintainCookie: false\r\n },\r\n\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: AnalyticsEvents.ChatRefreshed,\r\n state: ChatStates.Refreshed,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatStarted,\r\n state: ChatStates.Started,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatStates.Ended,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatStates.ChatRoomClicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: WidgetStates.PoppedOut,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.VisitorForm] = [\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n { category: '', event: '', state: WidgetStates.Ready, maintainCookie: false },\r\n { category: '', event: '', state: WidgetStates.Created, maintainCookie: false },\r\n { category: '', event: '', state: WidgetStates.ShownNormal, maintainCookie: true },\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n { category: '', event: '', state: WidgetStates.Closed, maintainCookie: true },\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.VisitorFormSubmitted,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.DynamicVisitorForm] = [\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n { category: '', event: '', state: WidgetStates.Ready, maintainCookie: false },\r\n { category: '', event: '', state: WidgetStates.Created, maintainCookie: false },\r\n { category: '', event: '', state: WidgetStates.ShownNormal, maintainCookie: true },\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n { category: '', event: '', state: WidgetStates.Closed, maintainCookie: true },\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.DynamicVisitorFormCancelled,\r\n maintainCookie: true\r\n },\r\n {\r\n category: '',\r\n event: '',\r\n state: WidgetStates.DynamicVisitorFormSubmitted,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.ChatRoom] = [\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnChatJoinFailure,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnSendMessage,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnSendMessageSuccess,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnSendMessageFailure,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnMessageTyping,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTypingArrived,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnMessageArrived,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnStopWaiting,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnParticipantsChanged,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnHideWaitingIndicator,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnCallStatusArrived,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnChatEnded,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnChatJoined,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTransferRequested,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnSMSChatTransferring,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnSMSChatTransferred,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatRequested,\r\n state: ChatStates.Requested,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.DOMUIController] = [\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTypingArrived,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnMessageIncoming,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.Ended,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnChatRestart,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTransferRequested,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatGreetingShown,\r\n state: ChatStates.GreetingShown,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatUIRendered,\r\n state: ChatStates.UIRendered,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.EPUIController] = [\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTypingArrived,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnMessageIncoming,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.Ended,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnChatRestart,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Chat,\r\n event: '',\r\n state: ChatEvents.OnTransferRequested,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatGreetingShown,\r\n state: ChatStates.GreetingShown,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: AnalyticsEvents.ChatUIRendered,\r\n state: ChatStates.UIRendered,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.PreChat] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VisitorFormClicked,\r\n maintainCookie: false\r\n }\r\n ];\r\n registery[WidgetTypes.WebSmsForm] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n // { category: AnalyticsCategories.Invitation, event: null, state: WidgetStates.ShownMinimized, maintainCookie: true },\r\n // { category: AnalyticsCategories.Invitation, event: null, state: WidgetStates.Clicked, maintainCookie: false },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n }\r\n // { category: AnalyticsCategories.Invitation, event: '', state: WidgetStates.VisitorFormClicked, maintainCookie: false },\r\n ];\r\n registery[WidgetTypes.PokeMessagesOverLay] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n }\r\n ];\r\n\r\n registery[WidgetTypes.Test] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Requested,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery[WidgetTypes.VideoGreetInvitation] = [\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Initialized,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Ready,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Created,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownNormal,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownMaximized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.ShownMinimized,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Clicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: null,\r\n state: WidgetStates.Hidden,\r\n maintainCookie: true\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.VisitorFormClicked,\r\n maintainCookie: false\r\n },\r\n {\r\n category: AnalyticsCategories.Invitation,\r\n event: '',\r\n state: WidgetStates.Closed,\r\n maintainCookie: true\r\n }\r\n ];\r\n registery.getEntry = function (w, s) {\r\n const states = registery[w];\r\n if (s) {\r\n return states.find((st) => st.state === s);\r\n }\r\n return states;\r\n };\r\n return registery;\r\n};\r\nexport default WidgetStateEventRegistery;\r\n","import LiveChatBase from './LiveChatBase';\r\n\r\n/**\r\n * A special class built like a state machine for all widgets used :\r\n . to specify analytic service used to track a widget event on every state change\r\n . to specify logger used to log on every state change\r\n . to store state in browser cache (e.g. cookie or local/session storage)\r\n . to notify other codebase of state changes in a cross-iframe manner\r\n . to invoke callback function onStateChanged\r\n */\r\nimport WidgetStateEventRegistery from './WidgetStateEventRegistery';\r\n\r\nexport default class WidgetStateMachine extends LiveChatBase {\r\n constructor(options) {\r\n super(options);\r\n this.widget = options.widget;\r\n this.states = WidgetStateEventRegistery().getEntry(this.widget);\r\n this.analytics = options.analytics;\r\n this.storage = options.storage;\r\n this.onStateChanged = options.onStateChanged;\r\n }\r\n\r\n /*\r\n * Method used to store state as cookie automatically; this.super() in child class methods causes this method to be invoked by base class\r\n * 1. log state transition\r\n * 2. store state value\r\n * 3. falsify old state\r\n * 4. log this state transition in history cookie/store\r\n * 5. save all state\r\n * 6. set current/new state\r\n */\r\n changeState(options /* _to, value, _from */) {\r\n if (!options.toState) {\r\n // no state specified? exit\r\n return;\r\n }\r\n const widget = options.origin ? options.origin : this.widget;\r\n const objToState = WidgetStateEventRegistery().getEntry(widget, options.toState);\r\n\r\n if (objToState.event) {\r\n this.analytics && this.analytics.track(objToState.category, objToState.event);\r\n this.analytics &&\r\n this.analytics.trackTime(objToState.category, objToState.event, options.value);\r\n }\r\n // set widget's current state as cookie if required\r\n if (objToState.maintainCookie) {\r\n this.storage && this.storage.api.Store(widget, objToState.state);\r\n }\r\n if (options.persist) {\r\n // expilictiy store widget state as Cookie\r\n this.storage && this.storage.api.Store(widget + objToState.state, options.value);\r\n }\r\n this.currentState = objToState.state;\r\n // when in dev mode, comment out if you don't like;-)\r\n if (ApexChat.isInDevMode) {\r\n this.logger && this.logger.log({ text: widget + objToState.state });\r\n }\r\n // finally notify cross-iframe\r\n this.onStateChanged &&\r\n this.onStateChanged({ origin: widget, state: objToState.state, value: options.value });\r\n }\r\n\r\n addStateHandler(s, h) {\r\n this.subscribe(this.widget + s, h);\r\n }\r\n\r\n setStateValue(options) {\r\n const widget = options.widget ? options.widget : this.widget;\r\n const { state } = options;\r\n const { value } = options;\r\n if (!state) {\r\n throw 'State is mandatory';\r\n }\r\n if (value == undefined) {\r\n throw 'Value is mandatory';\r\n }\r\n const cookie = widget + state;\r\n this.storage && this.storage.api.Store(cookie, value);\r\n }\r\n\r\n getStateValue(w, s) {\r\n // get state of a widget with/without a particular state specified\r\n const widget = w || this.widget;\r\n // get only specified state value\r\n if (s) {\r\n const cookie = widget + s;\r\n const value = this.storage.api.Get(cookie);\r\n return value ? JSON.parse(value) : null;\r\n }\r\n return this.storage.api.Get(widget);\r\n }\r\n\r\n getCurrentState(state) {\r\n if (state) {\r\n return this.storage.api.Get(this.widget + state);\r\n }\r\n return this.storage.api.Get(this.widget);\r\n }\r\n}\r\n","import log from './log';\r\nimport { ensureTracking } from './ensureTracking';\r\nimport { LogLevel } from '../enums/Enum';\r\nimport GlobalVariables from '../GlobalVariables';\r\nimport internalTrack from './internalTrack';\r\nimport fire from './fire';\r\n\r\nconst trackTime = (category, action, value) => {\r\n value = value || new Date().getTime() - GlobalVariables.TrackerNow;\r\n\r\n internalTrack('timing', category, action, value);\r\n\r\n if (!window.ApexChatAnalyticsID) {\r\n return;\r\n }\r\n ensureTracking();\r\n\r\n log(`Tracking time, ${category} - ${action}: ${value}`, LogLevel.Debug);\r\n const data = {\r\n hitType: 'timing',\r\n timingCategory: category,\r\n timingVar: action,\r\n timingLabel: ApexChatCompanyKey,\r\n timingValue: value\r\n };\r\n __apexGA('apex.send', data);\r\n\r\n fire(`${category}:${action}`, {\r\n key: ApexChatCompanyKey,\r\n dt: value\r\n });\r\n};\r\nexport default trackTime;\r\n","/* eslint-disable class-methods-use-this */\r\nimport WidgetStateMachine from './WidgetStateMachine';\r\nimport WidgetTypes from './enums/WidgetTypes';\r\nimport LiveChatBase from './LiveChatBase';\r\nimport TempCache from './enums/TempCache';\r\nimport GlobalVariables from './GlobalVariables';\r\nimport TimeType from './hooks/TimeType';\r\nimport log from './hooks/log';\r\nimport {\r\n AgentScriptActionType,\r\n ChatState,\r\n ScriptsQuestionType,\r\n SkinInviteType\r\n} from './enums/Enum';\r\nimport TrackData from './hooks/TrackData';\r\nimport trackTime from './hooks/trackTime';\r\nimport checkSpanishLanguage from './hooks/checkSpanishLanguage';\r\nimport WebStorage from './hooks/WebStorage';\r\nimport Browser from './hooks/Browser';\r\nimport ServerLog from './hooks/ServerLog';\r\nimport getGaClientId from './hooks/getGaClientId';\r\nimport RunAsSoonAs from './hooks/RunAsSoonAs';\r\nimport ScriptsQuestionTypeToolTips from './hooks/ScriptsQuestionTypeToolTips';\r\nimport Cookies from './hooks/Cookies';\r\nimport getCookieValue from './hooks/getCookieValue';\r\nimport getStorageAPIValue from './hooks/getStorageAPIValue';\r\nimport storageAPIExists from './hooks/storageAPIExists';\r\n\r\nexport default class BaseClass extends LiveChatBase {\r\n constructor(options) {\r\n super(options);\r\n this.options = options;\r\n\r\n GlobalVariables.ApexChatDefaultLogLevel = options.ApexChatDefaultLogLevel\r\n ? options.ApexChatDefaultLogLevel\r\n : GlobalVariables.ApexChatDefaultLogLevel;\r\n var me = this;\r\n if (typeof ApexChat.ApexChatJquery === 'function') {\r\n me.$ = ApexChat.ApexChatJquery;\r\n }\r\n // we hand over all state management to a dedicated object - hence unified\r\n this.state = new WidgetStateMachine({\r\n widget: options.widget,\r\n logger: options.logger\r\n ? options.logger\r\n : {\r\n name: 'ApexChat.log',\r\n log(logOptions) {\r\n // {logWhere:client|server|both,level:LogLevel,text:text,companyId:,visitorId}\r\n if (logOptions.logWhere === 'client') {\r\n log(\r\n logOptions.level ? logOptions.level : ApexChatDefaultLogLevel,\r\n logOptions.text\r\n );\r\n } else if (logOptions.logWhere === 'server') {\r\n ServerLog.log({\r\n level: logOptions.level\r\n ? logOptions.level\r\n : ApexChatDefaultLogLevel,\r\n visitorId: logOptions.visitorId,\r\n companyId: logOptions.companyId,\r\n text: logOptions.text\r\n });\r\n } else {\r\n // if (options.logWhere == 'both') {\r\n log(\r\n logOptions.text,\r\n logOptions.level\r\n ? logOptions.level\r\n : GlobalVariables.ApexChatDefaultLogLevel\r\n );\r\n }\r\n }\r\n },\r\n analytics: options.analytics\r\n ? options.analytics\r\n : {\r\n name: 'ApexChat.track',\r\n track: TrackData,\r\n trackTime\r\n },\r\n storage: options.storage\r\n ? options.storage\r\n : {\r\n name: 'WebStorage',\r\n api: WebStorage()\r\n },\r\n onStateChanged(args) {\r\n me.postMessage(args);\r\n }\r\n });\r\n this.companyId = options.companyId;\r\n this.lastWindowWidth = 0;\r\n this.lastScrollLeft = 0;\r\n this.lastScrollTop = 0;\r\n this.pinchZoomed = false;\r\n this.initialScale = false;\r\n this.startTouchTop = -1;\r\n this.invitationHeight = 0;\r\n this.wiggleAnimation = null;\r\n this.initialDisplayAnimation = null;\r\n this.interceptorResults = null;\r\n // this.agentName = (this.options.agentName) ?\r\n // this.options.agentName.charAt(0).toUpperCase() + this.options.agentName.substring(1):\r\n // this.options.model.agentName.charAt(0).toUpperCase() + this.options.model.agentName.substring(1);\r\n this.mobileInvitation = {\r\n positionUsed: null,\r\n originalStyles: null,\r\n zoom: 1,\r\n viewZoom: 1\r\n };\r\n this.tabbedInvitation = {\r\n invitationTravel: 0,\r\n travelProperty: 'bottom',\r\n animatingTab: false,\r\n borderTopRadius: [\r\n 'webkitBorderTopRightRadius',\r\n 'webkitBorderTopLeftRadius',\r\n 'mozBorderRadiusTopright',\r\n 'mozBorderRadiusTopleft',\r\n 'borderTopRightRadius',\r\n 'borderTopLeftRadius'\r\n ],\r\n borderBottomRadius: [\r\n 'webkitBorderBottomRightRadius',\r\n 'webkitBorderBottomLeftRadius',\r\n 'mozBorderRadiusBottomright',\r\n 'mozBorderRadiusBottomleft',\r\n 'borderBottomRightRadius',\r\n 'borderBottomLeftRadius'\r\n ],\r\n borderLeftRadius: [\r\n 'webkitBorderTopLeftRadius',\r\n 'webkitBorderBottomLeftRadius',\r\n 'mozBorderRadiusTopleft',\r\n 'mozBorderRadiusBottomleft',\r\n 'borderTopLeftRadius',\r\n 'borderBottomLeftRadius'\r\n ],\r\n borderRightRadius: [\r\n 'webkitBorderTopRightRadius',\r\n 'webkitBorderBottomRightRadius',\r\n 'mozBorderRadiusTopright',\r\n 'mozBorderRadiusBottomright',\r\n 'borderTopRightRadius',\r\n 'borderBottomRightRadius'\r\n ],\r\n defaultStyles: [\r\n '#apexchat_invitation_container_wrapper .tabbed > div > div {',\r\n ' -webkit-border-top-right-radius: 0px;',\r\n ' -webkit-border-top-left-radius: 0px;',\r\n ' -moz-border-radius-topright: 0px;',\r\n ' -moz-border-radius-topleft: 0px;',\r\n ' border-top-right-radius: 0px;',\r\n ' border-top-left-radius: 0px;',\r\n '}',\r\n '#apexchat_invitation_container_wrapper div.apexchat_invitation_tab {',\r\n ' box-shadow: none;',\r\n ' -webkit-box-shadow: none;',\r\n ' width: 100%;',\r\n ' bottom: 100%;',\r\n ' text-align: center;',\r\n ' position: absolute;',\r\n ' margin: 0px;',\r\n ' cursor: pointer;',\r\n ' padding: 0px;',\r\n '}'\r\n ].join('\\n')\r\n };\r\n var me = this;\r\n // me.$ = ApexChat.ApexChatJquery;\r\n me.extend_$();\r\n }\r\n\r\n // equivalent to ApexChat.fire\r\n postMessage(e) {\r\n // var evt = JSON.parse(JSON.stringify(e));\r\n this.publish(e);\r\n }\r\n\r\n isPageRefreshed() {\r\n // we detect subsequent page reloads based on this\r\n const yes = getStorageAPIValue(TempCache.IS_PAGE_REFRESHED) === 'true';\r\n return yes;\r\n }\r\n\r\n isChatClosed() {\r\n return getCookieValue(TempCache.CHAT_STATE) == ChatState.Closed;\r\n }\r\n\r\n getPhoneMessage() {\r\n const phoneNumber = ApexChat.localStorageAPI.Get(TempCache.VISITOR_PHONE);\r\n return {\r\n phone: phoneNumber\r\n };\r\n }\r\n\r\n extractPhoneNumberFromText(text) {\r\n let phone = '';\r\n const regexPattern = /\\(?\\b\\s?\\+?([0-9-.+( ))]{7,18})/g;\r\n const matches = text.match(regexPattern);\r\n if (!matches) {\r\n return;\r\n }\r\n for (let i = 0; i < matches.length; i++) {\r\n phone = matches[i].replace(/[{}]/g, '');\r\n }\r\n return phone.replace(/[^\\d\\+x]/g, '');\r\n }\r\n\r\n savePhoneNumber(phoneText) {\r\n const phone = this.extractPhoneNumberFromText(phoneText);\r\n ApexChat.localStorageAPI.Store(TempCache.VISITOR_PHONE, phone);\r\n }\r\n\r\n getChatId() {\r\n return ApexChat.TryParse(getCookieValue(TempCache.CHAT_ID_COOKIE));\r\n }\r\n\r\n getChatToken() {\r\n return ApexChat.TryParse(getCookieValue(TempCache.CHAT_TOKEN_COOKIE));\r\n }\r\n\r\n isChatActive() {\r\n return storageAPIExists(TempCache.CHAT_ID_COOKIE);\r\n }\r\n\r\n isRDEP() {\r\n const me = this;\r\n return me.widget === WidgetTypes.EPUIController;\r\n }\r\n\r\n getQueryString(chatMode, getGuid, languageOverride, additionalParams) {\r\n const me = this;\r\n let linkerParam = '_ga=';\r\n let visitorGaClientId = '';\r\n if (typeof ga === 'function') {\r\n try {\r\n linkerParam = ga.getAll()[0].get('linkerParam');\r\n visitorGaClientId = getGaClientId(this.options.googleAnalyticsAccount, ga);\r\n } catch (e) {\r\n console.log('error getting linkerParam');\r\n }\r\n }\r\n // chat mode can be specified explicitly\r\n chatMode = chatMode || this.options.chatMode;\r\n let { language } = me.options;\r\n if (languageOverride) {\r\n language = languageOverride;\r\n }\r\n // reading time from user's machine\r\n const now = new Date();\r\n const nowUtc = new Date(\r\n now.getUTCFullYear(),\r\n now.getUTCMonth(),\r\n now.getUTCDate(),\r\n now.getUTCHours(),\r\n now.getUTCMinutes(),\r\n now.getUTCSeconds()\r\n );\r\n // getting offset from utc for time calculations (to show with chat )\r\n let offset = new Date().getTimezoneOffset();\r\n // set offset to a negative if current time is less than utc\r\n if (nowUtc > now) {\r\n offset = -offset;\r\n }\r\n let guid = '';\r\n let isFirstChat = false;\r\n let isThirdParty = false;\r\n // get history cookie; create one if not already there\r\n if (getGuid) {\r\n guid = getCookieValue(TempCache.VISITOR_HISTORY_COOKIE);\r\n if (!guid) {\r\n // if our cookie doesn't exist yet, it's a new chat\r\n isFirstChat = true;\r\n // if the RL cookie exists, use that, but it's still the first chat\r\n guid = getCookieValue(TempCache.RL_VISITOR_HISTORY_COOKIE);\r\n if (guid) {\r\n isThirdParty = true;\r\n }\r\n }\r\n if (!guid) {\r\n // generate guid if there isn't one of ours and isn't one from RL\r\n guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n const r = (Math.random() * 16) | 0;\r\n const v = c == 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n // set expiration date to one year ahead of current date\r\n Cookies.set(TempCache.VISITOR_HISTORY_COOKIE, guid, 365);\r\n }\r\n\r\n const match = RegExp('[?&]' + 'gclid' + '=([^&]*)').exec(window.location.search);\r\n let gclid = match && decodeURIComponent(match[1].replace(/\\+/g, ' '));\r\n // if gclid=null; we need this otherwise the value in c# is interpreted as the string 'null'\r\n if (!gclid) {\r\n gclid = '';\r\n }\r\n // JIRA - 6451 - Greeting not appearing.\r\n // summary: Can't see greetings if chat started from PreChat too quickly before popup messages.\r\n // checking IF Prechat message popup appeared (IF YES: DONT SHOW Greeting)\r\n const isAlreadyPreChatMessageAppeared = storageAPIExists(\r\n TempCache.APEXCHAT_PRECHAT_MESSAGE_IDS_COOKIE\r\n );\r\n // checking IF Prechat message was sent previously and had complete chat session & ended chat\r\n const previouslyPreChatMessagesSent = !storageAPIExists(TempCache.PreChat_Message_Sent);\r\n // checking IF Chat session was ended\r\n const previousChatSessionEnded = !storageAPIExists(TempCache.CHAT_ID_COOKIE);\r\n const shouldGreetingAppear =\r\n !isAlreadyPreChatMessageAppeared &&\r\n previouslyPreChatMessagesSent &&\r\n previousChatSessionEnded;\r\n let params =\r\n `chatMode=${chatMode}&isVisitorFormEnabled=${this.options.requestVisitorInfo\r\n }&visitorId=${this.options.visitorId || Cookies.get(TempCache.VISITOR_ID_COOKIE) || 0 // todo: check if we can improve this\r\n }&companyId=${this.options.companyId}&companyKey=${this.options.companyKey\r\n }&requestedAgentId=${this.options.agentAliasId // REMOVE AFTER 2013 - not used anymore, for backwards compatibility during beta ONLY\r\n }&requestedAgentAliasId=${this.options.agentAliasId}&alreadyLoadedJS=false` + // ((window.fm && window.fm.websync) ? 'true' : 'false') +\r\n `&overrideHandlerId=${this.options.overrideHandlerId}&cb=${new Date().getTime()\r\n // we only take the first 1000 characters in the referrer to make sure we avoid problems with long urls\r\n }&timeZoneOffset=${offset}&guid=${guid}&profileId=${this.options.profileId == 0 ? this.options.profileID : this.options.profileId // hack to handle invitiation Vs preloaded handlers' naming mal-practice\r\n }&isFirstChat=${isFirstChat}&isThirdParty=${isThirdParty}&requestedOperatorId=${this.options.operatorId\r\n }&originalReferrer=${encodeURIComponent(document.referrer).substring(\r\n 0,\r\n 1000\r\n )}&referrer=${encodeURIComponent(window.location.href).substring(0, 1000)\r\n // getting rid of this parameter as it was interfering with cross domain tracking\r\n // '&gclid=' + gclid +\r\n }&language=${language}&gaclient=${ApexChat.gaClientId}&enableChatWindowCloseWarning=${this.options.enableChatWindowCloseWarning\r\n }&shouldGreetingMessageAppear=${shouldGreetingAppear}&prechatids=${getCookieValue(\r\n TempCache.APEXCHAT_PRECHAT_MESSAGE_IDS_COOKIE\r\n )}&${linkerParam}&visitorGaClient=${visitorGaClientId}`;\r\n if (getCookieValue(TempCache.CHAT_ID_COOKIE)) {\r\n params += `&chatId=${getCookieValue(TempCache.CHAT_ID_COOKIE)}`;\r\n }\r\n if (this.options.companyChatbot) {\r\n params += `&chatbotId=${this.options.companyChatbot.id}`;\r\n }\r\n if (getCookieValue(TempCache.SUBSEQUENT_GREETING_COOKIE)) {\r\n params += `&subsequent_greeting_flag=${getCookieValue(\r\n TempCache.SUBSEQUENT_GREETING_COOKIE\r\n )}`;\r\n }\r\n me.invokeChatInterceptor(); // Go idea to invoke chat interceptor before getting it's value\r\n params += `&_userSetting_=${encodeURIComponent(me.interceptorResults || additionalParams)}`; // Ref. Bug/CHAT-6705\r\n\r\n const trafficCookie = getCookieValue('livechat_invitation_traffic_sources');\r\n if (trafficCookie) {\r\n params += `&invitation_traffic_sources=${encodeURIComponent(trafficCookie)}`;\r\n }\r\n return params;\r\n }\r\n\r\n async extend_$() {\r\n // this the place to plugin custom functionality in our non-conflict jQuery\r\n const me = this;\r\n /* to check if jquery event is bound or not */\r\n // me.$.fn.isEventAlreadyBound = function (type) {\r\n // const data = me.$._data(me.$(this)[0], 'events');\r\n\r\n // if (data === undefined || data[type] === undefined || data.length === 0) {\r\n // return false;\r\n // }\r\n // return true;\r\n // };\r\n // me.$.fn.jqDragger = function (h, o) {\r\n // const jqDnRr = {\r\n // dnr: {},\r\n // e: 0,\r\n // drag(v) {\r\n // // console.log(v.data);\r\n // const trans = v.data.transform\r\n // ? 'transform: translate(-50%, -50%) !important'\r\n // : '';\r\n // Ele.css(\r\n // 'cssText',\r\n // `position: fixed;z-index: 99999999;${trans};left: ${M.X + v.pageX - M.pX\r\n // }px !important; top: ${M.Y + v.pageY - M.pY}px !important; right: auto;`\r\n // );\r\n // v.data.moved = true;\r\n // if (v.data.move) {\r\n // v.data.move(v);\r\n // }\r\n // return false;\r\n // },\r\n // stop(v) {\r\n // Ele.css('opacity', 1);\r\n // me.$(document.body).unbind('mousemove', J.drag).unbind('mouseup', J.stop);\r\n // if (v.data.stop) {\r\n // v.data.stop(v);\r\n // }\r\n // }\r\n // };\r\n // var J = jqDnRr;\r\n // var M = J.dnr;\r\n // var Ele = J.e;\r\n // const i = function (e, h, o) {\r\n // return e.each(() => {\r\n // h = h ? me.$(h) : e;\r\n // h.bind('mousedown', { e, o }, (v) => {\r\n // const d = v.data;\r\n // const p = {};\r\n // Ele = d.e;\r\n // if (Ele.css('position') != 'relative') {\r\n // try {\r\n // Ele.position(p);\r\n // } catch (e) { }\r\n // }\r\n // M = {\r\n // X: p.left || f('left') || 0,\r\n // Y: p.top || f('top') || 0,\r\n // W: f('width') || Ele[0].scrollWidth || 0,\r\n // H: f('height') || Ele[0].scrollHeight || 0,\r\n // pX: v.pageX,\r\n // pY: v.pageY,\r\n // k: d.k,\r\n // o: Ele.css('opacity')\r\n // };\r\n // Ele.css({ opacity: 0.8 });\r\n // me.$(document.body).mousemove(o, jqDnRr.drag).mouseup(o, jqDnRr.stop);\r\n // return false;\r\n // });\r\n // if (o.start) {\r\n // o.start();\r\n // }\r\n // });\r\n // };\r\n // var f = function (k) {\r\n // return parseInt(Ele.css(k)) || false;\r\n // };\r\n\r\n // return i(this, h, o);\r\n // };\r\n // (me.$.fn.isDisabled = function () {\r\n // return me.$(this).is(':disabled') || me.$(this).css('pointer-events') == 'none';\r\n // }),\r\n // (me.$.fn.disable = function (options) {\r\n // const settings = me.$.extend(\r\n // {\r\n // // These are the defaults.\r\n // recursively: false,\r\n // applyGrayBackground: false\r\n // },\r\n // options\r\n // );\r\n // if (settings.applyGrayBackground) {\r\n // me.$(this).addClass('apexchat_disabled_element');\r\n // }\r\n // if (settings && settings.elementQT) {\r\n // // select multi choice option in list\r\n // me.$(this)\r\n // .prop('disabled', true)\r\n // .css('pointer-events', 'none')\r\n // .children()\r\n // .prop('tabindex', settings.tabIndex == 0 ? '0' : '-1');\r\n // } else {\r\n // /* When question types are disabled remove the tabinedex on the elements. */\r\n // me.$(this).prop('disabled', true).css('pointer-events', 'none');\r\n // }\r\n // if (settings.recursively) {\r\n // me.$(this)\r\n // .children()\r\n // .each(function (index) {\r\n // me.$(this).disable(settings.recursively);\r\n // });\r\n // }\r\n // return this; // to allow method chaining\r\n // });\r\n // me.$.fn.enable = function (recursively) {\r\n // me.$(this).prop('disabled', false).css('pointer-events', 'auto');\r\n // me.$(this).removeClass('apexchat_disabled_element');\r\n // if (recursively) {\r\n // me.$(this)\r\n // .children()\r\n // .each(function (index) {\r\n // me.$(this).enable(recursively);\r\n // });\r\n // }\r\n // return this; // to allow method chaining\r\n // };\r\n // // applies on a select\r\n // me.$.fn.populateSelectList = function (\r\n // options /* [{ value:'option value', text:'option text' },...] */\r\n // ) {\r\n // const $dropdown = this;\r\n // me.$.each(options, function () {\r\n // $dropdown.append(me.$('').val(this.value).text(this.text));\r\n // });\r\n // };\r\n // me.$.fn.showValidationTooltip = function (config) {\r\n // // to show tooltip just pass tooltip text and css class name\r\n // if (!(config && config.toolTipText)) {\r\n // return;\r\n // }\r\n // if (config.isPreChatText) {\r\n // me.$(this)\r\n // .closest('.apexchat_question_type_single_col')\r\n // .find('.apexchat_error_msg')\r\n // .remove(); // removing the previous summary.\r\n // me.$(this).closest('.apexchat_rd_prechat_input').addClass(config.toolTipCss);\r\n // // appending new sumamry.\r\n // me.$(this)\r\n // .closest('.apexchat_question_type_single_col')\r\n // .append(\r\n // `