{"version":3,"file":"5413.chunk.b296cedeb4feb17e40de.js","mappings":"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","sources":["webpack://apexchatwidgets/./widgets/core/hooks/showElement.js","webpack://apexchatwidgets/./widgets/core/hooks/logClickEventOnGA.js","webpack://apexchatwidgets/./widgets/core/hooks/isTabKey.js","webpack://apexchatwidgets/./widgets/core/hooks/addStyleTextInIframe.js","webpack://apexchatwidgets/./widgets/core/hooks/getScript.js","webpack://apexchatwidgets/./widgets/trackingcookies.js","webpack://apexchatwidgets/./widgets/core/ChatUtilityFunctions.js","webpack://apexchatwidgets/./widgets/core/hooks/crossDomainTracking.js","webpack://apexchatwidgets/./widgets/core/hooks/elementIsNotNULL.js","webpack://apexchatwidgets/./widgets/core/BaseWidget.js","webpack://apexchatwidgets/./widgets/core/hooks/AgentImageHandler.js","webpack://apexchatwidgets/./widgets/core/hooks/SetADACompliantAttributes.js","webpack://apexchatwidgets/./widgets/core/hooks/ADACompliantActionButton.js","webpack://apexchatwidgets/./widgets/core/hooks/getViewport.js","webpack://apexchatwidgets/./widgets/core/hooks/BehaviorTypes.js","webpack://apexchatwidgets/./widgets/core/hooks/hideElement.js","webpack://apexchatwidgets/./widgets/core/hooks/ADACompliant.js","webpack://apexchatwidgets/./widgets/core/hooks/googleAnalytics4.js","webpack://apexchatwidgets/./widgets/core/hooks/isEscapeKey.js","webpack://apexchatwidgets/./widgets/core/hooks/getElementsByClassName.js","webpack://apexchatwidgets/./widgets/core/hooks/sendChatAndLeadAnalytics.js","webpack://apexchatwidgets/./widgets/core/hooks/isAcceptKey.js","webpack://apexchatwidgets/./widgets/core/hooks/getFixedTop.js","webpack://apexchatwidgets/./widgets/core/hooks/ManageFocusOnKeyEvents.js","webpack://apexchatwidgets/./widgets/core/hooks/AnalyticsTracking.js","webpack://apexchatwidgets/./widgets/core/hooks/googleAnalyticsObjectInit.js","webpack://apexchatwidgets/./widgets/core/hooks/getQueryStringValue.js","webpack://apexchatwidgets/./widgets/core/hooks/sendGAClientId.js","webpack://apexchatwidgets/./widgets/core/hooks/TempStorageCache.js","webpack://apexchatwidgets/./widgets/core/hooks/observe.js","webpack://apexchatwidgets/./widgets/core/hooks/getStyleForIframe.js","webpack://apexchatwidgets/./widgets/core/hooks/parseTemplate.js","webpack://apexchatwidgets/./widgets/core/utilities/Clone.js","webpack://apexchatwidgets/./widgets/core/WidgetBase.js","webpack://apexchatwidgets/./widgets/core/hooks/TimeTracker.js","webpack://apexchatwidgets/./widgets/core/hooks/throttleByFunctionName.js"],"sourcesContent":["import elementIsNotNULL from \"../../core/hooks/elementIsNotNULL\";\r\n\r\n/**\r\n * Shows or hides the specified element based on the value of isSpan.\r\n *\r\n * @param {string|HTMLElement} element - The element to show or hide.\r\n * @param {boolean} isSpan - A flag to determine if the element should be displayed inline-block.\r\n */\r\nconst showElement = function (element, isSpan) {\r\n // isSpan is introduced if element TagName is SPAN than it should be inline-block\r\n if (typeof element === 'string') {\r\n element = document.getElementById(element);\r\n }\r\n if (elementIsNotNULL(element)) {\r\n if (!isSpan) {\r\n element.style.display = 'block';\r\n } else {\r\n element.style.display = 'inline-block';\r\n }\r\n }\r\n};\r\nexport default showElement;\r\n","import getStorageAPIValue from './getStorageAPIValue';\r\nimport GlobalVariables from '../GlobalVariables';\r\n\r\nconst logClickEventOnGA = () => {\r\n function createGuid() {\r\n return '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 & 3) | 8;\r\n return v.toString(16);\r\n });\r\n }\r\n try {\r\n if (getStorageAPIValue('apex_ga_click_logged') != 'true') {\r\n const ga_url = `https://www.google-analytics.com/collect?v=1&tid=UA-41498037-4&t=event&ec=ChatStart&ea=NewChat&cid=${createGuid()}&dl=${GlobalVariables.ApexChatBaseUrl}`;\r\n const elem = document.createElement('img');\r\n elem.src = ga_url;\r\n elem.setAttribute('width', 1);\r\n elem.setAttribute('height', 1);\r\n elem.setAttribute('style', 'display:none;');\r\n document.head.appendChild(elem);\r\n ApexChat.storageAPI.Store('apex_ga_click_logged', true);\r\n }\r\n } catch (e) { }\r\n};\r\nexport default logClickEventOnGA;\r\n","const isTabKey = function (e) {\r\n return e.key === 'Tab';\r\n};\r\nexport default isTabKey;\r\n","import GlobalVariables from \"../GlobalVariables\";\r\n\r\n\r\nconst addStyleTextInIframe = (text, id, before, dom) => {\r\n try {\r\n\r\n let cssNode = null;\r\n const defaultSheetId = 'apexchat_default_iframeCss';\r\n id = id || defaultSheetId;\r\n cssNode = dom.getElementById(id);\r\n if (!cssNode) {\r\n cssNode = dom.createElement('style');\r\n cssNode.type = 'text/css';\r\n cssNode.rel = 'stylesheet';\r\n cssNode.media = 'screen';\r\n if (id) {\r\n cssNode.id = id;\r\n }\r\n }\r\n // running cache of styles so we don't query the dom; fixes a bug in <= IE7 where dom querying blows up\r\n if (!GlobalVariables.iframeStyles[id]) {\r\n GlobalVariables.iframeStyles[id] = '';\r\n }\r\n GlobalVariables.iframeStyles[id] += text;\r\n\r\n if (cssNode.styleSheet) {\r\n cssNode.styleSheet.cssText = GlobalVariables.iframeStyles[id];\r\n } else {\r\n cssNode.appendChild(dom.createTextNode(text));\r\n }\r\n if (window.ApexChat.nonceValue) {\r\n cssNode.nonce = window.ApexChat.nonceValue;\r\n }\r\n if (before) {\r\n dom.getElementsByTagName('head')[0].insertBefore(\r\n cssNode,\r\n dom.getElementsByTagName('head')[0].firstChild\r\n );\r\n } else {\r\n dom.getElementsByTagName('head')[0].appendChild(cssNode);\r\n }\r\n } catch (ex) {\r\n if (window.console) {\r\n window.console.error(ex);\r\n }\r\n }\r\n};\r\nexport default addStyleTextInIframe;\r\n","import { LogLevel } from '../enums/Enum';\r\nimport ServerLog from './ServerLog';\r\nimport GlobalVariables from '../GlobalVariables';\r\n\r\n\r\nconst getScript = (url, callback, debug) => {\r\n let script = document.createElement('script');\r\n const head = document.head || document.getElementsByTagName('head')[0] || document.documentElement;\r\n\r\n script.src = url;\r\n if (debug === true) {\r\n script.src += '&debug=true';\r\n }\r\n\r\n script.id = `apexchat_script_${++GlobalVariables.scriptId}`;\r\n\r\n // add a monitor\r\n const timeout = window.setTimeout(() => {\r\n if (!script.loaded) {\r\n ServerLog.log({\r\n level: LogLevel.Error,\r\n visitorId: 0,\r\n companyId: 0,\r\n text: 'Timeout hit'\r\n });\r\n alert(\"We're sorry, but the chat could not be started. Please try again.\");\r\n }\r\n }, 30000);\r\n\r\n // when the script loads, clear the timeout and invoke the callback\r\n script.onload = script.onreadystatechange = function (_, isAbort) {\r\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\r\n window.clearTimeout(timeout);\r\n try {\r\n // Callback if not abort\r\n if (!isAbort) {\r\n callback();\r\n }\r\n\r\n // Handle memory leak in IE\r\n script.onload = script.onreadystatechange = null;\r\n\r\n // Remove the script\r\n if (head && script.parentNode) {\r\n head.removeChild(script);\r\n }\r\n\r\n // Dereference the script\r\n script = undefined;\r\n } catch (e) {\r\n }\r\n }\r\n };\r\n\r\n // Use insertBefore instead of appendChild to circumvent an IE6 bug.\r\n // This arises when a base node is used, per Jquery bugs (#2709 and #4378).\r\n head.insertBefore(script, head.firstChild);\r\n};\r\nexport default getScript;\r\n","import Cookies from \"./core/hooks/Cookies\";\r\n\r\n\r\nexport function getParam(s, q) {\r\n try {\r\n const match = s.match(`[?&]${q}=([^&]+)`);\r\n return match ? match[1] : '';\r\n // return s.match(RegExp('(^|&)'+q+'=([^&]*)'))[2];\r\n } catch (e) {\r\n return '';\r\n }\r\n}\r\n\r\nexport function calculateTrafficSource() {\r\n let source = '';\r\n let medium = '';\r\n let campaign = '';\r\n let term = '';\r\n let content = '';\r\n let campaignId = '';\r\n const search_engines = [\r\n ['bing', 'q'],\r\n ['google', 'q'],\r\n ['yahoo', 'q'],\r\n ['baidu', 'q'],\r\n ['yandex', 'q'],\r\n ['ask', 'q']\r\n ]; // List of search engines\r\n let ref = document.referrer;\r\n ref = ref.substr(ref.indexOf('//') + 2);\r\n let ref_domain = ref;\r\n let ref_path = '/';\r\n let ref_search = '';\r\n // Checks for campaign parameters\r\n const url_search = document.location.search;\r\n\r\n // console.log(url_search.indexOf('utm_source'));\r\n // console.log(getParam(url_search, 'gclid'));\r\n // console.log(url_search);\r\n\r\n // Note for future: client can have both utm parameters and gclid values. it shouldn't be if/else.\r\n if (url_search.indexOf('utm_') > -1) {\r\n source = getParam(url_search, 'utm_source');\r\n medium = getParam(url_search, 'utm_medium');\r\n campaign = getParam(url_search, 'utm_campaign');\r\n term = getParam(url_search, 'utm_term');\r\n content = getParam(url_search, 'utm_content');\r\n campaignId = getParam(url_search, 'utm_id');\r\n } else if (getParam(url_search, 'gclid')) {\r\n source = 'google';\r\n medium = 'cpc';\r\n campaign = '(not set)';\r\n } else if (ref) {\r\n // separate domain, path and query parameters\r\n if (ref.indexOf('/') > -1) {\r\n ref_domain = ref.substr(0, ref.indexOf('/'));\r\n ref_path = ref.substr(ref.indexOf('/'));\r\n if (ref_path.indexOf('?') > -1) {\r\n ref_search = ref_path.substr(ref_path.indexOf('?') + 1);\r\n ref_path = ref_path.substr(0, ref_path.indexOf('?'));\r\n }\r\n }\r\n medium = 'referral';\r\n source = ref_domain;\r\n // Extract term for organic source\r\n for (let i = 0; i < search_engines.length; i++) {\r\n if (ref_domain.indexOf(search_engines[i][0]) > -1) {\r\n medium = 'organic';\r\n source = search_engines[i][0];\r\n term = getParam(ref_search, search_engines[i][1]) || '(not provided)';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n source,\r\n medium,\r\n campaign,\r\n term,\r\n content,\r\n campaignId\r\n };\r\n}\r\n\r\nexport function getTrafficSource(cookieName, hostname) {\r\n const trafficSources = calculateTrafficSource();\r\n let overwriteTrafficSource = false;\r\n if (trafficSources.source.length === 0) {\r\n overwriteTrafficSource = true;\r\n }\r\n const source = trafficSources.source.length === 0 ? 'direct' : trafficSources.source;\r\n const medium = trafficSources.medium.length === 0 ? 'none' : trafficSources.medium;\r\n let campaign = trafficSources.campaign.length === 0 ? 'direct' : trafficSources.campaign;\r\n // exception\r\n if (medium === 'referral') {\r\n campaign = '';\r\n }\r\n const rightNow = new Date();\r\n const value = `source=${source}&medium=${medium}&campaign=${campaign}&term=${trafficSources.term\r\n }&content=${trafficSources.content}&campaignId=${trafficSources.campaignId\r\n }&overwritetrafficsource=${overwriteTrafficSource}&date=${rightNow\r\n .toISOString()\r\n .slice(0, 10)\r\n .replace(/-/g, '')}`;\r\n return value;\r\n}\r\nexport function writeTrafficSourcesLogic(n) {\r\n let a = getTrafficSource(n, '.example.com'); // Insert your domain here\r\n a = a.replace(/\\|{2,}/g, '|');\r\n a = a.replace(/^\\|/, '');\r\n a = unescape(a);\r\n Cookies.set(n, a, 182); // Cookie expiration sets to 182 days\r\n}\r\n","import WidgetTypes from './enums/WidgetTypes';\r\nimport TempCache from './enums/TempCache';\r\n\r\nexport function getInitiatedBy(widgetType) {\r\n switch (widgetType) {\r\n case WidgetTypes.ExitPopup:\r\n return 'ExitPopup';\r\n case WidgetTypes.DOM:\r\n return 'Dom';\r\n case WidgetTypes.PreChat:\r\n return 'PreChat';\r\n case WidgetTypes.Bar:\r\n return 'Bar';\r\n case WidgetTypes.Tab:\r\n return 'Tab';\r\n case WidgetTypes.DropDown:\r\n return 'Standard';\r\n case WidgetTypes.Static:\r\n return 'Static';\r\n case WidgetTypes.VideoGreetInvitation:\r\n return 'VideoGreet';\r\n default:\r\n return 'Dom';\r\n }\r\n}\r\n// search the array for an item by its property\r\nexport function arrayObjectIndexOf(myArray, searchTerm, property) {\r\n let foundLast = -1;\r\n for (let i = 0, len = myArray.length; i < len; i++) {\r\n if (myArray[i][property].replace(TempCache.REMOVE_NON_ALPHANUMERIC, '') === searchTerm) {\r\n foundLast = i;\r\n }\r\n }\r\n return foundLast;\r\n}\r\n","const crossDomainTracking = (domain, gaAccount, isChat) => {\r\n // removing the leading www if it exists\r\n domain = domain.replace(/^(www\\.)/, '');\r\n if (isChat) {\r\n (function (i, s, o, g, r, a, m) {\r\n i.GoogleAnalyticsObject = r;\r\n (i[r] =\r\n i[r] ||\r\n function () {\r\n (i[r].q = i[r].q || []).push(arguments);\r\n }),\r\n (i[r].l = 1 * new Date());\r\n (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);\r\n a.async = 1;\r\n a.src = g;\r\n m.parentNode.insertBefore(a, m);\r\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\n\r\n ga('create', gaAccount, 'auto', { allowLinker: true });\r\n ga('require', 'linker');\r\n ga('linker:autoLink', [domain]);\r\n ga('send', 'event', 'Chats', 'chatStarted');\r\n } else {\r\n ga('send', 'event', 'ChatsToLeads', 'converted');\r\n }\r\n};\r\nexport default crossDomainTracking;\r\n","const elementIsNotNULL = function (object) {\r\n if (object) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nexport default elementIsNotNULL;\r\n","// import v3IframeStyles from '../styles/v3/v3-iframes.css';\r\n\r\nimport BaseClass from './BaseClass';\r\n//import LiveChatRoom from './LiveChatRoom'; // TODO: remove LiveChatRoom dependency as it's used in dropdown invitation case\r\nimport WidgetTypes from './enums/WidgetTypes';\r\nimport { getInitiatedBy } from './ChatUtilityFunctions';\r\nimport TempCache from './enums/TempCache';\r\nimport clone from './utilities/Clone';\r\nimport GlobalVariables from './GlobalVariables';\r\nimport getElementsByClassName from './hooks/getElementsByClassName';\r\nimport ChatMode from './hooks/ChatMode';\r\nimport ManageFocusOnKeyEvents from './hooks/ManageFocusOnKeyEvents';\r\nimport TimeTracker from './hooks/TimeTracker';\r\nimport ADACompliant from './hooks/ADACompliant';\r\nimport logClickEventOnGA from './hooks/logClickEventOnGA';\r\nimport { ChatSize, ChatType, InvitationDisplayMode, InvitationTabDirection, InviteSize, LogLevel, MobileDisplayMode, Position, SkinInviteType, SkinRegionType } from './enums/Enum';\r\nimport parseTemplate from './hooks/parseTemplate';\r\nimport getViewport from './hooks/getViewport';\r\nimport getFixedTop from './hooks/getFixedTop';\r\nimport sendChatAndLeadAnalytics from './hooks/sendChatAndLeadAnalytics';\r\nimport TempStorageCache from './hooks/TempStorageCache';\r\nimport Browser from './hooks/Browser';\r\nimport ServerLog from './hooks/ServerLog';\r\nimport getScript from './hooks/getScript';\r\nimport throttleByFunctionName from './hooks/throttleByFunctionName';\r\nimport SetADACompliantAttributes from './hooks/SetADACompliantAttributes';\r\nimport googleAnalyticsObjectInit from './hooks/googleAnalyticsObjectInit';\r\nimport getGaClientId from './hooks/getGaClientId';\r\nimport { writeTrafficSourcesLogic } from '../trackingcookies';\r\nimport Behaviors from './WidgetBase';\r\nimport getQueryStringValue from './hooks/getQueryStringValue';\r\nimport BehaviorTypes from './hooks/BehaviorTypes';\r\nimport getStyleForIframe from './hooks/getStyleForIframe';\r\nimport observe from './hooks/observe';\r\nimport Cookies from './hooks/Cookies';\r\nimport WidgetStates from './hooks/WidgetStates';\r\nimport getCookieValue from './hooks/getCookieValue';\r\nimport getStorageAPIValue from './hooks/getStorageAPIValue';\r\nimport storageAPIExists from './hooks/storageAPIExists';\r\nimport isEscapeKey from './hooks/isEscapeKey';\r\nimport isTabKey from './hooks/isTabKey';\r\nimport isAcceptKey from './hooks/isAcceptKey';\r\nimport showElement from './hooks/showElement';\r\nimport logIt from '../../logIt';\r\n\r\nexport class BaseWidget extends BaseClass {\r\n /** BASIC INIT LIFECYCLE METHODS * */\r\n constructor(options) {\r\n super(options); // Zee: this will set global variable in BaseClass\r\n const me = this;\r\n // important: adjust DOM object based on options.iframeId\r\n if (options.iframeId) {\r\n const iFrame = document.getElementById(options.iframeId);\r\n this.DOM = (iFrame.contentWindow || iFrame.contentDocument).document;\r\n this.iFrameWindow = iFrame.contentWindow || iFrame.contentDocument;\r\n }\r\n this.container = this.getContainer();\r\n this.options = Object.assign(\r\n {\r\n targetElementId: null,\r\n chatSize: ChatSize.Small,\r\n overrideHandlerId: 0,\r\n invitationDisplayMode: InvitationDisplayMode.Drop,\r\n containerId: 'apexchat_invitation_container_wrapper',\r\n maskId: 'apexchat_invitation_mask',\r\n inProgressContainerId: 'apexchat_invitation_container_inprogress_wrapper',\r\n minimizedContainerId: 'apexchat_invitation_container_minimized_wrapper',\r\n exitPopupRegionEditorContainerId:\r\n 'apexchat_invitation_container_exit_popup_region_editor_wrapper',\r\n callToActionId: 'apexchat_invitation_calltoaction',\r\n mobileDOM_MinimizeInvitation: 'apexchat_chevronstyle_dom_invitation_minimize',\r\n mobileDOM_Chevron: 'apexchat_chevronstyle_arrow_direction',\r\n mobileDOM_ChevronInMinimizedContainer: 'apexchat_chevronstyle_min_arrow_direction',\r\n chevronStyle_MinimizeInvitation: 'apexchat_chevronstyle_dom_min_minimize',\r\n chevronStyle_AgentImage: 'apexchat_chevronstyle_dom_agent_img',\r\n minimizedCallToActionId: 'apexchat_minimized_invitation_calltoaction',\r\n closeButtonId: 'apexchat_invitation_close',\r\n altCloseButtonId: 'apexchat_invitation_close_alt',\r\n tabHeaderId: 'livechat_invitation_tab',\r\n exitPopupContainerId: 'apexchat_exit_popup_chat_wrapper',\r\n exitPopupMinimizedContainerId:\r\n 'apexchat_invitation_container_exit_popup_minimized_wrapper',\r\n initialLoadTimeout: 500,\r\n subsequentLoadTimeout: 0,\r\n animationTime: 0,\r\n handlerImageUrl: '/contents/images/agents/amanda.jpg',\r\n agentName: 'Amanda',\r\n agentAliasId: 0,\r\n operatorId: 0,\r\n defaultOperatorId: -1,\r\n visitorId: 0,\r\n profileId: 0,\r\n highlightColor: '#fff118',\r\n // if true, when the close icon is clicked, the entire thing will hide, and no mimized version will be shown\r\n hideOnClose: false,\r\n alwaysShowMinimizedInviteInSecondaryLocation: false,\r\n // if true, when the close icon is clicked and \"hideOnClose\" is true, the invitation will not show again until the session runs out\r\n maintainHiddenState: false,\r\n // if true, when the close icon is clicked, the minimized version will be shown from then on\r\n maintainMinimizedState: false,\r\n skinInviteType: SkinInviteType.Standard,\r\n invitationTabTextTemplate: 'Live Chat',\r\n invitationMinimizedTabTextTemplate: 'Live Chat',\r\n invitationInProgressTabTextTemplate: 'Live Chat',\r\n invitationTextTemplate: \"Hi! My name's <#=agentName#>. Can I help you?\",\r\n invitationMinimizedTextTemplate: 'Chat with <#=agentName#>',\r\n invitationInProgressTextTemplate: 'Chatting with <#=agentName#>',\r\n invitationActionTextTemplate: 'Start Chat',\r\n invitationActionVideoTextTemplate: 'Video Chat',\r\n invitationVideoActionText: parseTemplate(\r\n this.invitationVideoActionTextTemplate,\r\n me.options\r\n ),\r\n invitationMinimizedActionTextTemplate: 'Start Chat',\r\n invitationInProgressActionTextTemplate: 'Resume Chat',\r\n invitationCloseTextTemplate: '',\r\n invitationWidgetStyle: '',\r\n invitationWidgetStyleQuirks: '',\r\n invitationWidgetStyleIE6: '',\r\n invitationWidgetStyleCustom: '',\r\n invitationWidgetTemplate: '',\r\n invitationWidgetTemplateMinimized: '',\r\n invitationWidgetTemplateInProgress: '',\r\n poweredBy:\r\n 'Powered by Blazeo',\r\n chatMode: ChatMode.Windowed,\r\n position: Position.Right,\r\n secondaryPosition: Position.Right,\r\n invitationHideShowTabEnabled: false,\r\n invitationTabDirection: InvitationTabDirection.Down,\r\n invitationShowTabDuration: 1000,\r\n wiggleEnabled: false,\r\n wiggleInterval: 10000,\r\n rememberShownState: true,\r\n preloadEnabled: false,\r\n fixFlash: false,\r\n isMobile: false,\r\n mobileDisplayMode: MobileDisplayMode.Default,\r\n frameBuster: false,\r\n frameBusterMessage: '',\r\n invitationMask: false,\r\n language: getQueryStringValue('language') || 'eng',\r\n enableChatWindowCloseWarning: false,\r\n chatbar: null,\r\n reShowIntervalMinutes: 0,\r\n smsEnabled: false,\r\n smsSubject: 'I need...',\r\n smsNumber: '9999999999',\r\n applyMobileViewport: false\r\n },\r\n options || {}\r\n );\r\n this.widget = options.widget;\r\n this.draggables = options.draggables; // a new property to keep custom dragable areas/elements in the form of css selectors\r\n this.initiatedBy = getInitiatedBy(this.widget);\r\n // this.query = this.getQueryString(false, true, this.language, this.interceptorResults);\r\n\r\n this.behaviors = [];\r\n this.state.changeState({ toState: WidgetStates.Initialized });\r\n }\r\n ready() {\r\n const me = this;\r\n this.state.changeState({ toState: WidgetStates.Ready });\r\n TempStorageCache.add('WriteTrafficSourcesLogicApplied', false, true);\r\n }\r\n create() {\r\n const me = this;\r\n if (me.options.styleName) {\r\n console.log(`domain ${GlobalVariables.CdnBaseUrl} Loading ${ApexChat.Theme}/${me.options.styleName}.css`);\r\n getStyleForIframe(\r\n `${GlobalVariables.CdnBaseUrl}contents/scripts/dist/${ApexChat.Theme}/${me.options.styleName}.css?ver=${env.BUILD_HASH}`,\r\n 'apexchat_Iframe_css',\r\n undefined, me.DOM\r\n );\r\n }\r\n\r\n me.state.changeState({ toState: WidgetStates.Created });\r\n const isWriteTrafficSourcesLogicApplied = TempStorageCache.get(\r\n 'WriteTrafficSourcesLogicApplied'\r\n );\r\n if (me.isInvitationType() && isWriteTrafficSourcesLogicApplied == 'false') {\r\n // ref. Chat-4318\r\n // while browsing within the domain, no need to change the cookie\r\n if (document.referrer.split('/')[2] != document.domain) {\r\n const previousSessionCookie = getCookieValue(\r\n TempCache.VISITOR_TRACKING_COOKIE\r\n );\r\n // over write the cookie only if paid search info was missing from before\r\n // JIRA 4044 - In case of version #1 we dont load trackingcookies.js in which writeTrafficSourceLogic Function is written.\r\n // checking function before calling.\r\n if (\r\n writeTrafficSourcesLogic &&\r\n (typeof previousSessionCookie === 'undefined' ||\r\n (previousSessionCookie &&\r\n previousSessionCookie.indexOf('overwritetrafficsource=true') > -1))\r\n ) {\r\n writeTrafficSourcesLogic(TempCache.VISITOR_TRACKING_COOKIE);\r\n TempStorageCache.add('WriteTrafficSourcesLogicApplied', true, true);\r\n }\r\n }\r\n }\r\n // Ref. CHAT-4659, CHAT-4959, we need to initialize ans listen for incoming messages for Main/RD inv\r\n if (me.options.widget == WidgetTypes.DropDown) {\r\n if (me.isActiveChatMinimizedOnPageReload()) {\r\n logIt(\r\n 'websync connected in case of an active chat refreshed in min state...'\r\n );\r\n if (me.room) {\r\n // already connected? exit to avoid double init\r\n return;\r\n }\r\n import(/* webpackChunkName: \"liveChatRoom\" */ './LiveChatRoom').then((module) => {\r\n const LiveChatRoom = module.default;\r\n me.room = new LiveChatRoom(\r\n Object.assign(me.options, {\r\n isFromInvitation: true\r\n })\r\n );\r\n me.room.initChatRoom();\r\n me.room.setChatId(\r\n getCookieValue(TempCache.CHAT_ID_COOKIE),\r\n getCookieValue(TempCache.CHAT_TOKEN_COOKIE)\r\n );\r\n });\r\n }\r\n }\r\n // addStyleTextInIframe(\r\n // me.options.v3IframeStyles,\r\n // 'apexchat_Iframe_css',\r\n // undefined,\r\n // me.DOM\r\n // );\r\n\r\n if (!TempCache.isStaticButtonRegistered) {\r\n me.registerStaticButton();\r\n me.subscribe(WidgetTypes.Static + WidgetStates.Clicked, (data) => {\r\n me.onInvitationClick(me, me.options.language, data.chatInitiatedBy);\r\n });\r\n TempCache.isStaticButtonRegistered = true;\r\n }\r\n }\r\n registerStaticButton() {\r\n const me = this;\r\n const staticButton = document.getElementsByClassName('apexchat-new-static-button')[0];\r\n if (staticButton) {\r\n const chatInitiatedBy = getInitiatedBy(WidgetTypes.Static);\r\n observe(staticButton, 'click', () => {\r\n me.postMessage({\r\n event: WidgetTypes.Static + WidgetStates.Clicked,\r\n data: { chatInitiatedBy }\r\n });\r\n });\r\n }\r\n }\r\n show() {\r\n const me = this;\r\n // This changeState is generic and doesnt need any condition.\r\n this.state.changeState({ toState: WidgetStates.ShownNormal });\r\n // ADA Compliance\r\n // summary: CSS Class 'apexchat_ada_compliance' has no CSS Styling behind it means it won't effect on UI.\r\n // Its only for detecting the ADA Complianced HTML elements on which we do need to have the TAB Focus.\r\n // This is the Utility function which takes all HTML elements having the class 'apexchat_ada_compliance' as ARRAY, and apply the TabIndex on all of them.\r\n ADACompliant.push(me.DOM.getElementsByClassName('.apexchat_ada_compliance')).apply();\r\n // ADA compliance add attribute in start chat button\r\n SetADACompliantAttributes(\r\n me.DOM,\r\n this.options.chatMode,\r\n 'apexchat_ada_compliance_start_chat'\r\n );\r\n\r\n }\r\n /* CHAT related */\r\n preloadChatOptions(cb) {\r\n const me = this;\r\n let query = this.getQueryString(false, false);\r\n if (me.options.visitorInfoId) {\r\n query += `& visitorInfoId=${me.options.visitorInfoId}`;\r\n }\r\n let url;\r\n switch (this.options.invitationVersion) {\r\n case 2: // V3\r\n url = `${env.API_URL}/api/invitations/chats/preload?${query}`;\r\n break;\r\n case 1:\r\n url = `${evn.API_URL}/api/invitations/chats/preload?${query}`;\r\n break;\r\n case 0:\r\n default:\r\n url = `${evn.API_URL}api/invitations/chats/preload?${query}`;\r\n break;\r\n }\r\n getScript(url, () => {\r\n me.preLoadedOptions = ApexChat.getPreloadedChatOptions();\r\n ApexChat.preLoadedOptions = me.preLoadedOptions;\r\n if (me.preLoadedOptions) {\r\n // check preloaded options exist then store in local storage. CHAT-7522\r\n ApexChat.localStorageAPI.Store(\r\n 'livechat_preloaded_options',\r\n JSON.stringify(me.preLoadedOptions)\r\n );\r\n }\r\n me.state.changeState({\r\n toState: WidgetStates.PreloadedChatOptions\r\n });\r\n if (cb) {\r\n cb();\r\n }\r\n });\r\n }\r\n execChatStartHandler(callback, queryString) {\r\n const me = this;\r\n var query = ''\r\n\r\n if (queryString) {\r\n query = queryString;\r\n } else {\r\n query = this.getQueryString(false, true, me.options.language);\r\n }\r\n\r\n // const domain = ApexChat.Utils.removeHttpProtocols(me.options.domain);\r\n let url = `${GlobalVariables.LiveChatServiceUrl}Handlers/ChatStartHandler.ashx?initiatedBy=${me.initiatedBy}&${query}`;\r\n if (me.options.visitorInfoId) {\r\n url += `& visitorInfoId=${me.options.visitorInfoId}`;\r\n }\r\n if (me.options.videoGreetEnabled) {\r\n url += '&videoGreetWatchTime=' + ApexChat.options.videoGreetWatchTime;\r\n }\r\n getScript(url, () => {\r\n me.chatStartOptions = ApexChatStartData;\r\n if (callback) {\r\n callback();\r\n }\r\n import(/* webpackChunkName: \"dataDogHandler\" */ './analytics/DataDogHandler').then(module => {\r\n const dataDogHandler = module.default;\r\n const analyticsHandler = new dataDogHandler()\r\n analyticsHandler.createAction({ name: 'ChatStarted', key: 'ChatStarted', data: me.chatStartOptions });\r\n analyticsHandler.createUserSession();\r\n })\r\n });\r\n }\r\n execChatStartHandlerWithThrottle(cb) {\r\n return throttleByFunctionName(\r\n this.execChatStartHandler.bind(this), 5\r\n );\r\n }\r\n preloadFormOptions(cb) {\r\n let query = this.getQueryString(false, false);\r\n if (this.options.chatMode == ChatMode.Windowed) {\r\n query = ApexChatQuery;\r\n }\r\n getScript(`${GlobalVariables.LiveChatServiceUrl}Handlers/v2/FormPreload.ashx?${query}`, () => {\r\n cb();\r\n });\r\n }\r\n preloadVisitorFormOptions(cb) {\r\n const query = this.getQueryString(false, false);\r\n const url = `${GlobalVariables.LiveChatServiceUrl}Handlers/v2/VisitorFormPreload.ashx?${query}`;\r\n getScript(url, () => {\r\n cb();\r\n });\r\n }\r\n reInitChat() {\r\n const me = this;\r\n const query = me.getQueryString(false, true, me.options.language);\r\n me.preloadChatOptions(() => {\r\n ApexChat.ApexChatJquery.get(`${GlobalVariables.LiveChatServiceUrl}/Handlers/ChatStartHandler.ashx?${query}`, (data) => {\r\n ApexChatStartData = eval(data)\r\n me.chatStartOptions = ApexChatStartData;\r\n me.uicontroller.room = null;\r\n me.uicontroller.loadChatRoom();\r\n });\r\n import(/* webpackChunkName: \"dataDogHandler\" */ './analytics/DataDogHandler').then(module => {\r\n const dataDogHandler = module.default;\r\n const analyticsHandler = new dataDogHandler()\r\n analyticsHandler.createAction({ name: 'ChatStarted', key: 'ChatStarted', data: me.chatStartOptions });\r\n\r\n })\r\n });\r\n }\r\n /** METHODS FOR STATE MANAGEMENT * */\r\n getCurrentState() {\r\n // ZEE: this must be tested against each widget type!\r\n const state = this.state.getCurrentState();\r\n return state;\r\n }\r\n minimize() {\r\n this.state.changeState({\r\n toState: WidgetStates.ShownMinimized\r\n });\r\n showElement(this.options.parentDivId);\r\n showElement(\r\n this.DOM.getElementById(this.widget + WidgetStates.ShownMinimized)\r\n );\r\n }\r\n maximize() {\r\n this.state.changeState({\r\n toState: WidgetStates.ShownMaximized\r\n });\r\n showElement(this.options.parentDivId);\r\n showElement(\r\n this.DOM.getElementById(this.widget + WidgetStates.ShownMaximized)\r\n );\r\n import(/* webpackChunkName: \"dataDogHandler\" */ './analytics/DataDogHandler').then(module => {\r\n const dataDogHandler = module.default;\r\n const analyticsHandler = new dataDogHandler()\r\n analyticsHandler.createView(this.widget);\r\n })\r\n\r\n }\r\n hide() {\r\n this.state.changeState({ toState: WidgetStates.Hidden });\r\n }\r\n popout() {\r\n this.state.changeState({ toState: WidgetStates.PoppedOut });\r\n }\r\n async close() {\r\n this.state.changeState({ toState: WidgetStates.Closed });\r\n const module = await import(/* webpackChunkName: \"questionTypeRendererFactory\" */ '../questiontypes/QuestionTypeRendererFactory')\r\n const QuestionTypeRendererFactory = module.default;\r\n new QuestionTypeRendererFactory().destroy();\r\n }\r\n /** EVENT HANDLERS * */\r\n onInvitationClick(e, language, chatInitiatedBy, extra) {\r\n const me = this;\r\n logClickEventOnGA();\r\n const isDomChatPoppedOut =\r\n ApexChat.WindowedChatStarted ||\r\n getStorageAPIValue('livechat_has_windowed_chat_started') == 'true';\r\n const tracker = new TimeTracker()\r\n tracker.start();\r\n var usingSmsService = false;\r\n // me.invokeChatInterceptor(); It is now being invoked in getQueryString function\r\n if (chatInitiatedBy == 'FacebookMessenger') {\r\n me.startFacebookChat();\r\n } else if (chatInitiatedBy == 'TabSMS') {\r\n chatInitiatedBy = 'Tab';\r\n me.getSmsService(chatInitiatedBy);\r\n usingSmsService = true;\r\n } else if (chatInitiatedBy == 'BarSmsContainer') {\r\n me.getSmsService(chatInitiatedBy);\r\n usingSmsService = true;\r\n } else if (this.options.chatMode == ChatMode.Windowed) {\r\n if (this.options.requestVisitorInfo) {\r\n this.postMessage({\r\n event: me.state.widget + WidgetStates.VisitorFormClicked,\r\n data: {\r\n chatInitiatedBy,\r\n interceptorResults: me.interceptorResults\r\n }\r\n });\r\n } else {\r\n me.options.language = language;\r\n me.options.chatInitiatedBy = chatInitiatedBy;\r\n me.postMessage({\r\n event: me.state.widget + WidgetStates.Clicked,\r\n data: { chatInitiatedBy }\r\n }); // Must known to widget that chat has been clicked and windowed chat started.\r\n me.startWindowedChat(Object.assign(me.options, extra)); // extend option object with extra paramters\r\n }\r\n } else if (this.options.chatMode == ChatMode.DOM && !isDomChatPoppedOut) {\r\n /* Preventing DOM chat to open again if DOM chat popped out */ if (\r\n this.options.requestVisitorInfo\r\n ) {\r\n this.postMessage({\r\n event: me.state.widget + WidgetStates.VisitorFormClicked,\r\n data: {\r\n chatInitiatedBy,\r\n interceptorResults: me.interceptorResults\r\n }\r\n });\r\n } else {\r\n this.postMessage({\r\n event: me.state.widget + WidgetStates.Clicked,\r\n data: {\r\n chatInitiatedBy,\r\n interceptorResults: me.interceptorResults,\r\n selectedLanguage: language\r\n }\r\n });\r\n }\r\n ApexChat.options._domStartTime = new Date().getTime();\r\n }\r\n if (usingSmsService) {\r\n var visitorsGoogleClientId = Cookies.get('ga_client_id');\r\n sendChatAndLeadAnalytics(ApexChat.options.companyTrackingSettings, true, visitorsGoogleClientId);\r\n }\r\n if (isDomChatPoppedOut) {\r\n /* To refocus windowed chat when user click again on invitation icon */\r\n me.startWindowedChat(me.options);\r\n }\r\n if (this.widget == WidgetTypes.DropDown) {\r\n // this.state.changeState({ toState: WidgetStates.Clicked });\r\n }\r\n // e.stopPropagation();\r\n // e.preventDefault();\r\n }\r\n invokeChatInterceptor() {\r\n const me = this;\r\n try {\r\n if (window.ChatInterceptor) {\r\n me.interceptorResults = window.ChatInterceptor();\r\n // allow end-user interception\r\n if (me.interceptorResults === false) {\r\n }\r\n }\r\n } catch (exInner) {\r\n // don't care\r\n }\r\n }\r\n startFacebookChat() {\r\n const me = this;\r\n if (this.options.isMobile) {\r\n // If user on Mobile Opening Facebook Messenger App\r\n me.DOM.getElementById('apex-hidden-anchorTag').setAttribute(\r\n 'href',\r\n `https://m.me/${this.options.companyFacebookPageName}/`\r\n );\r\n } else {\r\n // If user on Desktop, Starting Facebook Chat with Company's facebook page.\r\n me.DOM.getElementById('apex-hidden-anchorTag').setAttribute(\r\n 'href',\r\n `https://www.facebook.com/messages/t/${this.options.companyFacebookPageName}`\r\n );\r\n }\r\n me.DOM.getElementById('apex-hidden-anchorTag').click();\r\n }\r\n onVideoChatClick(e, language, chatInitiatedBy) {\r\n this.state.changeState({\r\n toState: WidgetStates.DynamicVisitorFormClicked\r\n });\r\n }\r\n setClickCallToAction(element, chatInitiatedBy, extra) {\r\n const me = this;\r\n const clickCallToAction = me.DOM.getElementById(element);\r\n let language =\r\n chatInitiatedBy == 'Tab'\r\n ? me.options.chatTab.language\r\n : chatInitiatedBy == 'Bar'\r\n ? me.options.chatbar.language\r\n : me.options.language;\r\n if (!language) {\r\n language = me.options.language;\r\n }\r\n if (clickCallToAction) {\r\n clickCallToAction.style.cursor = 'pointer';\r\n clickCallToAction.addEventListener('click',\r\n me.onInvitationClick.bind2(me, language, chatInitiatedBy, extra)\r\n ); // extra is a additional parameter we want to send on invitation click\r\n me.handleADA(\r\n clickCallToAction,\r\n me.onInvitationClick.bind2(me, language, chatInitiatedBy, extra)\r\n );\r\n }\r\n }\r\n openWindowed(e, v3WidgetType) {\r\n const me = this;\r\n me.postMessage({\r\n event: v3WidgetType + WidgetStates.Clicked,\r\n data: {}\r\n });\r\n me.options.chatInitiatedBy = getInitiatedBy(v3WidgetType);\r\n me.startWindowedChat(me.options);\r\n }\r\n bindWindowedHandler(selector, v3WidgetType) {\r\n const me = this;\r\n const element = me.DOM.querySelector(selector);\r\n if (!element) {\r\n return;\r\n }\r\n element.addEventListener('click', (e) => {\r\n me.openWindowed(e, v3WidgetType);\r\n })\r\n me.handleADA(element, me.openWindowed.bind2(me, v3WidgetType));\r\n }\r\n formChat(e, language, chatInitiatedBy) {\r\n this.state.changeState({\r\n toState: WidgetStates.VisitorFormClicked\r\n });\r\n }\r\n permutator(inputArr) {\r\n const results = [];\r\n function permute(arr, memo) {\r\n let cur;\r\n memo = memo || [];\r\n for (let i = 0; i < arr.length; i++) {\r\n cur = arr.splice(i, 1);\r\n if (arr.length === 0) {\r\n results.push(memo.concat(cur));\r\n }\r\n permute(arr.slice(), memo.concat(cur));\r\n arr.splice(i, 0, cur[0]);\r\n }\r\n return results;\r\n }\r\n return permute(inputArr);\r\n }\r\n getSmsMessage(chatInitiatedBy) {\r\n const me = this;\r\n switch (chatInitiatedBy) {\r\n case 'Tab':\r\n case 'TabSmsContainer':\r\n return me.options.chatTab.chatTabSmsMessage;\r\n case 'Bar':\r\n case 'BarSmsContainer':\r\n return me.options.chatbar.chatBarSmsMessage;\r\n case 'SmsContainer':\r\n return me.options.smsSubject;\r\n default:\r\n return '';\r\n }\r\n }\r\n getSmsService(chatInitiatedBy) {\r\n const me = this;\r\n me.invokeChatInterceptor();\r\n const ChArray = me.permutator(TempCache.UNICODE_CH);\r\n // me.options.isMobile = true;\r\n // only proceed further if request coming from mobile\r\n if (!me.options.isMobile) {\r\n me.postMessage({\r\n event: 'apexchat_sms_form_show',\r\n data: { chatInitiatedBy }\r\n });\r\n return false;\r\n }\r\n // choose the data based on chatInitiatedBy\r\n const smsOptions = chatInitiatedBy == 'Tab' ? me.options.chatTab : me.options.chatbar;\r\n // only for static, chat tab sms and chat bar sms\r\n if (\r\n chatInitiatedBy == 'BarSmsContainer' ||\r\n chatInitiatedBy == 'SmsContainer' ||\r\n (chatInitiatedBy == 'Tab' && smsOptions.chatTabType == ChatType.sms) ||\r\n (chatInitiatedBy == 'Bar' && smsOptions.chatBarType == ChatType.sms)\r\n ) {\r\n if (!me.options.smsNumber) {\r\n console.warn('You have SMS enabled, but no SMS number specified!');\r\n }\r\n const separator = Browser.isiOS() ? '&' : '?';\r\n let url = `sms:${me.options.smsNumber}`;\r\n const EncodeArray = me.permutator(TempCache.UNICODE_EN);\r\n TempCache.UNICODE_INDEX = Math.floor(Math.random() * 120) + 1 - 1;\r\n const smsMessage = me.getSmsMessage(chatInitiatedBy);\r\n if (smsMessage) {\r\n // url += separator + 'body=' + encodeURIComponent(smsMessage) + UNICODE_EN[UNICODE_INDEX].join(''); //\\u00AD \\u0020 \\u2063 '\\u00A0' '\\u200B'\r\n url += `${separator}body=${EncodeArray[TempCache.UNICODE_INDEX].join(\r\n ''\r\n )}${encodeURIComponent(smsMessage)}`;\r\n } else {\r\n url += `${separator}body=${EncodeArray[TempCache.UNICODE_INDEX].join('')}`;\r\n }\r\n if (!window.ga) {\r\n // ref. Chat-3904\r\n googleAnalyticsObjectInit('ga');\r\n }\r\n const gaClientId = getGaClientId(me.options.googleAnalyticsAccount, ga);\r\n const trafficCookie = getCookieValue('livechat_invitation_traffic_sources');\r\n window.location.href = url;\r\n const data = {\r\n smsCh: `\\\\${ChArray[TempCache.UNICODE_INDEX].join('\\\\')}`,\r\n visitationLogID:\r\n me.options.visitorId || getCookieValue(TempCache.VISITOR_ID_COOKIE),\r\n companyId: me.options.companyId,\r\n initiatedBy: chatInitiatedBy,\r\n language: me.options.language,\r\n chatInterceptorValue: me.interceptorResults,\r\n gaClientId,\r\n trafficCookie: trafficCookie || ''\r\n };\r\n // ajax call to sms log call\r\n me.$.getJSON(`${GlobalVariables.ApexChatBaseUrl}/Handlers/SmsLogHandler.ashx`, data, (result) => {\r\n console.log('sms handler requested....');\r\n });\r\n }\r\n }\r\n /** METHODS RELATED TO REGION RELATED * */\r\n getRegionData(region) {\r\n const data = clone(region);\r\n let borderStyle = '';\r\n let backgroundStyle = '';\r\n data.fontCSS = region.textFont;\r\n data.width = region.width;\r\n data.height = region.height;\r\n data.zIndex = region.zIndex;\r\n if (region.borderWidth && region.borderWidth != '0px') {\r\n borderStyle = `border: solid ${region.borderWidth} ${region.borderColor ? region.borderColor : '#000000'\r\n }; `;\r\n if (region.borderRadius && region.borderRadius != '0px') {\r\n borderStyle += `border-radius: ${region.borderRadius}; `;\r\n }\r\n // width = width - 2 * parseInt(region.borderWidth, 10);\r\n // height = height - 2 * parseInt(region.borderWidth, 10);\r\n }\r\n if (region.backgroundColor) {\r\n backgroundStyle += `background-color: ${region.backgroundColor ? region.backgroundColor : 'inherit'\r\n }; `;\r\n }\r\n if (region.backgroundImage) {\r\n backgroundStyle += `background-image:url(${region.backgroundImage ? region.backgroundImage : 'none'\r\n });`;\r\n } else {\r\n // force IE to have a background image so it's clickable\r\n backgroundStyle +=\r\n 'background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); ';\r\n }\r\n data.extraCss = '';\r\n switch (region.type) {\r\n case SkinRegionType.videoChat:\r\n case SkinRegionType.VideoChat:\r\n case SkinRegionType.action:\r\n case SkinRegionType.Action:\r\n data.extraCss += 'cursor: pointer; ';\r\n break;\r\n }\r\n data.extraCss += borderStyle + backgroundStyle;\r\n return data;\r\n }\r\n // getRegionContent(region) {\r\n // const content = '';\r\n // let profile = this.options.profileTextsHash[region.threeLetterISOLanguageName];\r\n // if (!profile) {\r\n // profile = this.options;\r\n // }\r\n // switch (region.type) {\r\n // case SkinRegionType.ProfileText:\r\n // case SkinRegionType.profileText:\r\n // switch (region.profileTextType) {\r\n // case ProfileTextType.poweredBy:\r\n // return profile.poweredBy;\r\n // case ProfileTextType.PoweredBy:\r\n // return profile.poweredBy;\r\n // // case ProfileTextType.disclaimer: return profile.disclaimer;\r\n // case ProfileTextType.action:\r\n // return profile.invitationActionText;\r\n // case ProfileTextType.Action:\r\n // return profile.invitationActionText;\r\n // case ProfileTextType.close:\r\n // return profile.invitationCloseText;\r\n // case ProfileTextType.Close:\r\n // return profile.invitationCloseText;\r\n // case ProfileTextType.header:\r\n // return profile.invitationHeader;\r\n // case ProfileTextType.Header:\r\n // return profile.invitationHeader;\r\n // case ProfileTextType.invitation:\r\n // return profile.invitationText;\r\n // case ProfileTextType.Invitation:\r\n // return profile.invitationText;\r\n // case ProfileTextType.tab:\r\n // return profile.invitationTabText;\r\n // case ProfileTextType.Tab:\r\n // return profile.invitationTabText;\r\n // case ProfileTextType.actionMinimized:\r\n // return profile.invitationMinimizedActionText;\r\n // case ProfileTextType.ActionMinimized:\r\n // return profile.invitationMinimizedActionText;\r\n // case ProfileTextType.invitationMinimized:\r\n // return profile.invitationMinimizedText;\r\n // case ProfileTextType.InvitationMinimized:\r\n // return profile.invitationMinimizedText;\r\n // case ProfileTextType.tabMinimized:\r\n // return profile.invitationMinimizedTabText;\r\n // case ProfileTextType.TabMinimized:\r\n // return profile.invitationMinimizedTabText;\r\n // case ProfileTextType.actionInProgress:\r\n // return profile.invitationInProgressActionText;\r\n // case ProfileTextType.ActionInProgress:\r\n // return profile.invitationInProgressActionText;\r\n // case ProfileTextType.invitationInProgress:\r\n // return profile.invitationInProgressText;\r\n // case ProfileTextType.InvitationInProgress:\r\n // return profile.invitationInProgressText;\r\n // case ProfileTextType.tabInProgress:\r\n // return profile.invitationInProgressTabText;\r\n // case ProfileTextType.TabInProgress:\r\n // return profile.invitationInProgressTabText;\r\n // case ProfileTextType.chatTitle:\r\n // return profile.chatTitle;\r\n // case ProfileTextType.ChatTitle:\r\n // return profile.chatTitle;\r\n // }\r\n // break;\r\n // case SkinRegionType.FixedText:\r\n // case SkinRegionType.fixedText:\r\n // return region.fixedText;\r\n // case SkinRegionType.VideoChat:\r\n // case SkinRegionType.videoChat:\r\n // return region.videoChat;\r\n // case SkinRegionType.Action:\r\n // case SkinRegionType.action:\r\n // if (!region.showActionText) {\r\n // return '';\r\n // }\r\n // switch (region.action) {\r\n // case InvitationAction.startChat:\r\n // case InvitationAction.StartChat:\r\n // if (region.inviteSize == InviteSize.Minimized) {\r\n // return profile.invitationMinimizedActionText;\r\n // }\r\n // return profile.invitationActionText;\r\n // case InvitationAction.close:\r\n // return profile.invitationCloseText;\r\n // case InvitationAction.Close:\r\n // return profile.invitationCloseText;\r\n // }\r\n // break;\r\n // case SkinRegionType.Image:\r\n // case SkinRegionType.image:\r\n // return ``;\r\n // case SkinRegionType.AgentImage:\r\n // case SkinRegionType.agentImage:\r\n // return `
`;\r\n // case SkinRegionType.OnlineIndicator: // ref. 3676\r\n // case SkinRegionType.onlineIndicator:\r\n // return '