{"version":3,"file":"registerPreChat.chunk.b296cedeb4feb17e40de.js","mappings":"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","sources":["webpack://apexchatwidgets/./widgets/core/animators/Animator.js","webpack://apexchatwidgets/./widgets/core/animators/PreChatAnimator.js","webpack://apexchatwidgets/./widgets/prechat/RegisterPreChat.js","webpack://apexchatwidgets/./widgets/core/hooks/getViewport.js","webpack://apexchatwidgets/./widgets/core/positioners/Positioner.js","webpack://apexchatwidgets/./widgets/core/hooks/getFixedTop.js","webpack://apexchatwidgets/./widgets/core/hooks/getStyle.js","webpack://apexchatwidgets/./widgets/core/positioners/DropDownPositioner.js"],"sourcesContent":["/**\r\n. a dedicated class for doing animations\r\n* */\r\nimport Browser from '../hooks/Browser';\r\nimport getFixedTop from '../hooks/getFixedTop';\r\nimport getViewport from '../hooks/getViewport';\r\nimport { Position } from '../enums/Enum';\r\nimport WidgetTypes from '../enums/WidgetTypes';\r\n/**\r\n * \r\n * @param {*} me.configurations \r\n * @param {*} dom optional document object to cater parent and iframe based DOM manipulation alike \r\n @returns \r\n */\r\n\r\nexport default class Animator {\r\n constructor(configurations, dom) {\r\n this.configuration = configurations;\r\n this.$el = this.configuration.el;\r\n this.DOM = dom || document;\r\n this.attr = 'bottom';\r\n }\r\n\r\n tabMaximize(options) {\r\n const me = this;\r\n const chatTabPosition = me.configuration.chatTab.chatTabLeftSide ? 'left' : 'right'; // We need in string that Tab is left or Right\r\n // summary: Due to RESET CSS the animation was not working because earlier version was using IN-Line CSS and now recently chat_tab.css was introduced so Sliding animation can only play via JS version\r\n let marginValue = parseFloat(me.configuration.chatTab.borderWidth) + 10;\r\n if (!me.configuration.chatTab.chatTabLeftSide) {\r\n marginValue += 5;\r\n }\r\n ApexChat.animate(\r\n document.getElementById(options.element),\r\n `top: 50%;${chatTabPosition}: -150px; margin-${chatTabPosition}: ${marginValue}px;`,\r\n {\r\n duration: 110,\r\n after() {\r\n ApexChat.animate(\r\n document.getElementById(options.element),\r\n `${chatTabPosition}: 0px; margin-${chatTabPosition}: ${marginValue}px;`,\r\n {\r\n duration: 500\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n tabMinimize(options) {\r\n const me = this;\r\n const chatTabPosition = me.configuration.chatTab.chatTabLeftSide ? 'left' : 'right'; // We need in string that Tab is left or Right\r\n const marginValue = `${parseFloat(me.configuration.chatTab.borderWidth) + 18}px`;\r\n ApexChat.animate(\r\n document.getElementById(options.element),\r\n `${chatTabPosition}: -150px; margin-${chatTabPosition}: -50px;top: 44%;`,\r\n {\r\n duration: 110,\r\n after() {\r\n ApexChat.animate(\r\n document.getElementById(options.element),\r\n `${chatTabPosition}: 0px; margin-${chatTabPosition}: ${marginValue};`,\r\n {\r\n duration: 500\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n slide(options, configuration, position) {\r\n const me = this;\r\n const pureElement = me.getPureElement(options.element);\r\n const ele = me.getElement(options.element, pureElement);\r\n const target = ele.offsetHeight;\r\n this.invitationHeight = target; // Store the height so we can still use it in height calculations if the tab is animating\r\n // set it at the right position, but with a 0px height\r\n ele.style[me.attr] = me.getEndPosition(position, ele);\r\n ele.style.height = '0px';\r\n this.initialDisplayAnimation = ApexChat.animate(pureElement, `height:${target}px`, {\r\n duration: me.configuration.animationTime,\r\n after() { }\r\n });\r\n }\r\n\r\n slideFromLeft(options, configuration, position) {\r\n const me = this;\r\n const pureElement = me.getPureElement(options.element);\r\n const ele = me.getElement(options.element, pureElement);\r\n let dims = getViewport();\r\n let start = `${dims[1]}px`;\r\n let end = me.getEndPosition(position, ele);\r\n // for IE, we deal with the top of the invitation\r\n if (Browser.isIE()) {\r\n me.attr = 'top';\r\n start = '0px';\r\n end = getFixedTop(position, ele);\r\n }\r\n // set it at the right position, but with a 0px height\r\n ele.style[me.attr] = end;\r\n dims = getViewport();\r\n let endinglocation = '';\r\n switch (position) {\r\n case Position.Right:\r\n case Position.TopRight:\r\n delete ele.style.left;\r\n ele.style.right = `${dims[0]}px`;\r\n endinglocation = 'right:0px';\r\n break;\r\n case Position.Left:\r\n case Position.TopLeft:\r\n ele.style.left = `${-ele.offsetWidth}px`;\r\n endinglocation = 'left:0px';\r\n break;\r\n case Position.Center:\r\n case Position.Middle:\r\n case Position.TopMiddle:\r\n ele.style.left = '0px';\r\n var left = `${dims[0] / 2 - ele.offsetWidth / 2}px`;\r\n endinglocation = `left:${left}`;\r\n break;\r\n default:\r\n }\r\n this.initialDisplayAnimation = ApexChat.animate(pureElement, endinglocation, {\r\n duration: me.configuration.animationTime,\r\n after() { }\r\n });\r\n }\r\n\r\n slideFromRight(options, configuration, position) {\r\n const me = this;\r\n const pureElement = me.getPureElement(options.element);\r\n const ele = me.getElement(options.element, pureElement);\r\n ele.style[me.attr] = me.getEndPosition(position, ele);\r\n const dims = getViewport();\r\n let endinglocation = '';\r\n switch (position) {\r\n case Position.Right:\r\n case Position.TopRight:\r\n ele.style.right = `${-ele.offsetWidth}px`;\r\n endinglocation = 'right:0px';\r\n break;\r\n case Position.Left:\r\n case Position.TopLeft:\r\n ele.style.left = `${dims[0]}px`;\r\n endinglocation = 'left:0px';\r\n break;\r\n case Position.Center:\r\n case Position.Middle:\r\n case Position.TopMiddle:\r\n ele.style.left = `${dims[0]}px`;\r\n var left = `${dims[0] / 2 - ele.offsetWidth / 2}px`;\r\n endinglocation = `left:${left}`;\r\n break;\r\n default:\r\n }\r\n this.initialDisplayAnimation = ApexChat.animate(pureElement, endinglocation, {\r\n duration: me.configuration.animationTime,\r\n after() { }\r\n });\r\n }\r\n\r\n slideDrop(options, configuration, position) {\r\n // const me = this;\r\n // const pureElement = me.getPureElement(options.element);\r\n // const ele = me.getElement(options.element, pureElement);\r\n // const dims = getViewport();\r\n // const start = `${dims[1]}px`;\r\n // let end = me.getEndPosition(position, ele);\r\n // if (\r\n // !(\r\n // position == Position.TopLeft ||\r\n // position == Position.TopMiddle ||\r\n // position == Position.TopRight\r\n // )\r\n // ) {\r\n // end = `${me.attr}:${end}`;\r\n // ele.style[me.attr] = start;\r\n // }\r\n // this.initialDisplayAnimation = ApexChat.animate(pureElement, end, {\r\n // duration: me.configuration.animationTime,\r\n // // bounce function, from emile.js\r\n // easing: me.bounce,\r\n // after() { }\r\n // });\r\n }\r\n\r\n getPureElement(element) {\r\n if (element.indexOf('.') === -1 && element.indexOf('#') === -1) {\r\n return element;\r\n }\r\n return element.substring(1, element.lenght);\r\n }\r\n\r\n getElement(element, pureElement) {\r\n const me = this;\r\n return me.isClass(element)\r\n ? document.getElementsByClassName(pureElement)[0]\r\n : document.getElementById(pureElement);\r\n }\r\n\r\n isClass(element) {\r\n return element.indexOf('.') !== -1;\r\n }\r\n\r\n getEndPosition(position, element) {\r\n const dims = getViewport();\r\n const halfHeight = dims[1] / 2 - element.offsetHeight / 2;\r\n return position == Position.Center ||\r\n position == Position.LeftCenter ||\r\n position == Position.RightCenter\r\n ? `${halfHeight}px`\r\n : '0px';\r\n }\r\n\r\n bounce(pos) {\r\n if (pos < 1 / 2.75) {\r\n return 7.5625 * pos * pos;\r\n }\r\n if (pos < 2 / 2.75) {\r\n return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;\r\n }\r\n if (pos < 2.5 / 2.75) {\r\n return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;\r\n }\r\n return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;\r\n }\r\n\r\n wiggleElement(options) {\r\n const me = this;\r\n const wiggleBounceAnimationDuration = 1000;\r\n const pureElement = me.getPureElement(options.element);\r\n const ele = me.getElement(options.element, pureElement);\r\n const { position } = options;\r\n const end = me.getEndPosition(position, ele);\r\n const bottom = parseInt(ele.style.bottom === '' ? 0 : ele.style.bottom);\r\n // JIRA_4452 - Emile.js error\r\n // summary: we need to wiggle the widget if its only bottom (as V3 on top position wiggle is not required) as per V2.\r\n if (\r\n !(\r\n position == Position.TopLeft ||\r\n position == Position.TopMiddle ||\r\n position == Position.TopRight\r\n )\r\n ) {\r\n const amount = parseInt(bottom, 10) + 25;\r\n const easing = me.bounce;\r\n const targetCSS = `${me.attr}:${amount}px`;\r\n const backToOldCSS = `${me.attr}:${end}`;\r\n ApexChat.animate(pureElement, targetCSS, {\r\n duration: wiggleBounceAnimationDuration, // This animation shouldn't be set from the profile me.configuration. This is the bounce back duration of the wiggle widget.\r\n after() {\r\n // Back to the earlier position..\r\n ApexChat.animate(pureElement, backToOldCSS, {\r\n easing,\r\n duration: wiggleBounceAnimationDuration,\r\n after() { }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { InvitationDisplayMode } from \"../enums/Enum\";\r\nimport Animator from \"./Animator\";\r\n\r\nexport default class PreChatAnimator extends Animator {\r\n constructor(configurations, dom) {\r\n super(configurations, dom)\r\n }\r\n\r\n animate(options) {\r\n // const me = this;\r\n // const position = me.configuration.preChat.preChatPosition;\r\n //me.slideDrop(options, me.configuration, position);\r\n // switch (me.configuration.preChat.preChatDisplayMode) {\r\n // case InvitationDisplayMode.Appear:\r\n // var pureElement = me.getPureElement(options.element);\r\n // var ele = me.getElement(options.element, pureElement);\r\n // ele.style.display = 'block';\r\n // break;\r\n // case InvitationDisplayMode.Slide:\r\n // me.slide(options, me.configuration, position);\r\n // break;\r\n // case InvitationDisplayMode.SlideFromLeft:\r\n // me.slideFromLeft(options, me.configuration, position);\r\n // break;\r\n // case InvitationDisplayMode.SlideFromRight:\r\n // me.slideFromRight(options, me.configuration, position);\r\n // break;\r\n // default:\r\n // me.slideDrop(options, me.configuration, position);\r\n // break;\r\n // }\r\n }\r\n}","/**\r\n * client/wrapper type for the PreChat widget on parent/page\r\n */\r\nimport BaseWidgetClient from '../core/BaseWidgetClient';\r\nimport WidgetTypes from '../core/enums/WidgetTypes';\r\nimport TempCache from '../core/enums/TempCache';\r\nimport PreChatAnimator from '../core/animators/PreChatAnimator';\r\nimport DropDownPositioner from '../core/positioners/DropDownPositioner';\r\nimport { PreChatMessageAnimation } from '../core/enums/Enum';\r\nimport addStyleText from '../core/hooks/addStyleText';\r\nimport getStyle from '../core/hooks/getStyle';\r\nimport GlobalVariables from '../core/GlobalVariables';\r\nimport getStyleForIframe from '../core/hooks/getStyleForIframe';\r\nimport WidgetStates from '../core/hooks/WidgetStates';\r\nimport createNS from '../core/createNs';\r\nimport logIt from '../../logIt';\r\n\r\nexport default function RegisterPreChat() {\r\n const PreChat = class extends BaseWidgetClient {\r\n constructor(options) {\r\n if (!options.preChat) {\r\n return;\r\n }\r\n super(\r\n Object.assign(options, {\r\n widget: WidgetTypes.PreChat\r\n })\r\n );\r\n this.animator = new PreChatAnimator(this.options, this.DOM);\r\n this.positioner = new DropDownPositioner(this.options);\r\n this.ready();\r\n }\r\n\r\n ready() {\r\n super.ready();\r\n const me = this;\r\n this.subscribe('prechat-auto-resizing', (args) => {\r\n try {\r\n if (!me.options.isPreChatRoundedTheme) {\r\n return;\r\n }\r\n const closeButton = {\r\n height:\r\n me.options.preChatMessageAnimation ==\r\n PreChatMessageAnimation.MobileStacking\r\n ? 30\r\n : 0, // 30px for closebutton height else 0px\r\n isCloseButtonSupported:\r\n me.options.preChatMessageAnimation ==\r\n PreChatMessageAnimation.MobileStacking,\r\n padding: 15 /* increased from 5px to 15px as it was hard to press small CLOSE Button */\r\n };\r\n const padding = 40; // padding and shadow\r\n const extraHeightForSingleMsg = 5;\r\n const extraHeightForStackedMsgs = 30;\r\n // getting the prechat Height/Width...\r\n const PreChatHeight =\r\n ApexChat.PreChatIconDimensions.Height + padding + closeButton.height;\r\n const PreChatWidth = ApexChat.PreChatIconDimensions.Width + padding;\r\n // getting iframe\r\n const iframe = document.getElementById(me.iframeId);\r\n // Hide All messages on CLOSE Press\r\n const allAppearedMessages = iframe.contentDocument.querySelector(\r\n '.apexchat_prechat_message_bubble'\r\n );\r\n if (args.hideCloseButton && allAppearedMessages) {\r\n allAppearedMessages.style.display = 'none'; // hiding all messages..\r\n }\r\n const addedHeight = args.isSingleMsg\r\n ? extraHeightForSingleMsg\r\n : extraHeightForStackedMsgs; // incase of Single msg 5px, otherwise 30px\r\n // expected height formula for giving to IFRAME\r\n const expectedHeight =\r\n (args.currentMsgHeight || 0) /* height of current message */ +\r\n (args.prevMsgHeight ||\r\n 0) /* If prev. msg was not there or undefined height add 0 only */ +\r\n PreChatHeight /* PreChat Circle invitation height */ +\r\n addedHeight /* Padding and shadow etc. extra height */ +\r\n (args.isErrorMsgForFT ? args.errorMsgHeight : 0); // Error msg expected hight\r\n // updating heights with expected height.\r\n TempCache.PRECHAT_Rounded_Message_Popup_Last_Height =\r\n expectedHeight - PreChatHeight + addedHeight;\r\n TempCache.PRECHAT_Rounded_Message_Popup_Current_Height =\r\n expectedHeight - PreChatHeight + addedHeight;\r\n // applying CSS for Height\r\n // Animate the height of the container\r\n me.$container.style.transition = 'height 0.1s'; // Apply transition effect\r\n me.$container.style.height = `${expectedHeight}px`; // Set the new height\r\n\r\n // Animate the height of the iframe\r\n iframe.style.transition = 'height 0.1s'; // Apply transition effect\r\n iframe.style.height = `${expectedHeight}px`; // Set the new height\r\n const calculatedPosition =\r\n expectedHeight -\r\n closeButton.height -\r\n parseInt(args.prevMsgHeight || extraHeightForSingleMsg) -\r\n parseInt(args.prevMsgHeight ? addedHeight : 0) +\r\n closeButton.padding;\r\n // const closeElement = me.$(\r\n // '#apexchat_prechat_rd_close_btn_icon',\r\n // iframe.contentDocument\r\n // );\r\n const closeElement = iframe.contentDocument.querySelector(\r\n '#apexchat_prechat_rd_close_btn_icon'\r\n );\r\n // we need to check in some cases If this flag is TRUE we need to hide all prechat messages.\r\n if (\r\n args.hidePreChatMessages &&\r\n iframe.contentDocument.querySelector('.apexchat_prechat_message_bubble')\r\n ) {\r\n iframe.contentDocument.querySelector(\r\n '.apexchat_prechat_message_bubble'\r\n ).style.display = 'none';\r\n }\r\n /* Improved logic of hiding Close button as we dont need to show close button when its not supports i.e in DEFAULT animation\r\n hideClosebutton: In case of CLOSE button Press\r\n isClosebuttonSupported: If its not supported in case of Default animation.\r\n */\r\n if (\r\n (args.hideCloseButton || !closeButton.isCloseButtonSupported) &&\r\n closeElement\r\n ) {\r\n closeElement.style.display = 'none';\r\n } else {\r\n closeElement.style.display = 'block';\r\n /* Stacking-based animation supports Close button & dontAnimateCloseButton in some scenarios. */\r\n if (closeButton.isCloseButtonSupported && !args.dontAnimateClosebutton) {\r\n closeElement.animate({ bottom: calculatedPosition }, 200);\r\n }\r\n }\r\n me.PreChatDefaultWidth = me.PreChatDefaultWidth || getStyle(iframe, 'width');\r\n if (me.options.videoGreetEnabled) {\r\n me.$(\r\n '#apexchat_prechat_message_popup_container',\r\n iframe.contentDocument\r\n ).addClass('apexchat_prechat_message_popup_videogreet_enabled');\r\n }\r\n if (args.isResetIframe) {\r\n iframe.style.width = PreChatWidth;\r\n me.$container.style.zIndex = '9999999999';\r\n } else {\r\n if (iframe) iframe.style.width = me.PreChatDefaultWidth;\r\n me.$container.style.width = me.PreChatDefaultWidth;\r\n }\r\n } catch (e) {\r\n logIt(e);\r\n }\r\n });\r\n this.subscribe('prechat-size', (args) => {\r\n const iframe = document.getElementById(me.iframeId);\r\n let addValueWidth;\r\n let addValueHeight;\r\n if (me.options.isPreChatRoundedTheme) {\r\n addValueWidth = args.addValue + 80;\r\n } else {\r\n addValueWidth = args.addValue;\r\n addValueHeight = args.addValue;\r\n }\r\n iframe.style.width = `${args.width + addValueWidth}px`;\r\n iframe.style.height = `${args.height + addValueHeight}px`;\r\n me.$container.style.width = `${args.width + addValueWidth}px`;\r\n me.$container.style.height = `${args.height + addValueHeight}px`;\r\n me.positioner.position({\r\n element: me.parentDivId,\r\n widgetType: WidgetTypes.PreChat,\r\n position: me.options.preChat.preChatPosition\r\n });\r\n if (args.onCreateSizing) {\r\n me.animator.animate({\r\n element: me.iframeId,\r\n widgetType: WidgetTypes.PreChat,\r\n isPageRefreshed: me.isPageRefreshed()\r\n });\r\n me.animator.animate({\r\n element: me.parentDivId,\r\n widgetType: WidgetTypes.PreChat,\r\n isPageRefreshed: me.isPageRefreshed()\r\n });\r\n window.setTimeout(() => {\r\n me.$container.style.visibility = 'visible';\r\n }, 200);\r\n if (me.options.wiggleEnabled) {\r\n me.setupWiggling();\r\n }\r\n }\r\n });\r\n this.subscribe(WidgetTypes.PreChat + WidgetStates.Hidden, (args) => {\r\n me.$container.style.display = 'none';\r\n\r\n // PreChat Iframe should be Resize on PreChat hide, CASE: If someone clicks on PreChat circle instead of msgs.\r\n me.postMessage({\r\n event: 'prechat-auto-resizing',\r\n data: {\r\n isResetIframe: true,\r\n isSingleMsg: true,\r\n hideCloseButton: true // we need to hide close button\r\n }\r\n });\r\n });\r\n this.subscribe(WidgetTypes.PreChat + WidgetStates.ShownMaximized, (args) => {\r\n const DDState = me.state.getStateValue(WidgetTypes.DropDown);\r\n if (DDState == WidgetStates.ShownMinimized) {\r\n return;\r\n }\r\n me.$container.style.display = 'block';\r\n if (me.options.videoGreetEnabled) {\r\n const iframe = document.getElementById(me.iframeId);\r\n if (iframe) {\r\n me.$('#apexchat_prechat_message_popup', iframe.contentDocument).css(\"display\", \"none\");\r\n }\r\n me.$container.style.visibility = 'visible';\r\n }\r\n me.positioner.position({\r\n element: me.parentDivId,\r\n widgetType: WidgetTypes.PreChat,\r\n position: me.options.preChat.preChatPosition\r\n });\r\n });\r\n this.create();\r\n }\r\n\r\n create() {\r\n super.create();\r\n const self = this;\r\n addStyleText(this.options.invitationWidgetStyleCustom, 'test_css');\r\n self.$container.innerHTML = ``;\r\n document.body.appendChild(self.$container);\r\n\r\n self.$container.style.cssText = `margin: 10px;visibility: hidden; overflow:hidden; position: fixed; z-index:${TempCache.CONTAINER_Z_INDEX}; padding: 0px 10px 0px 0px`;\r\n if (self.options && self.options.videoGreetEnabled) {\r\n self.$container.style.cssText += ' display: none !important';\r\n }\r\n self.show();\r\n // getStyleForIframe(\r\n // `${GlobalVariables.CdnBaseUrl}contents/scripts/dist/PreChatInvitation.css.css`,\r\n // 'prechat-responsive',\r\n // 'apexchat_prechat_invitation_frame'\r\n // );\r\n }\r\n\r\n show() {\r\n super.show();\r\n }\r\n };\r\n\r\n const _fq_name = `${WidgetTypes.PreChat}_client`;\r\n // Export to window\r\n createNS(_fq_name, PreChat);\r\n}\r\n","const getViewport = () => {\r\n let viewportwidth;\r\n let viewportheight;\r\n\r\n // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight\r\n if (typeof window.innerWidth !== 'undefined') {\r\n viewportwidth = window.innerWidth;\r\n viewportheight = window.innerHeight;\r\n }\r\n\r\n\r\n // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)\r\n else if (typeof document.documentElement !== 'undefined' &&\r\n typeof document.documentElement.clientWidth !== 'undefined' &&\r\n document.documentElement.clientWidth) {\r\n viewportwidth = document.documentElement.clientWidth;\r\n viewportheight = document.documentElement.clientHeight;\r\n }\r\n\r\n\r\n // older versions of IE\r\n else {\r\n viewportwidth = document.getElementsByTagName('body')[0].clientWidth;\r\n viewportheight = document.getElementsByTagName('body')[0].clientHeight;\r\n }\r\n\r\n return [viewportwidth, viewportheight];\r\n};\r\nexport default getViewport;\r\n","/**\r\n *\r\n * a dedicated class for doing positioning\r\n * @param {*} configurations\r\n * @param {*} context optional document object to cater parent and iframe based DOM manipulation alike\r\n * @returns\r\n */\r\n\r\nexport default class Positioner {\r\n constructor(configurations, context) {\r\n const me = this;\r\n me.configuration = configurations;\r\n me.DOM = context || document;\r\n }\r\n\r\n getPureElement(element) {\r\n if (element.indexOf('.') === -1 && element.indexOf('#') === -1) {\r\n return element;\r\n }\r\n return element.substring(1, element.lenght);\r\n }\r\n\r\n getElement(element, pureElement) {\r\n return this.isClass(element)\r\n ? this.DOM.getElementsByClassName(pureElement)[0]\r\n : this.DOM.getElementById(pureElement);\r\n }\r\n\r\n isClass(element) {\r\n return element.indexOf('.') !== -1;\r\n }\r\n}\r\n","import getBody from './getBody';\r\nimport { Position } from '../enums/Enum';\r\nimport getViewport from './getViewport';\r\n\r\n// determines the \"top\" coordinate needed to create a fixed position simulation\r\n/* If this context will be provided than this function will return the scroll position of that specific context */\r\nconst getFixedTop = (position, container, padding, forceEdge, context) => {\r\n let scroll;\r\n if (context) {\r\n scroll = context.documentElement.scrollTop\r\n ? context.documentElement.scrollTop\r\n : getBody(context).scrollTop;\r\n } else {\r\n scroll = document.documentElement.scrollTop\r\n ? document.documentElement.scrollTop\r\n : getBody().scrollTop;\r\n }\r\n if (!container) {\r\n // If container is NULL then just assign it.\r\n container = document.getElementById('apexchat');\r\n }\r\n if (container.offsetHeight) {\r\n const dims = getViewport();\r\n const halfHeight = dims[1] / 2 - container.offsetHeight / 2;\r\n\r\n const pos = position == Position.Center\r\n ? halfHeight + scroll\r\n : dims[1] - container.offsetHeight + scroll;\r\n return `${pos - (padding || 0)}px`;\r\n }\r\n};\r\nexport default getFixedTop;\r\n","const getStyle = (el, cssStyle) => {\r\n if (!el) return;\r\n const re = /(-)(\\w)/g;\r\n const ieStyle = cssStyle.replace(re, (m, p1, p2) => p2.toUpperCase());\r\n if (el?.currentStyle) {\r\n // IE\r\n return el.currentStyle[ieStyle];\r\n }\r\n if (window.getComputedStyle) {\r\n // W3C\r\n return window.getComputedStyle(el, '').getPropertyValue(cssStyle);\r\n }\r\n return null;\r\n};\r\nexport default getStyle;\r\n","/**\r\n *\r\n * a dedicated class for doing positioning\r\n * @param {*} configurations\r\n * @param {*} context optional document object to cater parent and iframe based DOM manipulation alike\r\n * @returns\r\n */\r\nimport Browser from '../hooks/Browser';\r\nimport getFixedTop from '../hooks/getFixedTop';\r\nimport getViewport from '../hooks/getViewport';\r\nimport WidgetsCache from '../WidgetsCache';\r\nimport { ChatbarPosition, Position } from '../enums/Enum';\r\nimport WidgetTypes from '../enums/WidgetTypes';\r\nimport Positioner from './Positioner';\r\n\r\nexport default class DropDownPositioner extends Positioner {\r\n constructor(configurations, context) {\r\n super(configurations, context);\r\n const me = this;\r\n me.configuration = configurations;\r\n me.DOM = context || document;\r\n }\r\n\r\n position(options) {\r\n const me = this;\r\n const tempDOM = me.DOM;\r\n if (options.context) {\r\n me.DOM = options.context;\r\n }\r\n\r\n const { element, position, model } = options;\r\n const pureElement = this.getPureElement(element);\r\n const targetObj = this.getElement(element, pureElement);\r\n const dims = getViewport();\r\n const halfHeight = dims[1] / 2 - targetObj.offsetHeight / 2;\r\n let end =\r\n position == Position.Center ||\r\n position == Position.LeftCenter ||\r\n position == Position.RightCenter\r\n ? `${halfHeight}px`\r\n : '0px';\r\n let attr = 'bottom';\r\n // for IE, we deal with the top of the invitation\r\n if (Browser.isIE()) {\r\n attr = 'top';\r\n end = getFixedTop(position, targetObj);\r\n }\r\n if (\r\n !(\r\n position == Position.TopLeft ||\r\n position == Position.TopMiddle ||\r\n position == Position.TopRight\r\n )\r\n ) {\r\n targetObj.style[attr] = end;\r\n } else {\r\n targetObj.style.top = end;\r\n }\r\n let barWidget = null;\r\n try {\r\n barWidget = WidgetsCache.get(WidgetTypes.Bar);\r\n } catch (error) { }\r\n\r\n if (model && model.overflow) {\r\n targetObj.style.overflow = 'visible'; // we need it visible\r\n }\r\n if (model && model.bottom) {\r\n targetObj.style.bottom = model.bottom;\r\n }\r\n // left/right adjustments\r\n switch (position) {\r\n case Position.TopRight:\r\n case Position.RightCenter:\r\n case Position.Right:\r\n targetObj.style.left = 'auto';\r\n targetObj.style.right = '0px';\r\n if (model && model.right) {\r\n targetObj.style.right = model.right;\r\n }\r\n break;\r\n case Position.Left:\r\n targetObj.style.left = '0px';\r\n if (model && model.left) {\r\n targetObj.style.left = model.left;\r\n }\r\n break;\r\n case Position.TopLeft:\r\n targetObj.style.right = 'auto';\r\n targetObj.style.left = '0px';\r\n break;\r\n case Position.Center:\r\n case Position.Middle:\r\n case Position.TopMiddle:\r\n targetObj.style.right = 'auto';\r\n targetObj.style.left = `${dims[0] / 2 - targetObj.offsetWidth / 2}px`;\r\n targetObj.style.left = 'auto';\r\n targetObj.style.right = '0px';\r\n targetObj.style.top = '0px';\r\n break;\r\n default:\r\n }\r\n if (barWidget) {\r\n const height = document.getElementById(barWidget.parentDivId).offsetHeight;\r\n const width = document.getElementById(barWidget.parentDivId).offsetWidth;\r\n if (\r\n barWidget.options.chatbar.position == ChatbarPosition.Bottom &&\r\n (position == Position.Right ||\r\n position == Position.Middle ||\r\n position == Position.Left)\r\n ) {\r\n targetObj.style.marginBottom = `${height}px`;\r\n } else if (\r\n barWidget.options.chatbar.position == ChatbarPosition.Top &&\r\n (position == Position.TopRight ||\r\n position == Position.TopMiddle ||\r\n position == Position.TopLeft)\r\n ) {\r\n targetObj.style.marginTop = `${height}px`;\r\n } else if (\r\n barWidget.options.chatbar.position == ChatbarPosition.Left &&\r\n (position == Position.TopLeft ||\r\n position == Position.LeftCenter ||\r\n position == Position.Left)\r\n ) {\r\n targetObj.style.marginLeft = `${width}px`;\r\n } else if (\r\n barWidget.options.chatbar.position == ChatbarPosition.Right &&\r\n (position == Position.TopRight ||\r\n position == Position.RightCenter ||\r\n position == Position.Right)\r\n ) {\r\n targetObj.style.marginRight = `${width}px`;\r\n }\r\n }\r\n /* // CHAT-6807 - Added Additional Margin from Bottom for Prechat only. */\r\n if (model && model.preChat) {\r\n targetObj.style.bottom = `${model.preChat.preChatMarginFromBottom}px`;\r\n }\r\n me.DOM = tempDOM;\r\n }\r\n}\r\n"],"names":["Animator","constructor","configurations","dom","this","configuration","$el","el","DOM","document","attr","tabMaximize","options","me","chatTabPosition","chatTab","chatTabLeftSide","marginValue","parseFloat","borderWidth","ApexChat","animate","getElementById","element","duration","after","tabMinimize","slide","position","pureElement","getPureElement","ele","getElement","target","offsetHeight","invitationHeight","style","getEndPosition","height","initialDisplayAnimation","animationTime","slideFromLeft","dims","getViewport","start","end","Browser","isIE","getFixedTop","endinglocation","Position","Right","TopRight","left","right","Left","TopLeft","offsetWidth","Center","Middle","TopMiddle","slideFromRight","slideDrop","indexOf","substring","lenght","isClass","getElementsByClassName","halfHeight","LeftCenter","RightCenter","bounce","pos","wiggleElement","bottom","parseInt","amount","easing","targetCSS","backToOldCSS","PreChatAnimator","super","RegisterPreChat","PreChat","BaseWidgetClient","preChat","Object","assign","widget","WidgetTypes","animator","positioner","DropDownPositioner","ready","subscribe","args","isPreChatRoundedTheme","closeButton","preChatMessageAnimation","PreChatMessageAnimation","MobileStacking","isCloseButtonSupported","padding","extraHeightForSingleMsg","extraHeightForStackedMsgs","PreChatHeight","PreChatIconDimensions","Height","PreChatWidth","Width","iframe","iframeId","allAppearedMessages","contentDocument","querySelector","hideCloseButton","display","addedHeight","isSingleMsg","expectedHeight","currentMsgHeight","prevMsgHeight","isErrorMsgForFT","errorMsgHeight","TempCache","PRECHAT_Rounded_Message_Popup_Last_Height","PRECHAT_Rounded_Message_Popup_Current_Height","$container","transition","calculatedPosition","closeElement","hidePreChatMessages","dontAnimateClosebutton","PreChatDefaultWidth","getStyle","videoGreetEnabled","$","addClass","isResetIframe","width","zIndex","e","logIt","addValueWidth","addValueHeight","addValue","parentDivId","widgetType","preChatPosition","onCreateSizing","isPageRefreshed","window","setTimeout","visibility","wiggleEnabled","setupWiggling","WidgetStates","Hidden","postMessage","event","data","ShownMaximized","state","getStateValue","DropDown","ShownMinimized","css","create","self","addStyleText","invitationWidgetStyleCustom","innerHTML","body","appendChild","cssText","CONTAINER_Z_INDEX","show","_fq_name","createNS","viewportwidth","viewportheight","innerWidth","innerHeight","documentElement","clientWidth","clientHeight","getElementsByTagName","Positioner","context","container","forceEdge","scroll","scrollTop","getBody","cssStyle","ieStyle","replace","m","p1","p2","toUpperCase","currentStyle","getComputedStyle","getPropertyValue","tempDOM","model","targetObj","top","barWidget","WidgetsCache","get","Bar","error","overflow","chatbar","ChatbarPosition","Bottom","Top","marginRight","marginLeft","marginTop","marginBottom","preChatMarginFromBottom"],"sourceRoot":""}