{"version":3,"sources":["app/styles.module.scss","components/containers/StartScreen/styles.module.scss","components/message/ImageMessage/styles.module.scss","components/resizeButton/styles.module.scss","components/containers/Container/styles.module.scss","components/message/TemplateMessage/GenericTemplate/styles.module.scss","helper/index.js","config/config.js","actions/storage.js","config/mockSettings.js","api/api.js","icons/Icons.js","api/websocketApi.js","actions/static.js","api/WebSocketClient.js","helper/getPostbackMessage.js","helper/getMessagesFromHistory.js","app/config.js","integrations/WebSockets.js","helper/camelToSnakeCase.js","api/messageConverter.js","constants/index.js","components/startPopup/StartPopup.js","components/startPopup/config.js","components/menuItem/MenuItem.js","icons/x.png","components/persistentMenu/PersistentMenu.js","components/containers/AttachmentFiles/AttachmentUploadButton/AttachmentUploadButton.js","components/containers/AttachmentFiles/AttachmentUploadButton/AttachmentUploadButtonStyles.js","components/containers/Chat/ChatInput.js","components/containers/Chat/config.js","components/iframe/configs.js","icons/prevWhite.png","components/iframe/iframe.js","components/message/Typing/Typing.js","helper/generateNewTabName.js","components/message/TemplateMessage/Button.js","components/message/Reply/QuickReply.js","components/message/Reply/GeoReply.js","components/message/Reply/QuickReplyList.js","helper/getMessageLogo.js","helper/wrapTextAddLinks.js","components/message/TextMessage/TextMessage.js","components/message/ImageMessage/config.js","components/message/ImageMessage/ImageMessage.js","components/message/TemplateMessage/GenericTemplate/config.js","components/message/TemplateMessage/GenericTemplate/TemplateImg.js","icons/imgNotFound.png","components/message/TemplateMessage/GenericTemplate/TemplateText.js","components/message/TemplateMessage/GenericTemplate/TemplateSlidesList.js","components/message/TemplateMessage/GenericTemplate/TemplateMessage.js","components/message/FileMessage/getWidthBlock.js","components/view/CenteredLoader.js","components/message/FileMessage/Image/Image.js","components/message/FileMessage/Image/index.js","components/message/FileMessage/Image/styles.js","components/message/FileMessage/Video/index.js","components/message/FileMessage/Video/styles.js","components/message/FileMessage/Video/Video.js","components/message/FileMessage/Attachment/index.js","components/message/FileMessage/Attachment/styles.js","components/message/FileMessage/Attachment/Attachment.js","components/message/FileMessage/FileMessage.js","components/message/NewMessagesLine/index.js","components/message/NewMessagesLine/styles.js","components/message/NewMessagesLine/NewMessagesLine.js","components/message/MessageBody.js","hooks/usePrevious.js","components/containers/Chat/MessageContainer.js","components/containers/AttachmentFiles/CircularProgressbar/CircularProgressbar.js","components/containers/AttachmentFiles/AttachmentFile/useAttachmentFile.js","components/containers/AttachmentFiles/AttachmentFile/checkFileSize.js","components/containers/AttachmentFiles/AttachmentFile/AttachFile.js","components/containers/AttachmentFiles/AttachmentFile/index.js","components/containers/AttachmentFiles/AttachmentFile/styles.js","components/containers/AttachmentFiles/AttachmentFile/util.js","components/containers/AttachmentFiles/AttachmentFilesStatus/index.js","components/containers/AttachmentFiles/AttachmentFilesStatus/styles.js","components/containers/AttachmentFiles/AttachmentFilesStatus/AttachmentFilesStatus.js","components/containers/AttachmentFiles/index.js","components/containers/AttachmentFiles/styles.js","components/containers/AttachmentFiles/AttachmentFiles.js","components/containers/AttachmentFiles/useAttachmentFiles.js","components/containers/AttachmentFiles/useStatus.js","components/containers/AttachmentFiles/getLoadedFilesMessageFormat.js","components/containers/Chat/Chat.js","components/containers/Header/config.js","components/resizeButton/ResizeButton.js","components/EndConversationModal/context.js","components/containers/Header/Header.js","components/BackToBot/index.js","components/BackToBot/styles.js","components/BackToBot/BackToBot.js","UI/Modal/index.js","UI/Modal/styles.js","UI/Modal/Modal.js","UI/ModalTitle/index.js","UI/ModalTitle/styles.js","UI/ModalTitle/ModalTitle.js","UI/ModalButton/index.js","UI/ModalButton/styles.js","UI/ModalButton/ModalButton.js","UI/ModalContent/index.js","UI/ModalContent/styles.js","UI/ModalContent/ModalContent.js","UI/ModalButtons/index.js","UI/ModalButtons/styles.js","UI/ModalButtons/ModalButtons.js","components/FeedbackModal/context.js","api/feedbackFormApi.js","components/EndConversationModal/EndConversationModal.js","components/FormRating/FormRating.js","components/FormRating/index.js","components/FormRating/styles.js","components/FeedbackForm/index.js","components/FeedbackForm/styles.js","components/FeedbackForm/FeedbackForm.js","components/FeedbackModal/FeedbackModal.js","components/containers/Container/Container.js","components/containers/Container/configs.js","components/containers/StartScreen/Input.js","components/containers/StartScreen/config.js","components/containers/StartScreen/StartScreenHeader.js","components/containers/StartScreen/StartScreen.js","helper/validationLettersOnly.js","helper/generaneUuid.js","static/notification.mp3","components/LaunchButton/CountUnreadMessages/context.js","integrations/WebSocketsProviders.js","components/LaunchButton/CountUnreadMessages/index.js","components/LaunchButton/CountUnreadMessages/styles.js","components/LaunchButton/CountUnreadMessages/CountUnreadMessages.js","components/LaunchButton/index.js","components/LaunchButton/styles.js","components/LaunchButton/LaunchButton.js","icons/launcher.png","app/App.js","serviceWorker.js","index.js","components/containers/Chat/styles.module.scss","components/persistentMenu/styles.module.scss","components/containers/Header/styles.module.scss","components/menuItem/styles.module.scss","components/message/Reply/styles.module.scss","components/startPopup/styles.module.scss","components/iframe/styles.module.scss"],"names":["module","exports","String","prototype","addQueryStringParameter","key","value","this","indexOf","API_URL","setAPIUrl","process","REACT_APP_BACKEND_URL","window","location","origin","configureBotId","botId","keys","chatId","isOpen","isConversationInitialized","ref","configure","storageType","storageProvider","localStorage","sessionStorage","removeItem","error","console","log","isEnabled","isWidgetOpened","getItem","getRef","setRef","setItem","setChatId","setUserInfo","userInfo","setIsWidgetOpened","isOpened","setIsConversationInitialized","setIsWidgetOpenedIfNull","tryFindChatIdInAnyStorage","tryFindUserInfoInAnyStorage","Function","mockWidgetSettings","color","welcomeTitle","widgetName","chatHistoryLevel","isBackgroundBlurred","isComposerInputEnabled","isLoginNameInputEnabled","isLoginEmailInputEnabled","popup_text","greeting_text","logo","startButton","emailInputPlaceholder","nameInputPlaceholder","nameInputError","emailInputError","emailInputEmptyError","startLabel","createJsonHeaders","headers","Headers","append","logoutOnRequestOrResponseJson","response","ok","json","Error","status","statusText","getWidgetSettings","language","queryParam","fetch","method","then","settings","data","text","err","JSON","parse","message","catch","getPersistentMenuApi","a","sendAction","actionType","event","action","type","body","stringify","getGreetingText","attributes","url","id","widgetStorage","forEach","attribute","name","greetingText","sendOpenedGreeting","hash","PrevIcon","width","height","viewBox","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","React","Component","NextIcon","SendIcon","props","fillRule","clipRule","DownloadIcon","LineIcon","ForwardIcon","ClosePopupIcon","CloseWidgetIcon","MiniMazeIcon","MaxiMazeIcon","LocationIcon","cx","cy","r","DeleteIcon","xmlns","WarningIcon","SuccessIcon","AttachmentIcon","strokeOpacity","MinusIcon","StatusIcon","y","rx","getChatHistoryRequest","size","page","content","url_pattern","us_phone_number","generatePostBackObject","object","postback","payload","title","zoomImage","isFullScreen","parentURL","parent","postMessage","imageUrl","isFullScreenWidget","WebSocketClient","_onConnectionEstablishedMessages","_onConnectionEstablishedStatus","_createSockJs","SockJS","_client","Stomp","over","reconnect_delay","heartbeat","incoming","outgoing","debug","initiateConversation","_createNewSocketConnection","connect","_onConnectionSuccess","connected","subscribeForTopics","getStarted","sendFailedMessages","sendMessage","_botId","_chatId","sendStatus","receiveMessageCallback","_receiveMessageCallback","callback","_receiveLanguageUpdateCallback","_greetingsSubscription","subscribe","_onReceiveMessage","_languageSubscription","_onReceiveLanguageMessage","messageInJson","send","messageCopy","push","messageId","websiteLocation","statusObj","statusCopy","unsubscribe","disconnect","getPostbackMessage","isFromBot","getMessagesFromHistory","history","filter","customMessage","map","Object","assign","reverse","transitionSettingsLauncher","timeout","transitionSettingsContainer","detectSiteLanguageOrDefault","parsedUrl","URL","hostname","split","pop","toLowerCase","search","URLSearchParams","has","get","checkWidgetSize","classes","fullScreenWidget","widgetWrap","WebSocketsSharedContext","createContext","WebSocketsSharedConsumer","Consumer","WebSockets","handleDocumentFocus","document","visibilityState","userData","state","messages","length","websocketClient","getChatId","user","greeting","showPopup","savedChatId","domain","host","email","att","str","replace","letter","getChatIdRequest","configureChatId","setState","getChatHistory","updateGreeting","setPersistentMenu","sendRefMessage","convertUserMessageToBepFormat","res","loadMore","setHistory","getMoreChatHistory","setMoreHistory","handleWidgetReceiveEvent","actions","processMessage","processTyping","setInputField","setFeedbackConfigs","postAction","setIsOpenFeedbackModal","handleResetChat","openUrl","copyMessage","isHiddenWidget","setUnreadMessages","unreadMessages","firstUnreadMessageId","setFirstUnreadMessageId","setOperatorName","customerSupportDetails","handleLanguageUpdate","updateWidget","setLanguage","shortName","initializeConversation","initialized","receiveTyping","receiveMessage","userInteractionPostMessage","showTyping","updateMessages","resetChat","client","isSendFiles","configureEventHandler","configureLanguageUpdateHandler","addEventListener","prevProps","prevState","openWidget","popupWasShow","closeWidget","variable","vars","substring","pair","decodeURI","getQueryVariable","undefined","Provider","startData","children","withRouter","StartPopup","closePopup","device","authorized","submitPopup","useContext","popupStyle","maxWidth","boxShadow","margin","className","popup","style","onClick","isRtl","closeIcon","e","stopPropagation","popupText","MenuItem","item","openIframe","enableMessengerExtensions","classNames","bind","icon","href","target","rel","PersistentMenu","persistentMenu","showIframe","useState","showPersistent","setShowPersistent","useEffect","calculateWidth","hasPersistentMenu","container","hamburger","callToActions","topTitle","background","crossIcon","src","xIcon","alt","index","itemAction","withStyles","svgAttachmentHolder","boxSizing","cursor","padding","display","alignItems","justifyContent","htmlFor","ChatInput","sendText","trim","ifStringEmpty","from","handleEnterPress","charCode","textDisabled","isIE","navigator","userAgent","documentMode","direction","wrapInput","hideInput","placeholder","inputPlaceholder","input","onKeyPress","dir","onChange","handleChange","svgHolder","heigth","checkShowLogo","defineMessageBorder","hasPrevReceived","hasNextReceived","defineMessageMargin","chatSize","setIframeSize","verticalWidth","verticalHeight","setIframeColor","backgroundColor","Iframe","close","closeIframeBtnWrapper","closeIframeBtn","prevIcon","iframe","Typing","generateNewTabName","crypto","msCrypto","array","Uint32Array","Math","ceil","getRandomValues","Button","button","isWebview","reload","setWidgetColor","borderColor","QuickReply","reply","GeoReply","setPosition","geolocation","coordinates","lat","coords","latitude","long","longitude","handlerError","getCurrentPosition","QuickReplyList","nextItem","scrollItems","prevItem","next","currentIndex","scrollValue","ReactDOM","getBoundingClientRect","countedScrollValue","leftScrollValue","countedCurrentIndex","replyList","current","scrollLeft","scrollCounter","quickReplies","sumWidth","offsetWidth","postReply","_wrapper","pointerEvents","repliesAnimation","setTimeout","showReplies","showAnimation","checkPrevArrow","checkNextArrow","scrollWidth","showScroll","createRef","snapshot","clearTimeout","isMobile","visibility","customStyles","animation","listContainer","node","list","overflowX","msg","uid","defaultCustomerSupportImage","getMessageLogo","wrapTextAddLinks","findPhoneLink","findUrlLink","test","textArr","word","exec","includes","endsWith","withHttp","join","link","slice","messageWidthBtn","screenWidth","whiteSpace","messageWidthText","messageBorder","borderRadius","TextMessage","linkEditorListener","links","output","querySelectorAll","extension","getAttribute","onclick","openNewTab","open","classesNames","showReply","showLogo","messageMargin","containerClass","wrapClass","buttons","dangerouslySetInnerHTML","__html","templateImgStyle","backgroundImage","backgroundSize","backgroundRepeat","backgroundPosition","ImageMessage","templateImg","messageWidth","maxHeight","TemplateImg","styles","classesWithTitle","classesWithOutTitle","TemplateText","subtitle","templateTopWrapper","templateTopWrapperWithOutTitles","templateTitle","templateSubtitle","TemplateSlidesList","slides","refTemplateList","element","position","defaultAction","webUrl","templateImgWithoutTitle","TemplateMessage","additionalMargin","carousel","elements","slide","checkIfScrollShouldBeShowed","checkIfNeedRightArrow","isLeftArrow","isRightArrowNeeded","scrollContainerFullScreen","nextIcon","nextIconFullScreen","getWidthBlock","CenteredLoader","left","top","borderTopColor","Image","templateImgSpinnerContainer","zIndex","received","marginRight","Video","overflow","controls","Attachment","attachment","textDecoration","marginLeft","attachmentSpan","download","FileMessage","NewMessagesLine","borderBottom","textAlign","fontSize","firstUnreadMessageRef","MessageBody","timestamp","openShare","attachments","openShareScreen","usePrevious","useRef","MessageContainer","setShowIframe","iframeSrc","setIframeSrc","setChangeScrollBehavior","scrollPosition","setScrollPosition","scrollBehavior","setScrollBehavior","scrollContainer","messagesEnd","prevLastUserMessage","showLoader","containerSize","textEnable","chatInputHeightAndPadding","needCustomSize","heightWithoutInput","heightWithInput","widgetFullScreenHeight","messageContainerSize","scrollToBottom","scrollIntoView","behavior","scrollTop","scrollHeight","msgWrapContainer","onScroll","el","bottomScrollElem","CircularProgressbar","buildStyles","pathColor","trailColor","useAttachmentFile","file","setStatus","loadedFile","setLoadedFile","percentUpload","setPercentUpload","XMLHttpRequest","xhr","onStopUpload","abort","getFileLink","checkFileSize","responseType","upload","onprogress","round","loaded","total","getPercentLoaded","onerror","onload","formData","FormData","getActionBackground","AttachmentFile","imageContainer","border","marginBottom","lineHeight","textOverflow","deleteButton","right","bottom","typeFile","imgSrc","createObjectURL","updateLoadedFiles","removeFile","AttachmentFilesStatus","verticalAlign","loadedFiles","files","countErrorFiles","AttachmentFiles","outerContainer","header","main","flexWrap","footer","sendButton","fontWeight","setFiles","setLoadedFiles","getFiles","removeIndexFile","removeIndexLoadedFile","newArrayFiles","newArrayLoadedFiles","splice","resetLoadedFiles","updatedFile","updateIndexFile","useAttachmentFiles","setCountErrorFiles","percentUploadFiles","setPercentUploadFiles","getLoadedFilesPercent","updateStatus","errorFiles","useStatus","prevFilesLength","isDisabledButton","filesForUpload","resetAttachmentFiles","getLoadedFilesMessageFormat","disabled","Chat","closeIframe","isMounted","showInput","shareScreen","getConversationId","wrap","setHeaderStyle","ResizeButton","isLarge","wrapper","EndConversationModalContext","EndConversationModalProvider","isOpenEndConversationModal","setIsOpenEndConversationModal","useMemo","useEndConversationModalContext","context","Header","widgetColor","widgetLogo","resizeWidget","handleHiddenWidget","botInfo","buttonsBlock","BackToBot","transition","mainText","operatorName","isLoadingFiles","Modal","modal","loader","isLoading","ModalTitle","letterSpacing","ModalButton","primary","attention","variant","cancel","ModalContent","ModalButtons","FeedbackModalContext","FeedbackModalProvider","isOpenFeedbackModal","feedbackConfigs","useFeedbackModalContext","EndConversationModal","setIsLoading","onSubmit","credentials","config","endConversation","ratingArray","label","FormRating","inputLabel","activeInputLabel","isError","rating","setRating","setIsError","FeedbackForm","textarea","resize","marginTop","commentInputPlaceholder","FeedbackModal","sendData","setSendData","onClose","field","cancelButton","score","sendFeedbackApi","Container","toggleWidget","containerStyle","styleByScreenSize","updateTyping","Input","rtl","logoStyle","animationDuration","animationName","setBackgroundColor","StartScreenHeader","topContainer","logoHolder","textHolder","welcomeSubtitle","StartScreen","updateUserData","setName","setEmail","errors","setErrors","userObj","trimStart","signUpCallBack","handleInitialize","buttonStyle","preventDefault","nameValidation","emailValidation","formContainer","description","inputHolderOneFiled","secondaryInput","validationDescription","buttonInput","inputsWrap","generaneUuid","CountUnreadMessagesContext","CountUnreadMessagesProvider","useSound","notification","play","stop","useCountUnreadMessagesContext","WebSocketsProviders","CountUnreadMessages","count","LaunchButton","theme","containerLauncher","userSelect","withTheme","handleViewWidget","App","configureWidget","serverUrl","setUserLanguage","setWidget","showStartScreen","clearStorage","widgetEventListener","parentOrigin","pageUrlListener","needId","initialization","uuid","handleConnect","settingsUpdated","openStartScreen","toggleBackground","hideStartScreen","toggleAuthorized","toggleUnauthorized","widgetOffsetWidth","myRef","widgetOffsetHeight","offsetHeight","popupDelayTimeout","getAttachmentFiles","Array","attachmentInput","isBackgroundEnable","isDisplayChatHistory","newMessages","isOldMessages","concat","clearUserData","init","mobile","popupWasShown","messageEventListener","initializeWidget","isShouldFrameResize","setFrameSize","initialFunction","isResetChat","needUserInformation","sendSentGreeting","delaySeconds","userName","newWidth","newHeight","needDelay","isStartPopupNeeded","isButtonNeeded","screen","widgetIsOpen","checkIsRightButtonNeeded","basename","onConnect","handleNotHiddenWidget","multiple","accept","rightBottomPositioned","Boolean","match","render","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.e34e066f.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"containerLauncher\":\"styles_containerLauncher__LVXTU\",\"rightBottomPositioned\":\"styles_rightBottomPositioned__qRXGA\",\"logo\":\"styles_logo__2-5xX\",\"appear\":\"styles_appear__29V1z\",\"xIcon\":\"styles_xIcon__3XWn4\",\"appearIn\":\"styles_appearIn__ClTzm\",\"startScreenWrap\":\"styles_startScreenWrap__32uqu\",\"widgetWrap\":\"styles_widgetWrap__2zMA9\",\"fullScreenWidget\":\"styles_fullScreenWidget__2IZEe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__2nm3u\",\"formContainer\":\"styles_formContainer__pS17i\",\"description\":\"styles_description__159SA\",\"input\":\"styles_input__2lM13\",\"secondaryInput\":\"styles_secondaryInput__1ItZo\",\"inputHolderOneFiled\":\"styles_inputHolderOneFiled__K-Fhj\",\"buttonInput\":\"styles_buttonInput__3XvQd\",\"button\":\"styles_button__2n62y\",\"validationDescription\":\"styles_validationDescription__1uZpj\",\"topContainer\":\"styles_topContainer__1Q2Wm\",\"logoHolder\":\"styles_logoHolder__3omNn\",\"logo\":\"styles_logo__2bGWw\",\"title\":\"styles_title__BAWBI\",\"greetingText\":\"styles_greetingText__3H030\",\"textHolder\":\"styles_textHolder__2L0Dv\",\"inputsWrap\":\"styles_inputsWrap__7UR6B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"templateImg\":\"styles_templateImg__iobVw\",\"messageImageAnimation\":\"styles_messageImageAnimation__3izdP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles_wrapper__281TP\",\"appearIn\":\"styles_appearIn__2Nq2B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3-CA3\",\"appearance\":\"styles_appearance__2G7AH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__3R2_h\",\"templateImg\":\"styles_templateImg__nXpkn\",\"templateImgWithoutTitle\":\"styles_templateImgWithoutTitle__2W_Ox\",\"templateTitle\":\"styles_templateTitle__1BnLT\",\"templateSubtitle\":\"styles_templateSubtitle__13WOD\",\"templateTopWrapper\":\"styles_templateTopWrapper__1YppZ\",\"templateTopWrapperWithOutTitles\":\"styles_templateTopWrapperWithOutTitles__2FH9m\",\"prevIcon\":\"styles_prevIcon__lsPJG\",\"nextIcon\":\"styles_nextIcon__3KDAg\",\"nextIconFullScreen\":\"styles_nextIconFullScreen__3NiYh\",\"nextIconPart\":\"styles_nextIconPart__2Byl9\",\"scrollContainer\":\"styles_scrollContainer__3U6Xl\",\"scrollContainerFullScreen\":\"styles_scrollContainerFullScreen__3K8ud\",\"shareIcon\":\"styles_shareIcon__3_C_Y\"};","String.prototype.addQueryStringParameter = function(key, value) {\n const separator = this.indexOf('?') !== -1 ? '&' : '?'\n return this + separator + key + '=' + value\n}\n","const APP_ID = '520302855352586'\nlet API_URL = null\n\n/*\n * If REACT_APP_BACKEND_URL is set than use this value as the backend url.\n * In other cases fall back to the defaults depending on the env.\n *\n * You can set an env variable in '.env.' file\n * More about that here: https://create-react-app.dev/docs/adding-custom-environment-variables\n */\nif (process.env.REACT_APP_BACKEND_URL) {\n API_URL = process.env.REACT_APP_BACKEND_URL\n} else if (process.env.NODE_ENV === 'development') {\n // Usually in 'development' env the backend url is 'http://localhost:8080'\n API_URL = 'http://localhost:8080/api'\n} else if (process.env.NODE_ENV === 'production') {\n // In a 'production' env the client app is usually on the same domain name as the backend\n API_URL = window.location.origin + '/api'\n} else {\n console.log('********************************************')\n console.log('* *')\n console.log('* *')\n console.log(\"* Unknown profile '\" + process.env.NODE_ENV + \"'! *\")\n console.log('* Please review you project configuration! *')\n console.log('* *')\n console.log('* *')\n console.log('********************************************')\n}\n\nfunction setAPIUrl(value) {\n API_URL = value\n}\n\nexport { APP_ID, API_URL, setAPIUrl }\n","class WidgetStorage {\n constructor() {\n this.storageProvider = {\n setItem: new Function(),\n getItem: new Function(),\n removeItem: new Function(),\n }\n }\n\n configureBotId = botId => {\n this.botId = botId\n this.keys = {\n chatId: `widget-${botId}-chatId`,\n isOpen: `widget-${botId}-isOpen`,\n isConversationInitialized: `widget-${botId}-isConversationInitialized`,\n ref: `widget-${botId}-ref`,\n }\n }\n\n configure = (storageType, botId) => {\n this.storageType = storageType\n this.botId = botId\n this.keys = {\n chatId: `widget-${botId}-chatId`,\n isOpen: `widget-${botId}-isOpen`,\n isConversationInitialized: `widget-${botId}-isConversationInitialized`,\n ref: `widget-${botId}-ref`,\n }\n\n try {\n if (storageType === 'LOCAL_STORAGE') {\n this.storageProvider = localStorage\n sessionStorage.removeItem(this.keys.chatId)\n } else if (storageType === 'SESSION_STORAGE') {\n this.storageProvider = sessionStorage\n localStorage.removeItem(this.keys.chatId)\n } else if (storageType === 'NONE') {\n sessionStorage.removeItem(this.keys.chatId)\n localStorage.removeItem(this.keys.chatId)\n }\n } catch (error) {\n console.log(error)\n }\n }\n\n isEnabled = () => {\n return this.storageType !== 'NONE'\n }\n\n isWidgetOpened = () => {\n try {\n return sessionStorage.getItem(this.keys.isOpen) === 'true'\n || localStorage.getItem(this.keys.isOpen) === 'true'\n } catch (error) {\n return this.storageProvider.getItem(this.keys?.isOpen)\n }\n }\n\n isConversationInitialized = () => {\n try {\n return localStorage.getItem(this.keys.isConversationInitialized) === 'true'\n } catch (error) {\n return this.storageProvider.getItem(this.keys.isConversationInitialized)\n }\n }\n\n getRef = () => {\n try {\n return localStorage.getItem(this.keys.ref)\n } catch (error) {\n return this.storageProvider.getItem(this.keys.ref)\n }\n }\n\n setRef = ref => {\n try {\n localStorage.setItem(this.keys.ref, ref)\n } catch (error) {\n this.storageProvider.setItem(this.keys.ref, ref)\n }\n }\n\n setChatId = chatId => {\n try {\n if (!chatId && this.storageType === 'NONE') {\n sessionStorage.removeItem(this.keys.chatId)\n localStorage.removeItem(this.keys.chatId)\n } else if (chatId) {\n this.storageProvider.setItem(this.keys.chatId, String(chatId))\n }\n } catch (error) {\n this.storageProvider.setItem(this.keys.chatId, String(chatId))\n }\n }\n\n setUserInfo = userInfo => {\n try {\n localStorage.setItem('userInfo', userInfo)\n } catch (error) {\n console.log('Can not set user info')\n }\n }\n\n setIsWidgetOpened = isOpened => {\n try {\n sessionStorage.setItem(this.keys.isOpen, isOpened)\n localStorage.setItem(this.keys.isOpen, isOpened)\n } catch (error) {\n this.storageProvider.setItem(this.keys.isOpen, isOpened)\n }\n }\n\n setIsConversationInitialized = isConversationInitialized => {\n try {\n localStorage.setItem(this.keys.isConversationInitialized, isConversationInitialized)\n } catch (error) {\n this.storageProvider.setItem(this.keys.isConversationInitialized, isConversationInitialized)\n }\n }\n\n setIsWidgetOpenedIfNull = isOpened => {\n try {\n if (sessionStorage.getItem(this.keys.isOpen) === null) {\n sessionStorage.setItem(this.keys.isOpen, isOpened)\n }\n if (localStorage.getItem(this.keys.isOpen) === null) {\n localStorage.setItem(this.keys.isOpen, isOpened)\n }\n } catch (error) {\n if (this.storageProvider.getItem(this.keys.isOpen) === null) {\n this.storageProvider.setItem(this.keys.isOpen, isOpened)\n }\n }\n }\n\n tryFindChatIdInAnyStorage = () => {\n try {\n return this.keys\n ? localStorage.getItem(this.keys.chatId) ||\n sessionStorage.getItem(this.keys.chatId)\n : null\n } catch (error) {\n return this.keys ? this.storageProvider.getItem(this.keys.chatId) : null\n }\n }\n\n tryFindUserInfoInAnyStorage = () => {\n try {\n return localStorage.getItem('userInfo') || sessionStorage.getItem('userInfo')\n } catch (error) {\n return null\n }\n }\n\n clearStorage(botId) {\n try {\n localStorage.removeItem(`widget-${botId}-chatId`)\n sessionStorage.removeItem(`widget-${botId}-chatId`)\n localStorage.removeItem(`widget-${botId}-isOpen`)\n sessionStorage.removeItem(`widget-${botId}-isOpen`)\n localStorage.removeItem(`widget-${botId}-isConversationInitialized`)\n sessionStorage.removeItem(`widget-${botId}-isConversationInitialized`)\n localStorage.removeItem(`widget-${botId}-ref`)\n sessionStorage.removeItem(`widget-${botId}-ref`)\n } catch (error) {\n const previous = this.storageProvider.getItem(`widget-${botId}-chatId`)\n\n if (previous) {\n this.storageProvider.removeItem(`widget-${botId}-chatId`)\n this.storageProvider.removeItem(`widget-${botId}-isOpen`)\n this.storageProvider.removeItem(`widget-${botId}-ref`)\n }\n }\n }\n}\n\nexport default new WidgetStorage()\n","export const mockWidgetSettings = {\n color: '#5A98F7',\n welcomeTitle: 'Hi there!',\n widgetName: 'Chatbot',\n chatHistoryLevel: 'LOCAL_STORAGE',\n isBackgroundBlurred: false,\n isComposerInputEnabled: true,\n isLoginNameInputEnabled: false,\n isLoginEmailInputEnabled: false,\n popup_text: 'Hey there! Ready to start a journey?',\n greeting_text: 'Ready to start a journey with our chatbot?',\n logo: '/default_avatar.png',\n startButton: 'start',\n emailInputPlaceholder: 'Your email',\n nameInputPlaceholder: 'Your name',\n nameInputError: 'Username can’t contain special symbols, numbers or spaces',\n emailInputError: 'Email is not valid.',\n emailInputEmptyError: 'Email should not be blank',\n startLabel: 'Jump into the chat by entering your info',\n}\n","import { API_URL } from '../config/config'\nimport widgetStorage from '../actions/storage'\nimport { mockWidgetSettings } from '../config/mockSettings'\n\nexport const createJsonHeaders = () => {\n const headers = createHeaders()\n headers.append('Content-Type', 'application/json;charset=UTF-8')\n return headers\n}\n\nfunction createHeaders() {\n return new Headers()\n}\n\nexport function logoutOnRequestOrResponseJson(response) {\n if (response.ok) {\n return response.json()\n } else {\n throw Error(response.status + ' - ' + response.statusText)\n }\n}\n\nexport const getWidgetSettings = (botId, chatId, language) => {\n const queryParam = chatId ? `chatId=${chatId}` : `language=${language}`\n\n return fetch(`${API_URL}/widget/info/${botId}?${queryParam}`, {\n headers: createJsonHeaders(),\n method: 'GET',\n })\n .then(response => {\n if (response.ok) {\n return response.json().then(settings => settings.data)\n }\n if (response.status >= 400) {\n response.text().then(err => console.log(JSON.parse(err).message))\n return mockWidgetSettings\n }\n })\n .catch(error => console.log(error))\n}\n\nexport const getPersistentMenuApi = async(botId, chatId) => {\n return fetch(`${API_URL}/widget/${botId}/persistentMenu?chatId=${chatId}`, {\n headers: createJsonHeaders(),\n method: 'GET',\n })\n .then(response => {\n if (response.ok) {\n return response.json().then(settings => settings)\n }\n })\n .catch(error => console.log(error))\n}\n\nexport const sendAction = (actionType, botId, chatId) => {\n const event = {\n action: {\n type: actionType,\n },\n }\n\n fetch(`${API_URL}/widget/${botId}/chat/${chatId}/action`, {\n headers: createJsonHeaders(),\n method: 'POST',\n body: JSON.stringify(event),\n })\n}\n\nexport const getGreetingText = (botId, attributes, language, chatId) => {\n let url = `${API_URL}/widget/${botId}/greeting`\n const id = chatId || widgetStorage.tryFindChatIdInAnyStorage()\n\n attributes.forEach(attribute => {\n url = url.addQueryStringParameter(attribute.name, attribute.value)\n })\n\n if (id) {\n url = url.addQueryStringParameter('chatId', id)\n }\n\n if (language) {\n url = url.addQueryStringParameter('language', language)\n }\n\n return fetch(url, {\n headers: createJsonHeaders(),\n method: 'GET',\n })\n .then(response => {\n if (response.ok) {\n return response.json().then(greetingText => greetingText.data)\n }\n })\n .catch(error => console.log(error))\n}\n\nexport const sendOpenedGreeting = (botId, hash, chatId) => {\n let url = `${API_URL}/widget/${botId}/greeting/opened/${hash}`\n\n if (chatId) {\n url = url.addQueryStringParameter('chatId', chatId)\n }\n fetch(url, {\n headers: createJsonHeaders(),\n method: 'POST',\n })\n}\n\nexport const sendSentGreeting = (botId, hash, chatId) => {\n let url = `${API_URL}/widget/${botId}/greeting/sent/${hash}`\n\n if (chatId) {\n url = url.addQueryStringParameter('chatId', chatId)\n }\n fetch(url, {\n headers: createJsonHeaders(),\n method: 'POST',\n })\n}\n","/* eslint-disable */\nimport React from 'react'\n\nexport class PrevIcon extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport class NextIcon extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport class SendIcon extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport class DownloadIcon extends React.Component {\n render() {\n return (\n \n \n \n \n \n )\n }\n}\n\nexport class LineIcon extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport class BackIcon extends React.Component {\n render() {\n return (\n \n \n \n \n )\n }\n}\n\nexport class ForwardIcon extends React.Component {\n render() {\n return (\n \n \n \n \n )\n }\n}\n\nexport class ClosePopupIcon extends React.Component {\n render() {\n return (\n \n \n \n \n \n )\n }\n}\n\nexport const CloseWidgetIcon = ({ width, height, color }) => (\n \n \n \n \n)\n\nexport const MiniMazeIcon = ({ width, height, color }) => (\n \n \n \n \n \n \n)\n\nexport const MaxiMazeIcon = ({ width, height, color }) => (\n \n \n \n \n \n \n)\n\nexport class LocationIcon extends React.Component {\n render() {\n return (\n \n \n \n \n \n )\n }\n}\n\nexport const CopyIcon = props => {\n const { width, height, color } = props\n return (\n \n \n \n \n )\n}\n\nexport const DeleteIcon = () => (\n \n \n \n)\nexport const WarningIcon = () => (\n \n \n \n)\n\nexport const SuccessIcon = () => (\n \n \n \n \n)\n\nexport const AttachmentIcon = props => {\n return (\n \n \n \n )\n}\n\nexport const CrossIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const MinusIcon = () => (\n \n \n \n)\n\nexport const StatusIcon = () => (\n \n \n \n)\n","import { API_URL } from '../config/config'\nimport { createJsonHeaders, logoutOnRequestOrResponseJson } from './api'\n\nexport const getChatIdRequest = data => {\n return fetch(`${API_URL}/sockwidget/getStarted`, {\n method: 'POST',\n headers: createJsonHeaders(),\n body: JSON.stringify(data),\n })\n .then(response => logoutOnRequestOrResponseJson(response))\n .then(response => response.data)\n .catch(err => console.log(err))\n}\n\nexport const getUserInfoRequest = data => {\n return fetch(`${API_URL}/sockwidget/custom/get-started`, {\n method: 'POST',\n headers: createJsonHeaders(),\n body: JSON.stringify(data),\n })\n .then(response => logoutOnRequestOrResponseJson(response))\n .then(response => response)\n .catch(err => console.log(err))\n}\n\nexport const getChatHistoryRequest = (chatId, botId, size, page = 0) => {\n return fetch(\n `${API_URL}/widget/${botId}/chat/${chatId}?size=${size}&page=${page}&sort=id,desc`,\n {\n method: 'GET',\n headers: createJsonHeaders(),\n },\n )\n .then(response => logoutOnRequestOrResponseJson(response))\n .then(response => {\n return response?.data?.content\n })\n .catch(err => console.log(err))\n}\n","import fileIcon from '../icons/fileIcon.png'\n\nexport const url_pattern =\n /https?:\\/\\/(www\\.)?[a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/gi\n\nexport const us_phone_number = /(1\\s?)?[(]?\\d{3}[)]?[(\\s)?-]\\d{3}[\\s-]\\d{4}/gi\n\nexport const ifStringEmpty = text => {\n if (text == null) return true\n text = text.trim()\n return text.length === 0 && !text.trim() && text.trim() !== ' '\n}\n\nexport const nameValidation = text => {\n if (text == null) return true\n return text.length === 0\n}\n\nexport function switchAttachmentType(fileType) {\n let type = 'null'\n if (\n fileType.includes([\n 'jpeg',\n 'png',\n 'jpg',\n 'jfif',\n 'tiff',\n 'gif',\n 'bmp',\n 'webp',\n 'svg',\n 'pnm',\n ])\n )\n type = 'image'\n else if (fileType.includes('pdf')) type = 'pdf'\n else if (\n fileType.includes([\n 'avi',\n 'mp4',\n 'webm',\n 'mkv',\n 'flv',\n 'vob',\n 'm4p',\n '3gp',\n '3g2',\n 'mpg',\n 'mpeg',\n ])\n )\n type = 'video'\n else if (fileType.includes(['mp3', 'midi'])) type = 'audio'\n return type\n}\n\nexport function handleIE() {\n return (\n navigator.userAgent.indexOf('MSIE') !== -1 ||\n !!document.documentMode === true\n ) //IF IE > 10\n}\n\nexport function generatePostBackObject(object) {\n return {\n type: 'postback',\n postback: {\n payload: object.payload,\n title: object.title,\n }\n }\n}\n\nexport const zoomImage = (url, isFullScreen, parentURL) => {\n window.parent.postMessage(\n {\n imageUrl: url,\n isFullScreenWidget: isFullScreen,\n },\n parentURL,\n )\n}\n\nexport function loadImage(url) {\n return new Promise(resolve => {\n const image = new Image()\n image.addEventListener('load', () => resolve(image))\n image.src = url\n })\n}\n\nexport function getQueryVariable(variable) {\n var query = window.location.search.substring(1)\n var vars = query.split('&')\n for (const element of vars) {\n const pair = element.split('=')\n if (pair[0] === variable) {\n return decodeURI(pair[1])\n }\n }\n return false\n}\n\nexport const isElementTop = el => el && !el.scrollTop\n\nexport function movePunctualSymbols(text) {\n let copyText = text\n text.split('').forEach(() => {\n if (\n [\n '!',\n '@',\n '#',\n '$',\n '%',\n '^',\n '&',\n '*',\n '(',\n ')',\n '+',\n '=',\n '|',\n '/',\n '/',\n '.',\n '،',\n '>',\n '<',\n ].includes(copyText[copyText.length - 1])\n ) {\n copyText = copyText[copyText.length - 1] + copyText.slice(0, -1)\n }\n })\n return copyText\n}\n\n/* eslint-disable */\n\nexport function dataURLtoFile(dataUrl, filename) {\n let arr = dataUrl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bStr = atob(arr[1]),\n n = bStr.length,\n u8arr = new Uint8Array(n)\n\n while (n--) {\n u8arr[n] = bStr.charCodeAt(n)\n }\n\n return new File([u8arr], filename, { type: mime })\n}\n\n/* eslint-enable */\n\nexport function resizeImage(file) {\n return new Promise((resolve, reject) => {\n if (window.File && window.FileReader && window.FileList && window.Blob) {\n if (file) {\n resolve(file)\n }\n }\n })\n}\n\nexport function getImageUrl(file) {\n return new Promise((resolve, reject) => {\n if (file) {\n resolve(fileIcon)\n }\n })\n}\n\nexport function getRandomId() {\n return new Date().getTime()\n}\n","/*\n * @author oles.pankiv@botscrew.com\n * @date 13.11.2020\n *\n * WebSocketClient encapsulates logic for sending/receiving messages from BEP back-end.\n *\n * Functionality built in:\n * - cache messages if connection not established and send them right away if successfully connected to the server\n * - reconnect to server when connection lost\n * - other minor stuff like JSON.parse() before sending the message to the callback function\n *\n */\n\nimport SockJS from 'sockjs-client'\nimport { Stomp } from '@stomp/stompjs'\n\nimport { API_URL } from '../config/config'\nimport widgetStorage from '../actions/storage'\nimport { sendAction } from './api'\n\nclass WebSocketClient {\n _client\n _chatId\n _botId\n _onConnectionEstablishedMessages = []\n _onConnectionEstablishedStatus = []\n\n _onSuccessCallback\n\n _greetingsSubscription\n _languageSubscription\n\n _receiveMessageCallback\n _receiveLanguageUpdateCallback\n\n _createNewSocketConnection() {\n this._client = Stomp.over(this._createSockJs)\n this._client.reconnect_delay = 5000\n this._client.heartbeat.incoming = 10000\n this._client.heartbeat.outgoing = 10000\n this._client.debug = () => {} //NOSONAR\n }\n\n _createSockJs = () => {\n return new SockJS(`${API_URL}/sockwidget`)\n }\n\n connect(botId, chatId, initiateConversation) {\n this._createNewSocketConnection()\n this._client.connect({}, () =>\n this._onConnectionSuccess(botId, chatId, initiateConversation),\n )\n }\n\n _onConnectionSuccess(botId, chatId, initiateConversation) {\n if (this._client.connected) {\n this.subscribeForTopics()\n this.getStarted(botId, chatId, initiateConversation)\n this.sendFailedMessages()\n }\n }\n\n sendFailedMessages() {\n this._onConnectionEstablishedMessages.forEach(message =>\n this.sendMessage(message, this._botId, this._chatId),\n )\n this._onConnectionEstablishedStatus.forEach(status =>\n this.sendStatus(status, this._botId, this._chatId),\n )\n this._onConnectionEstablishedMessages = []\n this._onConnectionEstablishedStatus = []\n }\n\n configureEventHandler(receiveMessageCallback) {\n this._receiveMessageCallback = receiveMessageCallback\n }\n\n configureLanguageUpdateHandler(callback) {\n this._receiveLanguageUpdateCallback = callback\n }\n\n configureChatId(chatId) {\n this._chatId = chatId\n }\n\n getStarted(botId, chatId, initiateConversation) {\n if (!widgetStorage.isConversationInitialized()) {\n if (initiateConversation) {\n sendAction('start_conversation', botId, chatId)\n }\n widgetStorage.setIsConversationInitialized(true)\n }\n }\n\n configureBotId(botId) {\n this._botId = botId\n }\n\n subscribeForTopics() {\n if (this._chatId) {\n this._greetingsSubscription = this._client.subscribe(\n `/topic/messaging.${this._chatId}`,\n message => this._onReceiveMessage(message),\n )\n this._languageSubscription = this._client.subscribe(\n `/topic/language-update.${this._chatId}`,\n message => this._onReceiveLanguageMessage(message),\n )\n }\n }\n\n _onReceiveMessage(messageInJson) {\n const message = JSON.parse(messageInJson.body)\n this._receiveMessageCallback(message)\n }\n\n _onReceiveLanguageMessage(messageInJson) {\n const message = JSON.parse(messageInJson.body)\n this._receiveLanguageUpdateCallback(message)\n }\n\n sendMessage(message, botId, chatId) {\n if (this._client?.connected) {\n this._client.send(\n '/app/custom-widget/' + botId + '/' + chatId,\n {},\n JSON.stringify(message),\n )\n } else {\n const messageCopy = JSON.parse(JSON.stringify(message))\n this._onConnectionEstablishedMessages.push(messageCopy)\n }\n }\n\n sendStatus(status, messageId, botId, chatId, websiteLocation) {\n const statusObj = {\n status: {\n messageId,\n status,\n },\n chatId,\n websiteLocation,\n }\n if (messageId) {\n if (this._client?.connected && messageId) {\n this._client.send(\n '/app/custom-widget/' + botId + '/' + chatId,\n {},\n JSON.stringify(statusObj),\n )\n } else {\n const statusCopy = JSON.parse(JSON.stringify(status))\n this._onConnectionEstablishedStatus.push(statusCopy)\n }\n }\n }\n\n disconnect() {\n if (this._client?.connected) {\n this._greetingsSubscription.unsubscribe()\n this._languageSubscription.unsubscribe()\n this._client.disconnect()\n }\n }\n}\n\nexport default WebSocketClient\n","export const getPostbackMessage = message => {\n return {\n text: message.postback.title,\n type: 'text',\n isFromBot: message.isFromBot,\n }\n}\n","import { getPostbackMessage } from './getPostbackMessage'\n\nexport const getMessagesFromHistory = history => {\n return history\n .filter(event => event.message || event.customMessage)\n .map(event => {\n let message = Object.assign({}, {...event.message, ...event.customMessage})\n message.isFromBot = !!event.isFromBot\n if (message.type === 'postback') {\n message = getPostbackMessage(message)\n }\n return message\n })\n .reverse()\n}\n","export const fullScreenWidth = '68vw'\nexport const fullScreenHeight = '100vh'\nexport const startWidth = '80px'\nexport const startHeight = '80px'\nexport const enableFileUploading = true\n\nexport const checkIsRightButtonNeeded = (\n screen,\n widgetIsOpen,\n isFullScreenWidget,\n) => {\n const device = screen.width > 0 && screen.height > 0\n if (!device && !isFullScreenWidget) {\n return true\n }\n return device && !widgetIsOpen\n}\n\nexport const transitionSettingsLauncher = {\n timeout: 25\n}\n\nexport const transitionSettingsContainer = {\n timeout: 50\n}\n\nexport const detectSiteLanguageOrDefault = url => {\n if (url === '') {\n return 'en'\n }\n\n const parsedUrl = new URL(url)\n const domain = parsedUrl.hostname.split('.').pop()\n if (domain.toLowerCase() === 'es') {\n return 'es'\n }\n\n const search = new URLSearchParams(parsedUrl.search)\n if (search.has('lang')) {\n return search.get('lang')\n }\n\n return 'en'\n}\n\nexport const setWidgetColor = color => ({\n backgroundColor: color,\n})\n\nexport const checkWidgetSize = (classes, isFullScreenWidget) => {\n return isFullScreenWidget ? classes.fullScreenWidget : classes.widgetWrap\n}\n","import React from 'react'\nimport { withRouter } from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport { getChatHistoryRequest, getChatIdRequest } from '../api/websocketApi'\nimport { convertUserMessageToBepFormat } from '../api/messageConverter'\nimport { generatePostBackObject, getQueryVariable } from '../actions/static'\nimport widgetStorage from '../actions/storage'\nimport WebSocketClient from '../api/WebSocketClient'\nimport { MESSAGE_SIZE } from '../constants'\nimport { getMessagesFromHistory } from '../helper/getMessagesFromHistory'\nimport { getPostbackMessage } from '../helper/getPostbackMessage'\nimport { getGreetingText, sendOpenedGreeting } from '../api/api'\nimport { detectSiteLanguageOrDefault } from '../app/config'\nimport { camelToSnakeCase } from '../helper/camelToSnakeCase'\n\nexport const WebSocketsSharedContext = React.createContext()\nexport const WebSocketsSharedConsumer = WebSocketsSharedContext.Consumer\n\nclass WebSockets extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n messages: [],\n client: null,\n page: 0,\n loadMore: true,\n initialized: false,\n userData: {\n name: 'Widget user',\n email: '',\n botId: null,\n },\n isSendFiles: false,\n showTyping: false,\n }\n this.websocketClient = new WebSocketClient()\n this.websocketClient.configureEventHandler(this.handleWidgetReceiveEvent)\n this.websocketClient.configureLanguageUpdateHandler(message =>\n this.handleLanguageUpdate(message),\n )\n }\n\n componentDidMount() {\n document.addEventListener('visibilitychange', this.handleDocumentFocus)\n const chatId = widgetStorage.tryFindChatIdInAnyStorage()\n const isOpen = widgetStorage.isWidgetOpened()\n\n this.setState({ chatId }, () => {\n if (chatId && !isOpen) {\n this.websocketClient.disconnect()\n this.websocketClient.connect(this.props.botId, chatId, true)\n this.initializeConversation()\n }\n })\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (\n prevProps.openWidget !== this.props.openWidget ||\n prevState.userData.chatId !== this.state.userData.chatId\n ) {\n this.setState(\n {\n page: 0,\n loadMore: true,\n messages: [],\n chatId: widgetStorage.tryFindChatIdInAnyStorage(),\n initialized: !this.props.openWidget ? false : this.state.initialized,\n },\n () => {\n if (this.props.openWidget && this.state.userData.chatId) {\n const initiateConversation =\n !this.props.greeting?.payload || !this.props.popupWasShow\n this.websocketClient.disconnect()\n this.websocketClient.connect(\n this.props.botId,\n this.state.userData.chatId,\n initiateConversation,\n )\n }\n },\n )\n }\n }\n\n componentWillUnmount() {\n this.websocketClient.disconnect()\n this.props.closeWidget()\n }\n\n handleDocumentFocus = () => {\n if (document.visibilityState === 'visible') {\n const { userData } = this.state\n const { botId, messages, websiteLocation } = this.props\n const messageId = messages[messages.length - 1]?.id\n this.websocketClient.sendStatus(\n 'READ',\n messageId,\n botId,\n userData.chatId,\n websiteLocation,\n )\n }\n }\n\n getChatId = message => {\n const { user, botId, attributes, websiteLocation, greeting, showPopup } =\n this.props\n const savedChatId = widgetStorage.tryFindChatIdInAnyStorage()\n const language = detectSiteLanguageOrDefault(websiteLocation)\n const websiteUrl = new URL(websiteLocation)\n const domain = websiteUrl.host\n const data = {\n botId,\n chatId: savedChatId,\n name: user?.name || 'Widget user',\n email: user?.email || '',\n language: user?.language || 'en',\n domain: domain,\n attributes: attributes.map(att => {\n return {\n value: att.value,\n name: camelToSnakeCase(att.name),\n }\n }),\n }\n\n getChatIdRequest(data)\n .then(chatId => {\n if (!savedChatId) {\n data.chatId = chatId\n widgetStorage.setChatId(chatId)\n }\n this.websocketClient.configureChatId(chatId)\n this.websocketClient.configureBotId(botId)\n this.setState({ userData: data }, () => {\n this.getChatHistory(chatId)\n })\n return chatId\n })\n .then(chatId => {\n if (greeting && !savedChatId && showPopup) {\n sendOpenedGreeting(botId, greeting.hash, chatId)\n }\n getGreetingText(botId, attributes, language, chatId).then(greeting => {\n this.props.updateGreeting(greeting)\n })\n this.props.setPersistentMenu(botId, chatId)\n })\n .then(() => {\n if (message) {\n const data = generatePostBackObject(message)\n this.postMessage(data)\n }\n })\n }\n\n sendRefMessage = ref => {\n this.postMessage({\n type: 'postback',\n payload: ref,\n })\n widgetStorage.setRef(ref)\n }\n\n postMessage = message => {\n const { userData } = this.state\n const { websiteLocation, botId } = this.props\n\n const data = convertUserMessageToBepFormat(\n userData.chatId,\n message,\n websiteLocation,\n )\n this.websocketClient.sendMessage(data, botId, userData.chatId)\n }\n\n getChatHistory = chatId => {\n if (this.props.messages.length > 0) {\n return\n }\n\n getChatHistoryRequest(chatId, this.props.botId, MESSAGE_SIZE).then(res => {\n const loadMore = res && res.length === MESSAGE_SIZE\n\n this.setState(\n {\n page: this.state.page + 1,\n loadMore,\n messages: res,\n },\n () => {\n if (res && res.length) {\n this.setHistory(res)\n }\n },\n )\n })\n }\n\n getMoreChatHistory = () => {\n if (this.state.loadMore) {\n getChatHistoryRequest(\n this.state.chatId,\n this.props.botId,\n MESSAGE_SIZE,\n this.state.page,\n )\n .then(res => {\n const loadMore = res && res.length === MESSAGE_SIZE\n\n this.setState(\n {\n page: this.state.page + 1,\n loadMore,\n },\n () => {\n if (res && res.length) {\n this.setMoreHistory(res)\n }\n },\n )\n })\n .catch(error => console.log(error))\n }\n }\n\n setHistory(history) {\n this.props.updateMessages(getMessagesFromHistory(history))\n\n const ref = getQueryVariable('ref')\n if (ref !== 'false' && ref !== widgetStorage.getRef()) {\n this.sendRefMessage(ref)\n }\n }\n\n setMoreHistory(history) {\n this.setState(\n {\n messages: [...this.state.messages, history],\n },\n () => {\n this.props.updateMessages(\n getMessagesFromHistory(history),\n undefined,\n true,\n )\n },\n )\n }\n\n handleWidgetReceiveEvent = event => {\n const { actions, isFromBot } = event\n const { processMessage, userData, processTyping } = this.state\n const { setInputField, botId, websiteLocation } = this.props\n\n const message = event.message || event.customMessage\n\n if (actions) {\n actions.forEach(action => {\n if (action.type === 'typing_on') {\n processTyping()\n } else if (action.type === 'show_input') {\n setInputField(true)\n } else if (action.type === 'open_feedback') {\n this.props.setFeedbackConfigs({\n ...action['feedback_configs'],\n postAction: action['post_action'],\n })\n this.props.setIsOpenFeedbackModal(true)\n } else if (action.type === 'end_session') {\n this.handleResetChat()\n } else if (action.type === 'open_url') {\n this.props.openUrl(action.url)\n }\n })\n }\n\n if (message) {\n let copyMessage = Object.assign({}, message)\n copyMessage.isFromBot = !!isFromBot\n this.websocketClient.sendStatus(\n 'DELIVERED',\n copyMessage.id,\n botId,\n userData.chatId,\n websiteLocation,\n )\n if (document.visibilityState === 'visible') {\n this.websocketClient.sendStatus(\n 'READ',\n copyMessage.id,\n botId,\n userData.chatId,\n websiteLocation,\n )\n }\n if (copyMessage.type === 'postback') {\n copyMessage = getPostbackMessage(message)\n }\n if (isFromBot) {\n if (this.props.isHiddenWidget) {\n this.props.setUnreadMessages(this.props.unreadMessages + 1)\n }\n if (this.props.isHiddenWidget && !this.props.firstUnreadMessageId) {\n this.props.setFirstUnreadMessageId(message.id)\n }\n this.props.setOperatorName(copyMessage?.customerSupportDetails?.name)\n }\n return processMessage([copyMessage])\n }\n }\n\n handleLanguageUpdate = message => {\n const { botId, updateWidget, setPersistentMenu, setLanguage } = this.props\n const chatId = widgetStorage.tryFindChatIdInAnyStorage()\n const language = message.shortName\n setLanguage(language)\n updateWidget(botId, language)\n setPersistentMenu(botId, chatId)\n }\n\n initializeConversation = message => {\n if (!this.state.initialized) {\n this.setState(\n {\n processTyping: this.receiveTyping,\n processMessage: this.receiveMessage,\n initialized: true,\n },\n () => this.getChatId(message),\n )\n }\n }\n\n userInteractionPostMessage = data => {\n widgetStorage.setRef(null)\n this.postMessage(data)\n }\n\n receiveTyping = () => {\n if (!this.state.showTyping) {\n this.setState({ showTyping: true })\n }\n }\n\n receiveMessage = message => {\n this.props.updateMessages(message)\n this.setState({ showTyping: false })\n }\n\n handleResetChat = () => {\n const { resetChat } = this.props\n resetChat()\n this.websocketClient.disconnect()\n }\n\n render() {\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nWebSockets.propTypes = {\n user: PropTypes.object,\n onConnect: PropTypes.func,\n}\n\nexport default withRouter(WebSockets)\n","export const camelToSnakeCase = str =>\n str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`)\n","const convertUserMessageToBepFormat = (\n chatId,\n message,\n websiteLocation,\n) => {\n return {\n customMessage: message,\n chatId,\n websiteLocation\n }\n}\n\nexport { convertUserMessageToBepFormat }\n","export const MESSAGE_SIZE = 20\n","import React, { useContext } from 'react'\nimport classes from './styles.module.scss'\nimport { ClosePopupIcon } from '../../icons/Icons'\nimport { styleByScreenSize } from './config'\nimport { WebSocketsSharedContext } from '../../integrations/WebSockets'\n\nconst StartPopup = ({\n closePopup,\n device,\n authorized,\n greeting,\n submitPopup,\n}) => {\n const { initializeConversation } = useContext(WebSocketsSharedContext)\n const popupStyle = styleByScreenSize(device.width, device.height)\n\n const handleClosePopup = e => {\n e.stopPropagation()\n closePopup()\n }\n\n const handleSubmitPopup = () => {\n if (greeting?.payload && authorized) {\n const message = {\n type: 'postback',\n payload: greeting.payload,\n isRtl: false,\n }\n initializeConversation(message)\n }\n\n submitPopup()\n }\n\n return (\n \n
\n \n
\n

{greeting?.greetingText}

\n \n )\n}\n\nexport default StartPopup\n","export const styleByScreenSize = width => {\n const allMarginsAndButtonSizes = 120\n return {\n maxWidth: width > 0 ? `${width - allMarginsAndButtonSizes}px` : '380px',\n boxShadow:\n width > 0\n ? '0px 0px 13px rgba(51, 51, 51, 0.1)'\n : '0px 0px 30px rgba(51, 51, 51, 0.1)',\n margin: width > 0 ? '10px 0 10px 10px' : '16px 0 16px 16px',\n }\n}\n","import React from 'react'\nimport { ForwardIcon } from '../../icons/Icons'\nimport PropTypes from 'prop-types'\nimport classes from './styles.module.scss'\nimport classNames from 'classnames'\n\nconst MenuItem = ({ item, width, openIframe, action }) => {\n if (item.type === 'web_url' && !item.enableMessengerExtensions) {\n return (\n \n {item.title}\n \n )\n }\n if (item.type === 'web_url' && item.enableMessengerExtensions) {\n return (\n \n {item.title}\n \n )\n }\n return (\n \n {item.title}\n {item.type === 'nested' && (\n
\n \n
\n )}\n \n )\n}\n\nMenuItem.propTypes = {\n item: PropTypes.object.isRequired,\n action: PropTypes.func,\n}\n\nexport default MenuItem\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABWSURBVHgBrdLRCQAgCATQo0nafylHuQgS+tBOJCHo415YCZJ21oSonfE8zoYKX4gOp8Jp5oXlwVGg0k2GNUpwigZ+VKvV1uO0voNsDkDpHohHzhQKsC2bUo8AulM90QAAAABJRU5ErkJggg==\"","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\n\nimport MenuItem from '../menuItem/MenuItem'\nimport xIcon from '../../icons/x.png'\nimport { LineIcon } from '../../icons/Icons'\n\nimport classes from './styles.module.scss'\nimport { generatePostBackObject } from '../../actions/static'\n\nconst calculateWidth = (isFullScreenWidget, device) => {\n if (isFullScreenWidget) {\n return 'calc(100vw - 50px)'\n }\n if (device?.width > 0) {\n return `${device?.width}px`\n }\n return '360px'\n}\n\nconst PersistentMenu = props => {\n const {\n device,\n isFullScreenWidget,\n settings,\n persistentMenu,\n postMessage,\n openIframe,\n showIframe,\n } = props\n\n const [showPersistent, setShowPersistent] = useState(false)\n\n useEffect(() => {\n setShowPersistent(false)\n }, [showIframe])\n\n const width = calculateWidth(isFullScreenWidget, device)\n\n const itemAction = item => {\n setShowPersistent(false)\n postMessage({ ...generatePostBackObject(item) })\n }\n\n return (\n <>\n {settings.hasPersistentMenu && persistentMenu && (\n
\n setShowPersistent(true)}>\n \n \n \n
\n {!!persistentMenu?.callToActions?.length && showPersistent && (\n
\n \n
\n {(persistentMenu && persistentMenu.title) || 'Menu'}\n
\n setShowPersistent(false)}\n className={classes.closeIcon}>\n \"\"\n
\n \n
\n {persistentMenu.callToActions.map((item, index) => (\n itemAction(item)}\n item={item}\n openIframe={openIframe}\n key={index}\n />\n ))}\n
\n \n )}\n \n )}\n \n )\n}\nPersistentMenu.propTypes = {\n classes: PropTypes.object,\n}\n\nexport default PersistentMenu\n","import React from 'react'\nimport { withStyles } from '@material-ui/core'\n\nimport { styles } from './AttachmentUploadButtonStyles'\nimport { AttachmentIcon } from '../../../../icons/Icons'\n\nconst AttachmentUploadButton = props => {\n const { classes } = props\n\n return (\n <>\n \n \n )\n}\n\nexport default withStyles(styles)(AttachmentUploadButton)\n","export const styles = () => ({\n svgAttachmentHolder: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n padding: '20px 0px 20px 24px',\n height: 60,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n})\n","import React from 'react'\nimport { ifStringEmpty, handleIE } from '../../../actions/static'\nimport { SendIcon } from '../../../icons/Icons'\nimport PersistentMenu from '../../persistentMenu/PersistentMenu'\nimport AttachmentUploadButton from '../AttachmentFiles/AttachmentUploadButton/AttachmentUploadButton'\nimport { enableFileUploading } from '../../../app/config'\n\nimport classes from './styles.module.scss'\n\nclass ChatInput extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n text: '',\n }\n }\n\n sendText = () => {\n const { text } = this.state\n if (!ifStringEmpty(text)) {\n const message = {\n from: {\n id: this.props.chatId,\n name: this.props.startData.name || 'Widget user',\n email: this.props.startData.email || '',\n },\n type: 'text',\n isRtl: this.props.isRtl,\n text,\n }\n this.setState(\n {\n text: '',\n },\n () => {\n this.props.postMessage(message)\n },\n )\n }\n }\n\n handleChange(value) {\n this.setState({\n text: value,\n })\n }\n\n handleEnterPress = e => {\n if (e.charCode === 13) {\n this.sendText()\n }\n }\n\n render() {\n const {\n textDisabled,\n settings,\n persistentMenu,\n isFullScreenWidget,\n isRtl,\n chatId,\n device,\n botId,\n openIframe,\n showIframe\n } = this.props\n const { text } = this.state\n const isIE = handleIE()\n const direction = isRtl ? 'rtl' : 'ltr'\n return (\n
\n this.props.postMessage(message)}\n />\n {\n if (e.charCode === 13) {\n this.sendText()\n }\n }}\n dir={direction}\n id='messaging-user-input'\n onChange={e => this.handleChange(e.target.value)}\n />\n {enableFileUploading && }\n
\n \n
\n
\n )\n }\n}\n\nexport default ChatInput\n","export const checkShowLogo = (messages, index) => {\n return (\n messages[index].isFromBot &&\n (messages[index + 1]\n ? messages[index].isFromBot && !messages[index + 1].isFromBot\n : messages.length === index + 1 && messages[index].isFromBot)\n )\n}\n\nexport const defineMessageBorder = (messages, index) => {//NOSONAR\n if (messages[index].isFromBot) {\n const hasPrevReceived = messages[index - 1] && messages[index - 1].isFromBot\n const hasNextReceived = messages[index + 1] && messages[index + 1].isFromBot\n\n if (\n hasNextReceived &&\n (!messages[index - 1] || !messages[index - 1].isFromBot)\n )\n return '17px 17px 17px 2px'\n if (hasPrevReceived && hasNextReceived) return '2px 17px 17px 2px'\n if (\n hasPrevReceived &&\n (!messages[index + 1] || !messages[index + 1].isFromBot)\n )\n return '2px 17px 17px 17px'\n }\n\n if (!messages[index].isFromBot) {\n const hasPrevReceived = messages[index - 1] && !messages[index - 1].isFromBot\n const hasNextReceived = messages[index + 1] && !messages[index + 1].isFromBot\n\n if (\n hasNextReceived &&\n (!messages[index - 1] || messages[index - 1].isFromBot)\n )\n return '17px 17px 2px 17px'\n if (hasPrevReceived && hasNextReceived) return '17px 2px 2px 17px'\n if (\n hasPrevReceived &&\n (!messages[index + 1] || messages[index + 1].isFromBot)\n )\n return '17px 2px 17px 17px'\n }\n}\n\nexport const defineMessageMargin = (messages, index) => {\n if (!messages[index].isFromBot) {\n const hasPrevReceived = messages[index - 1] && messages[index - 1].isFromBot\n const hasNextReceived = messages[index + 1] && messages[index + 1].isFromBot\n\n if (hasPrevReceived && hasNextReceived) return '26px 0px 26px 0px'\n if (hasPrevReceived) return '26px 0px 4px 0px'\n if (hasNextReceived) return '4px 0px 26px 0px'\n }\n}\n\nexport const messageContainerSize = (\n device,\n textEnable,\n isFullScreenWidget,\n scrollBehavior,\n) => {\n const marginBottom = 65\n const horizontalMargin = 0\n const chatInputHeightAndPadding = device.height > 0 ? 100 : 0\n const needCustomSize = device.height > 0 || device.width > 0\n const heightWithoutInput = needCustomSize\n ? `${device.height - marginBottom}px`\n : '465px'\n const heightWithInput = needCustomSize\n ? `${device.height - chatInputHeightAndPadding}px`\n : '413px'\n const widgetFullScreenHeight = textEnable\n ? `calc(100% - ${chatInputHeightAndPadding}px)`\n : '100%'\n\n if (isFullScreenWidget) {\n return {\n height: widgetFullScreenHeight,\n width: needCustomSize ? `${device.width - horizontalMargin}px` : '100%',\n scrollBehavior,\n }\n }\n\n return {\n height: textEnable ? heightWithInput : heightWithoutInput,\n width: needCustomSize ? `${device.width - horizontalMargin}px` : '100%',\n scrollBehavior,\n }\n}\n\nexport const chatSize = (height, width, isFullScreenWidget) => {\n const headerHeight = 65\n\n if (isFullScreenWidget) {\n return {\n height: `calc(100% - ${headerHeight}px)`,\n width: '100%',\n }\n }\n\n return {\n height: height > 0 ? `${height - headerHeight}px` : 'auto',\n width: width > 0 ? `${width}px` : '100%',\n }\n}\n","export const setIframeSize = (\n verticalWidth,\n verticalHeight,\n isFullScreenWidget,\n) => {\n const headerHeight = 66\n if (isFullScreenWidget) {\n return {\n width: '100%',\n height: `calc(100% - ${headerHeight}px)`,\n }\n }\n return {\n width: verticalWidth > 0 ? `${verticalWidth}px` : '360px',\n height: verticalHeight > 0 ? `${verticalHeight - headerHeight}px` : '470px',\n }\n}\n\nexport const setIframeColor = color => ({\n backgroundColor: color,\n})\n","export default __webpack_public_path__ + \"static/media/prevWhite.80f03fd6.png\";","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { setIframeColor, setIframeSize } from './configs'\nimport prevIcon from '../../icons/prevWhite.png'\nimport classes from './styles.module.scss'\nimport classNames from 'classnames'\n\nconst Iframe = ({ device, src, close, color, isFullScreenWidget }) => (\n <>\n \n
\n \"close\n
\n \n \n

Your browser does not support iframes.

\n \n \n)\n\nIframe.propTypes = {\n color: PropTypes.string,\n src: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFullScreenWidget: PropTypes.bool.isRequired,\n device: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n}\n\nexport default Iframe\n","import React from 'react'\nimport './Typing.css'\n\nexport function Typing(props) {\n return (\n
\n
\n
\n
\n
\n
\n
\n )\n}\n","export const generateNewTabName = () => {\n const crypto = window.crypto || window.msCrypto\n const array = new Uint32Array(1)\n return `_newTab${Math.ceil(crypto.getRandomValues(array) * 9999)}`\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { generateNewTabName } from '../../../helper/generateNewTabName'\n\nconst Button = ({ onClick, style, button, title, openIframe }) => {\n if (button.type === 'postback') {\n return (\n \n )\n }\n\n if (button.type === 'web_url' && !button.isWebview) {\n return (\n \n {title}\n \n )\n }\n\n if (button.type === 'web_url' && button.isWebview) {\n return (\n \n {title}\n \n )\n }\n\n if (button.type === 'reset') {\n return (\n window.location.reload()}>\n {title}\n \n )\n }\n}\n\nButton.propTypes = {\n style: PropTypes.object,\n openIframe: PropTypes.func,\n title: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n button: PropTypes.object.isRequired,\n}\n\nexport default Button\n","import React from 'react'\nimport '../TemplateMessage/GenericTemplate/TemplateMessage.css'\nimport { generatePostBackObject } from '../../../actions/static'\n\nconst setWidgetColor = color => ({\n color: color,\n borderColor: color,\n})\n\nclass QuickReply extends React.Component {\n render() {\n const { reply, color } = this.props\n return (\n this.props.postMessage(generatePostBackObject(reply))}>\n {reply.title}\n \n )\n }\n}\n\nexport default QuickReply\n","import React from 'react'\nimport '../TemplateMessage/GenericTemplate/TemplateMessage.css'\nimport { LocationIcon } from '../../../icons/Icons'\n\nclass GeoReply extends React.Component {\n setPosition = geolocation => {\n const message = {\n // type: 'message',\n // text: 'Geo Position',\n // entities: [{\n // geo: {\n // elevation: 0,\n // type: \"GeoCoordinates\",\n // name: \"myPlace\",\n // latitude: geolocation.coords.latitude,\n // longitude: geolocation.coords.longitude\n // },\n // type: 'Place'\n // }]\n type: 'location',\n title: 'Geo Position',\n payload: {\n coordinates: {\n lat: geolocation.coords.latitude,\n long: geolocation.coords.longitude,\n },\n },\n }\n this.props.postMessage(message)\n }\n\n handlerError = error => console.log(error)\n\n render() {\n return (\n \n navigator.geolocation.getCurrentPosition(\n this.setPosition,\n this.handlerError,\n )\n }>\n \n Send Location\n \n )\n }\n}\n\nexport default GeoReply\n","import React from 'react'\nimport { NextIcon, PrevIcon } from '../../../icons/Icons'\nimport QuickReply from './QuickReply'\nimport * as ReactDOM from 'react-dom'\nimport GeoReply from './GeoReply'\nimport { uid } from 'react-uid/dist/es5/index'\nimport classes from './styles.module.scss'\nimport classNames from 'classnames'\n\nclass QuickReplyList extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n leftScrollValue: 0,\n showReplies: true,\n showAnimation: false,\n currentIndex: 0,\n showScroll: false,\n repliesAnimation: null,\n }\n this.replyList = React.createRef()\n }\n\n componentDidMount() {\n const { message } = this.props\n if (message && message.quickReplies)\n this.setState({ showScroll: this.scrollCounter() })\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevProps.isFullScreenWidget !== this.props.isFullScreenWidget) {\n this.setState(\n {\n leftScrollValue: 0,\n currentIndex: 0,\n },\n () => {\n if (this.replyList && this.replyList.current) {\n this.replyList.current.scrollLeft = 0\n }\n },\n )\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.state.repliesAnimation)\n }\n\n nextItem = () => {\n this.scrollItems(true)\n }\n prevItem = () => {\n this.scrollItems(false)\n }\n scrollItems = next => {\n const { currentIndex } = this.state\n const scrollValue = ReactDOM.findDOMNode(this[`reply${currentIndex}`])\n ? ReactDOM.findDOMNode(\n this[`reply${currentIndex}`],\n ).getBoundingClientRect().width\n : 100\n let countedScrollValue =\n this.state.leftScrollValue + (next ? scrollValue : -scrollValue)\n const countedCurrentIndex = currentIndex + (next ? 1 : -1)\n if (!next) {\n countedScrollValue -= 8\n }\n this.setState(\n {\n leftScrollValue: countedScrollValue,\n currentIndex: countedCurrentIndex,\n },\n () => {\n this.replyList.current.scrollLeft = countedScrollValue\n },\n )\n }\n scrollCounter = () => {\n if (\n this.props.message.quickReplies &&\n this.props.message.quickReplies.length\n ) {\n let sumWidth = 0\n this.props.message.quickReplies.forEach((reply, index) => {\n sumWidth += ReactDOM.findDOMNode(this[`reply${index}`])\n ? ReactDOM.findDOMNode(this[`reply${index}`]).getBoundingClientRect()\n .width\n : 100\n })\n sumWidth += (this.props.message.quickReplies.length - 1) * 8\n //8px is additional margin\n\n return (\n this.replyList.current && this.replyList.current.offsetWidth < sumWidth\n )\n }\n }\n\n postReply = message => {\n ReactDOM.findDOMNode(this._wrapper).style.pointerEvents = 'none'\n\n const repliesAnimation = setTimeout(() => {\n this.setState({\n showReplies: false,\n })\n this.props.postMessage(message)\n }, 700)\n\n this.setState({ showAnimation: true }, () => repliesAnimation)\n }\n\n checkPrevArrow = () => {\n return (\n this.props.message.quickReplies &&\n this.replyList &&\n this.replyList.current &&\n this.state.leftScrollValue > 0\n )\n }\n\n checkNextArrow = () => {\n return (\n this.props.message.quickReplies &&\n this.props.message.quickReplies.length > 1 &&\n (this.state.leftScrollValue === 0 ||\n (this.replyList.current &&\n this.replyList.current.scrollWidth -\n this.replyList.current.offsetWidth >\n this.state.leftScrollValue))\n )\n }\n\n render() {\n const { message, color, isMobile } = this.props\n const { showReplies, showAnimation } = this.state\n\n const visibility = !showReplies && { visibility: 'hidden' }\n let customStyles = showAnimation && { animation: '.7s fadeOut' }\n customStyles = { ...customStyles, ...visibility }\n\n const showScroll = false\n\n return (\n (this._wrapper = node)}>\n {!isMobile && this.checkPrevArrow() && showScroll && (\n
\n \n
\n )}\n {message.quickReplies && (\n \n {message.quickReplies.map((reply, index) => (\n (this[`reply${index}`] = node)}>\n {reply.type && reply.type === 'text' ? (\n this.postReply(msg)}\n color={color}\n reply={reply}\n />\n ) : (\n this.postReply(msg)} />\n )}\n \n ))}\n \n )}\n {!isMobile && this.checkNextArrow() && showScroll && (\n
\n \n
\n )}\n \n )\n }\n}\n\nexport default QuickReplyList\n","const defaultCustomerSupportImage = `${process.env.PUBLIC_URL}/images/default-user-icon.svg`\n\nconst getImageFromCustomerSupport = customerSupportDetails => {\n return customerSupportDetails.imageUrl || defaultCustomerSupportImage\n}\n\nexport const getMessageLogo = (message, settings) => {\n return message?.customerSupportDetails\n ? getImageFromCustomerSupport(message.customerSupportDetails)\n : settings.logo\n}\n","import { url_pattern, us_phone_number } from '../actions/static'\n\nexport const wrapTextAddLinks = text => {\n text = findPhoneLink(text)\n text = findUrlLink(text)\n\n return text\n}\n\nconst findPhoneLink = text => {\n if (!us_phone_number.test(text)) return text\n\n return text.replace(\n us_phone_number,\n url => `${url}`,\n )\n}\n\nconst findUrlLink = text => {\n const textArr = text?.split(' ')\n if (textArr) {\n textArr.forEach((word, index) => {\n if (\n url_pattern.exec(word) &&\n !word.includes('data-href') &&\n !word.endsWith('.text')\n ) {\n word = word.replace(\n url_pattern,\n url =>\n `${url}`,\n )\n textArr[index] = word\n }\n })\n return textArr.join(' ')\n }\n}\n\nconst withHttp = link => {\n if (!/[a-zA-Z0-9]/.test(link.slice(-1))) link = link.slice(0, -1)\n const url = !/^https?:\\/\\//i.test(link) ? `http://${link}` : link\n return ' ' + url.trim() + ' '\n}\n","import React from 'react'\nimport * as ReactDOM from 'react-dom'\nimport { uid } from 'react-uid/dist/es5/index'\n\nimport '../Message.css'\nimport Button from '../TemplateMessage/Button'\nimport QuickReplyList from '../Reply/QuickReplyList'\nimport { generatePostBackObject } from '../../../actions/static'\nimport { generateNewTabName } from '../../../helper/generateNewTabName'\nimport { getMessageLogo } from '../../../helper/getMessageLogo'\nimport { wrapTextAddLinks } from '../../../helper/wrapTextAddLinks'\n\nconst messageWidthBtn = screenWidth => ({\n width: screenWidth ? (screenWidth * 70) / 100 + 'px' : '254px',\n whiteSpace: 'pre-wrap',\n})\nconst messageWidthText = (screenWidth, color, messageBorder, isRtl) => ({\n maxWidth: screenWidth ? (screenWidth * 70) / 100 + 'px' : '254px',\n whiteSpace: 'pre-wrap',\n backgroundColor: color ? color : '',\n borderRadius: messageBorder,\n direction: isRtl && 'rtl',\n})\n\nclass TextMessage extends React.Component {\n componentDidMount() {\n this.linkEditorListener()\n }\n\n linkEditorListener = () => {\n const links = [\n ...ReactDOM.findDOMNode(this.output).querySelectorAll('.linkEdited'),\n ]\n links.length > 0 &&\n links.forEach(link => {\n const extension = JSON.parse(link.getAttribute('data-extension'))\n const url = link.getAttribute('data-href')\n\n if (extension) {\n link.onclick = () => this.props.openIframe(url)\n } else {\n link.onclick = () => this.openNewTab(url)\n }\n })\n }\n\n openNewTab = url => {\n window.open(url, generateNewTabName())\n }\n\n render() {\n const {\n classesNames,\n postMessage,\n message,\n showReply,\n showLogo,\n device,\n settings,\n openIframe,\n isFullScreenWidget,\n messageBorder,\n messageMargin,\n isMobile,\n } = this.props\n const containerClass =\n classesNames && ~classesNames.indexOf('bubble--sent')\n ? 'msg--sent'\n : 'msg--rcvd'\n const color =\n classesNames && ~classesNames.indexOf('bubble--sent')\n ? settings.color\n : '#ebebef'\n const { isRtl, isFromBot } = message\n\n const wrapClass =\n isFromBot && showLogo ? 'received-container_logo' : 'received-container'\n\n return (\n <>\n {message.buttons != null ? (\n
(this.output = node)} className={wrapClass}>\n {isFromBot && showLogo && (\n
\n \n
\n )}\n \n \n \n
\n {message.buttons &&\n message.buttons.map(button => (\n postMessage(generatePostBackObject(button))}\n />\n ))}\n \n \n ) : (\n (this.output = node)}\n className={`msg-container ${containerClass} ${wrapClass}`}\n style={{ margin: messageMargin }}>\n {isFromBot && showLogo && (\n \n )}\n \n \n )}\n {showReply && message && (\n \n )}\n \n )\n }\n}\n\nexport default TextMessage\n","export const templateImgStyle = (device, url) => ({\n width: device.width ? (device.width * 70) / 100 + 'px' : '254px',\n backgroundImage: `url('${url}')`,\n backgroundSize: 'auto 140px',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport '../Message.css'\nimport './ImageMessage.css'\nimport { templateImgStyle } from './config'\nimport { zoomImage } from '../../../actions/static'\nimport QuickReplyList from '../Reply/QuickReplyList'\nimport { getMessageLogo } from '../../../helper/getMessageLogo'\nimport classes from './styles.module.scss'\n\nconst ImageMessage = ({\n url,\n message,\n showReply,\n showLogo,\n device,\n settings,\n parentURL,\n postMessage,\n isFullScreenWidget,\n isMobile,\n}) => {\n\n return (\n <>\n \n {message.isFromBot && showLogo && (\n
\n \n
\n )}\n \n \n {showReply && (\n \n )}\n \n )\n}\n\nImageMessage.propTypes = {\n url: PropTypes.string.isRequired,\n isFullScreenWidget: PropTypes.bool,\n showLogo: PropTypes.bool.isRequired,\n showReply: PropTypes.bool.isRequired,\n message: PropTypes.object.isRequired,\n device: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n settings: PropTypes.shape({\n logo: PropTypes.string,\n color: PropTypes.string,\n title: PropTypes.string,\n bot_name: PropTypes.string,\n popup_text: PropTypes.string,\n popup_delay: PropTypes.number,\n greeting_text: PropTypes.string,\n chat_history_level: PropTypes.string,\n is_background_blurred: PropTypes.bool,\n enable_login_name_field: PropTypes.bool,\n enable_login_email_field: PropTypes.bool,\n is_composer_input_enabled: PropTypes.bool,\n }),\n}\n\nexport default ImageMessage\n","export const messageWidth = screenWidth => ({\n width: screenWidth ? (screenWidth * 70) / 100 + 'px' : '254px',\n})\n\nexport const templateImgStyle = screenWidth => ({\n maxHeight: screenWidth ? (screenWidth * 45) / 100 + 'px' : '140px',\n})\n","import React from 'react'\nimport imgNotFound from '../../../../icons/imgNotFound.png'\n\nexport const TemplateImg = ({\n styles,\n classesWithTitle,\n classesWithOutTitle,\n url,\n title,\n}) => {\n return (\n \n )\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdYAAAEYCAYAAADh+NeeAAAAiHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7dDQIxDIPfMwUj5K9OMw467iQ2YHxSWqj4HhLLSizT+XpedBsIK3mLjgS48PTUe4nOE2MWZRm75mRtk1K6bTKdAtmDfR/68r80Q8cVHoGGA4dWup5mn1k/NFJ51Mgd8sBS9u9L/xWYLd5IzSxQAshw5wAACgZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0NzAiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIyODAiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iNDcwIgogICB0aWZmOkltYWdlSGVpZ2h0PSIyODAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiLz4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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\"","import React from 'react'\nimport { messageWidth } from './config'\nimport classes from './styles.module.scss'\nimport { wrapTextAddLinks } from '../../../../helper/wrapTextAddLinks'\n\nconst TemplateText = ({ device, isRtl, title, subtitle }) => {\n const direction = isRtl ? 'rtl' : 'ltr'\n\n return (\n <>\n {\n \n {title && (\n

\n \n

\n )}\n {subtitle && (\n

\n \n

\n )}\n \n }\n \n )\n}\n\nexport default TemplateText\n","import React from 'react'\nimport { messageWidth, templateImgStyle } from './config'\nimport classNames from 'classnames'\nimport { uid } from 'react-uid'\nimport { TemplateImg } from './TemplateImg'\nimport Button from '../Button'\nimport { generatePostBackObject } from '../../../../actions/static'\nimport TemplateText from './TemplateText'\nimport classes from './styles.module.scss'\n\nconst TemplateSlidesList = ({\n slides,\n isRtl,\n device,\n settings,\n openIframe,\n refTemplateList,\n postMessage,\n}) => {\n return (\n <>\n {slides &&\n slides.map((element, index) => {\n return (\n (refTemplateList[index] = node)}>\n {element.defaultAction && element.defaultAction.webUrl && (\n \n \n \n )}\n\n {element.defaultAction &&\n !element.defaultAction.webUrl &&\n element.defaultAction.type === 'web_url' && (\n \n )}\n {!element.defaultAction && (\n \n )}\n\n \n\n
\n {element.buttons != null &&\n element.buttons.map(button => (\n \n postMessage(generatePostBackObject(button))\n }\n />\n ))}\n
\n \n )\n })}\n \n )\n}\n\nexport default TemplateSlidesList\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport * as ReactDOM from 'react-dom'\n\nimport '../../Message.css'\nimport './TemplateMessage.css'\nimport QuickReplyList from '../../Reply/QuickReplyList'\nimport { NextIcon, PrevIcon } from '../../../../icons/Icons'\nimport TemplateSlidesList from './TemplateSlidesList'\nimport { getMessageLogo } from '../../../../helper/getMessageLogo'\n\nimport classes from './styles.module.scss'\n\nclass TemplateMessage extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n leftScrollValue: 0,\n showReplies: true,\n currentIndex: 0,\n showScroll: false,\n additionalMargin: 12,\n }\n this.carousel = React.createRef()\n this.refTemplateList = []\n }\n\n componentDidMount() {\n const {\n message: { elements },\n } = this.props\n if (elements) {\n this.setState({ showScroll: this.scrollCounter() })\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevProps.isFullScreenWidget !== this.props.isFullScreenWidget) {\n this.setState(\n {\n leftScrollValue: 0,\n showReplies: true,\n currentIndex: 0,\n showScroll: this.scrollCounter(),\n },\n () => (this.carousel.current.scrollLeft = 0),\n )\n }\n }\n\n nextItem = () => {\n this.scrollItems(true)\n }\n prevItem = () => {\n this.scrollItems(false)\n }\n scrollItems = next => {\n const { currentIndex, additionalMargin } = this.state\n const scrollValue = ReactDOM.findDOMNode(this.refTemplateList[currentIndex])\n ? ReactDOM.findDOMNode(\n this.refTemplateList[currentIndex],\n ).getBoundingClientRect().width + additionalMargin\n : ReactDOM.findDOMNode(\n this.refTemplateList[currentIndex - 1],\n ).getBoundingClientRect().width + additionalMargin\n\n let countedScrollValue =\n this.state.leftScrollValue + (next ? scrollValue : -scrollValue)\n const countedCurrentIndex = currentIndex + (next ? 1 : -1)\n if (!next) {\n countedScrollValue -= this.props.isFullScreenWidget ? additionalMargin : 0\n }\n\n this.setState(\n {\n leftScrollValue: countedScrollValue,\n currentIndex: countedCurrentIndex,\n },\n () => {\n this.carousel.current.scrollLeft = countedScrollValue\n },\n )\n }\n\n scrollCounter = () => {\n const {\n message: { elements, isFullScreenWidget },\n } = this.props\n let sumWidth = 0\n elements.forEach((slide, index) => {\n sumWidth += ReactDOM.findDOMNode(\n this.refTemplateList[index],\n ).getBoundingClientRect().width\n })\n sumWidth +=\n (elements.length - 1) *\n (isFullScreenWidget ? this.state.additionalMargin : 0)\n return this.carousel.current.offsetWidth < sumWidth\n }\n\n checkIfScrollShouldBeShowed = () => {\n const carousel = this.carousel.current\n return (\n carousel &&\n carousel.scrollWidth - carousel.offsetWidth >\n this.state.leftScrollValue + 20\n )\n }\n\n checkIfNeedRightArrow = slides => {\n const { currentIndex, showScroll, leftScrollValue } = this.state\n const { isFullScreenWidget } = this.props\n if (isFullScreenWidget) {\n return this.checkIfScrollShouldBeShowed() && showScroll\n } else {\n return (\n currentIndex < slides.length &&\n (this.checkIfScrollShouldBeShowed() || leftScrollValue === 0) &&\n showScroll\n )\n }\n }\n\n render() {\n const {\n postMessage,\n message,\n showLogo,\n showReply,\n device,\n settings,\n openIframe,\n isFullScreenWidget,\n isMobile,\n } = this.props\n const { currentIndex, leftScrollValue } = this.state\n const slides = message.elements\n const carousel = this.carousel.current\n const isLeftArrow = currentIndex > 0 && carousel && leftScrollValue > 0\n const isRightArrowNeeded = this.checkIfNeedRightArrow(slides)\n const { isRtl, isFromBot } = message\n const wrapClass =\n isFromBot && showLogo ? 'received-container_logo' : 'received-container'\n\n return (\n <>\n \n {isFromBot && showLogo ? (\n
\n \n
\n ) : (\n
\n )}\n
\n {!isMobile && isLeftArrow && slides.length > 1 && (\n
\n \n
\n )}\n \n \n
\n {!isMobile && isRightArrowNeeded && slides.length > 1 && (\n \n \n
\n )}\n \n \n {showReply && (\n \n )}\n \n )\n }\n}\n\nTemplateMessage.propTypes = {\n isFullScreenWidget: PropTypes.bool,\n showLogo: PropTypes.bool.isRequired,\n showReply: PropTypes.bool.isRequired,\n message: PropTypes.object.isRequired,\n classes: PropTypes.object,\n openIframe: PropTypes.func.isRequired,\n postMessage: PropTypes.func.isRequired,\n device: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n settings: PropTypes.shape({\n logo: PropTypes.string,\n color: PropTypes.string,\n title: PropTypes.string,\n bot_name: PropTypes.string,\n popup_text: PropTypes.string,\n popup_delay: PropTypes.number,\n greeting_text: PropTypes.string,\n chat_history_level: PropTypes.string,\n is_background_blurred: PropTypes.bool,\n enable_login_name_field: PropTypes.bool,\n enable_login_email_field: PropTypes.bool,\n is_composer_input_enabled: PropTypes.bool,\n }),\n}\n\nexport default TemplateMessage\n","export const getWidthBlock = device =>\n (device.width ? (device.width * 70) / 100 + 'px' : '254px')\n","import React from 'react'\n\nexport default function CenteredLoader(props) {\n return (\n \n \n \n )\n}\n","import React from 'react'\nimport { templateImgStyle } from './styles'\nimport { zoomImage } from '../../../../actions/static'\nimport CenteredLoader from '../../../view/CenteredLoader'\n\nexport const Image = props => {\n const { classes } = props\n\n return (\n \n
\n \n
\n \n )\n}\n","import { withStyles } from '@material-ui/core'\n\nimport { styles } from './styles'\nimport { Image as View } from './Image'\n\nexport const Image = withStyles(styles)(View)\n","import { getWidthBlock } from '../getWidthBlock'\n\nexport const styles = () => ({\n templateImg: {\n animation: '.5s messageImageAnimation',\n borderRadius: 10,\n display: 'block',\n position: 'relative',\n cursor: 'zoom-in',\n height: 140,\n },\n templateImgSpinnerContainer: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: -1,\n },\n})\n\nexport const templateImgStyle = (device, url, received) => ({\n width: getWidthBlock(device),\n backgroundImage: `url('${url}')`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n marginRight: received ? '' : '10px',\n})\n","import { withStyles } from '@material-ui/core'\n\nimport { styles } from './styles'\nimport { Video as View } from './Video'\n\nexport const Video = withStyles(styles)(View)\n","import { getWidthBlock } from '../getWidthBlock'\n\nexport const styles = () => ({\n container: {\n height: 140,\n borderRadius: 10,\n overflow: 'hidden',\n },\n})\n\nexport const templateVideoStyle = (device, received) => ({\n width: getWidthBlock(device),\n marginRight: received ? '' : '10px',\n})\n","import React from 'react'\n\nimport { templateVideoStyle } from './styles'\n\nexport const Video = props => {\n const { classes } = props\n\n return (\n \n \n \n )\n}\n","import { withStyles } from '@material-ui/core'\n\nimport { styles } from './styles'\nimport { Attachment as View } from './Attachment'\n\nexport const Attachment = withStyles(styles)(View)\n","import { getWidthBlock } from '../getWidthBlock'\n\nexport const styles = () => ({\n attachment: {\n textDecoration: 'none',\n color: '#1658F3',\n marginLeft: '15px',\n alignItems: 'center',\n },\n attachmentSpan: {\n marginRight: '8px',\n },\n})\n\nexport const templateAttachmentStyle = (device, url, received) => ({\n width: getWidthBlock(device),\n backgroundImage: `url('${url}')`,\n backgroundSize: 'auto 140px',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n marginRight: received ? '' : '10px',\n})\n","import React from 'react'\nimport { DownloadIcon } from '../../../../icons/Icons'\n\nexport const Attachment = props => (\n \n \n {props.title}\n \n \n)\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { Image } from './Image'\nimport { Video } from './Video'\n\nimport '../Message.css'\nimport QuickReplyList from '../Reply/QuickReplyList'\nimport { getMessageLogo } from '../../../helper/getMessageLogo'\nimport { Attachment } from './Attachment'\n\nconst FileMessage = ({\n url,\n message,\n showReply,\n showLogo,\n device,\n settings,\n postMessage,\n parentURL,\n isFullScreenWidget,\n isMobile,\n type,\n title,\n}) => (\n <>\n \n {message.received && showLogo && (\n
\n \n
\n )}\n {type === 'image' && (\n \n )}\n {type === 'video' && (\n