{"version":3,"file":"registerPreChat.chunk.96fdd0d564133cca42a7.js","mappings":"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","sources":["webpack://apexchatwidgets/./widgets/core/animators/Animator.js","webpack://apexchatwidgets/./widgets/core/hooks/getFixedTop.js","webpack://apexchatwidgets/./widgets/core/hooks/getStyle.js","webpack://apexchatwidgets/./widgets/core/hooks/getViewport.js","webpack://apexchatwidgets/./widgets/core/positioners/DropDownPositioner.js","webpack://apexchatwidgets/./widgets/core/positioners/Positioner.js","webpack://apexchatwidgets/./widgets/core/animators/PreChatAnimator.js","webpack://apexchatwidgets/./widgets/prechat/RegisterPreChat.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 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 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","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\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","/**\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 { 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 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"],"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","container","padding","forceEdge","context","scroll","documentElement","scrollTop","getBody","getStyle","cssStyle","ieStyle","replace","m","p1","p2","toUpperCase","currentStyle","window","getComputedStyle","getPropertyValue","viewportwidth","viewportheight","innerWidth","innerHeight","clientWidth","clientHeight","getElementsByTagName","DropDownPositioner","Positioner","super","tempDOM","model","targetObj","top","barWidget","WidgetsCache","get","WidgetTypes","Bar","error","overflow","parentDivId","width","chatbar","ChatbarPosition","Bottom","Top","marginRight","marginLeft","marginTop","marginBottom","preChat","preChatMarginFromBottom","PreChatAnimator","RegisterPreChat","PreChat","BaseWidgetClient","Object","assign","widget","animator","positioner","ready","subscribe","args","isPreChatRoundedTheme","closeButton","preChatMessageAnimation","PreChatMessageAnimation","MobileStacking","isCloseButtonSupported","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","videoGreetEnabled","$","addClass","isResetIframe","zIndex","e","logIt","addValueWidth","addValueHeight","addValue","widgetType","preChatPosition","onCreateSizing","isPageRefreshed","setTimeout","visibility","wiggleEnabled","setupWiggling","WidgetStates","Hidden","postMessage","event","data","ShownMaximized","state","getStateValue","DropDown","ShownMinimized","create","self","addStyleText","invitationWidgetStyleCustom","innerHTML","body","appendChild","cssText","CONTAINER_Z_INDEX","show","_fq_name","createNS"],"sourceRoot":""}