{"version":3,"sources":["lang/locales/en_US.js","lang/locales/es_ES.js","lang/locales/zh-ZH.js","lang/locales/fr-FR.js","lang/locales/zh-HK.js","lang/locales/mi-MI.js","lang/locales/id_ID.js","lang/locales/hi_HI.js","lang/locales/af-AF.js","lang/locales/de-DE.js","lang/locales/ja-JA.js","lang/locales/ko-KO.js","lang/locales/th-TH.js","lang/locales/tl-TL.js","lang/locales/vi-VI.js","lang/locales/ar-AR.js","lang/locales/ru-RU.js","lang/locales/fi_FI.js","ChatBubble.js","Extensions/WebViewExtension/WebViewExtension.js","Extensions/WebViewExternalExtension/WebViewExternalExtension.js","Extensions/ChatSuggestionExtension/ChatSuggestionExtension.js","helpers/IntlMessages.js","ChatComponent/PersistentMenu.js","ChatComponent/PropertyPopup.js","lang/entries/en-US.js","lang/entries/es-ES.js","lang/entries/zh-ZH.js","lang/entries/fr-FR.js","lang/entries/zh-HK.js","lang/entries/mi-MI.js","lang/entries/mi.js","lang/entries/id-ID.js","lang/entries/hi-HI.js","lang/entries/af-AF.js","lang/entries/de-DE.js","lang/entries/ja-JA.js","lang/entries/ko-KO.js","lang/entries/th-TH.js","lang/entries/tl-TL.js","lang/entries/vi-VI.js","lang/entries/ar-AR.js","lang/entries/ru-RU.js","lang/index.js","lang/entries/fi-FI.js","ChatComponent/CookiePopup.js","BookingApp.js","ChatWindowTypingIndicator.js","ChatWindowParticipantTagger.js","ChatWindowCardAction.js","helpers/Translate.js","MsUiComponents/CustomHeroCardButtonCol.js","MsUiComponents/CustomHeroCardButtonRow.js","MsUiComponents/CustomHeroCard.js","Extensions/FileUploadExtension/FileUploadCard.js","MsUiComponents/CustomMessage.js","MsUiComponents/CustomVideoCard.js","Extensions/AttachmentMiddleware.js","ChatComponent/AmaduesAvailability.js","ChatComponent/MewsAvailability.js","ChatComponent/CheckAvailablity.js","ChatComponent/ServicePopup.js","ChatComponent/FeedbackPopup.js","Extensions/AutoCompleteExtension/AutoCompleteExtension.js","ChatComponent/ThumbFeedback.js","ChatWindow.js","ChatBubbleComponent/SildeBubble.js","ChatStore.js","index.js","Extensions/ChatAppExtensions.js","ChatApp.js"],"names":["module","exports","ChatBubble","props","handleMouseEnter","setState","hover","handleMouseLeave","state","nudgeavtar","botPosition","bubble_clicked","bind","nudge_clicked","hint_close","nudgeavtar_clicked","window","addEventListener","windowBuddbleMessage","event","data","startsWith","this","postMessage","onOpened","e","stopPropagation","hintClosed","msg","parent","undefined","botSettings","bubbleSettings","bubblePosition","mobile","alignInMobile","position","toLowerCase","sideInMobile","bottomInMobile","align","side","bottom","scrollAnimation","enabled","beforeAnimationTop","afterAnimationTop","disabledChatbot","className","onClick","currentNudge","eyeCatcher","messages","map","alt","src","url","fadeIn","style","backgroundColor","backGroundColor","color","textColor","paddingTop","backGroundColorHover","textColorHover","onMouseEnter","onMouseLeave","ReactHtmlParser","text","backgroundImage","urls","icon","Component","WebViewExtension","popUpHeight","title","webview","height","hideHeader","largeWindowHideHeader","findInputTimerId","setInterval","chatbox","document","getElementById","inputs","querySelectorAll","inputRegion","length","popUp","getElementsByClassName","clientHeight","clearInterval","close","windowMessage","params","split","x","decodeURIComponent","default_form","fetch","process","id","method","headers","Accept","then","response","json","form","name","oldProps","closing","setTimeout","api","setExtension","styling","containerStyling","messenger","animationName","top","padding","width","includes","colours","headerText","WebViewExternalExtension","webviewExt","isMobile","openInternalView","openExternalView","receiveWindowMessage","opened","closeExternalView","settings","mode","payload","JSON","stringify","ChatSuggestionExtension","searchTerm","bottomMargin","filteredSuggestions","maximised","suggestions","getSuggestionCallback","processUserInput","onSuggestionClicked","updateSuggestions","value","target","time","input","match","filtered","options","filter","suggestion","doesSuggestionMatch","exactMatch","find","synonyms","some","syn","term","sendActivity","type","question","borderColor","header","key","injectIntl","withRef","PersistentMenu","menuOpen","persistentMenu","handleMenuClick","persistentMenuEnabled","botSite","cookiesDetail","mindate","Date","getFullYear","useState","currentYear","MenuClick","itemType","items","BotSiteClick","item","itemIndex","callToActions","i","payLoad","menu","menuIndex","xmlns","fill","viewBox","fillRule","d","IntlMessages","version","preserveAspectRatio","transform","stroke","y","multilingual","href","PropertyPopup","setCheckAvailability","isCheckedAvailability","active","open_property_popup","pid","localStorage","getItem","property_state_store","bookingApp","rooms","adults","children","selectProperty","elem","selectedPid","setPropertyPopUp","forceUpdate","setItem","lStore","PROPERTYID","PROPERTYNAME","label","loadFormSetting","callbacks","getStore","dispatch","pname","close_property_popup","GetServiceAvailable","sendDates","toggle","open","close_pop","hotel","properties","property","dates","kids","room_app","index","EnLang","enMessages","locale","appLocaleData","EsLang","esMessages","ChLang","chMessages","FrLang","MiLang","miMessages","pluralRuleFunction","t","IdLang","HiLang","hiMessages","AfLang","DeLang","deMessages","JaLang","jaMessages","KoLang","koMessages","ThLang","thMessages","TlLang","tlMessages","ViLang","viMessages","ArLang","arMessages","RuLang","ruMessages","AppLocale","en","enLang","es","esLang","zh","chLang","fr","frLang","hk","twLang","mi","miLang","idLang","hi","hiLang","af","afLang","ar","arLang","de","deLang","ja","jaLang","ko","koLang","th","thLang","tl","tlLang","vi","viLang","ru","ruLang","fi","fiMessages","addLocaleData","CookiePopup","isOpen","onClose","content","border","borderRadius","customStyles","control","base","boxShadow","next","activeTyping","removeTypingIndicator","Object","values","messageList","querySelector","console","error","last","appendChild","tag","createElement","innerHTML","setAttribute","getTypingBox","addTypingIndicator","indicator","parentNode","removeChild","INTERVAL_TIMER","SAVE_FEEDBACK","ChatWindowParticipantTagger","botName","botImage","gid","iid","addParticipantTags","msChatwindow","messageBubbles","row","isFirst","isFirstOfBlock","alreadyHasTag","getUserTag","getBotTag","insertBefore","isLast","alreadyHasFeed","statusDiv","msgId","conId","elementName","markdownTextLen","feedback_response","btnShow","messageType","li","parentElement","bubbleWidth","isAdaptingCard","isZenDesk","childdiv","herocard","getAttribute","videocard","getBotFeedBack","classList","add","attecMsg","formMsg","groupForm","herocardCarousel","videocardCarousel","append","display","remove","getAssistantName","assistantDetail","assistantName","k","tags","tagBody","tagBodyResponse","tagFeedbackText","innerText","TanslateWasHelpFullText","likeButton","dislikeButton","orignalBtn","body","groupId","messageId","feedback","getOldFeed","parse","new_chat_state","getIndex","findIndex","push","feedback_popup","feedBackButton","action","cardAction","indexWebView","indexOf","jsonData","substring","webViewUrl","Translate","lang","setText","translationDone","setTranslationDone","useEffect","q","m","output","CustomHeroCardButtonCol","btn","heroButtonBackground","heroButtonText","heroButtonBackgroundHover","heroButtonTextHover","CustomHeroCardButtonRow","md","require","html","linkify","typographer","mila","use","matcher","config","attrs","rel","class","CustomHeroCard","showmore","showless","location","button","googleAnalytics","lastIndexOf","utmSource","utmMedium","substr","lastChild","scrollIntoView","behavior","block","servicePopup","addLinks","availblityForm","GroupId","PropertyId","Button","clickButton","Creator","roomId","SetId","productId","promoId","addonId","imageUrl","images","feedbackbody","webConfig","data-activity-id","data-con-id","conversationId","data-feedback","data-view-btn","replyToId","data-msg-type","cardActivitiesSummary","data-inzendesk","inZenDesk","openImage","renderInline","textAlign","textDecoration","cursor","fontSize","buttons","actionsRow","FileUploadCard","files","used","uploadRef","React","createRef","selectFile","filesChanged","uploadFiles","current","click","fileList","attachments","file","formData","FormData","uploadUrl","uploadR","ok","status","uploadId","replaceAll","contentType","activity","meta","isMulti","allowMultiple","accept","onChange","ref","multiple","f","CustomMessage","text-len","render","CustomVideoCard","card","allowFullScreen","media","toString","replace","AttachmentMiddleware","directLine","attachment","conversation","summary","months","Availability","currentDate","moment","format","AmaduesAvailability","integration","closeAvailblityForm","buttonColor","roomdata","promoCode","setPromoCode","roomTypeCode","setRoomTypeCode","setAdults","setChildren","nights","setNights","children_age","setChildren_age","ratePlanCode","setRatePlanCode","datesData","setDatesData","disableDays","setDisableDays","disableCheckInDate","setDisableCheckInDate","showModel","setShowModel","setDates","year","month","day","date","minimumDate","loading","setLoading","from","to","selectedDayRange","setSelectedDayRange","handleDisableDaysChange","fromDate","toDate","Channel","Id","handleFillCalender","elements","isCheckOutDate","obj","attributes","nodeValue","discount","rate","discountOnLowestMinRate","minRate","price","parseInt","Math","round","isAvailable","lst","statusCode","tax","leftButton","yearSelector","monthSelector","newDate","monthYear","adult_count","children_count","roomCode","endOf","preventDefault","subtract","startOf","ShowRatesSelectedRoom","propertyId","languageCode","result","providerRoomCode","calculateNights","startDate","endDate","start","end","dayCount","setDate","getDate","Input","handleRoomListChange","Row","Col","xs","disabledDays","night","fromDateStr","toDateStr","fromDateData","toDateData","renderFooter","background","margin","FormGroup","Label","bookingEngineUrl","childrenValue","childrenAge","arr","element","handleChangeChildrenAge","placeholder","childAge","bookingUrl","dateFormat","roomBookingEngineCode","hashIndex","slice","checkInDate","checkOutDate","childrens","creator","MewsAvailability","propertyCurrency","setRooms","availablePrice","setAvaialbelPrice","readyToBook","setReadyToBook","priceLoading","setPriceLoading","handleCheckAvailability","adultsCount","childrensCount","diff","query","selectedRate","reduce","prev","curr","roomAdults","roomCategoryAvailabilities","RoomCategoryAvailabilities","RoomOccupancyAvailabilities","details","AdultCount","ChildCount","Pricing","Price","AveragePerNight","availableRooms","AvailableRoomCount","remainingAdults","min","catch","err","CheckAvailablity","handleAdultsChange","handleChildrenChange","handlePromoCodeChange","submit","open_availblity_popup","BMB_Property_URL","currency","Found","ShowRates","documentElement","setProperty","l","language","ServicePopup","open_service_popup","close_serivce_popup","conversation_id","serviceData","setServiceData","SERVICES_URL","services","handleClickDetail","imageLink","backgroundPosition","backgroundSize","FeedbackPopup","setZchatFeedback","formSettings","conid","bearerToken","comments","inputData","setInputData","like","dislike","setColor","formSetting","setFormSetting","defaultForms","isLeaveMessageForm","leaveMessageFormId","handleSend","handleSkip","AutoCompleteExtension","self","ignoreClickOnMeElement","contains","ThumbFeedback","handleFeedBackResponse","handleCancelFeedbackResponse","changeleaveFeedbackMessage","phone","email","comment","inputdata","handleCancel","feedbackFormId","formname","getPlaceholder","handleChange","buttonStyle","isFeedbackForm","Form","onSubmit","handleSubmit","required","publicIp","styleOptions","bubbleBorderRadius","bubbleTextColor","bubbleBackground","bubbleFromUserBorderRadius","bubbleFromUserBackground","bubbleFromUserTextColor","sendBoxTextColor","sendBoxBorderTop","sendBoxBorderBottom","sendBoxButtonColor","sendBoxButtonColorOnFocus","sendBoxButtonColorOnHover","sendBoxPlaceholderColor","paddingWide","hideUploadButton","timestampColor","sendBoxBackground","bubbleBorderColor","bubbleFromUserBorderColor","suggestedActionLayout","suggestedActionHeight","suggestedActionBorderRadius","suggestedActionBorderWidth","suggestedActionBackground","suggestedActionTextColor","localeOptions","desc","code","ChatWindow","getName","getEn","c","statement","handleLinkClick","closest","isOpenModal","modalContent","closeModal","handleVisitorEmailChange","handleVisitorNameChange","handleVisitorPhoneNumerChange","val","str","charCodeAt","phoneNumber","handleVisitorCheckBoxChange","consentGiven","checked","hadleVisitorFirstNameChange","firstName","hadleVisitorLastNameChange","lastName","hadleVisitorZipCodeChange","zipCode","handleChangeLanguage","sendtobot","findLanguage","langLocale","language_state_store","persistentMenuData","menuItem","close_language_popup","open_language_popup","end_clicked","hide_bot_confirm","leaveFeedbackMessage","getMessageTranslate","a","leaveFeedback","leaveMessage","directline","v4","ip","cache","res","message","random","msgpayload","vid","sid","cid","toISOString","source","agentId","propertyStore","isServiceAvailable","setBubbleToShrinkIn","ask_close","menu_open","ask_bot_hide","visitorPopupState","languageOptions","sort","dynamicSort","open_ZChatfeedback_popup","bubble_type","availblityData","zChatfeedbackData","isButtonDisable","endChat","isCookiesHide","open_thumb_feedback","confirm_cookies","cookies_state_store","hideBot","close_bot_ask_hide","onClosed","bot_restartClick","menu_popup_open","menu_popup_Close","close_confirmed","endClicked","close_service_popup","OpenServicePopUp","popupclose_confirmed","closeClicked","refresh","refreshClicked","close_cancel","close_clicked","close_cardapp","card_app","close_roomapp","cookies_understood","setAvailblity","sendFeedbackZenDeskChat","cookies_details","cookiesURL","set_thumb_feedback_open","bob_site","poweredByURL","movetotop","els","scrollTo","save_visitor","user","visitor_state_store","link","assistantDetails","intervalId","sendButtonDiv","styleSheets","insertRule","closeIcon","closeIconHover","minimizeIcon","minimizeIconHover","sendIcon","sendIconHover","getdiv","inTwiliochat","features","fixedResponses","main","disableButton","outline","disabled","opacity","div_sendBoxTextCount","span","marginLeft","addOnUpsells","divcurated","getMainDiv","formdiv","createCuratedDiv","sortOrder","b","el","languages","langCode","selectedLang","bubbleType","ignoreClickOnMeElementVisitor","googleAnalyticsIntegration","prevProps","prevState","availblity","openZChat_popup","property_popup","autoDetect","bot_restart","cookiesData","cookies_data","currentAppLocale","store","inputEnabled","user_id","loadingLivechat","agentName","connectionError","inactivePopupOne","inactivePopupTwo","resize_full","resize_actual","myma_logosrc","isGreyScale","botBackground","botUser","botUserText","botBot","botBotText","hideSendBoxInMobile","hideTypingTextBox","hideSendBox","sendBoxButton","sendBoxText","sendBoxBottomBorder","sendBoxButtonFocus","sendBoxButtonHover","timeStamp","sendBoxPlaceHolder","suggestionBackground","suggestionText","createCssRules","customStyle","resize","transition","refreshIcon","hideRoomDetail","messengerSettings","formId","zIndex","paddingBottom","inactivePopUpWarning","role","aria-label","inactivePopUpSession","userID","typingIndicatorMiddleware","ChatWindowTypingIndicator","cardActionMiddleware","ChatWindowCardAction","attachmentMiddleware","extensions","_api","visitorPopup","visitorSettings","subTitle","fields","fIndex","field","bsSize","mandatory","CustomInput","checkboxText","clipRule","buttonText","isFooterHide","groupData","group","poweredByLogo","verticalAlign","webPoweredBy1","SildeBubble","iseffect","setIsEffect","setNudgeAvtar","dir","intervalOne","intervalTwo","BMB_LOG_URL","BMB_ROOMTYPE_URL","incomingActivity","enableChat","scrollChat","dl","getChatState","isRecentActivity","channelData","suggestionUi","suggestedActions","suggestionsPayload","now","liveChat","provider","startZenDeskChat","startGenesysPureCloudChat","startMewsChat","threadData","startAWSConnectChat","webView","webviewPayload","availabilityData","ChangeBotLanguage","token","tokenInterval","contentWindow","largeWindow","inputHint","showTypingTextBox","livechat","startLivechat","twiliochat","startTwiliochat","signalrchat","startSignalRchat","setAgentId","bmbLogMessage","isInTwiliochat","endTwilio","isInSignalRchat","endSignalRChat","getPID","getRoomTypes","showBookingForm","getGID","ari","applicable","timestamp","handled","makePayment","splice","filterAttachments","isInGenesysPureCloudChat","isInMewsChat","valueOf","outgoingBackChannelEvents","getIID","getAgentId","bmbLogMessageBot","AgentCheck","eventName","getDirectLineConversation","BMB_Conversation_URL","agentStatus","dispatchAgentOnlineEvents","outgoingActivity","hideTextCount","getBotSettings","clearTimeout","setInactivePopupOne","parseFloat","seconds","setInactivePopupTwo","liveChatSetings","getLiveChatSettings","noAgentOnline","AgentOnline","n","AgentOnlineNext","isInLivechat","channelId","sendMessage","customId","String","isInZendeskChat","zendesk","sendChatMsg","invoke","groupname","textMessage","mewsChatSettings","threadId","SendMewsMessage","genesysPureCloudChatSettings","messageIntegrationId","idType","SendMessageGenesysPureCloud","isInAWSConnectChat","AWS_CONNECT_REGION","amazonConnectTokenSettings","ConnectionCredentials","ConnectionToken","Content","ContentType","SendMessageAmazonConnect","extension","getExtension","TypeTwiliochat","sendTwilioTypingIndicator","sendZendeskTypingIndicator","sendSignalRTypingIndicator","SendTypingAmazonConnect","localStorageLanguage","LANGUAGE","predictiveSearch","keyword","domain","DOMAIN","importStore","stored","CHAT_STATE","activities","processStoredActivities","history","lastMessage","sendHistoryToZendesk","storeState","sendHistoryToGenesysPureCloud","SendChatHistoryMessageGenesysPureCloud","getChatStore","chatCallbacks","forceNewState","createStore","connectionStatus","setConnectionStatus","propertyName","propertyNameStorage","addScrollEvent","onConnect","setSuggestedActions","incomingLivechat","author","incomingTwiliochat","ParticipantRole","incomingAmazonConnectChat","incomingSignalchat","incomingZendeskchat","disableChat","endedLivechat","livechatTyping","twiliochatTyping","signalchatTyping","removeItem","disconnectChat","getState","parent_location","parent_title","parent_referrer","defaultOpen","previewMode","serviceview","ChatAppExtensions","chatApp","chatAppProps","GROUP_URL","PROPERTIES_URL","ChatApp","reinit","chatBindings","setInLivechat","setInTwiliochat","setInSignalRchat","closeInactivePopupOne","extensionName","callback","booking","liveChatSettings","available","hideRoom","showHideMoveToTop","loadedExtensions","OPENED","IDENTITY","CREDENTIALS","LIVECHAT_STARTED","GENESYS_CLOUD_STARTED","AWS_CONNECT_STARTED","AWS_CONNECT_THREAD","MEWS_CHAT_STARTED","MEWS_THREAD","COOKIES","EXTENSIONS","BOTCLICK","LIVECHATMESSAGESTAMP","LIVECHATCLIENT","VISITORDETAILS","ZENDESKGROUP","started","inLiveChat","createChatSessionStartUp","animation","bubbleToFadeIn","integrationSettings","blockChatbot","getAPI","visitorPopUp","inTwilioChat","inSignalRChat","twilioAccessToken","twilioChatId","signalRChatId","moveTop","botclick","inMewsChat","zendeskDepartment","zendeskChatNew","inGenesysPureCloudChat","genesysPureCloudSettings","inAwsConnect","amazonConnectToken","addThreadId","messageThreadId","openChatWindow","startConversation","log","prodata","load","scrollTop","scrollHeight","els1","show","hideInterval","detectedLang","botConversationId","page_title","identity","req","whiteListedIpAddresses","departmentId","userLang","navigator","userLanguage","defaultLanguage","level","reqProperties","resultProperties","finalResult","forEach","p","r","displayOrder","domains","priority","sortfinalResult","proid","o","groupCall","nudges","SideMenuItem","MenuData","menus","menuEnabled","MenuDataItem","sideItem","Storage","nudge","disabledInMobile","disabledInDesktop","delayInMillisecondsInMobile","delayInMilliseconds","clearTags","closeChat","destroy","closed","reload","Text","MessageThreadId","Identifier","twilioConversationId","endGenesysPureCloud","endAmazonConnect","recordClick","stop","createZchat","uid","Authorization","DirectLine","registerPageLoad","runNudges","ConnectParticipant","Type","tokenresponse","tokenJson","WebSocket","Websocket","Url","topic","responseMessage","uuid","zChat","account_key","accountKey","twilioConversionId","protocol","JsonHubProtocol","transport","HttpTransportType","WebSockets","LongPolling","logMessageContent","logger","LogLevel","Error","hubConnection","HubConnectionBuilder","withUrl","withHubProtocol","withAutomaticReconnect","build","info","recipient","on","identityBody","tokenResponse","twilioToken","accessToken","ConversationsClient","create","twilioClient","typing","sendTyping","department","preChat","visitorInfo","display_name","setVisitorInfo","newPage","zendeskDefaultDepartment","setVisitorDefaultDepartment","detail","getServingAgentsInfo","nick","queue_position","myInterval","myIntervalBusy","getConnectionStatus","zenDeskFunctions","MessageThreads","getChatHistoryForAgent","displayName","region","ParticipantToken","ws","initialMessage","topics","send","DisplayName","LivechatSDK","license","agent","setVisitorData","pageUrl","pageTitle","customProperties","ReferringWebsite","GroupID","IntegrationID","VisitorID","SessionID","ConversationID","getPredictedAgent","sendChatStore","txt","ConnectionStatus","FailedToConnect","ExpiredToken","Ended","sessionId","integrationId","hide_bot","decodeURL","referrer","preview","custom","evt","ReactDOM"],"mappings":"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","file":"static/js/main.28fb30af.chunk.js","sourcesContent":["module.exports = {\n /* 01.General */\n \"chat.end\":\"Restart your chat conversation\",\n \"chat.endall\":\"End Chat\",\n \"chat.cancel\":\"Cancel\",\n \"chat.cookie\":\"This digital assistant uses cookies to ensure you get the best experience\",\n \"chat.learn\":\"Learn more\",\n \"chat.minimize\":\"Minimize\",\n \"chat.hide\":\"Close\",\n \"chat.hidebot.text\":\"Close will make the avatar disappear for 15 minutes\",\n \"chat.hidebot\":\"Close (Hide) Avatar\",\n \"chat.restart\":\"Restart\",\n \"switch.language\":\"Switch Language\",\n \"switch.property\":\"Switch Property\",\n \"restart.converstation\":\"Restart Conversation\",\n \"chat.endtext\":\"Are you sure you want to end the current chat?\",\n \"check.availabity\":\"Check Availability\",\n \"check.availabity.submit\":\"Submit\",\n \"check.availabity.cancel\":\"Cancel\",\n \"check.availabity.adults\":\"Adults \",\n \"check.availabity.children\":\"Children\",\n \"check.availabity.child.age\":\"Age - child\",\n \"feedback.leave\":\"Leave Feedback\",\n \"feedback.leave.message\":\"Leave Message\",\n};\n","module.exports = {\n \"chat.end\":\"Reinicie su conversación de chat\",\n \"chat.endall\":\"Chat finalizado\",\n \"chat.cancel\":\"Cancelar\",\n \"chat.cookie\":\"Este asistente digital utiliza cookies para garantizar que obtenga la mejor experiencia\",\n \"chat.learn\":\"Aprende más\",\n \"chat.minimize\":\"Minimizar\",\n \"chat.hide\":\"Cerca\",\n \"chat.hidebot.text\":\"Cerrar hará que la avatar desaparezca durante 15 minutos.\",\n \"chat.hidebot\":\"Cerrar robot\",\n \"chat.restart\":\"Reiniciar\",\n \"switch.language\":\"Cambiar de idioma\",\n \"switch.property\":\"Cambiar propiedad\",\n \"restart.converstation\":\"Reiniciar conversación\",\n \"chat.endtext\":\"¿Está seguro de que desea finalizar el chat actual?\",\n \"check.availabity\":\"Consultar disponibilidad\",\n \"check.availabity.submit\":\"Enviar\",\n \"check.availabity.cancel\":\"Cancelar\",\n \"check.availabity.adults\":\"Adultas \",\n \"check.availabity.children\":\"Niñas\",\n \"check.availabity.child.age\":\"Edad - niña\",\n \"feedback.leave\":\"Deja un comentario\",\n \"feedback.leave.message\":\"Deja un mensaje\"\n};\n","module.exports = {\n \"chat.end\":\"重新开始您的聊天对话\",\n \"chat.cancel\":\"取消\",\n \"chat.endall\":\"结束聊天\",\n \"chat.cookie\":\"此数字助理使用 cookie 来确保您获得最佳体验\",\n \"chat.learn\":\"了解更多\",\n \"chat.minimize\":\"最小化\",\n \"chat.hide\":\"关\",\n \"chat.hidebot.text\":\"关闭将使头像消失 15 分钟\",\n \"chat.hidebot\":\"关闭机器人\",\n \"chat.restart\":\"重新开始\",\n \"switch.language\":\"切换语言\",\n \"switch.property\":\"开关属性\",\n \"restart.converstation\":\"重新开始聊天\",\n \"chat.endtext\":\"您确定要结束当前聊天吗?\",\n \"check.availabity\":\"检查可用性\",\n \"check.availabity.submit\":\"提交\",\n \"check.availabity.cancel\":\"取消\",\n \"check.availabity.adults\":\"成年人 \",\n \"check.availabity.children\":\"孩子们\",\n \"check.availabity.child.age\":\"年龄 - 儿童\",\n \"feedback.leave\":\"留下反饋信息\",\n \"feedback.leave.message\":\"请留言\",\n};\n","module.exports = {\n \"chat.end\":\"Redémarrez votre conversation de chat\",\n \"chat.endall\":\"Mettre fin à la discussion\",\n \"chat.cancel\":\"Annuler\",\n \"chat.cookie\":\"Cet assistant numérique utilise des cookies pour vous garantir la meilleure expérience\",\n \"chat.learn\":\"Apprendre encore plus\",\n \"chat.minimize\":\"Minimiser\",\n \"chat.hide\":\"proche\",\n \"chat.hidebot.text\":\"Fermer fera disparaître l'avatar pendant 15 minutes\",\n \"chat.hidebot\":\"Fermer le robot\",\n \"chat.restart\":\"Redémarrer\",\n \"switch.language\":\"Changer de langue\",\n \"switch.property\":\"Changer de propriété\",\n \"restart.converstation\":\"Redémarrer la conversation\",\n \"chat.endtext\":\"Voulez-vous vraiment mettre fin au chat en cours ?\",\n \"check.availabity\":\"Consultar disponibilidad\",\n \"check.availabity.submit\":\"Enviar\",\n \"check.availabity.cancel\":\"Annuler\",\n \"check.availabity.adults\":\"Adultes \",\n \"check.availabity.children\":\"Enfants\",\n \"check.availabity.child.age\":\"Âge - Enfant\",\n \"feedback.leave\":\"Laisser les commentaires\",\n \"feedback.leave.message\":\"Laissez un message\",\n};\n","module.exports = {\n \"chat.end\":\"重新開始您的聊天對話\",\n \"chat.cancel\":\"取消\",\n \"chat.endall\":\"結束聊天\",\n \"chat.cookie\":\"此數字助理使用 cookie 來確保您獲得最佳體驗\",\n \"chat.learn\":\"了解更多\",\n \"chat.minimize\":\"最小化\",\n \"chat.hide\":\"關\",\n \"chat.hidebot.text\":\"關閉將使頭像消失 15 分鐘\",\n \"chat.hidebot\":\"關閉機器人\",\n \"chat.restart\":\"重新開始\",\n \"switch.language\":\"切換語言\",\n \"switch.property\":\"開關屬性\",\n \"restart.converstation\":\"重啟轉換\",\n \"chat.endtext\":\"您確定要結束當前聊天嗎?\",\n \"check.availabity\":\"檢查可用性\",\n \"check.availabity.submit\":\"提交\",\n \"check.availabity.cancel\":\"取消\",\n \"check.availabity.adults\":\"成年人 \",\n \"check.availabity.children\":\"孩子們\",\n \"check.availabity.child.age\":\"年齡 - 兒童\",\n \"feedback.leave\":\"留下反馈信息\",\n \"feedback.leave.message\":\"請留言\",\n};\n","module.exports = {\n \"chat.end\":\"Tīmataria anō tō kōrerorerorero\",\n \"chat.endall\":\"Whakamutua te Korero\",\n \"chat.cancel\":\"Whakakore\",\n \"chat.cookie\":\"Ma tenei kaiawhina mamati e whakamahi nga pihikete kia pai ai to wheako\",\n \"chat.learn\":\"Ako atu\",\n \"chat.minimize\":\"Whakaiti\",\n \"chat.hide\":\"Katia\",\n \"chat.hidebot.text\":\"Kati ka ngaro te avatar mo te 15 meneti\",\n \"chat.hidebot\":\"Katia Bot\",\n \"chat.restart\":\"Tīmata anō\",\n \"switch.language\":\"Whakawhiti Reo\",\n \"switch.property\":\"whakawhiti taonga\",\n \"restart.converstation\":\"Tīmataria anō te Whakawhitiwhiti\",\n \"chat.endtext\":\"Kei te tino hiahia koe ki te whakamutu i te korerorero onāianei?\",\n \"check.availabity\":\"Tirohia te waatea\",\n \"check.availabity.submit\":\"Tukuna\",\n \"check.availabity.cancel\":\"Whakakore\",\n \"check.availabity.adults\":\"Nga pakeke \",\n \"check.availabity.children\":\"Tamariki\",\n \"check.availabity.child.age\":\"Tau - Tamariki\",\n \"feedback.leave\":\"Waiho Urupare\",\n \"feedback.leave.message\":\"Waiho Karere\",\n};\n","module.exports = {\n \"chat.end\":\"Mulai ulang percakapan obrolan Anda\",\n \"chat.endall\":\"Akhiri Obrolan\",\n \"chat.cancel\":\"Membatalkan\",\n \"chat.cookie\":\"Asisten digital ini menggunakan cookie untuk memastikan Anda mendapatkan pengalaman terbaik\",\n \"chat.learn\":\"Belajarlah lagi\",\n \"chat.minimize\":\"Memperkecil\",\n \"chat.hide\":\"Menutup\",\n \"chat.hidebot.text\":\"Tutup akan membuat avatar menghilang selama 15 menit\",\n \"chat.hidebot\":\"Tutup Bot\",\n \"chat.restart\":\"Mengulang kembali\",\n \"switch.language\":\"Ganti Bahasa\",\n \"switch.property\":\"Beralih Properti\",\n \"restart.converstation\":\"Mulai ulang Percakapan\",\n \"chat.endtext\":\"Apakah Anda yakin ingin mengakhiri obrolan saat ini?\",\n \"check.availabity\":\"Cek ketersediaan\",\n \"check.availabity.submit\":\"Kirim\",\n \"check.availabity.cancel\":\"Membatalkan\",\n \"check.availabity.adults\":\"Dewasa \",\n \"check.availabity.children\":\"Anak-anak\",\n \"check.availabity.child.age\":\"Usia - Anak\",\n \"feedback.leave\":\"Tinggalkan umpan balik\",\n \"feedback.leave.message\":\"Tinggalkan pesan\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"बातचीत समाप्त करें\",\n \"chat.endall\":\"बातचीत बंद करें\",\n \"chat.cancel\":\"रद्द करें\",\n \"chat.cookie\":\"यह डिजिटल सहायक यह सुनिश्चित करने के लिए कुकीज़ का उपयोग करता है कि आपको सबसे अच्छा अनुभव मिले\",\n \"chat.learn\":\"और अधिक जानें\",\n \"chat.minimize\":\"छोटा करें\",\n \"chat.hide\":\"बंद करें\",\n \"chat.hidebot.text\":\"करीब 15 मिनट के लिए अवतार गायब कर देगा।\",\n \"chat.hidebot\":\"बोट बंद करें\",\n \"chat.restart\":\"पुनर्प्रारंभ करें\",\n \"switch.language\":\"भाषा बदलें\",\n \"switch.property\":\"संपत्ति बदले\",\n \"restart.converstation\":\"वार्तालाप को पुनरारंभ करें\",\n \"chat.endtext\":\"क्या आप वाकई वर्तमान चैट को समाप्त करना चाहते हैं?\",\n \"check.availabity\":\"उपलब्धता जांचें\",\n \"check.availabity.submit\":\"प्रस्तुत करना\",\n \"check.availabity.cancel\":\"रद्द करें\",\n \"check.availabity.adults\":\"वयस्कों \",\n \"check.availabity.children\":\"बच्चे\",\n \"check.availabity.child.age\":\"आयु - बच्चा\",\n \"feedback.leave\":\"प्रतिक्रिया दें\",\n \"feedback.leave.message\":\"संदेश छोड़ें\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"Herbegin jou kletsgesprek\",\n \"chat.endall\":\"Beëindig klets\",\n \"chat.cancel\":\"Kanselleer\",\n \"chat.cookie\":\"Hierdie digitale assistent gebruik koekies om te verseker dat u die beste ervaring kry\",\n \"chat.learn\":\"Leer meer\",\n \"chat.minimize\":\"Minimaliseer\",\n \"chat.hide\":\"Naby\",\n \"chat.hidebot.text\":\"Close sal die avatar vir 15 minute laat verdwyn\",\n \"chat.hidebot\":\"Maak Bot toe\",\n \"chat.restart\":\"Begin oor\",\n \"switch.language\":\"Van taal wisselen\",\n \"switch.property\":\"Verander eiendom\",\n \"restart.converstation\":\"Herbegin omskakeling\",\n \"chat.endtext\":\"Is jy seker jy wil die huidige klets beëindig?\",\n \"check.availabity\":\"Gaan Beskikbaarheid na\",\n \"check.availabity.submit\":\"Indien\",\n \"check.availabity.cancel\":\"Kanselleer\",\n \"check.availabity.adults\":\"Volwassenes\",\n \"check.availabity.children\":\"Kinders\",\n \"check.availabity.child.age\":\"Ouderdom - kind\",\n \"feedback.leave\":\"Los terugvoer\",\n \"feedback.leave.message\":\"Los Boodskap\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"Starten Sie Ihr Chat-Gespräch neu\",\n \"chat.endall\":\"Ende des Gesprächs\",\n \"chat.cancel\":\"Abbrechen\",\n \"chat.cookie\":\"Dieser digitale Assistent verwendet Cookies, um sicherzustellen, dass Sie die beste Erfahrung machen\",\n \"chat.learn\":\"Mehr erfahren\",\n \"chat.minimize\":\"Minimieren\",\n \"chat.hide\":\"Nah dran\",\n \"chat.hidebot.text\":\"Schließen lässt den Avatar für 15 Minuten verschwinden\",\n \"chat.hidebot\":\"Bot schließen\",\n \"chat.restart\":\"Neu starten\",\n \"switch.language\":\"Sprache wechseln\",\n \"switch.property\":\"Eigenschaften wechseln\",\n \"restart.converstation\":\"Starten Sie die Konvertierung neu\",\n \"chat.endtext\":\"Möchten Sie den aktuellen Chat wirklich beenden?\",\n \"check.availabity\":\"Verfügbarkeit prüfen\",\n \"check.availabity.submit\":\"Einreichen\",\n \"check.availabity.cancel\":\"Absagen\",\n \"check.availabity.adults\":\"Erwachsene \",\n \"check.availabity.children\":\"Kinder\",\n \"check.availabity.child.age\":\"Alter - Kind\",\n \"feedback.leave\":\"Hinterlasse Kommentar\",\n \"feedback.leave.message\":\"Nachricht hinterlassen\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"チャットの会話を再開する\",\n \"chat.endall\":\"チャットを終了する\",\n \"chat.cancel\":\"キャンセル\",\n \"chat.cookie\":\"このデジタルアシスタントはCookieを使用して、最高のエクスペリエンスを提供します\",\n \"chat.learn\":\"もっと詳しく知る\",\n \"chat.minimize\":\"最小化\",\n \"chat.hide\":\"近い\",\n \"chat.hidebot.text\":\"閉じるとアバターが 15 分間消えます\",\n \"chat.hidebot\":\"ボットを閉じる\",\n \"chat.restart\":\"再起動\",\n \"switch.language\":\"言語の切り替え\",\n \"switch.property\":\"スイッチプロパティ\",\n \"restart.converstation\":\"会話を再開する\",\n \"chat.endtext\":\"現在のチャットを終了してもよろしいですか?\",\n \"check.availabity\":\"空室状況を確認する\",\n \"check.availabity.submit\":\"送信\",\n \"check.availabity.cancel\":\"キャンセル\",\n \"check.availabity.adults\":\"大人 \",\n \"check.availabity.children\":\"子供\",\n \"check.availabity.child.age\":\"年齢 - 子\",\n \"feedback.leave\":\"フィードバックを残す\",\n \"feedback.leave.message\":\"メッセージを残す\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"채팅 대화 다시 시작\",\n \"chat.endall\":\"채팅 종료\",\n \"chat.cancel\":\"취소\",\n \"chat.cookie\":\"이 디지털 비서는 쿠키를 사용하여 최고의 경험을 보장합니다.\",\n \"chat.learn\":\"더 알아보기\",\n \"chat.minimize\":\"최소화\",\n \"chat.hide\":\"닫다\",\n \"chat.hidebot.text\":\"닫기를 누르면 아바타가 15분 동안 사라집니다.\",\n \"chat.hidebot\":\"봇 닫기\",\n \"chat.restart\":\"재시작\",\n \"switch.language\":\"언어 전환\",\n \"switch.property\":\"속성 전환\",\n \"restart.converstation\":\"대화 다시 시작\",\n \"chat.endtext\":\"현재 채팅을 종료하시겠습니까?\",\n \"check.availabity\":\"가용성 확인\",\n \"check.availabity.submit\":\"제출하다\",\n \"check.availabity.cancel\":\"취소\",\n \"check.availabity.adults\":\"성인 \",\n \"check.availabity.children\":\"어린이들\",\n \"check.availabity.child.age\":\"나이 - 아이\",\n \"feedback.leave\":\"피드백 남기기\",\n \"feedback.leave.message\":\"메시지 남기기\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"เริ่มการสนทนาของคุณใหม่\",\n \"chat.endall\":\"สิ้นสุดการแชท\",\n \"chat.cancel\":\"ยกเลิก\",\n \"chat.cookie\":\"ผู้ช่วยดิจิทัลนี้ใช้คุกกี้เพื่อให้แน่ใจว่าคุณได้รับประสบการณ์ที่ดีที่สุด\",\n \"chat.learn\":\"เรียนรู้เพิ่มเติม\",\n \"chat.minimize\":\"ย่อเล็กสุด\",\n \"chat.hide\":\"ปิด I\",\n \"chat.hidebot.text\":\"ปิดจะทำให้อวาตาร์หายไปเป็นเวลา 15 นาที\",\n \"chat.hidebot\":\"ปิดบอท\",\n \"chat.restart\":\"เริ่มต้นใหม่\",\n \"switch.language\":\"เปลี่ยนภาษา\",\n \"switch.property\":\"เปลี่ยนคุณสมบัติ\",\n \"restart.converstation\":\"เริ่มการสนทนาใหม่\",\n \"chat.endtext\":\"คุณแน่ใจหรือไม่ว่าต้องการสิ้นสุดการแชทปัจจุบัน\",\n \"check.availabity\":\"ตรวจสอบห้องว่าง\",\n \"check.availabity.submit\":\"ส่ง\",\n \"check.availabity.cancel\":\"ยกเลิก\",\n \"check.availabity.adults\":\"ผู้ใหญ่ \",\n \"check.availabity.children\":\"เด็ก\",\n \"check.availabity.child.age\":\"อายุ - เด็ก\",\n \"feedback.leave\":\"แสดงความคิดเห็น\",\n \"feedback.leave.message\":\"ทิ้งข้อความไว้\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"I-restart ang iyong pag-uusap sa chat\",\n \"chat.endall\":\"Tapusin ang Chat\",\n \"chat.cancel\":\"Kanselahin\",\n \"chat.cookie\":\"Gumagamit ang cookies ng digital na ito ng cookies upang matiyak na makukuha mo ang pinakamahusay na karanasan\",\n \"chat.learn\":\"Matuto nang higit pa\",\n \"chat.minimize\":\"I-minimize\",\n \"chat.hide\":\"Isara\",\n \"chat.hidebot.text\":\"Ang pagsara ay gagawing mawala ang avatar sa loob ng 15 minuto\",\n \"chat.hidebot\":\"Isara ang Bot\",\n \"chat.restart\":\"I-restart\",\n \"switch.language\":\"Lumipat ng Wika\",\n \"switch.property\":\"Lumipat ng Ari-arian\",\n \"restart.converstation\":\"I-restart ang Conversation\",\n \"chat.endtext\":\"Sigurado ka bang gusto mong tapusin ang kasalukuyang chat?\",\n \"check.availabity\":\"Suriin ang Availability\",\n \"check.availabity.submit\":\"Ipasa\",\n \"check.availabity.cancel\":\"Kanselahin\",\n \"check.availabity.adults\":\"Matanda \",\n \"check.availabity.children\":\"Mga bata\",\n \"check.availabity.child.age\":\"Edad - Bata\",\n \"feedback.leave\":\"Mag-iwan ng opinyon\",\n \"feedback.leave.message\":\"Mag-iwan ng mensahe\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"Khởi động lại cuộc trò chuyện của bạn\",\n \"chat.endall\":\"Kết thúc trò chuyện\",\n \"chat.cancel\":\"Hủy bỏ\",\n \"chat.cookie\":\"Trợ lý kỹ thuật số này sử dụng cookie để đảm bảo bạn có được trải nghiệm tốt nhất\",\n \"chat.learn\":\"Tìm hiểu thêm\",\n \"chat.minimize\":\"Giảm thiểu\",\n \"chat.hide\":\"Đóng\",\n \"chat.hidebot.text\":\"Đóng sẽ làm cho hình đại diện biến mất trong 15 phút\",\n \"chat.hidebot\":\"Đóng Bot\",\n \"chat.restart\":\"Khởi động lại\",\n \"switch.language\":\"Chuyển đổi ngôn ngữ\",\n \"switch.property\":\"Chuyển đổi thuộc tính\",\n \"restart.converstation\":\"Khởi động lại hội thoại\",\n \"chat.endtext\":\"Bạn có chắc chắn muốn kết thúc cuộc trò chuyện hiện tại không?\",\n \"check.availabity\":\"Sẵn sàng kiểm tra\",\n \"check.availabity.submit\":\"Nộp\",\n \"check.availabity.cancel\":\"Hủy bỏ\",\n \"check.availabity.adults\":\"Người lớn \",\n \"check.availabity.children\":\"Bọn trẻ\",\n \"check.availabity.child.age\":\"Tuổi - Trẻ em\",\n \"feedback.leave\":\"Để lại phản hồi\",\n \"feedback.leave.message\":\"Để lại tin nhắn\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"أعد بدء محادثة الدردشة الخاصة بك\",\n \"chat.endall\":\"نهاية المحادثة\",\n \"chat.cancel\":\"يلغي\",\n \"chat.cookie\":\"يستخدم هذا المساعد الرقمي ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة\",\n \"chat.learn\":\"يتعلم أكثر\",\n \"chat.minimize\":\"تصغير\",\n \"chat.hide\":\"يغلق\",\n \"chat.hidebot.text\":\"إغلاق سيجعل الصورة الرمزية تختفي لمدة 15 دقيقة\",\n \"chat.hidebot\":\"إغلاق (إخفاء) الصورة الرمزية\",\n \"chat.restart\":\"اعادة البدء\",\n \"switch.language\":\"تبديل اللغة\",\n \"switch.property\":\"تبديل الممتلكات\",\n \"restart.converstation\":\"أعد تشغيل المحادثة\",\n \"chat.endtext\":\"هل أنت متأكد أنك تريد إنهاء الدردشة الحالية؟\",\n \"check.availabity\":\"التحقق من الصلاحية\",\n \"check.availabity.submit\":\"إرسال\",\n \"check.availabity.cancel\":\"يلغي\",\n \"check.availabity.adults\":\"الكبار \",\n \"check.availabity.children\":\"أطفال\",\n \"check.availabity.child.age\":\"العمر - الطفل\",\n \"feedback.leave\":\"اترك تقييم للخدمة\",\n \"feedback.leave.message\":\"اترك رسالة\",\n};","module.exports = {\n /* 01.General */\n \"chat.end\":\"Перезапустите чат\",\n \"chat.endall\":\"Конец чат\",\n \"chat.cancel\":\"Отмена\",\n \"chat.cookie\":\"Этот цифровой помощник использует файлы cookie, чтобы обеспечить вам наилучшие впечатления.\",\n \"chat.learn\":\"Учить больше\",\n \"chat.minimize\":\"Свести к минимуму\",\n \"chat.hide\":\"Закрывать\",\n \"chat.hidebot.text\":\"Close заставит аватар исчезнуть на 15 минут.\",\n \"chat.hidebot\":\"Закрыть (скрыть) аватар\",\n \"chat.restart\":\"Начать сначала\",\n \"switch.language\":\"Смена языка\",\n \"switch.property\":\"Переключить свойство\",\n \"restart.converstation\":\"Перезапустить разговор\",\n \"chat.endtext\":\"Вы уверены, что хотите завершить текущий чат?\",\n \"check.availabity\":\"Проверить наличие свободных мест\",\n \"check.availabity.submit\":\"Представлять на рассмотрение\",\n \"check.availabity.cancel\":\"Отмена\",\n \"check.availabity.adults\":\"Взрослые \",\n \"check.availabity.children\":\"Дети\",\n \"check.availabity.child.age\":\"Возраст - ребенок\",\n \"feedback.leave\":\"Оставьте отзыв\",\n \"feedback.leave.message\":\"Оставить сообщение\",\n};\n","module.exports = {\n /* 01.General */\n \"chat.end\":\"Aloita chat-keskustelu uudelleen\",\n \"chat.endall\":\"Lopeta keskustelu\",\n \"chat.cancel\":\"Peruuttaa\",\n \"chat.cookie\":\"Tämä digitaalinen avustaja käyttää evästeitä varmistaakseen, että saat parhaan käyttökokemuksen\",\n \"chat.learn\":\"Lue lisää\",\n \"chat.minimize\":\"Minimoida\",\n \"chat.hide\":\"kiinni\",\n \"chat.hidebot.text\":\"Sulje poistaa avatarin 15 minuutiksi\",\n \"chat.hidebot\":\"Sulje (Piilota) Avatar\",\n \"chat.restart\":\"Uudelleenkäynnistää\",\n \"switch.language\":\"Vaihda kieltä\",\n \"switch.property\":\"Vaihda omaisuutta\",\n \"restart.converstation\":\"Aloita keskustelu uudelleen\",\n \"chat.endtext\":\"Haluatko varmasti lopettaa nykyisen keskustelun?\",\n \"check.availabity\":\"Tarkista saatavuus\",\n \"check.availabity.submit\":\"Lähetä\",\n \"check.availabity.cancel\":\"Peruuttaa\",\n \"check.availabity.adults\":\"Aikuiset \",\n \"check.availabity.children\":\"Lapset\",\n \"check.availabity.child.age\":\"Ikä - lapsi\",\n \"feedback.leave\":\"Jätä palautetta\",\n \"feedback.leave.message\":\"Jätä viesti\",\n};\n","import React, { Component, Fragment } from \"react\";\nimport ReactHtmlParser from \"react-html-parser\";\nimport \"./ChatBubble.css\";\n\nexport default class ChatBubble extends Component {\n constructor(props) {\n super(props);\n this.state = {\n hover: false,\n nudgeavtar: false,\n botPosition:\"right\"\n };\n this.bubble_clicked = this.bubble_clicked.bind(this);\n this.nudge_clicked = this.nudge_clicked.bind(this);\n this.hint_close = this.hint_close.bind(this);\n this.nudgeavtar_clicked = this.nudgeavtar_clicked.bind(this);\n // Listen to messages\n window.addEventListener(\n \"message\",\n this.windowBuddbleMessage.bind(this),\n false\n );\n }\n\n windowBuddbleMessage(event) {\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"nudgepopup:\")\n ) {\n this.setState({ nudgeavtar: true });\n }\n }\n\n nudgeavtar_clicked() {\n this.setState({ nudgeavtar: false });\n this.postMessage(`nudgeminimized`);\n }\n\n bubble_clicked() {\n this.props.onOpened();\n }\n\n nudge_clicked() {\n this.props.onOpened();\n }\n\n hint_close(e) {\n e.stopPropagation();\n this.props.hintClosed();\n }\n\n handleMouseEnter = () => {\n this.setState({ hover: true });\n };\n handleMouseLeave = () => {\n this.setState({ hover: false });\n };\n /**\n * Posts a message to the parent window, if this window has one\n * @param {*} msg\n */\n postMessage(msg) {\n if (window.parent) {\n window.parent.postMessage(msg, \"*\");\n }\n }\n\n /**\n * Listens to component changes, sends iframe custom styles\n */\n componentDidMount() {\n //if (prevProps.botSettings !== this.props.botSettings) {\n if (\n this.props.botSettings.bubbleSettings !== undefined &&\n this.props.botSettings.bubbleSettings !== null\n ) {\n //Post Message to set the Alignment of bubble iframe\n if (\n this.props.botSettings.bubbleSettings.bubblePosition !== undefined &&\n this.props.botSettings.bubbleSettings.bubblePosition !== null\n ) {\n const bubblePosition =\n this.props.botSettings.bubbleSettings.bubblePosition;\n if (this.props.mobile === \"true\") {\n this.setState({botPosition: bubblePosition.alignInMobile===\"Left\"?this.props.position+\"_\"+bubblePosition.alignInMobile.toLowerCase():this.props.position});\n this.postMessage(\n `chatbotalign:${bubblePosition.alignInMobile}|side:${bubblePosition.sideInMobile}|bottom:${bubblePosition.bottomInMobile}`\n );\n } else {\n this.setState({botPosition:bubblePosition.align===\"Left\"?this.props.position+\"_\"+bubblePosition.align.toLowerCase():this.props.position});\n this.postMessage(\n `chatbotalign:${bubblePosition.align}|side:${bubblePosition.side}|bottom:${bubblePosition.bottom}`\n );\n }\n \n }\n //Post Message to set the animation settings iframe\n if (\n this.props.botSettings.bubbleSettings.scrollAnimation !== undefined &&\n this.props.botSettings.bubbleSettings.scrollAnimation !== null\n ) {\n const scrollAnimation =\n this.props.botSettings.bubbleSettings.scrollAnimation;\n if (scrollAnimation.enabled === true) {\n this.postMessage(\n `chatbotscrollanimation|${scrollAnimation.beforeAnimationTop}|${scrollAnimation.afterAnimationTop}`\n );\n }\n }\n } else {\n this.postMessage(`chatbotremoveposition`);\n }\n //}\n }\n\n render() {\n return !this.props.disabledChatbot ? (\n this.state.nudgeavtar === false ? (\n
\n {this.props.currentNudge\n ? this.props.currentNudge.eyeCatcher.messages.map((msg) => {\n return typeof msg === \"string\" ? (\n
\n {msg}\n
\n
\n ) : (\n
\n \"\"\n
\n );\n })\n : \"\"}\n {this.props.botSettings !== undefined ? (\n this.props.botSettings.bubbleSettings !== undefined &&\n this.props.botSettings.bubbleSettings !== null &&\n this.props.botSettings.bubbleSettings.enabled ? (\n \n \n {ReactHtmlParser(this.props.botSettings.bubbleSettings.text)}\n \n \n ) : (\n \n )\n ) : (\n
\n )}\n \n ) : (\n
\n
\n \n )\n ) : null;\n }\n}\n","import React, { Component, Fragment } from \"react\";\n\nimport \"./WebViewExtension.css\";\n\nexport const WEB_VIEW_EXT_ID = \"WEB_VIEW\";\n\nexport default class WebViewExtension extends Component {\n constructor(props) {\n super(props);\n this.state = {\n // bottomMargin: 0,\n popUpHeight: 0,\n title: props.webview.title,\n url: props.webview.url,\n height: props.webview.height,\n hideHeader: props.webview.largeWindowHideHeader,\n };\n\n\n // Resize box to sit above input\n this.findInputTimerId = setInterval(() => {\n let chatbox = document.getElementById(\"chat_box\");\n\n if (!chatbox) {\n return;\n }\n\n let inputs = chatbox.querySelectorAll(\"input\");\n let inputRegion = chatbox.querySelectorAll(\"[role='form']\");\n\n if (inputs.length < 1 || inputRegion.length < 1) {\n return;\n }\n\n let popUp = document.getElementsByClassName(\"chat_popup booking_popup\");\n\n if (popUp.length) {\n this.setState({\n popUpHeight: popUp[0].clientHeight,\n });\n }\n\n // this.setState({\n // bottomMargin: inputRegion[0].clientHeight\n // });\n\n clearInterval(this.findInputTimerId);\n }, 50);\n\n this.close = this.close.bind(this);\n window.addEventListener(\"message\", this.windowMessage.bind(this), false);\n }\n\n componentDidMount() {\n var params = this.props.webview.url.split(\"?\")[1].split(\"&\");\n var data = {};\n for (var x in params) {\n data[params[x].split(\"=\")[0]] = decodeURIComponent(params[x].split(\"=\")[1]);\n }\n if (data.default_form === \"1\") {\n fetch(\n `${process.env.REACT_APP_BFF_API}/public/forms/get/${data.id}`,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n var form = json;\n this.setState({ title: form.name });\n });\n }\n }\n\n componentDidUpdate(oldProps) {\n if (!this.props.webview) {\n return;\n }\n\n if (\n !oldProps.webview ||\n oldProps.webview.title !== this.props.webview.title ||\n oldProps.webview.url !== this.props.webview.url ||\n oldProps.webview.height !== this.props.webview.height ||\n oldProps.webview.largeWindowHideHeader !==\n this.props.webview.largeWindowHideHeader\n ) {\n this.setState({\n title: this.props.webview.title,\n url: this.props.webview.url,\n height: this.props.webview.height,\n hideHeader: this.props.webview.largeWindowHideHeader,\n });\n }\n }\n\n windowMessage(event) {\n if (event.data === \"closeDefaultForm\") {\n this.close();\n }\n }\n\n close() {\n this.setState({\n closing: true,\n title: \"\",\n url: \"\",\n height: \"\",\n });\n // Allow animation to play\n setTimeout(() => {\n this.setState({\n closing: false,\n });\n\n this.props.api.setExtension(WEB_VIEW_EXT_ID, undefined);\n }, 800);\n }\n\n render() {\n const color = this.props.styling;\n // console.log('12', this.props.messenger === true,\n // this.state.hideHeader !== undefined && this.state.hideHeader === true)\n let containerStyling = {\n // bottom: this.state.bottomMargin,\n // height: 'calc(' + this.state.height + '% - ' + (this.state.bottomMargin + this.state.popUpHeight) + 'px)',\n height: this.props.messenger === true ?\n this.state.hideHeader !== undefined && this.state.hideHeader === true ? \"calc(100vh - 1px)\" : \"calc(100vh - 55px)\" : \"calc(\" + this.state.height + \"% - \" + 0 + \"px)\",\n animationName: this.state.closing ? \"slide-down\" : \"slide-up\",\n top: this.props.messenger === true ?\n this.state.hideHeader !== undefined && this.state.hideHeader === true ? \"0px\" : \"20px\" : \"\",\n padding: this.props.messenger === true ?\n this.state.hideHeader !== undefined && this.state.hideHeader === true ? \"0px\" : \"8px\" : \"\"\n\n };\n return this.state.url !== \"\" && (\n
\n {this.state.hideHeader !== undefined &&\n this.state.hideHeader === true ? (\n
\n \n {/* 0\n ? \"white\"\n : color.colours.headerText || \"black\",\n }}\n className=\"web-view-close-svg\"\n >\n \n */}\n
\n ) : (\n \n {this.state.url.includes(\"form-view\") ?\n
\n {this.state.url.includes(\"default_form=1\") &&\n {this.state.title}\n }\n \n
\n :\n \n {/* {this.state.title} */}\n
\n {/* \n \n */}\n \n
\n
\n }\n \n )}\n
\n \n
\n \n );\n }\n}\n","import React, { Component } from 'react';\nimport { WEB_VIEW_EXT_ID } from '../WebViewExtension/WebViewExtension';\n\nexport const WEB_VIEW_EX_EXT_ID = \"WEB_VIEW_EXTERNAL\";\n\nexport default class WebViewExternalExtension extends Component {\n constructor(props) {\n super(props);\n\n if (props.webviewExt) {\n if (props.api.isMobile() == \"true\") {\n this.openInternalView(props.webviewExt.title, props.webviewExt.url, props.api,props.webviewExt.largeWindowHideHeader);\n } else {\n this.openExternalView(props.webviewExt, props.styling);\n }\n }\n\n window.addEventListener(\"message\", this.receiveWindowMessage.bind(this), false);\n }\n\n receiveWindowMessage(event) {\n if (typeof event.data === 'string' && event.data.startsWith('closeWebView')) {\n this.props.api.setExtension(WEB_VIEW_EX_EXT_ID, undefined);\n }\n\n if (typeof event.data === 'string' && event.data.startsWith('fallbackWebView')) {\n this.props.api.setExtension(WEB_VIEW_EXT_ID,\n {\n title: this.props.webviewExt.title,\n url: this.props.webviewExt.url,\n height: 100\n });\n\n setTimeout(() => { this.props.api.setExtension(WEB_VIEW_EX_EXT_ID, undefined) }, 10);\n }\n }\n\n componentDidUpdate(oldProps) {\n if (!this.props.opened) {\n this.closeExternalView();\n }\n\n if (!this.props.webviewExt) {\n return;\n }\n if (!oldProps.webviewExt ||\n oldProps.webviewExt.title !== this.props.webviewExt.title ||\n oldProps.webviewExt.url !== this.props.webviewExt.url) {\n\n if (this.props.api.isMobile()===true) {\n this.openInternalView(this.props.webviewExt.title, this.props.webviewExt.url, this.props.api, this.props.largeWindowHideHeader);\n } else {\n this.openExternalView(this.props.webviewExt, this.props.styling);\n }\n }\n }\n\n componentWillUnmount() {\n this.closeExternalView();\n }\n\n openInternalView(title, url, api, largeWindowHideHeader) {\n // Switch to inline view (for mobile) \n api.setExtension(WEB_VIEW_EXT_ID, { title, url, height: 100, largeWindowHideHeader: largeWindowHideHeader });\n setTimeout(() => api.setExtension(WEB_VIEW_EX_EXT_ID, undefined), 10); // Immediate successive calls cause state issues :(\n }\n\n openExternalView(settings, styling) {\n if (settings.mode == undefined || settings.mode === null) {\n let payload = {\n title: settings.title,\n url: settings.url,\n styling,\n hideHeader: settings.largeWindowHideHeader\n };\n this.postMessage(\"openWebView:\" + JSON.stringify(payload));\n }\n else {\n let payload = {\n title: settings.title,\n url: settings.url,\n mode: settings.mode,\n styling,\n hideHeader: settings.largeWindowHideHeader\n };\n this.postMessage(\"WebViewMode:\" + JSON.stringify(payload));\n }\n }\n\n closeExternalView() {\n this.postMessage(\"closeWebView\");\n }\n\n render() {\n return
\n }\n\n postMessage(msg) {\n if (window.parent) {\n window.parent.postMessage(msg, '*');\n }\n }\n}","import React, { Component } from 'react';\n\nimport './ChatSuggestionExtension.css';\n\nexport const CHAT_SUGGESTION_EXT_ID = \"CHAT_SUGGESTION\";\n\nexport default class ChatSuggestionExtension extends Component {\n constructor (props) {\n super();\n\n this.state = {\n searchTerm: '',\n bottomMargin: 0,\n filteredSuggestions: [],\n maximised: false\n };\n\n if (props.suggestions) {\n props.suggestions.getSuggestionCallback = this.processUserInput.bind(this);\n }\n\n this.onSuggestionClicked.bind(this);\n\n // Finds the input box and listens to it\n // Hacky, but WebChat doesn't expose an API for listening to input\n this.findInputTimerId = setInterval(() => {\n let chatbox = document.getElementById(\"chat_box\");\n if (!chatbox) {\n return;\n }\n let inputs = chatbox.querySelectorAll(\"input\");\n let inputRegion = chatbox.querySelectorAll(\"[role='form']\")\n \n if (inputs.length < 1 || inputRegion.length < 1) {\n return;\n }\n \n this.setState({\n bottomMargin: inputRegion[0].clientHeight\n });\n this.updateSuggestions(inputs[0].value);\n\n inputs[0].addEventListener(\"input\", (event) => {\n this.updateSuggestions(event.target.value);\n });\n\n clearInterval(this.findInputTimerId);\n }, 50); \n }\n\n componentDidUpdate(oldProps) {\n if (!this.props.suggestions) {\n return;\n }\n \n if (oldProps.suggestions.time !== this.props.suggestions.time) {\n this.updateSuggestions(this.state.searchTerm);\n this.setState({ maximised: false });\n this.props.suggestions.getSuggestionCallback = this.processUserInput.bind(this);\n }\n }\n\n processUserInput(input) {\n if (!this.props.suggestions) {\n return;\n }\n\n let filtered = this.props.suggestions.options\n .filter(suggestion => this.doesSuggestionMatch(suggestion, input));\n \n let match;\n if (filtered.length === 1) {\n match = filtered[0].name;\n } else {\n let exactMatch = filtered.find(suggestion => suggestion.name.toLowerCase() === input.toLowerCase() ||\n (suggestion.synonyms && suggestion.synonyms.some(syn => syn.toLowerCase() === input.toLowerCase())));\n \n match = exactMatch ? exactMatch.name : undefined;\n }\n\n if (!match && filtered.length < 1) {\n this.updateSuggestions('');\n }\n return match;\n }\n\n updateSuggestions (text) {\n this.setState({\n searchTerm: text,\n maximised: (text.length > 0),\n filteredSuggestions: this.props.suggestions.options\n .filter(suggestion => this.doesSuggestionMatch(suggestion, text))\n });\n }\n\n doesSuggestionMatch(suggestion, text) {\n let searchable = [...(suggestion.synonyms ? suggestion.synonyms.map(syn => syn.toLowerCase()) : []), suggestion.name.toLowerCase()];\n\n return searchable.some(term => term.startsWith(text.toLowerCase()));\n }\n\n onSuggestionClicked(suggestion) {\n this.props.api.sendActivity({\n type: 'WEB_CHAT/SEND_MESSAGE',\n payload: { text: suggestion }\n });\n }\n\n render () { \n const color = this.props.styling;\n return
\n {\n this.state.maximised ?\n
\n
\n { this.props.suggestions.question }\n
{ this.setState({ maximised: !this.state.maximised })}}> \n { this.state.maximised ? \"Hide\" : '' }\n
\n
\n {\n this.state.filteredSuggestions.map(suggestion =>\n
{this.onSuggestionClicked(suggestion.name)}}>\n
\n
\n { suggestion.name }\n
\n
\n )\n }\n
\n :\n ''\n }\n
\n }\n}","import React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\n\nconst InjectMassage = props => ;\n\nexport default injectIntl(InjectMassage, {\n withRef: false\n});\n","import React, { useState, useEffect, Component, Fragment } from \"react\";\nimport IntlMessages from \"../helpers/IntlMessages\";\n\nexport default function PersistentMenu({ menuOpen, persistentMenu, persistentMenuEnabled,\n handleMenuClick, botSettings, cookiesDetail, botSite }) {\n const mindate = new Date().getFullYear();\n const [currentYear, setCurrentYear] = useState(mindate)\n const MenuClick = (itemType, items) => {\n var data = {\n itemType: itemType,\n items: items\n }\n handleMenuClick(data);\n };\n const cookiesDetailClick = (url) => {\n cookiesDetail(url);\n };\n const BotSiteClick = (url) => {\n botSite(url);\n };\n return (\n \n {persistentMenu.length > 0 && (\n
\n
\n {persistentMenu.map((item, itemIndex) => (\n
\n {item.callToActions.filter((i)=>i.payLoad!==\"select_property\" && i.payLoad!==\"switch_language\" && i.payLoad!==\"restart\" && i.payLoad!==\"hidebot\").map((menu,menuIndex)=>(\n \n ))}\n {item.callToActions.filter((i) => i.payLoad === \"select_property\" || i.payLoad === \"switch_language\" || i.payLoad === \"restart\" || i.payLoad === \"hidebot\").map((menu, menuIndex) => (\n \n {menu.payLoad !== \"switch_language\" &&\n \n }\n {botSettings && botSettings.multilingual && menu.payLoad === \"switch_language\" &&\n \n }\n \n ))}\n
\n ))}\n \n
\n
\n )}\n
\n )\n}","import React, { Component } from \"react\";\nimport IntlMessages from \"../helpers/IntlMessages\";\n//import \"./BookingApp.css\";\n//import Select from \"react-select\";\n\nexport default class PropertyPopup extends Component {\n constructor(props) {\n super(props);\n this.state = {\n active: this.props.open_property_popup,\n isCheckedAvailability: this.props.isCheckedAvailability || false,\n pid:\n localStorage.getItem(this.props.property_state_store) !== undefined &&\n localStorage.getItem(this.props.property_state_store) !== null\n ? localStorage.getItem(this.props.property_state_store)\n : \"\",\n };\n\n if (!this.props.bookingApp.rooms) {\n this.props.bookingApp.rooms = 1;\n this.props.bookingApp.adults = 1;\n this.props.bookingApp.children = 0;\n }\n\n this.selectProperty = (elem) => {\n this.props.bookingApp.selectedPid = elem;\n this.props.setPropertyPopUp(false);\n this.forceUpdate();\n localStorage.setItem(this.props.bookingApp.lStore.PROPERTYID, elem.value);\n localStorage.setItem(\n this.props.bookingApp.lStore.PROPERTYNAME,\n elem.label\n );\n this.props.loadFormSetting(elem.value);\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/update\",\n value: {\n pid: elem.value,\n pname: elem.label,\n },\n },\n });\n this.setState({ active: false });\n this.props.close_property_popup();\n this.props.GetServiceAvailable(this.props.property_state_store);\n };\n this.sendDates = this.sendDates.bind(this);\n this.toggle = this.toggle.bind(this);\n }\n\n // componentDidUpdate = (prevProps, prevState, snapshot) => {\n // if (\n // this.props.room_app &&\n // this.props.room_app.reinit &&\n // this.state.active !== true\n // ) {\n // this.setState({ active: this.props.room_app.reinit });\n // this.setState({ open: this.props.room_app.reinit });\n // }\n // };\n\n // FIXME:\n // This EventListener is to ensure that the pop up window closes when the user enters the input box at the bottom. But it will affect the input in the pop up window.\n // FIXME:\n // componentDidMount = () => {\n // window.addEventListener(\"input\", this.close_pop.bind(this), false);\n // };\n\n toggle() {\n const { active } = this.state;\n this.setState({ active: !active });\n this.setState({ open: !active });\n this.props.setPropertyPopUp(false);\n this.props.close_pop();\n this.props.close_property_popup();\n }\n close_pop(event) {\n if (this.state.active) {\n this.setState({ active: false });\n this.setState({ open: false });\n this.props.setPropertyPopUp(false);\n this.props.close_pop();\n this.props.close_property_popup();\n }\n }\n\n sendDates() {\n var hotel = {};\n if (this.props.bookingApp.selectedPid) {\n hotel = this.state.properties.find(\n (property) => property.pid === this.props.bookingApp.selectedPid\n );\n }\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/booking-details\",\n value: {\n hotel: hotel.name,\n dates: this.props.bookingApp.dates,\n rooms: this.props.bookingApp.rooms,\n adults: this.props.bookingApp.adults,\n kids: this.props.bookingApp.kids,\n },\n },\n });\n //this.close();\n this.close_pop();\n }\n\n setCheckAvailability = (isCheckedAvailability) => {\n this.setState({ isCheckedAvailability: isCheckedAvailability });\n };\n\n render() {\n var { room_app } = this.props;\n var { selectedPid } = this.props.bookingApp;\n var hotel = \"\";\n if (selectedPid) {\n hotel = this.props.bookingApp.properties.find(\n (property) => property.pid === selectedPid\n );\n }\n return (\n
\n \n \n
\n \n \n \n
\n \n \n
\n \n
\n \n {this.props.bookingApp.properties &&\n this.props.bookingApp.properties.map((elem, index) => (\n this.selectProperty(elem)}\n key={index}\n >\n {elem.label}\n {this.state.pid === elem.value ? (\n \n \n \n ) : (\n \"\"\n )}\n \n ))}\n
\n \n \n \n //
\n // \n //
\n // {this.props.bookingApp.properties && (\n // \n // )}\n //
\n //
\n // {(room_app && room_app.details.length > 0) ||\n // this.props.bookingApp.properties !== undefined ? (\n // \n // {this.state.active ? (\n // \n // ) : (\n // \n // )}\n // \n // ) : null}\n // \n );\n }\n}\n","import appLocaleData from 'react-intl/locale-data/en';\nimport enMessages from '../locales/en_US';\n\nconst EnLang = {\n messages: {\n ...enMessages\n },\n locale: 'en-US',\n data: appLocaleData\n};\nexport default EnLang;","import appLocaleData from 'react-intl/locale-data/es';\nimport esMessages from '../locales/es_ES';\n\nconst EsLang = {\n messages: {\n ...esMessages\n },\n locale: 'es-ES',\n data: appLocaleData\n};\nexport default EsLang;","import appLocaleData from 'react-intl/locale-data/zh';\nimport chMessages from '../locales/zh-ZH';\n\nconst ChLang = {\n messages: {\n ...chMessages\n },\n locale: 'zh-ZH',\n data: appLocaleData\n};\nexport default ChLang;","import appLocaleData from 'react-intl/locale-data/fr';\nimport chMessages from '../locales/fr-FR';\n\nconst FrLang = {\n messages: {\n ...chMessages\n },\n locale: 'fr-FR',\n data: appLocaleData\n};\nexport default FrLang;","import appLocaleData from 'react-intl/locale-data/zh';\nimport chMessages from '../locales/zh-HK';\n\nconst ChLang = {\n messages: {\n ...chMessages\n },\n locale: 'zh-HK',\n data: appLocaleData\n};\nexport default ChLang;","import { mi } from './mi';\nimport miMessages from '../locales/mi-MI';\n\nconst MiLang = {\n messages: {\n ...miMessages\n },\n locale: 'mi-MI',\n data: mi\n};\nexport default MiLang;","export const mi = {\n\n locale: 'mi',\n pluralRuleFunction(e, t) {\n return t && e === 1 ? 'one' : 'other';\n }\n}","import appLocaleData from 'react-intl/locale-data/id';\nimport enMessages from '../locales/id_ID';\n\nconst IdLang = {\n messages: {\n ...enMessages\n },\n locale: 'id-ID',\n data: appLocaleData\n};\nexport default IdLang;","import appLocaleData from 'react-intl/locale-data/hi';\nimport hiMessages from '../locales/hi_HI';\n\nconst HiLang = {\n messages: {\n ...hiMessages\n },\n locale: 'hi-HI',\n data: appLocaleData\n};\nexport default HiLang;","import appLocaleData from 'react-intl/locale-data/af';\nimport enMessages from '../locales/af-AF';\n\nconst AfLang = {\n messages: {\n ...enMessages\n },\n locale: 'af-AF',\n data: appLocaleData\n};\nexport default AfLang;","import appLocaleData from 'react-intl/locale-data/de';\nimport deMessages from '../locales/de-DE';\n\nconst DeLang = {\n messages: {\n ...deMessages\n },\n locale: 'de-DE',\n data: appLocaleData\n};\nexport default DeLang;","import appLocaleData from 'react-intl/locale-data/ja';\nimport jaMessages from '../locales/ja-JA';\n\nconst JaLang = {\n messages: {\n ...jaMessages\n },\n locale: 'ja-JA',\n data: appLocaleData\n};\nexport default JaLang;","import appLocaleData from 'react-intl/locale-data/ko';\nimport koMessages from '../locales/ko-KO';\n\nconst KoLang = {\n messages: {\n ...koMessages\n },\n locale: 'ko-KO',\n data: appLocaleData\n};\nexport default KoLang;","import appLocaleData from 'react-intl/locale-data/th';\nimport thMessages from '../locales/th-TH';\n\nconst ThLang = {\n messages: {\n ...thMessages\n },\n locale: 'th-TH',\n data: appLocaleData\n};\nexport default ThLang;","import appLocaleData from 'react-intl/locale-data/tl';\nimport tlMessages from '../locales/tl-TL';\n\nconst TlLang = {\n messages: {\n ...tlMessages\n },\n locale: 'tl-TL',\n data: appLocaleData\n};\nexport default TlLang;","import appLocaleData from 'react-intl/locale-data/vi';\nimport viMessages from '../locales/vi-VI';\n\nconst ViLang = {\n messages: {\n ...viMessages\n },\n locale: 'vi-VI',\n data: appLocaleData\n};\nexport default ViLang;","import appLocaleData from 'react-intl/locale-data/ar';\nimport arMessages from '../locales/ar-AR';\n\nconst ArLang = {\n messages: {\n ...arMessages\n },\n locale: 'ar-AR',\n data: appLocaleData\n};\nexport default ArLang;","import appLocaleData from 'react-intl/locale-data/ru';\nimport ruMessages from '../locales/ru-RU';\n\nconst RuLang = {\n messages: {\n ...ruMessages\n },\n locale: 'ru-RU',\n data: appLocaleData\n};\nexport default RuLang;","import { addLocaleData } from \"react-intl\";\nimport enLang from \"./entries/en-US\";\nimport esLang from \"./entries/es-ES\";\nimport chLang from \"./entries/zh-ZH\";\nimport frLang from \"./entries/fr-FR\";\nimport twLang from \"./entries/zh-HK\";\nimport miLang from \"./entries/mi-MI\";\nimport idLang from \"./entries/id-ID\";\nimport hiLang from \"./entries/hi-HI\";\n\nimport afLang from \"./entries/af-AF\";\nimport deLang from \"./entries/de-DE\";\nimport jaLang from \"./entries/ja-JA\";\nimport koLang from \"./entries/ko-KO\";\nimport thLang from \"./entries/th-TH\";\nimport tlLang from \"./entries/tl-TL\";\nimport viLang from \"./entries/vi-VI\";\nimport arLang from \"./entries/ar-AR\";\nimport ruLang from \"./entries/ru-RU\";\nimport fiLang from \"./entries/fi-FI\";\n\nconst AppLocale = {\n en: enLang,\n es: esLang,\n zh: chLang,\n fr: frLang,\n hk: twLang,\n mi: miLang,\n id: idLang,\n hi: hiLang,\n af:afLang,\n ar:arLang,\n de:deLang,\n ja:jaLang,\n ko:koLang,\n th:thLang,\n tl:tlLang,\n vi:viLang,\n ru:ruLang,\n fi:fiLang,\n};\naddLocaleData(AppLocale.en.data);\naddLocaleData(AppLocale.es.data);\naddLocaleData(AppLocale.zh.data);\naddLocaleData(AppLocale.fr.data);\naddLocaleData(AppLocale.hk.data);\naddLocaleData(AppLocale.mi.data);\naddLocaleData(AppLocale.id.data);\naddLocaleData(AppLocale.hi.data);\naddLocaleData(AppLocale.af.data);\naddLocaleData(AppLocale.ar.data);\naddLocaleData(AppLocale.de.data);\naddLocaleData(AppLocale.ja.data);\naddLocaleData(AppLocale.ko.data);\naddLocaleData(AppLocale.th.data);\naddLocaleData(AppLocale.tl.data);\naddLocaleData(AppLocale.vi.data);\naddLocaleData(AppLocale.ru.data);\naddLocaleData(AppLocale.fi.data);\n\nexport default AppLocale;\n","import appLocaleData from 'react-intl/locale-data/fi';\nimport fiMessages from '../locales/fi_FI';\n\nconst FiLang = {\n messages: {\n ...fiMessages\n },\n locale: 'fi-FI',\n data: appLocaleData\n};\nexport default FiLang;","import React from 'react';\n\nconst CookiePopup = ({ isOpen, onClose, content }) => {\n if (!isOpen) return null;\n\n\n\n return (\n
\n
\n \n
onClose}>\n\n \n
\n
\n
\n );\n};\n\nexport default CookiePopup;\n","import React, { Component } from \"react\";\nimport \"./BookingApp.css\";\nimport Select from \"react-select\";\n\nconst customStyles = {\n control: base => ({\n ...base,\n borderColor: \"#ccc\",\n boxShadow: \"0 0 0 1 #ccc\",\n \"&:hover\": {\n borderColor: \"#ccc\"\n }\n })\n};\n\nexport default class BookingApp extends Component {\n constructor(props) {\n super(props);\n this.state = {\n active: this.props.bookingApp.open,\n isCheckedAvailability: this.props.isCheckedAvailability || false\n };\n\n if (!this.props.bookingApp.rooms) {\n this.props.bookingApp.rooms = 1;\n this.props.bookingApp.adults = 1;\n this.props.bookingApp.children = 0;\n }\n\n this.selectProperty = event => {\n this.props.bookingApp.selectedPid = event;\n this.forceUpdate();\n localStorage.setItem(\n this.props.bookingApp.lStore.PROPERTYID,\n event.value\n );\n localStorage.setItem(\n this.props.bookingApp.lStore.PROPERTYNAME,\n event.label\n );\n\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/update\",\n value: {\n pid: event.value,\n pname: event.label\n }\n }\n });\n this.setState({ active: false }); \n };\n this.toggle = this.toggle.bind(this);\n this.sendDates = this.sendDates.bind(this);\n }\n\n componentDidUpdate = (prevProps, prevState, snapshot) => {\n if (\n this.props.room_app &&\n this.props.room_app.reinit &&\n this.state.active !== true\n ) {\n this.setState({ active: this.props.room_app.reinit });\n this.setState({ open: this.props.room_app.reinit });\n }\n };\n\n // FIXME:\n // This EventListener is to ensure that the pop up window closes when the user enters the input box at the bottom. But it will affect the input in the pop up window.\n // FIXME:\n // componentDidMount = () => {\n // window.addEventListener(\"input\", this.close_pop.bind(this), false);\n // };\n\n toggle() {\n const { active } = this.state;\n this.setState({ active: !active });\n this.setState({ open: !active });\n this.props.close_pop();\n }\n close_pop(event) {\n if (this.state.active) {\n this.setState({ active: false });\n this.setState({ open: false });\n this.props.close_pop();\n }\n }\n\n sendDates() {\n var hotel = {};\n if (this.props.bookingApp.selectedPid) {\n hotel = this.state.properties.find(\n property => property.pid === this.props.bookingApp.selectedPid\n );\n }\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/booking-details\",\n value: {\n hotel: hotel.name,\n dates: this.props.bookingApp.dates,\n rooms: this.props.bookingApp.rooms,\n adults: this.props.bookingApp.adults,\n kids: this.props.bookingApp.kids\n }\n }\n });\n this.close();\n }\n\n setCheckAvailability = isCheckedAvailability => {\n this.setState({ isCheckedAvailability: isCheckedAvailability });\n };\n\n render() {\n var { room_app } = this.props;\n var { selectedPid } = this.props.bookingApp; \n\n var hotel = \"\";\n if (selectedPid) {\n hotel = this.props.bookingApp.properties.find(\n property => property.pid === selectedPid\n );\n } \n\n return (\n
\n \n
\n {this.props.bookingApp.properties && (\n \n
\n\n \n \n
\n }\n \n \n );\n}","import React, { Component, Fragment } from \"react\";\n\nimport \"./AutoCompleteExtension.css\";\n\nexport const CHAT_AUTOCOMPLETE_EXT_ID = \"CHAT_AUTOCOMPLETE\";\n\nexport default class AutoCompleteExtension extends Component {\n constructor(props) {\n super();\n\n this.state = {\n searchTerm: \"\",\n bottomMargin: 0,\n filteredSuggestions: [],\n maximised: false,\n };\n\n this.onSuggestionClicked.bind(this);\n\n // Finds the input box and listens to it\n // Hacky, but WebChat doesn't expose an API for listening to input\n this.findInputTimerId = setInterval(() => {\n let chatbox = document.getElementById(\"chat_box\");\n if (!chatbox) {\n return;\n }\n let inputs = chatbox.querySelectorAll(\"input\");\n let inputRegion = chatbox.querySelectorAll(\"[role='form']\");\n\n if (inputs.length < 1 || inputRegion.length < 1) {\n return;\n }\n\n this.setState({\n bottomMargin: inputRegion[0].clientHeight,\n });\n this.updateSuggestions();\n clearInterval(this.findInputTimerId);\n }, 50);\n }\n\n componentDidUpdate(oldProps) {\n if (!this.props.suggestions) {\n return;\n }\n\n if (oldProps.suggestions !== this.props.suggestions) {\n this.updateSuggestions();\n }\n }\n\n updateSuggestions() {\n this.setState({\n maximised: this.props.suggestions.length > 0 ? true : false,\n filteredSuggestions: this.props.suggestions,\n });\n }\n\n onSuggestionClicked(suggestion) {\n this.props.api.sendActivity({\n type: \"WEB_CHAT/SEND_MESSAGE\",\n payload: { text: suggestion },\n });\n this.props.api.sendActivity({\n type: \"WEB_CHAT/SET_SEND_BOX\",\n payload: { text: \"\" },\n });\n this.setState({ maximised: !this.state.maximised });\n }\n\n componentDidMount() {\n const self = this;\n var ignoreClickOnMeElement = document.getElementById(\"chat_box\");\n if (\n ignoreClickOnMeElement !== null &&\n ignoreClickOnMeElement !== undefined\n ) {\n document.addEventListener(\"click\", function (event) {\n if (self.state.maximised === true) {\n var isClickInsideElement = ignoreClickOnMeElement.contains(\n event.target\n );\n if (isClickInsideElement) {\n self.setState({ maximised: false });\n }\n }\n });\n }\n }\n\n render() {\n const color = this.props.styling;\n return (\n \n {this.state.maximised && this.state.filteredSuggestions.length > 0 ? (\n \n \n
\n
\n
\n {\" \"}\n {\" \"}\n
\n Suggestions \n
\n {this.state.filteredSuggestions.map((suggestion) => (\n {\n this.onSuggestionClicked(suggestion.response);\n }}\n >\n
\n \n {\" \"}\n
\n
\n {\" \"}\n {suggestion.response}{\" \"}\n
\n
\n \n ))}\n \n \n {\n this.setState({ maximised: !this.state.maximised });\n }}\n >\n {this.state.maximised ? \"Hide\" : \"\"}\n \n
\n ) : (\n \"\"\n )}\n
\n );\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Form } from \"reactstrap\";\nimport IntlMessages from \"../helpers/IntlMessages\";\nimport \"../ChatWindowNew.css\";\n\nexport default function ThumbFeedback({\n handleFeedBackResponse,\n handleCancelFeedbackResponse,\n locale,\n changeleaveFeedbackMessage,\n buttonColor,\n gid,\n bearerToken,\n conid,\n formSettings\n}) {\n const [inputdata, setInputData] = useState({\n name: \"\",\n phone: \"\",\n email: \"\",\n comment: \"\",\n });\n const [formSetting, setFormSetting] = useState(null);\n\n useEffect(() => {\n window.addEventListener('message', function (event) {\n if (event.data === \"closeDefaultForm\") {\n handleCancel();\n }\n });\n if (formSettings !== null && formSettings.defaultForms !== null && formSettings.defaultForms.feedbackFormId !== null) {\n fetch(\n `${process.env.REACT_APP_BFF_API}/public/forms/get/${formSettings.defaultForms.feedbackFormId}`,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n var form = json;\n var body = { ...formSettings.defaultForms };\n body.formname = form.name;\n setFormSetting({ ...formSettings, defaultForms: body });\n })\n }\n }, [formSettings]);\n\n const getPlaceholder = (value) => {\n switch (locale) {\n case \"af\":\n if (value === \"name\") {\n return \"Jou naam\";\n }\n if (value === \"phone\") {\n return \"Jou telefoonnommer\";\n }\n if (value === \"email\") {\n return \"Jou epos\";\n }\n if (value === \"comment\") {\n return \"'n Kort opsomming van jou versoek\";\n }\n case \"ar\":\n if (value === \"name\") {\n return \"اسمك\";\n }\n if (value === \"phone\") {\n return \"رقم تليفونك\";\n }\n if (value === \"email\") {\n return \"بريدك الالكتروني\";\n }\n if (value === \"comment\") {\n return \"ملخص مختصر لطلبك\";\n }\n case \"de\":\n if (value === \"name\") {\n return \"Ihr Name\";\n }\n if (value === \"phone\") {\n return \"Deine Telefonnummer\";\n }\n if (value === \"email\") {\n return \"Deine E-Mail\";\n }\n if (value === \"comment\") {\n return \"Eine kurze Zusammenfassung Ihrer Anfrage\";\n }\n case \"es\":\n if (value === \"name\") {\n return \"Su nombre\";\n }\n if (value === \"phone\") {\n return \"Su número de teléfono\";\n }\n if (value === \"email\") {\n return \"Tu correo electrónico\";\n }\n if (value === \"comment\") {\n return \"Un breve resumen de su solicitud\";\n }\n case \"fi\":\n if (value === \"name\") {\n return \"Sinun nimesi\";\n }\n if (value === \"phone\") {\n return \"Puhelinnumerosi\";\n }\n if (value === \"email\") {\n return \"Sähköpostisi\";\n }\n if (value === \"comment\") {\n return \"Lyhyt yhteenveto pyynnöstäsi\";\n }\n case \"fr\":\n if (value === \"name\") {\n return \"votre nom\";\n }\n if (value === \"phone\") {\n return \"Votre numéro de téléphone\";\n }\n if (value === \"email\") {\n return \"Votre e-mail\";\n }\n if (value === \"comment\") {\n return \"Un bref résumé de votre demande\";\n }\n case \"hi\":\n if (value === \"name\") {\n return \"आपका नाम\";\n }\n if (value === \"phone\") {\n return \"आपका फोन नंबर\";\n }\n if (value === \"email\") {\n return \"आपका ईमेल\";\n }\n if (value === \"comment\") {\n return \"आपके अनुरोध का संक्षिप्त सारांश\";\n }\n case \"id\":\n if (value === \"name\") {\n return \"Namamu\";\n }\n if (value === \"phone\") {\n return \"Nomor telepon Anda\";\n }\n if (value === \"email\") {\n return \"Email mu\";\n }\n if (value === \"comment\") {\n return \"Ringkasan singkat permintaan Anda\";\n }\n case \"ja\":\n if (value === \"name\") {\n return \"あなたの名前\";\n }\n if (value === \"phone\") {\n return \"あなたの電話番号\";\n }\n if (value === \"email\") {\n return \"あなたのメールアドレス\";\n }\n if (value === \"comment\") {\n return \"リクエストの簡単な概要\";\n }\n case \"ko\":\n if (value === \"name\") {\n return \"당신의 이름\";\n }\n if (value === \"phone\") {\n return \"전화 번호\";\n }\n if (value === \"email\") {\n return \"귀하의 이메일\";\n }\n if (value === \"comment\") {\n return \"귀하의 요청에 대한 간략한 요약\";\n }\n case \"mi\":\n if (value === \"name\") {\n return \"To Ingoa\";\n }\n if (value === \"phone\") {\n return \"To Tau Waea\";\n }\n if (value === \"email\") {\n return \"To Email\";\n }\n if (value === \"comment\") {\n return \"He whakarāpopototanga poto o tō tono\";\n }\n case \"ru\":\n if (value === \"name\") {\n return \"Ваше имя\";\n }\n if (value === \"phone\") {\n return \"Ваш номер телефона\";\n }\n if (value === \"email\") {\n return \"Ваш адрес электронной почты\";\n }\n if (value === \"comment\") {\n return \"Краткое описание вашего запроса\";\n }\n case \"tl\":\n if (value === \"name\") {\n return \"Ang pangalan mo\";\n }\n if (value === \"phone\") {\n return \"Iyong numero ng telepono\";\n }\n if (value === \"email\") {\n return \"Ang email mo\";\n }\n if (value === \"comment\") {\n return \"Isang maikling buod ng iyong kahilingan\";\n }\n case \"th\":\n if (value === \"name\") {\n return \"ชื่อของคุณ\";\n }\n if (value === \"phone\") {\n return \"หมายเลขโทรศัพท์ของคุณ\";\n }\n if (value === \"email\") {\n return \"อีเมลของคุณ\";\n }\n if (value === \"comment\") {\n return \"สรุปคำขอของคุณโดยย่อ\";\n }\n case \"vi\":\n if (value === \"name\") {\n return \"Tên của bạn\";\n }\n if (value === \"phone\") {\n return \"Số điện thoại của bạn\";\n }\n if (value === \"email\") {\n return \"Email của bạn\";\n }\n if (value === \"comment\") {\n return \"Tóm tắt ngắn gọn về yêu cầu của bạn\";\n }\n case \"zh\":\n if (value === \"name\") {\n return \"你的名字\";\n }\n if (value === \"phone\") {\n return \"你的电话号码\";\n }\n if (value === \"email\") {\n return \"你的邮件\";\n }\n if (value === \"comment\") {\n return \"您的请求的简要摘要\";\n }\n case \"zh-TW\":\n if (value === \"name\") {\n return \"你的名字\";\n }\n if (value === \"phone\") {\n return \"你的電話號碼\";\n }\n if (value === \"email\") {\n return \"你的郵件\";\n }\n if (value === \"comment\") {\n return \"您的請求的簡要摘要\";\n }\n default:\n if (value === \"name\") {\n return \"Your Name\";\n }\n if (value === \"phone\") {\n return \"Your Phone Number\";\n }\n if (value === \"email\") {\n return \"Your Email\";\n }\n if (value === \"comment\") {\n return \"A brief summary of your request\";\n }\n }\n };\n const handleChange = (e) => {\n if (e.target.name === \"name\") {\n setInputData({ ...inputdata, name: e.target.value });\n } else if (e.target.name === \"phone\") {\n setInputData({ ...inputdata, phone: e.target.value });\n } else if (e.target.name === \"email\") {\n setInputData({ ...inputdata, email: e.target.value });\n } else if (e.target.name === \"comment\") {\n setInputData({ ...inputdata, comment: e.target.value });\n changeleaveFeedbackMessage(e.target.value);\n }\n };\n const handleSubmit = (event) => {\n event.preventDefault();\n var body = \"\";\n if (inputdata.name !== \"\") {\n body = body + \"\\r\\n Name: \" + inputdata.name;\n }\n if (inputdata.phone !== \"\") {\n body = body + \"\\r\\n Phone Number: \" + inputdata.phone;\n }\n if (inputdata.email !== \"\") {\n body = body + \"\\r\\n Email: \" + inputdata.email;\n }\n if (inputdata.comment !== \"\") {\n body =\n body + \"\\r\\n A brief summary of your request: \" + inputdata.comment;\n }\n handleFeedBackResponse(\n body,\n inputdata.name,\n inputdata.phone,\n inputdata.email\n );\n setInputData({\n ...inputdata,\n name: \"\",\n phone: \"\",\n email: \"\",\n comment: \"\",\n });\n };\n const handleCancel = () => {\n setInputData({\n ...inputdata,\n name: \"\",\n phone: \"\",\n email: \"\",\n comment: \"\",\n });\n handleCancelFeedbackResponse();\n };\n\n const buttonStyle = {\n backgroundColor: buttonColor,\n borderColor: buttonColor,\n };\n return (\n
\n

\n {formSetting !== null && formSetting.defaultForms !== null && formSetting.defaultForms.isFeedbackForm &&\n formSetting.defaultForms.formname !== null ?\n formSetting.defaultForms.formname :\n \n }\n

\n
\n \n
\n
\n {formSetting !== null && formSetting.defaultForms.isFeedbackForm ?\n \n \n :\n
handleSubmit(e)}>\n
\n handleChange(e)}\n required={\"required\"}\n >\n
\n
\n handleChange(e)}\n required={\"required\"}\n >\n
\n
\n handleChange(e)}\n required={\"required\"}\n >\n
\n
\n handleChange(e)}\n required={\"required\"}\n >\n
\n handleSubmit(e)}\n >\n \n \n \n \n }\n
\n );\n}\n","import React, { Component, Fragment } from \"react\";\nimport ReactWebChat from \"botframework-webchat\";\n//import BookingApp from \"./BookingApp\";\nimport \"./ChatWindow.css\";\nimport \"./bootstrap.min.css\";\nimport \"./ChatWindowNew.css\";\nimport WebViewExtension, {\n WEB_VIEW_EXT_ID,\n} from \"./Extensions/WebViewExtension/WebViewExtension\";\nimport WebViewExternalExtension, {\n WEB_VIEW_EX_EXT_ID,\n} from \"./Extensions/WebViewExternalExtension/WebViewExternalExtension\";\nimport ChatSuggestionExtension, {\n CHAT_SUGGESTION_EXT_ID,\n} from \"./Extensions/ChatSuggestionExtension/ChatSuggestionExtension\";\nimport PersistentMenu from \"./ChatComponent/PersistentMenu\";\nimport PropertyPopup from \"./ChatComponent/PropertyPopup\";\nimport { IntlProvider } from \"react-intl\";\nimport AppLocale from \"./lang\";\nimport CookiePopup from \"./ChatComponent/CookiePopup\";\nimport {\n DropdownMenu,\n DropdownItem,\n DropdownToggle,\n UncontrolledDropdown,\n Row,\n Col,\n Input,\n FormGroup,\n Label,\n Form,\n Button,\n CustomInput,\n} from \"reactstrap\";\nimport BookingApp from \"./BookingApp\";\nimport ChatWindowTypingIndicator from \"./ChatWindowTypingIndicator\";\nimport ChatWindowParticipantTagger from \"./ChatWindowParticipantTagger\";\nimport ChatWindowCardAction from \"./ChatWindowCardAction\";\nimport Translate from \"./helpers/Translate\";\nimport { AttachmentMiddleware } from \"./Extensions/AttachmentMiddleware\";\nimport IntlMessages from \"./helpers/IntlMessages\";\nimport ReactHtmlParser, { processNodes, htmlparser2 } from \"react-html-parser\";\nimport CheckAvailablity from \"./ChatComponent/CheckAvailablity\";\nimport ServicePopup from \"./ChatComponent/ServicePopup\";\nimport FeedbackPopup from \"./ChatComponent/FeedbackPopup\";\nimport AutoCompleteExtension, {\n CHAT_AUTOCOMPLETE_EXT_ID,\n} from \"./Extensions/AutoCompleteExtension/AutoCompleteExtension\";\nimport ThumbFeedback from \"./ChatComponent/ThumbFeedback\";\nconst publicIp = require(\"public-ip\");\nconst TRANSLATE_URL = process.env.REACT_APP_API_URL + \"/google-translate\";\nconst ANALYTICS_URL = process.env.REACT_APP_API_URL + \"/google-analytics\";\nconst VISITOR_URL = process.env.REACT_APP_API_URL + \"/visitors\";\nconst ADDLINK_URL = process.env.REACT_APP_API_URL + \"/links\";\nconst SERVICES_URL = process.env.REACT_APP_API_URL + \"/searchallservice\";\nconst LEAVE_FEEDBACK = process.env.REACT_APP_API_URL + \"/save-leavefeedback\";\nconst BMB_GROUP_URL = process.env.REACT_APP_API_URL + \"/group\";\nconst myma_logo = \"/res/myma_ai.png\";\nconst myma_logo_greyscale = \"/res/myma_greyscale.png\";\n\nconst styleOptions = {\n backgroundColor: \"#e9eef4\",\n bubbleBorderRadius: 8,\n bubbleTextColor: \"#353f48\",\n bubbleBackground: \"#fff\",\n bubbleFromUserBorderRadius: 8,\n bubbleFromUserBackground: \"#dfcf92\",\n bubbleFromUserTextColor: \"#353f48\",\n sendBoxTextColor: \"#000\",\n sendBoxBorderTop: \"solid 1px #fff\",\n sendBoxBorderBottom: \"\",\n sendBoxButtonColor: \"#767676\",\n sendBoxButtonColorOnFocus: \"#333\",\n sendBoxButtonColorOnHover: \"#333\",\n sendBoxPlaceholderColor: \"#767676\",\n paddingWide: 20,\n hideUploadButton: true,\n timestampColor: \"#767676\",\n sendBoxBackground: \"#fff\",\n bubbleBorderColor: \"#E6E6E6\",\n bubbleFromUserBorderColor: \"#E6E6E6\",\n suggestedActionLayout: \"stacked\",\n suggestedActionHeight: 30,\n suggestedActionBorderRadius: \"50vh\",\n suggestedActionBorderWidth: 0,\n suggestedActionBackground: \"#fff\",\n suggestedActionTextColor: \"#353f48\",\n};\n\nconst localeOptions = [\n { id: \"en\", name: \"English\", desc: \"English\", code: \"en\", locale: \"en\" },\n { id: \"hi\", name: \"Hindi\", desc: \"हिंदी\", code: \"hi\", locale: \"hi\" },\n {\n id: \"id\",\n name: \"Indonesian\",\n desc: \"bahasa Indonesia\",\n code: \"id\",\n locale: \"id\",\n },\n { id: \"es\", name: \"Spanish\", desc: \"Español\", code: \"es\", locale: \"es\" },\n { id: \"fr\", name: \"French\", desc: \"français\", code: \"fr\", locale: \"fr\" },\n { id: \"de\", name: \"German\", desc: \"Deutsche\", code: \"de\", locale: \"de\" },\n { id: \"zh\", name: \"Chinese\", desc: \"简体中文\", code: \"ZH-簡\", locale: \"zh\" },\n {\n id: \"vi\",\n name: \"Vietnamese\",\n desc: \"Tiếng Việt\",\n code: \"vi\",\n locale: \"vi\",\n },\n { id: \"th\", name: \"Thai\", desc: \"ไทย\", code: \"th\", locale: \"th\" },\n { id: \"ja\", name: \"Japanese\", desc: \"日本語\", code: \"ja\", locale: \"ja\" },\n {\n id: \"zh-TW\",\n name: \"Chinese (Traditional)\",\n desc: \"繁體中文\",\n code: \"ZH-繁\",\n locale: \"hk\",\n },\n {\n id: \"tl\",\n name: \"Tagalog (Filipino)\",\n desc: \"Tagalog (Filipino)\",\n code: \"tl\",\n locale: \"tl\",\n },\n { id: \"af\", name: \"Afrikaans\", desc: \"Afrikaans\", code: \"af\", locale: \"af\" },\n { id: \"ko\", name: \"Korean\", desc: \"한국어\", code: \"ko\", locale: \"ko\" },\n { id: \"mi\", name: \"Maori\", desc: \"Maori\", code: \"mi\", locale: \"mi\" },\n { id: \"ar\", name: \"Arabic\", desc: \"عربي\", code: \"ar\", locale: \"ar\" },\n { id: \"ru\", name: \"Russian\", desc: \"Русский\", code: \"ru\", locale: \"ru\" },\n { id: \"fi\", name: \"Finnish\", desc: \"Suomalainen\", code: \"fi\", locale: \"fi\" },\n];\n\nexport default class ChatWindow extends Component {\n constructor(props) {\n super(props);\n\n this.props.bookingApp.callbacks.close = () => {\n this.props.bookingApp.open = false;\n this.forceUpdate();\n };\n this.props.setBubbleToShrinkIn();\n localStorage.setItem(this.props.language_state_store, this.props.lang);\n this.state = {\n ask_close: false,\n menu_open: false,\n ask_bot_hide: false,\n language: this.props.lang,\n languageCode: \"\",\n langLocale: \"\",\n visitorPopupState: true,\n googleAnalytics: {},\n name: \"\",\n email: \"\",\n phoneNumber: \"\",\n firstName: \"\",\n lastName: \"\",\n zipCode: \"\",\n consentGiven: false,\n languageOptions: localeOptions.sort(this.dynamicSort(\"name\")),\n persistentMenuData: [],\n open_language_popup: false,\n open_property_popup: false,\n open_availblity_popup: false,\n open_service_popup: false,\n open_ZChatfeedback_popup: false,\n bubble_type: \"\",\n availblityData: null,\n zChatfeedbackData: null,\n isServiceAvailable: false,\n isButtonDisable: false,\n leaveFeedbackMessage: \"\",\n endChat: false,\n isOpenModal: false,\n modalContent: \"\",\n isCookiesHide: false,\n open_thumb_feedback: false\n };\n this.state.confirm_cookies =\n localStorage.getItem(this.props.cookies_state_store) !== \"yes\";\n\n this.hide_bot_confirm = () => {\n this.setState({ ask_bot_hide: false });\n this.props.hideBot();\n };\n this.close_bot_ask_hide = () => {\n this.setState({ ask_bot_hide: false });\n this.props.onClosed();\n };\n this.end_clicked = () => {\n this.setState({ ask_close: true });\n this.setState({ menu_open: false });\n if (this.props.messenger === true) {\n this.props.bot_restartClick();\n }\n };\n this.menu_popup_open = () => {\n this.setState({ menu_open: true });\n this.setState({ ask_close: false });\n };\n this.menu_popup_Close = () => {\n this.setState({ menu_open: false });\n };\n this.close_confirmed = () => {\n if (this.props.inZenDesk) {\n this.setState({\n ask_close: false,\n open_ZChatfeedback_popup: true,\n endChat: true,\n });\n } else {\n this.setState({ ask_close: false });\n this.props.endClicked();\n }\n };\n this.close_language_popup = () => {\n this.setState({ open_language_popup: false });\n };\n this.open_language_popup = () => {\n this.setState({ open_language_popup: true });\n };\n this.close_property_popup = () => {\n this.setState({ open_property_popup: false });\n };\n this.close_service_popup = () => {\n this.setState({ open_service_popup: false });\n };\n this.OpenServicePopUp = () => {\n this.setState({ open_service_popup: true });\n };\n this.popupclose_confirmed = () => {\n this.setState({ ask_close: false });\n this.props.closeClicked();\n };\n this.refresh = () => {\n this.props.refreshClicked();\n };\n this.close_cancel = () => {\n this.setState({ ask_close: false });\n };\n this.close_clicked = () => {\n this.setState({ ask_bot_hide: true });\n //this.props.onClosed();\n };\n this.close_cardapp = () => {\n this.setState({ card_app: undefined });\n };\n this.close_roomapp = () => {\n this.setState({ room_app: undefined });\n };\n this.cookies_understood = () => {\n // localStorage.setItem(this.props.cookies_state_store, \"yes\");\n // this.setState({ confirm_cookies: false });\n this.setState({ isCookiesHide: true });\n };\n this.availblityForm = (data) => {\n this.setState({ open_availblity_popup: true, availblityData: data });\n };\n this.closeAvailblityForm = () => {\n this.setState({ open_availblity_popup: false });\n this.props.setAvailblity(undefined);\n };\n\n this.setZchatFeedback = (data) => {\n this.setState({\n open_ZChatfeedback_popup: false,\n zChatfeedbackData: data,\n });\n this.props.sendFeedbackZenDeskChat(data, this.state.endChat);\n };\n\n this.cookies_details = (cookiesURL) => {\n this.addLinks(cookiesURL);\n if (window.parent) {\n window.parent.postMessage(\"openUrl:\" + cookiesURL + \"\", \"*\");\n } else {\n window.location = cookiesURL;\n }\n };\n this.set_thumb_feedback_open = (val) => {\n this.setState({ open_thumb_feedback: val });\n }\n this.bob_site = (poweredByURL) => {\n this.addLinks(poweredByURL);\n if (window.parent) {\n window.parent.postMessage(\"openUrl:\" + poweredByURL + \"\", \"*\");\n } else {\n window.location = poweredByURL;\n }\n };\n\n this.movetotop = () => {\n var els = document.getElementsByClassName(\n \"webchat__basic-transcript__scrollable\"\n );\n for (var el of els) {\n el.scrollTo({ top: 0, behavior: \"smooth\" });\n }\n };\n\n this.save_visitor = async (event) => {\n event.preventDefault();\n var user = {\n iid: this.props.iid,\n gid: this.props.gid,\n pid: this.props.pid,\n name: this.state.name,\n firstName: this.state.firstName,\n lastName: this.state.lastName,\n zipCode: this.state.zipCode,\n email: this.state.email,\n phoneNumber: this.state.phoneNumber,\n consentGiven: this.state.consentGiven,\n };\n this.setState({ visitorPopupState: false, isButtonDisable: true });\n const req = await fetch(`${VISITOR_URL}/${this.props.vid}`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n user: user,\n }),\n });\n\n localStorage.setItem(\n this.props.visitor_state_store,\n JSON.stringify(user)\n );\n };\n\n this.addLinks = async (link) => {\n const req = await fetch(`${ADDLINK_URL}`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n id: this.props.directline.conversationId,\n groupId: this.props.gid,\n link: link,\n }),\n });\n };\n // Adds bot/user tags and icon to conversation blocks\n let tagger = new ChatWindowParticipantTagger(\n this.props.botSettings.assistantDetails,\n this.props.botSettings.urls.icon,\n this.props.gid,\n this.props.iid,\n this.props.mobile\n );\n tagger.start();\n }\n\n createCssRules() {\n let intervalId = setInterval(() => {\n let sendButtonDiv = document.getElementsByClassName(\n \"webchat__icon-button\"\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_resize i{\n color:${this.props.botSettings.colours.closeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_resize i:hover{\n color:${this.props.botSettings.colours.closeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_end svg {\n fill: ${this.props.botSettings.colours.closeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_end svg:hover {\n fill: ${this.props.botSettings.colours.closeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .header_icon svg {\n fill: ${this.props.botSettings.colours.closeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .header_icon svg:hover {\n fill: ${this.props.botSettings.colours.closeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_close svg {\n fill: ${this.props.botSettings.colours.minimizeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_close svg:hover {\n fill: ${this.props.botSettings.colours.minimizeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_language svg {\n fill: ${this.props.botSettings.colours.minimizeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_btn_language svg:hover {\n fill: ${this.props.botSettings.colours.minimizeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_menuitem svg {\n fill: ${this.props.botSettings.colours.minimizeIcon} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .chat_header_menuitem svg:hover {\n fill: ${this.props.botSettings.colours.minimizeIconHover} !important;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .webchat__send-icon {\n opacity:1;\n fill: ${this.props.botSettings.colours.sendIcon} !important;\n cursor: pointer;\n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `\n .webchat__send-icon:hover {\n fill: ${this.props.botSettings.colours.sendIconHover} !important;\n \n }\n `,\n 0\n );\n document.styleSheets[0].insertRule(\n `.main {\n margin-left: 13px;\n margin-right: 13px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }`,\n 0\n );\n // if (sendButtonDiv.length !== 0) {\n // sendButtonDiv[0].innerHTML =\n // \"\";\n // clearInterval(intervalId);\n // }\n if (sendButtonDiv.length !== 0) {\n sendButtonDiv[0].innerHTML =\n \" \" +\n \"\";\n clearInterval(intervalId);\n }\n }, 1000);\n\n const getdiv = document.getElementsByClassName(\n \"webchat__send-text-box-count\"\n );\n if (\n this.props.inTwiliochat === false &&\n this.props.inZenDesk === false &&\n this.props.botSettings.features.fixedResponses === true\n ) {\n if (getdiv === null || getdiv.length === 0) {\n const form = document.querySelector(\"form\");\n const main = document.getElementsByClassName(\"main\");\n if (form !== null) {\n const button = document.getElementsByClassName(\n \"webchat__icon-button\"\n );\n let disableButton = document.createElement(\"button\");\n main[0].appendChild(disableButton);\n disableButton.type = \"button\";\n disableButton.style.display = \"none\";\n disableButton.style.backgroundColor = \"Transparent\";\n disableButton.style.border = \"0\";\n disableButton.style.outline = \"0\";\n disableButton.style.padding = \"0\";\n disableButton.style.width = \"40px\";\n disableButton.disabled = \"disabled\";\n disableButton.style.opacity = \"0.4\";\n disableButton.innerHTML =\n // \"\";\n \" \" +\n \"\";\n const msgBox = document.getElementsByClassName(\n \"webchat__send-box-text-box__input\"\n );\n const input = msgBox[0];\n form.setAttribute(\"id\", \"form_send\");\n\n let div_sendBoxTextCount = document.createElement(\"div\");\n document\n .getElementById(\"form_send\")\n .appendChild(div_sendBoxTextCount);\n div_sendBoxTextCount.classList.add(\"webchat__send-text-box-count\");\n div_sendBoxTextCount.setAttribute(\n \"id\",\n \"webchat__send-text-box-count\"\n );\n const span = document.createElement(\"span\");\n div_sendBoxTextCount.appendChild(span);\n span.setAttribute(\"id\", \"span-count\");\n span.style.marginLeft = \"5px\";\n span.style.fontSize = \"14px\";\n\n function _set() {\n // var len = this.value.replace(/ /g, \"\").length || 0;\n // let totalLen = 70;\n // if (len <= 40) {\n // span.style.color = \"green\";\n // button[0].style.display = \"block\";\n // disableButton.style.display = \"none\";\n // len = this.value !== \"\" ? 40 - len : \"\";\n // } else {\n // button[0].style.display = \"none\";\n // disableButton.style.display = \"block\";\n // span.style.color = \"red\";\n // len = \"-\" + (30 - (totalLen - len));\n // }\n // span.innerHTML = len;\n }\n if (input !== null && input !== \"\") {\n input.addEventListener(\"keyup\", (e) => {\n if (\n this.props.inTwiliochat === false &&\n this.props.inZenDesk === false\n ) {\n document.getElementById(\n \"webchat__send-text-box-count\"\n ).style.display = \"block\";\n let len = input.value.replace(/ /g, \"\").length;\n // if (len <= 70) {\n // _set.call(input);\n // }\n }\n });\n // input.addEventListener(\"keypress\", (e) => {\n // if (\n // this.props.inTwiliochat === false &&\n // this.props.inZenDesk === false\n // ) {\n // let len = input.value.replace(/ /g, \"\").length;\n // if (len >= 70) {\n // e.stopPropagation();\n // e.preventDefault();\n // } else if (len > 40) {\n // if (e.key === \"Enter\") {\n // input.focus();\n // e.stopPropagation();\n // e.preventDefault();\n // }\n // }\n // }\n // });\n }\n }\n }\n } else {\n if (document.getElementById(\"webchat__send-text-box-count\") !== null) {\n document.getElementById(\"webchat__send-text-box-count\").style.display =\n \"none\";\n }\n }\n if (\n this.props.botSettings.features.addOnUpsells &&\n this.state.isServiceAvailable\n ) {\n const divcurated = document.getElementsByClassName(\n \"webchat__send-curated-option\"\n );\n if (divcurated === null || divcurated.length === 0) {\n const getMainDiv = document.getElementsByClassName(\"main\");\n const formdiv = document.getElementById(\"form_send\");\n if (getMainDiv !== null && getMainDiv.length > 0 && formdiv !== null) {\n let createCuratedDiv = document.createElement(\"div\");\n formdiv.parentNode.insertBefore(createCuratedDiv, formdiv);\n createCuratedDiv.className = \"webchat__send-curated-option\";\n createCuratedDiv.innerHTML =\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \" \";\n createCuratedDiv.addEventListener(\"click\", (e) => {\n this.setState({ open_service_popup: true });\n });\n }\n }\n }\n }\n\n // cookies\n getName = (assistantDetail, type) => {\n if (assistantDetail !== null && assistantDetail.length > 0) {\n const findIndex = assistantDetail.findIndex(\n (i) =>\n i.locale ===\n (this.state.language === \"zh-TW\" ? \"hk\" : this.state.language)\n );\n if (findIndex === -1) {\n const getEn = assistantDetail.filter((c) => c.locale === \"en\");\n if (getEn !== null && getEn.length > 0) {\n if (type === \"cookiesText\") {\n return getEn[0].statement; // Return raw HTML string\n }\n }\n } else {\n if (type === \"cookiesText\") {\n return assistantDetail[findIndex].statement; // Return raw HTML string\n }\n }\n }\n return \"\";\n };\n\n handleLinkClick = (e) => {\n e.preventDefault();\n const href = e.target.closest(\"a\")?.getAttribute(\"href\");\n\n if (href) {\n if (href.includes(\"myma.ai\")) {\n this.setState({\n isOpenModal: true,\n modalContent: href,\n });\n } else {\n // If the link is external, open it in a new tab\n window.open(href, \"_blank\");\n }\n }\n };\n\n closeModal = () => {\n this.setState({ isOpenModal: false });\n };\n\n //\n dynamicSort(property) {\n var sortOrder = 1;\n if (property[0] === \"-\") {\n sortOrder = -1;\n property = property.substr(1);\n }\n return function (a, b) {\n /* next line works with strings and numbers,\n * and you may want to customize it to your needs\n */\n var result =\n a[property] < b[property] ? -1 : a[property] > b[property] ? 1 : 0;\n return result * sortOrder;\n };\n }\n\n handleVisitorEmailChange = (e) => {\n this.setState({ email: e.target.value });\n };\n handleVisitorNameChange = (e) => {\n this.setState({ name: e.target.value });\n };\n handleVisitorPhoneNumerChange = (e) => {\n let val = true;\n let str = e.target.value.split(\"\");\n for (let i = 0; i < str.length; i++) {\n let code = str[i];\n code = code.charCodeAt(0);\n if (\n (code >= 48 || code === 45 || code === 40 || code === 41) &&\n (code <= 57 || code === 45 || code === 40 || code === 41)\n )\n val = true;\n else val = false;\n }\n if (val) this.setState({ phoneNumber: e.target.value });\n };\n handleVisitorCheckBoxChange = (e) => {\n this.setState({ consentGiven: e.target.checked });\n };\n hadleVisitorFirstNameChange = (e) => {\n this.setState({ firstName: e.target.value });\n };\n hadleVisitorLastNameChange = (e) => {\n this.setState({ lastName: e.target.value });\n };\n hadleVisitorZipCodeChange = (e) => {\n this.setState({ zipCode: e.target.value });\n };\n\n handleChangeLanguage = (id, sendtobot) => {\n if (window.parent) {\n window.parent.postMessage(\"langDetect:\" + id + \"\", \"*\");\n }\n const findLanguage = localeOptions.find((elem) => {\n return elem.id === id;\n });\n\n if (findLanguage) {\n this.setState({\n language: findLanguage.id,\n languageCode: findLanguage.code,\n langLocale: findLanguage.locale,\n });\n }\n\n localStorage.setItem(this.props.language_state_store, findLanguage.id);\n\n if (sendtobot) {\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/lang-update\",\n value: {\n lang: id,\n },\n },\n });\n }\n\n if (\n this.props.persistentMenu.filter((i) => i.locale.includes(id)).length > 0\n ) {\n let menu = this.props.persistentMenu.filter((i) => i.locale.includes(id));\n this.setState({\n persistentMenuData: menu,\n });\n } else {\n let menu = this.props.persistentMenu.filter((i) =>\n i.locale.includes(\"default\")\n );\n let menuItem = [];\n menu[0].callToActions.map((item) => {\n var input = item.title;\n if (input !== \"\") {\n if (id === \"en\") {\n menuItem.push({\n title: item.title,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n } else {\n if (\n item.payLoad !== \"select_property\" &&\n item.payLoad !== \"switch_language\" &&\n item.payLoad !== \"restart\" &&\n item.payLoad !== \"hidebot\"\n ) {\n const req = fetch(TRANSLATE_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n q: input,\n target: id,\n }),\n });\n req.then((m) => {\n m.json().then((k) => {\n menuItem.push({\n title: k.output,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n });\n });\n } else {\n menuItem.push({\n title: item.title,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n }\n }\n this.setState({\n persistentMenuData: [\n {\n locale: id,\n callToActions: menuItem,\n },\n ],\n });\n }\n });\n }\n this.close_language_popup();\n };\n\n handleMenuClick = (data) => {\n if (data.itemType === \"postback\") {\n if (data.items.payLoad === \"switch_language\") {\n this.setState({ open_language_popup: true });\n } else if (data.items.payLoad === \"select_property\") {\n this.setState({ open_property_popup: true });\n } else if (data.items.payLoad === \"restart\") {\n this.end_clicked();\n } else if (data.items.payLoad === \"hidebot\") {\n this.hide_bot_confirm();\n } else {\n this.props.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_MESSAGE\",\n payload: {\n text: data.items.payLoad,\n },\n });\n }\n } else {\n if (data.items.url.includes(\"utm_source\") === false) {\n if (\n data.items.url !== \"\" &&\n this.state.googleAnalytics !== undefined &&\n this.state.googleAnalytics !== null &&\n this.state.googleAnalytics.utmSource !== undefined\n ) {\n var options = data.items.url.lastIndexOf(\"&\");\n if (data.items.url.indexOf(\"?\") == \"-1\") {\n data.items.url =\n data.items.url +\n `?utm_source=${this.state.googleAnalytics.utmSource !== undefined\n ? this.state.googleAnalytics.utmSource\n : \"\"\n }&utm_medium=${this.state.googleAnalytics.utmMedium !== undefined\n ? this.state.googleAnalytics.utmMedium\n : \"\"\n }`;\n } else if (data.items.url.indexOf(\"&\") == \"-1\") {\n data.items.url =\n data.items.url +\n `&utm_source=${this.state.googleAnalytics.utmSource !== undefined\n ? this.state.googleAnalytics.utmSource\n : \"\"\n }&utm_medium=${this.state.googleAnalytics.utmMedium !== undefined\n ? this.state.googleAnalytics.utmMedium\n : \"\"\n }`;\n } else {\n data.items.url =\n data.items.url.substr(0, data.items.url.lastIndexOf(\"&\")) +\n `&utm_source=${this.state.googleAnalytics.utmSource !== undefined\n ? this.state.googleAnalytics.utmSource\n : \"\"\n }&utm_medium=${this.state.googleAnalytics.utmMedium !== undefined\n ? this.state.googleAnalytics.utmMedium\n : \"\"\n }` +\n data.items.url.substr(data.items.url.lastIndexOf(\"&\"));\n }\n }\n }\n this.addLinks(data.items.url);\n if (window.parent) {\n window.parent.postMessage(\"openUrl:\" + data.items.url + \"\", \"*\");\n } else {\n window.location = data.items.url;\n }\n }\n };\n handleCancelFeedbackResponse = () => {\n this.setState({ leaveFeedbackMessage: \"\" });\n let feedback_popup = document.getElementById(\"feedback_popup\");\n feedback_popup.style.display = \"none\";\n };\n getMessageTranslate = (value) => {\n switch (this.state.language) {\n case \"af\":\n return (\n \"Dankie dat jy vir ons jou navraag gestuur het! Ons vra om verskoning dat dit nie dadelik beantwoord is nie, ons span werk tans daaraan en sal so gou moontlik na jou terugkom! Jou kaartjienommer is \" +\n value +\n \"\"\n );\n case \"ar\":\n return (\n \"\" +\n value +\n \" شكرا لك على إرسال استفسارك إلينا! نعتذر عن عدم الرد على الفور، ويعمل فريقنا حاليًا على حل المشكلة وسيقوم بالرد عليك في أقرب وقت ممكن! رقم التذكرة الخاص بك هو\"\n );\n case \"de\":\n return (\n \"Vielen Dank für Ihre Anfrage! Wir entschuldigen uns dafür, dass Ihre Anfrage nicht sofort beantwortet wurde. Unser Team arbeitet derzeit daran und wird sich so schnell wie möglich bei Ihnen melden! Ihre Ticketnummer lautet \" +\n value +\n \"\"\n );\n case \"es\":\n return (\n \"¡Gracias por enviarnos tu consulta! Lamentamos que no haya sido respondida de inmediato, nuestro equipo está trabajando actualmente en ello y se comunicará con usted lo antes posible. Su número de billete es \" +\n value +\n \"\"\n );\n case \"fi\":\n return (\n \"Kiitos, että lähetit meille kyselysi! Pahoittelemme, ettei siihen heti vastattu. Tiimimme työskentelee parhaillaan asian parissa ja ottaa sinuun yhteyttä mahdollisimman pian! Lippusi numero on \" +\n value +\n \"\"\n );\n case \"fr\":\n return (\n \"Merci de nous avoir envoyé votre demande ! Nous sommes désolés de ne pas avoir reçu de réponse immédiate, notre équipe y travaille actuellement et vous répondra dans les plus brefs délais ! Votre numéro de billet est \" +\n value +\n \"\"\n );\n case \"hi\":\n return (\n \"हमें अपनी जांच भेजने के लिए धन्यवाद! हम क्षमा चाहते हैं कि इसका उत्तर सीधे नहीं दिया गया, हमारी टीम वर्तमान में इस पर काम कर रही है और जल्द से जल्द आपसे संपर्क करेगी! आपका टिकट नंबर है \" +\n value +\n \"\"\n );\n case \"id\":\n return (\n \"Terima kasih telah mengirimkan pertanyaan Anda kepada kami! Kami mohon maaf karena tidak langsung dijawab, tim kami sedang mengerjakannya dan akan menghubungi Anda sesegera mungkin! Nomor tiket Anda adalah \" +\n value +\n \"\"\n );\n case \"ja\":\n return (\n \"お問い合わせをお送りいただきありがとうございます。すぐに回答できなかったことをお詫び申し上げます。現在、チームが対応中ですので、できるだけ早くご連絡いたします。あなたのチケット番号は \" +\n value +\n \"\"\n );\n case \"ko\":\n return (\n \"문의사항을 보내주셔서 감사합니다! 즉시 답변을 드리지 못한 점 사과드립니다. 현재 팀에서 작업 중이므로 최대한 빨리 답변해 드리겠습니다. 귀하의 티켓 번호는 다음과 같습니다 \" +\n value +\n \"\"\n );\n case \"mi\":\n return (\n \"Mauruuru koe mo te tuku mai i to patai! E mihi ana matou na te mea kaore i whakautua tonutia, kei te mahi tonu ta matou roopu i tenei wa ka hoki wawe mai ki a koe! Ko to nama tikiti \" +\n value +\n \"\"\n );\n case \"ru\":\n return (\n \"Спасибо, что отправили нам свой запрос! Приносим извинения, что не ответили сразу, наша команда сейчас работает над этим и свяжется с вами как можно скорее! Номер вашего билета \" +\n value +\n \"\"\n );\n case \"tl\":\n return (\n \"Salamat sa pagpapadala sa amin ng iyong katanungan! Humihingi kami ng paumanhin na hindi ito agad nasagot, kasalukuyang ginagawa ito ng aming team at babalikan ka sa lalong madaling panahon! Ang iyong numero ng tiket ay \" +\n value +\n \"\"\n );\n case \"th\":\n return (\n \"ขอบคุณสำหรับการส่งคำถามของคุณถึงเรา! เราต้องขออภัยที่ไม่ได้ตอบกลับทันที ทีมงานของเรากำลังดำเนินการอยู่และจะติดต่อกลับโดยเร็วที่สุด! หมายเลขตั๋วของคุณคือ \" +\n value +\n \"\"\n );\n case \"vi\":\n return (\n \"Cảm ơn bạn đã gửi cho chúng tôi yêu cầu của bạn! Chúng tôi xin lỗi vì nó không được trả lời ngay lập tức, nhóm của chúng tôi hiện đang giải quyết vấn đề này và sẽ liên hệ lại với bạn sớm nhất có thể! Số vé của bạn là \" +\n value +\n \"\"\n );\n case \"zh\":\n return (\n \"感谢您向我们发送您的询问!对于未能立即回复您的问题,我们深表歉意,我们的团队目前正在处理该问题,并将尽快回复您!您的票号是 \" +\n value +\n \"\"\n );\n case \"zh-TW\":\n return (\n \"感謝您向我們發送您的詢問!對於未能立即回覆您的問題,我們深表歉意,我們的團隊目前正在處理該問題,並將盡快回覆您!您的票號是 \" +\n value +\n \"\"\n );\n default:\n return (\n \"Thank you for sending us your enquiry! We do apologise that it was not answered straightaway, our team is currently working on it and will get back to you as soon as possible! Your ticket number is \" +\n value +\n \"\"\n );\n }\n };\n handleFeedBackResponse = async (body, name, phone, email) => {\n let button = document.getElementById(\"feedback_button\");\n if (button !== null && button.value !== undefined) {\n document.getElementById(\"feedback_popup_body\").classList.remove(\"area\");\n document.getElementById(\"feedback_popup_body\").classList.add(\"closepop\");\n let feedback_popup = document.getElementById(\"feedback_popup\");\n feedback_popup.style.display = \"none\";\n var leaveFeedback = {\n groupId: this.props.gid,\n messageId: button.value,\n leaveMessage: this.state.leaveFeedbackMessage,\n };\n try {\n fetch(`${LEAVE_FEEDBACK}`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(leaveFeedback),\n });\n } catch (error) { }\n var tags = [\"Feedback\"];\n const data = new FormData();\n data.append(\"formId\", null);\n data.append(\"groupId\", this.props.gid);\n data.append(\"propertyId\", this.props.pid === \"-1\" ? \"\" : this.props.pid);\n data.append(\"conversationId\", this.props.directline.conversationId);\n data.append(\"source\", \"WebSite\");\n data.append(\"tags\", tags);\n data.append(\"notes\", body);\n data.append(\"bcc\", \"andy@bookmebob.com\");\n data.append(\"requesterName\", name);\n data.append(\"requesterEmail\", email);\n data.append(\"requesterPhoneNumber\", phone);\n data.append(\"creator\", \"Bot\");\n data.append('isDefault', true);\n const ip = await publicIp.v4();\n data.append(\"ipAddress\", ip);\n fetch(process.env.REACT_APP_BFF_API + \"/public/form-tickets\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n cache: \"no-cache\",\n body: data,\n }).then((response) => {\n response.json().then((res) => {\n var msg = `${this.getMessageTranslate(res.result.id)}`;\n\n fetch(process.env.REACT_APP_API_URL + \"/sendmessageactivityByBot\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n conversationId: this.props.directline.conversationId,\n message: \"\" + msg + \"\",\n from: Math.random(),\n summary: \"Fallback\",\n }),\n }).catch((err) => {\n console.error(\"Bmb ticket creation failed :(.\");\n console.error(err);\n });\n var msgpayload = {\n gid: this.props.gid,\n iid: this.props.iid,\n pid: this.props.pid,\n vid: this.props.vid,\n sid: this.props.sid,\n cid: this.props.directline.conversationId,\n time: new Date().toISOString(),\n source: \"Bot\",\n message: msg,\n tag: \"\",\n agentId: \"\",\n };\n fetch(process.env.REACT_APP_API_URL + \"/saveMessage\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(msgpayload),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n });\n });\n this.setState({ leaveFeedbackMessage: \"\" });\n }\n };\n componentDidMount() {\n //powered by logo code\n\n const filtered = this.state.languageOptions.filter((el) => {\n return this.props.botSettings.languages.indexOf(el.id) !== -1;\n });\n var langCode = this.state.language;\n const selectedLang = this.state.languageOptions.filter(\n (el) => el.id === this.state.language\n );\n if (selectedLang.length > 0) {\n this.setState({\n languageOptions: filtered,\n languageCode: selectedLang[0].code,\n langLocale: selectedLang[0].locale,\n });\n } else {\n this.setState({ languageOptions: filtered });\n }\n if (\n this.props.persistentMenu !== undefined ||\n this.props.persistentMenu !== null\n ) {\n if (this.state.persistentMenuData.length === 0) {\n if (\n this.props.persistentMenu.filter((i) => i.locale.includes(langCode))\n .length > 0\n ) {\n let menu = this.props.persistentMenu.filter((i) =>\n i.locale.includes(langCode)\n );\n this.setState({\n persistentMenuData: menu,\n });\n } else {\n let menu = this.props.persistentMenu.filter((i) =>\n i.locale.includes(\"default\")\n );\n let menuItem = [];\n menu[0].callToActions.map((item) => {\n var input = item.title;\n if (input !== \"\") {\n if (langCode === \"en\") {\n menuItem.push({\n title: item.title,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n } else {\n if (\n item.payLoad !== \"select_property\" &&\n item.payLoad !== \"switch_language\" &&\n item.payLoad !== \"restart\" &&\n item.payLoad !== \"hidebot\"\n ) {\n const req = fetch(TRANSLATE_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n q: input,\n target: langCode,\n }),\n });\n req.then((m) => {\n m.json().then((k) => {\n menuItem.push({\n title: k.output,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n });\n });\n } else {\n menuItem.push({\n title: item.title,\n type: item.type,\n payLoad: item.payLoad,\n url: item.url,\n });\n }\n }\n this.setState({\n persistentMenuData: [\n {\n locale: langCode,\n callToActions: menuItem,\n },\n ],\n });\n }\n });\n }\n }\n }\n\n if (\n this.props.botSettings !== undefined ||\n this.props.botSettings !== null\n ) {\n if (\n this.props.botSettings.bubbleSettings !== undefined &&\n this.props.botSettings.bubbleSettings !== null\n ) {\n if (\n this.props.botSettings.bubbleSettings.bubbleType !== undefined &&\n this.props.botSettings.bubbleSettings.bubbleType !== null\n ) {\n this.setState({\n bubble_type: this.props.botSettings.bubbleSettings.bubbleType,\n });\n } else {\n this.setState({ bubble_type: \"Bubble\" });\n }\n }\n }\n const self = this;\n var ignoreClickOnMeElement = document.getElementById(\"chat_box\");\n if (\n ignoreClickOnMeElement !== null &&\n ignoreClickOnMeElement !== undefined\n ) {\n document.addEventListener(\"click\", function (event) {\n if (self.state.ask_bot_hide === true) {\n var isClickInsideElement = ignoreClickOnMeElement.contains(\n event.target\n );\n if (isClickInsideElement) {\n self.setState({ ask_bot_hide: false });\n }\n }\n });\n }\n\n var ignoreClickOnMeElementVisitor =\n document.getElementById(\"chat_box_visitor\");\n if (\n ignoreClickOnMeElementVisitor !== null &&\n ignoreClickOnMeElementVisitor !== undefined\n ) {\n document.addEventListener(\"click\", function (event) {\n if (self.state.ask_bot_hide === true) {\n var isClickInsideElement = ignoreClickOnMeElementVisitor.contains(\n event.target\n );\n if (isClickInsideElement) {\n self.setState({ ask_bot_hide: false });\n }\n }\n });\n }\n if (this.props.pid !== undefined && this.props.pid !== null) {\n this.GetServiceAvailable(this.props.property_state_store);\n }\n if (this.props.pid !== undefined && this.props.pid !== null) {\n const req = fetch(ANALYTICS_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n propertyId: this.props.pid,\n groupId: this.props.gid,\n }),\n });\n req.then((m) => {\n m.json().then((k) => {\n if (\n k.googleAnalyticsIntegration !== undefined &&\n k.googleAnalyticsIntegration !== null\n ) {\n this.setState({ googleAnalytics: k.googleAnalyticsIntegration });\n }\n });\n });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (\n prevProps.availblity !== this.props.availblity &&\n this.props.availblity !== undefined\n ) {\n this.availblityForm(this.props.availblity);\n }\n\n if (prevProps.openZChat_popup !== this.props.openZChat_popup) {\n this.setState({ open_ZChatfeedback_popup: this.props.openZChat_popup });\n }\n\n if (prevProps.property_popup !== this.props.property_popup) {\n this.setState({ open_property_popup: this.props.property_popup });\n }\n if (prevProps.lang !== this.props.lang && this.props.lang !== undefined) {\n this.handleChangeLanguage(\n this.props.lang,\n this.props.autoDetect === true ? false : true\n );\n }\n\n if (prevProps.bot_restart !== this.props.bot_restart) {\n this.setState({ ask_close: this.props.bot_restart });\n }\n }\n\n GetServiceAvailable = (propertyStore) => {\n var pid = \"\";\n if (\n localStorage.getItem(propertyStore) !== undefined &&\n localStorage.getItem(propertyStore) !== null\n ) {\n pid = localStorage.getItem(propertyStore);\n }\n if (pid !== \"\") {\n fetch(\n SERVICES_URL +\n \"?groupId=\" +\n this.props.gid +\n \"&propertyId=\" +\n pid +\n \"&languageCode=en\"\n )\n .then((response) => response.json())\n .then((json) => {\n if (json.result.length > 0) {\n this.setState({ isServiceAvailable: true });\n } else {\n this.setState({ isServiceAvailable: false });\n }\n });\n } else {\n this.setState({ isServiceAvailable: false });\n }\n };\n\n getAssistantName = (assistantDetail) => {\n var assistantName = \"Jenni\";\n if (assistantDetail !== null && assistantDetail.length > 0) {\n var data = assistantDetail.filter(k => k.locale === this.state.language);\n if (data.length === 0) {\n assistantName = assistantDetail.filter(k => k.locale === \"en\")[0].name;\n } else {\n assistantName = data[0].name;\n }\n }\n return assistantName;\n }\n\n render() {\n //cookies\n const cookiesData =\n this.props.cookies_data && this.props.cookies_data.text\n ? this.getName(this.props.cookies_data.text, \"cookiesText\")\n : \"\";\n\n const currentAppLocale =\n AppLocale[this.state.langLocale === \"\" ? \"en\" : this.state.langLocale];\n var {\n store,\n directline,\n inputEnabled,\n user_id,\n loadingLivechat,\n agentName,\n mobile,\n botSettings,\n bookingApp,\n room_app,\n close_pop,\n opened,\n connectionError,\n inactivePopupOne,\n inactivePopupTwo,\n persistentMenuEnabled,\n resize_full,\n resize_actual,\n bearerToken\n } = this.props;\n\n var { ask_close, menu_open, confirm_cookies, ask_bot_hide } = this.state;\n\n const myma_logosrc =\n botSettings && botSettings.isGreyScale ? myma_logo_greyscale : myma_logo;\n\n if (botSettings !== undefined) {\n styleOptions.backgroundColor = botSettings.colours.botBackground;\n styleOptions.bubbleFromUserBackground = botSettings.colours.botUser;\n styleOptions.bubbleFromUserBorderColor = botSettings.colours.botUser;\n styleOptions.bubbleFromUserTextColor = botSettings.colours.botUserText;\n styleOptions.bubbleBackground = botSettings.colours.botBot;\n styleOptions.bubbleBorderColor = botSettings.colours.botBot;\n styleOptions.bubbleTextColor = botSettings.colours.botBotText;\n if (mobile === \"true\") {\n if (botSettings.hideSendBoxInMobile === true) {\n this.props.hideTypingTextBox();\n }\n } else {\n if (botSettings.hideSendBox === true) {\n this.props.hideTypingTextBox();\n }\n }\n\n if (\n localStorage.getItem(this.props.property_state_store) === undefined ||\n localStorage.getItem(this.props.property_state_store) === null\n ) {\n this.props.hideTypingTextBox();\n }\n\n if (botSettings.colours.sendBoxButton)\n styleOptions.sendBoxButtonColor = botSettings.colours.sendBoxButton;\n if (botSettings.colours.sendBoxText)\n styleOptions.sendBoxTextColor = botSettings.colours.sendBoxText;\n if (botSettings.colours.sendBoxBottomBorder) {\n styleOptions.sendBoxBorderBottom = `solid 1px ${botSettings.colours.sendBoxBottomBorder}`;\n styleOptions.sendBoxBorderTop = \"\";\n }\n if (botSettings.colours.sendBoxButtonFocus)\n styleOptions.sendBoxButtonColorOnFocus =\n botSettings.colours.sendBoxButtonFocus;\n if (botSettings.colours.sendBoxButtonHover)\n styleOptions.sendBoxButtonColorOnHover =\n botSettings.colours.sendBoxButtonHover;\n if (botSettings.colours.timeStamp)\n styleOptions.timestampColor = botSettings.colours.timeStamp;\n if (botSettings.colours.sendBoxPlaceHolder)\n styleOptions.sendBoxPlaceholderColor =\n botSettings.colours.sendBoxPlaceHolder;\n if (botSettings.colours.sendBoxBackground)\n styleOptions.sendBoxBackground = botSettings.colours.sendBoxBackground;\n\n if (botSettings.colours.suggestionBackground)\n styleOptions.suggestedActionBackground =\n botSettings.colours.suggestionBackground;\n\n if (botSettings.colours.suggestionText)\n styleOptions.suggestedActionTextColor =\n botSettings.colours.suggestionText;\n\n this.createCssRules();\n }\n\n return (\n \n \n {\" \"}\n \n {botSettings !== undefined ? (\n <>\n {!this.props.messenger && (\n \n \n \n \n \n \n \n
\n \n {\" \"}\n {agentName || this.getAssistantName(botSettings.assistantDetails)}{\" \"}\n {\" \"}\n
\n \n \n \n \n \n {this.props.customStyle === \"\" && mobile !== \"true\" ? (\n \n {!this.props.resize ? (\n \n ) : (\n \n )}\n \n ) : null}\n {botSettings.multilingual ? (\n \n \n \n \n \n ) : null}\n \n \n \n \n \n {this.props.customStyle !== \"\" ? (\n \n {\" \"}\n \n ) : null}\n \n )}\n\n {menu_open ? (\n \n ) : (\n \"\"\n )}\n {ask_close ? (\n {\n this.setState({ ask_close: false });\n if (this.props.messenger) {\n this.props.bot_restartClick();\n }\n }}\n >\n \n

\n {\"\"}\n \n {\"\"}\n

\n

\n \n

\n \n {\"\"}\n \n {\"\"}\n \n \n {\"\"}\n \n {\"\"}\n \n \n \n ) : (\n \"\"\n )}\n {this.state.open_ZChatfeedback_popup && (\n \n )}\n {this.state.open_language_popup && (\n
\n \n \n \n \n \n \n
\n \n \n \n \n
\n \n {botSettings.multilingual\n ? this.state.languageOptions.map((elem, index) => {\n return (\n \n this.handleChangeLanguage(elem.id, true)\n }\n key={index}\n >\n {elem.desc}\n {this.state.language === elem.id ? (\n \n \n \n ) : (\n \"\"\n )}\n \n );\n })\n : this.state.languageOptions\n .filter((i) =>\n i.id.includes(this.state.language)\n )\n .map((elem, index) => {\n return (\n \n );\n })}\n
\n \n \n \n )}\n {this.state.open_property_popup && (\n \n )}\n {this.state.open_availblity_popup && (\n \n )}\n {this.state.open_service_popup && (\n \n )}\n \n \n this.handleFeedBackResponse(e, name, phone, email, formId)\n }\n handleCancelFeedbackResponse={() =>\n this.handleCancelFeedbackResponse()\n }\n locale={this.state.language}\n changeleaveFeedbackMessage={(e) =>\n this.setState({ leaveFeedbackMessage: e })\n }\n buttonColor={this.props.messengerSettings.color}\n pid={this.props.pid}\n gid={this.props.gid}\n bookingApp={this.props.bookingApp}\n bearerToken={bearerToken}\n conid={this.props.directline.conversationId}\n iid={this.props.iid}\n formSettings={this.props.formSettings}\n >\n \n
\n \n {/* {confirm_cookies && this.props.messenger && cookiesData ? (\n \n
\n\n \n this.handleLinkClick(e)}>{ReactHtmlParser(cookiesData)}\n\n
\n\n
\n \n {\" \"}\n ×{\" \"}\n \n \n ) : (\n \"\"\n )} */}\n {this.state.isCookiesHide === false &&\n this.props.messenger &&\n cookiesData ? (\n
\n \n
\n this.handleLinkClick(e)}>\n {ReactHtmlParser(cookiesData)}\n \n
\n
\n \n {\" \"}\n ×{\" \"}\n \n \n ) : (\n \"\"\n )}\n \n {this.state.isOpenModal ? (\n
\n \n
\n ) : (\n \"\"\n )}\n \n {ask_bot_hide ? (\n this.setState({ ask_bot_hide: false })}\n style={{ zIndex: 5, padding: \"0.5em\", display: \"block\" }}\n >\n
\n \n {\" \"}\n {\" \"}\n
\n \n {\" \"}\n {\" \"}\n \n \n {\" \"}\n {\" \"}\n \n \n {\" \"}\n {\" \"}\n \n \n \n ) : (\n \"\"\n )}\n\n \n {botSettings.inactivePopUpWarning &&\n botSettings.inactivePopUpWarning.enabled === true &&\n inactivePopupOne && (\n \n
\n \n {\" \"}\n ⚠️{\" \"}\n {\" \"}\n

\n \n {this.state.language === \"en\" ? (\n botSettings.inactivePopUpWarning.message\n ) : (\n \n )}\n {\" \"}\n
\n \n {\" \"}\n {this.state.language === \"en\" ? (\n \"Close\"\n ) : (\n \n )}{\" \"}\n

\n \n \n )}\n {botSettings.inactivePopUpSession &&\n botSettings.inactivePopUpSession.enabled === true &&\n inactivePopupTwo && (\n \n
\n \n {\" \"}\n ⚠️{\" \"}\n {\" \"}\n

\n \n {this.state.language === \"en\" ? (\n botSettings.inactivePopUpSession.message\n ) : (\n \n )}\n {\" \"}\n
\n \n {\" \"}\n {this.state.language === \"en\" ? (\n \"Restart\"\n ) : (\n \n )}{\" \"}\n

\n \n \n )}\n \n
\n \n {\" \"}\n ⚠️{\" \"}\n {\" \"}\n

\n \n Your session has expired due to inactivity\n {\" \"}\n
\n \n {\" \"}\n Restart{\" \"}\n

\n \n \n {/* {this.props.moveTop === true && (\n this.movetotop()}\n >\n \n \n )} */}\n \n {directline && !loadingLivechat ? (\n \n ) : this.props.customStyle !== \"\" ? (\n
\n
\n
\n ) : (\n
\n )}\n {\n //@TODO automate extension management\n this.props.extensions[CHAT_SUGGESTION_EXT_ID] ? (\n \n ) : (\n \"\"\n )\n }\n {\n //@TODO automate extension management\n this.props.extensions[CHAT_AUTOCOMPLETE_EXT_ID] ? (\n \n ) : (\n \"\"\n )\n }\n {this.props.extensions[WEB_VIEW_EXT_ID] ? (\n \n ) : (\n \"\"\n )}\n {this.props.extensions[WEB_VIEW_EX_EXT_ID] ? (\n \n ) : (\n \"\"\n )}\n {\" \"}\n {this.state.visitorPopupState === true &&\n botSettings.visitorPopup === true && (\n \n \n {botSettings.visitorSettings !== null && (\n
this.save_visitor(e)}>\n

\n {\" \"}\n {this.state.language === \"en\" ? (\n botSettings.visitorSettings.title\n ) : (\n \n )}{\" \"}\n

\n {this.state.language === \"en\" ? (\n ReactHtmlParser(\n botSettings.visitorSettings.subTitle\n )\n ) : (\n \n )}{\" \"}\n {botSettings.visitorSettings.fields.map(\n (elem, fIndex) => {\n if (elem.field === \"Name\") {\n return (\n \n \n \n \n \n );\n } else if (elem.field === \"FirstName\") {\n return (\n \n \n \n \n \n );\n } else if (elem.field === \"LastName\") {\n return (\n \n \n \n \n \n );\n } else if (elem.field === \"Email\") {\n return (\n \n \n \n \n \n );\n } else if (elem.field === \"PhoneNumber\") {\n return (\n \n \n \n \n \n );\n } else if (elem.field === \"ZipCode\") {\n return (\n \n \n \n \n \n );\n }\n }\n )}\n \n \n )\n ) : this.state.language === \"en\" ? (\n \"I want to receive offers or promotions from the hotel by email or text messages.\"\n ) : (\n \n )\n }\n >\n \n \n \n \n \n \n {this.state.language === \"en\" ? (\n botSettings.visitorSettings.buttonText\n ) : (\n \n )}\n \n \n \n )}\n \n \n )}\n \n {this.props.customStyle === \"\" ? (\n \n {this.props.messenger ? (\n \n {this.props.messengerSettings &&\n this.props.messengerSettings.isFooterHide ===\n false && (\n
\n {!(this.props.groupData && this.props.groupData?.group?.poweredByLogo) ?\n \n this.bob_site(\n \"https://www.myma.ai/?utm_source=messenger&utm_medium=branding&utm_campaign=clicks\"\n )\n }\n >\n \n \n \n
\n : (\n \n \"Myma\n \n\n )}\n \n \n )}\n
\n ) : (\n
\n {!(this.props.groupData && this.props.groupData?.group?.poweredByLogo) ?\n \n \n this.bob_site(\n \"https://www.myma.ai/?utm_source=messenger&utm_medium=branding&utm_campaign=clicks\"\n )\n }\n >\n {\" \"}\n {this.props.gid !==\n \"df96582a-c1d2-4be7-abc5-af820013452c\" &&\n this.props.gid !==\n \"56431a33-0783-46e0-ab83-afb0016d3b58\" &&\n this.props.gid !==\n \"a7e06370-a3bc-43ef-ba88-afb100137eca\" &&\n this.props.gid !==\n \"3af8dc3a-2be5-456e-82b5-afc60145e4ad\" &&\n this.props.gid !==\n \"af402810-8902-473b-a487-b04301549dac\" &&\n this.props.gid !==\n \"4f042507-dc0c-4dfc-abe6-b07a01689612\" &&\n this.props.gid !==\n \"4d44c1aa-dc7c-415f-80e8-b08f0149ad66\" &&\n this.props.gid !==\n \"c1032caf-7739-4567-932d-b0b40050d671\" &&\n this.props.gid !==\n \"0611e452-5776-41dd-8f9a-b12d003f5172\" &&\n this.props.gid !==\n \"87c8de62-cc9f-4c08-a6f5-b1b200479cfa\" &&\n this.props.gid !==\n \"0e6ce08b-0d8f-4853-a131-b28300b87b5d\" && (\n \n {/* \n Empowered by\n {\" \"} */}\n\n \n \n )}\n \n {(this.props.gid ===\n \"df96582a-c1d2-4be7-abc5-af820013452c\" ||\n this.props.gid ===\n \"56431a33-0783-46e0-ab83-afb0016d3b58\" ||\n this.props.gid ===\n \"a7e06370-a3bc-43ef-ba88-afb100137eca\" ||\n this.props.gid ===\n \"3af8dc3a-2be5-456e-82b5-afc60145e4ad\" ||\n this.props.gid ===\n \"af402810-8902-473b-a487-b04301549dac\" ||\n this.props.gid ===\n \"4f042507-dc0c-4dfc-abe6-b07a01689612\" ||\n this.props.gid ===\n \"4d44c1aa-dc7c-415f-80e8-b08f0149ad66\" ||\n this.props.gid ===\n \"c1032caf-7739-4567-932d-b0b40050d671\" ||\n this.props.gid ===\n \"87c8de62-cc9f-4c08-a6f5-b1b200479cfa\" ||\n this.props.gid ===\n \"0611e452-5776-41dd-8f9a-b12d003f5172\" ||\n this.props.gid ===\n \"0e6ce08b-0d8f-4853-a131-b28300b87b5d\") && (\n \n {botSettings.text.webPoweredBy1}{\" \"}\n \n \n )}{\" \"}\n \n
\n : (\n \n \"Myma\n \n\n )}\n \n \n \n \n )}\n \n ) : null}\n \n ) : this.props.customStyle !== \"\" ? (\n
\n
\n
\n ) : (\n
\n )}\n {\" \"}\n
\n \n );\n }\n}\n","import React, { Component, Fragment, useState, useEffect } from \"react\";\nimport ReactHtmlParser from \"react-html-parser\";\nimport \"./SildeBubble.css\";\nimport \"../bootstrap.min.css\";\n\nexport default function SildeBubble({\n onOpened, hintClosed, currentNudge, fadeIn, botSettings, position, mobile, disabledChatbot\n}) {\n const [iseffect,setIsEffect]=useState(true);\n const [hover, setHover] = useState(false);\n const [nudgeavtar, setNudgeAvtar] = useState(false);\n /**\n * Posts a message to the parent window, if this window has one\n * @param {*} msg\n */\n const postMessage = (msg) => {\n if (window.parent) {\n window.parent.postMessage(msg, \"*\");\n }\n }\n useEffect(() => {\n if(iseffect)\n {\n window.addEventListener(\n \"message\",\n windowBuddbleMessage,\n false\n );\n if (\n botSettings.bubbleSettings !== undefined &&\n botSettings.bubbleSettings !== null\n ) {\n //Post Message to set the Alignment of bubble iframe\n if (\n botSettings.bubbleSettings.bubblePosition !== undefined &&\n botSettings.bubbleSettings.bubblePosition !== null\n ) {\n const bubblePosition =\n botSettings.bubbleSettings.bubblePosition;\n postMessage(\n `chatbotalign:${bubblePosition.align}|side:${bubblePosition.side}|bottom:${bubblePosition.bottom}|top:350`\n );\n }\n //Post Message to set the animation settings iframe\n if (\n botSettings.bubbleSettings.scrollAnimation !== undefined &&\n botSettings.bubbleSettings.scrollAnimation !== null\n ) {\n const scrollAnimation =\n botSettings.bubbleSettings.scrollAnimation;\n if (scrollAnimation.enabled === true) {\n postMessage(\n `chatbotscrollanimation|${scrollAnimation.beforeAnimationTop}|${scrollAnimation.afterAnimationTop}`\n );\n }\n }\n } else {\n postMessage(`chatbotremoveposition`);\n }\n setIsEffect(false);\n }\n \n }, [botSettings])\n\n const windowBuddbleMessage = (event) => {\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"nudgepopup:\")\n ) {\n setNudgeAvtar(true);\n }\n }\n const nudgeavtar_clicked = () => {\n setNudgeAvtar(false);\n postMessage(`nudgeminimized`);\n }\n const bubble_clicked = () => {\n onOpened();\n }\n\n const nudge_clicked = () => {\n onOpened();\n }\n\n const hint_close = (e) => {\n e.stopPropagation();\n hintClosed();\n }\n\n const handleMouseEnter = () => {\n setHover(true);\n };\n const handleMouseLeave = () => {\n setHover(false);\n };\n return !disabledChatbot ? \n !nudgeavtar ?(\n \n
\n
\n
\n \n Message\n
\n
\n
\n
\n ):null : null;\n}","import { createStore } from \"botframework-webchat\";\nimport { WEB_VIEW_EXT_ID } from \"./Extensions/WebViewExtension/WebViewExtension\";\nimport { WEB_VIEW_EX_EXT_ID } from \"./Extensions/WebViewExternalExtension/WebViewExternalExtension\";\nimport { CHAT_SUGGESTION_EXT_ID } from \"./Extensions/ChatSuggestionExtension/ChatSuggestionExtension\";\nimport { CHAT_AUTOCOMPLETE_EXT_ID } from \"./Extensions/AutoCompleteExtension/AutoCompleteExtension\";\nimport { un } from \"zendesk-chat-sdk\";\nconst BMB_LOG_URL = process.env.REACT_APP_API_URL + \"/saveMessage\";\nconst BMB_ROOMTYPE_URL = process.env.REACT_APP_API_URL + \"/properties\";\nconst BMB_Property_URL = process.env.REACT_APP_API_URL + \"/property\";\nconst BMB_Conversation_URL = process.env.REACT_APP_API_URL + \"/conversation\";\nconst BMB_AutoComplete_URL = process.env.REACT_APP_API_URL + \"/chatsuggestions\";\n/**\n * Activity from Microsoft Directline\n */\nfunction incomingActivity(dispatch, next, action, callbacks) {\n callbacks.enableChat(); // Enables the input box, effective when the first message from the bot arrives\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, undefined);\n callbacks.scrollChat();\n var dl = callbacks.getChatState().directline;\n if (\n isRecentActivity(action) &&\n action.payload &&\n action.payload.activity &&\n action.payload.activity.channelData\n ) {\n // Suggestion UI\n if (action.payload.activity.channelData.suggestionUi) {\n action.payload.activity.suggestedActions = []; // hide dafault suggestion style\n let suggestionsPayload = action.payload.activity.channelData.suggestionUi;\n suggestionsPayload.time = Date.now();\n suggestionsPayload.question = action.payload.activity.text;\n callbacks.setExtension(CHAT_SUGGESTION_EXT_ID, suggestionsPayload);\n } else if (action.payload.activity.channelData.liveChat) {\n if (action.payload.activity.channelData.liveChat.provider === \"zendesk\") {\n callbacks.startZenDeskChat();\n } else if (\n action.payload.activity.channelData.liveChat.provider ===\n \"genesys_cloud\"\n ) {\n callbacks.startGenesysPureCloudChat();\n } else if (\n action.payload.activity.channelData.liveChat.provider === \"mews\"\n ) {\n callbacks.startMewsChat(\n action.payload.activity.channelData.liveChat?.threadData\n );\n } else if (\n action.payload.activity.channelData.liveChat.provider === \"aws_connect\"\n ) {\n callbacks.startAWSConnectChat();\n }\n }\n // Web View\n if (action.payload.activity.channelData.webView) {\n let webviewPayload = action.payload.activity.channelData.webView;\n if (webviewPayload.title === \"Open Login\") {\n window.parent.postMessage(`openWindowUrl:${webviewPayload.url}`, \"*\");\n }\n if (webviewPayload.title === \"Open Register\") {\n window.parent.postMessage(`openUrl:${webviewPayload.url}`, \"*\");\n } else if (webviewPayload.title === \"Close Login\") {\n window.parent.postMessage(`closeWindowUrl:${webviewPayload.url}`, \"*\");\n } else if (webviewPayload.title === \"Booking Url\") {\n if (window.parent) {\n window.parent.postMessage(`openUrl:${webviewPayload.url}`, \"*\");\n } else {\n window.location = webviewPayload.url;\n }\n } else if (webviewPayload.title === \"Availability\") {\n callbacks.setAvailblity(webviewPayload.availabilityData);\n } else if (webviewPayload.title === \"LocationPopUp\") {\n callbacks.setPropertyPopUp(true);\n } else if (webviewPayload.title === \"New Lang Detect\") {\n callbacks.ChangeBotLanguage(webviewPayload.url, true);\n } else {\n if (\n webviewPayload.title !== \"Open Register\" &&\n webviewPayload.title !== \"Open Login\"\n ) {\n if (\n webviewPayload.token !== undefined &&\n webviewPayload.token !== null &&\n webviewPayload.token !== \"\"\n ) {\n const tokenInterval = setInterval(() => {\n if (\n document.getElementById(\"webviewframe\") !== undefined &&\n document.getElementById(\"webviewframe\") !== null\n ) {\n document\n .getElementById(\"webviewframe\")\n .contentWindow.postMessage(\n `tokenUpdateWebview:${webviewPayload.token}`,\n \"*\"\n );\n clearInterval(tokenInterval);\n }\n }, 2000);\n }\n\n if (webviewPayload.largeWindow) {\n callbacks.setExtension(WEB_VIEW_EX_EXT_ID, webviewPayload);\n } else {\n callbacks.setExtension(WEB_VIEW_EXT_ID, webviewPayload);\n }\n }\n }\n }\n }\n\n if (\n isRecentActivity(action) &&\n action.payload &&\n action.payload.activity &&\n action.payload.activity.suggestedActions\n ) {\n if (action.payload.activity.inputHint === \"Recommender\") {\n callbacks.hideTypingTextBox();\n }\n } else if (\n isRecentActivity(action) &&\n action.payload &&\n action.payload.activity &&\n action.payload.activity.type &&\n action.payload.activity.type === \"message\" &&\n action.payload.activity.from.role === \"bot\"\n ) {\n callbacks.showTypingTextBox();\n }\n\n if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\"Transferring you to a human\")\n ) {\n if (!callbacks.getChatState().livechat) {\n callbacks.startLivechat();\n }\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text === dl.conversationId &&\n action.payload.activity.name === undefined\n ) {\n if (!callbacks.getChatState().twiliochat) {\n callbacks.startTwiliochat(\n dl.conversationId,\n action.payload.activity.from.id\n );\n }\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text === dl.conversationId &&\n action.payload.activity.name &&\n action.payload.activity.name === \"signalRConversation\"\n ) {\n if (!callbacks.getChatState().signalrchat) {\n callbacks.startSignalRchat(\n dl.conversationId,\n action.payload.activity.from.id\n );\n }\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\"Agent\") &&\n action.payload.activity.text.indexOf(\"has joined\") > 0\n ) {\n callbacks.setAgentId(action.payload.activity.from.id);\n bmbLogMessage(action.payload.activity.text, \"Visitor\", callbacks);\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\"Agent\") &&\n action.payload.activity.text.indexOf(\"left the conversation\") > 0\n ) {\n if (callbacks.isInTwiliochat() === true) {\n callbacks.endTwilio();\n } else if (callbacks.isInSignalRchat() === true) {\n callbacks.endSignalRChat();\n }\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\"Ok, I’ll show you our rooms12\")\n ) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n\n fetch(BMB_ROOMTYPE_URL + \"/\" + propertyId + \"/rooms\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n })\n .then((response) => response.json())\n .then((json) => {\n callbacks.getRoomTypes(json.rooms);\n callbacks.showBookingForm(false, false);\n });\n } else if (callbacks.getChatState().getRoomTypes) {\n if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\"I can answer your questions\")\n ) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n fetch(BMB_ROOMTYPE_URL + \"/\" + propertyId + \"/rooms\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n })\n .then((response) => response.json())\n .then((json) => callbacks.getRoomTypes(json.rooms));\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\n \"Ok, Please fill the information to check availability\"\n )\n ) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n\n fetch(\n BMB_Property_URL +\n \"/\" +\n propertyId +\n \"?groupId=\" +\n callbacks.getGID() +\n \"\",\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n if (\n json.property.ari.applicable === \"Y\" &&\n json.property.ari.type === \"URL\"\n ) {\n //Show Room Details\n fetch(BMB_ROOMTYPE_URL + \"/\" + propertyId + \"/rooms\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n })\n .then((response) => response.json())\n .then((roomdata) => callbacks.getRoomTypes(roomdata.rooms));\n } else if (\n json.property.ari.applicable === \"Y\" &&\n json.property.ari.type === \"CHATUI\"\n ) {\n //Show Availablity Popup\n callbacks.showBookingForm(true, true);\n callbacks.getRoomTypes([]);\n }\n });\n }\n } else if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text &&\n action.payload.activity.text.startsWith(\n \"Ok, Please fill the information to check availability\"\n )\n ) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n\n fetch(\n BMB_Property_URL +\n \"/\" +\n propertyId +\n \"?groupId=\" +\n callbacks.getGID() +\n \"\",\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n if (\n json.property.ari.applicable === \"Y\" &&\n json.property.ari.type === \"URL\"\n ) {\n //Show Room Details\n fetch(BMB_ROOMTYPE_URL + \"/\" + propertyId + \"/rooms\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n })\n .then((response) => response.json())\n .then((roomdata) => callbacks.getRoomTypes(roomdata.rooms));\n } else if (\n json.property.ari.applicable === \"Y\" &&\n json.property.ari.type === \"CHATUI\"\n ) {\n //Show Availablity Popup\n callbacks.showBookingForm(true, true);\n callbacks.getRoomTypes([]);\n }\n });\n }\n\n if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.attachments\n ) {\n filterAttachments(dispatch, action.payload.activity, callbacks);\n }\n\n if (\n isRecentActivity(action) &&\n callbacks.isInGenesysPureCloudChat() === true\n ) {\n if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text\n ) {\n var msg = action.payload.activity.text;\n bmbLogMessage(msg, \"Agent\", callbacks);\n }\n }\n\n if (isRecentActivity(action) && callbacks.isInMewsChat() === true) {\n if (\n action.payload &&\n action.payload.activity &&\n action.payload.activity.text\n ) {\n var msg = action.payload.activity.text;\n bmbLogMessage(msg, \"Agent\", callbacks);\n }\n }\n\n return next(action);\n}\n\nfunction isRecentActivity(action) {\n if (\n !(\n action.payload &&\n action.payload.activity &&\n action.payload.activity.timestamp\n )\n ) {\n return false;\n }\n\n let time = new Date(action.payload.activity.timestamp);\n return Date.now() - time.valueOf() < 6000;\n}\n\n/**\n * Manages custom handling of attachments for new activities\n */\nfunction filterAttachments(dispatch, activity, callbacks) {\n if (Date.now() - Date.parse(activity.timestamp) > 10000) {\n return; // Assume anything sent >10s ago is stale (e.g. reloaded when app opened)\n }\n //ffaaa\n for (var i = 0; i < activity.attachments.length; i++) {\n let attachment = activity.attachments[i];\n let remove = false;\n switch (attachment.contentType) {\n case \"ako.bob.payment\":\n attachment.content.handled = true;\n remove = true;\n callbacks.makePayment(attachment.content, () => {\n dispatch({\n type: \"WEB_CHAT/SEND_MESSAGE\",\n payload: {\n name: \"ako/sentpayment\",\n text: \"Test\",\n },\n });\n });\n break;\n default:\n break;\n }\n\n if (remove) {\n activity.attachments.splice(i, 1);\n i--;\n }\n }\n}\n\n/**\n * Activity going back channel Events, normally to Microsoft Directline but this method may not redirect for WebView\n */\nfunction outgoingBackChannelEvents(dispatch, next, action, callbacks) {\n //console.log(\"action.payload.name\", action.payload.name);\n if (action.payload.name === \"webchat/openWebView\") {\n var payload = {\n url: action.payload.value.url,\n title: action.payload.value.title,\n mode: action.payload.value.mode,\n largeWindowHideHeader: action.payload.value.largeWindowHideHeader,\n };\n payload.largeWindow = true;\n callbacks.setExtension(WEB_VIEW_EX_EXT_ID, payload);\n return;\n }\n if (action.payload.name === \"webchat/booking\") {\n var dl = callbacks.getChatState().directline;\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.value.msg,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n bmbLogMessageBot(\"Booking\", action.payload.value.msg, \"Visitor\", callbacks);\n\n //return next({ payload: { activity }, type: \"DIRECT_LINE/INCOMING_ACTIVITY\" });\n return;\n } else {\n return next(action);\n }\n}\n\n// Some activities should be modified when they are reloaded from storage\n// (this gives them different behaviour than when sent in the first place)\nfunction processStoredActivities(stored) {\n for (let activity of stored.activities) {\n if (activity.attachments) {\n for (let attachment of activity.attachments) {\n if (attachment.contentType === \"ako/file-upload-prompt\") {\n attachment.content.used = true;\n }\n }\n }\n }\n}\n\nfunction setSuggestedActions(dispatch, next, action, callbacks) {\n if (\n !action.payload.suggestedActions ||\n action.payload.suggestedActions.length < 1\n ) {\n return next(action);\n }\n\n setTimeout(() => next(action), 500);\n}\n\nfunction AgentCheck(status, callbacks, eventName, dispatch) {\n var gid = callbacks.getGID();\n var conversationId = callbacks.getDirectLineConversation();\n return fetch(\n BMB_Conversation_URL + \"/\" + conversationId + \"?groupId=\" + gid + \"\",\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n if (json !== undefined) {\n if (\n json.conversation.agentStatus === status ||\n json.conversation.agentStatus === \"None\"\n ) {\n dispatchAgentOnlineEvents(dispatch, eventName);\n return false;\n } else {\n return true;\n }\n } else {\n dispatchAgentOnlineEvents(dispatch, eventName);\n return false;\n }\n });\n}\n\n/**\n * Activity going outwards, normally to Microsoft Directline but this method may redirect to livechat\n */\nfunction outgoingActivity(dispatch, next, action, callbacks) {\n callbacks.hideTextCount();\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, undefined);\n\n // If livechat enabled, route user messages into incoming activities so they get displayed, do not continue this action\n const botSettings = callbacks.getBotSettings();\n\n if (\n botSettings.inactivePopUpWarning &&\n botSettings.inactivePopUpWarning.enabled === true\n ) {\n clearTimeout(intervalOne);\n intervalOne = setTimeout(() => {\n // Notify bot the user has been inactive\n callbacks.setInactivePopupOne();\n }, parseFloat(botSettings.inactivePopUpWarning.seconds) * 1000);\n }\n\n if (\n botSettings.inactivePopUpSession &&\n botSettings.inactivePopUpSession.enabled === true\n ) {\n clearTimeout(intervalTwo);\n intervalTwo = setTimeout(() => {\n // Notify bot the user has been inactive\n callbacks.setInactivePopupTwo();\n }, parseFloat(botSettings.inactivePopUpSession.seconds) * 1000);\n }\n\n if (window.parent) {\n window.parent.postMessage(\"chatStarted\", \"*\");\n }\n if (action.payload.text === \"Human Chat\") {\n const liveChatSetings = callbacks.getLiveChatSettings();\n if (liveChatSetings !== undefined && liveChatSetings.provider == \"0\") {\n const noAgentOnline = setTimeout(() => {\n clearTimeout(noAgentOnline);\n AgentCheck(\"RequestSent\", callbacks, \"no_agent_online\", dispatch).then(\n (m) => {\n if (m) {\n const AgentOnline = setTimeout(() => {\n clearTimeout(AgentOnline);\n AgentCheck(\n \"RequestReceived\",\n callbacks,\n \"agent_online_not_accepted\",\n dispatch\n ).then((n) => {\n if (!n) {\n const AgentOnlineNext = setTimeout(() => {\n clearTimeout(AgentOnlineNext);\n AgentCheck(\n \"RequestReceived\",\n callbacks,\n \"agent_online_busy\",\n dispatch\n );\n }, 60 * 1000);\n }\n });\n }, 20 * 1000);\n }\n }\n );\n }, 10 * 1000);\n }\n }\n\n if (callbacks.isInLivechat() === true) {\n var dl = callbacks.getChatState().directline;\n\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n\n callbacks.getChatState().livechat.sendMessage({\n text: action.payload.text,\n customId: String(Math.random()),\n });\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInTwiliochat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n callbacks.getChatState().twiliochat.sendMessage(action.payload.text);\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInZendeskChat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n callbacks.getChatState().zendesk.sendChatMsg(action.payload.text);\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInSignalRchat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n callbacks\n .getChatState()\n .signalrchat.invoke(\"SendConversationMessageToAgent\", {\n groupname: dl.conversationId,\n message: action.payload.text,\n groupId: callbacks.getGID(),\n propertyId: propertyId,\n agentId: callbacks.getAgentId(),\n });\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInMewsChat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n //872(callbacks, dl, action.payload.text);\n SendMewsMessage(dispatch, callbacks, dl, action.payload.text);\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInGenesysPureCloudChat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n SendMessageGenesysPureCloud(callbacks, dl, action.payload.text);\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (callbacks.isInAWSConnectChat() === true) {\n var dl = callbacks.getChatState().directline;\n //console.log(dl)\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: callbacks.getChatState().user_id, name: \"\", role: \"user\" },\n id: `${Math.random()}`,\n text: action.payload.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log msg\n bmbLogMessage(action.payload.text, \"Visitor\", callbacks);\n SendMessageAmazonConnect(callbacks, dl, action.payload.text);\n\n return next({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n } else if (action.payload && action.payload.text) {\n let extension = callbacks.getExtension(CHAT_SUGGESTION_EXT_ID);\n\n if (extension && extension.getSuggestionCallback) {\n let suggestion = extension.getSuggestionCallback(action.payload.text);\n\n if (suggestion) {\n action.payload.text = suggestion;\n callbacks.setExtension(CHAT_SUGGESTION_EXT_ID, undefined);\n } else {\n return;\n }\n }\n }\n\n return next(action);\n}\n\nfunction SendChatHistoryMessageGenesysPureCloud(\n token,\n messageIntegrationId,\n textMessage,\n conversationId\n) {\n fetch(`${process.env.REACT_APP_API_URL}/genesys/sendmessage`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n token: token,\n messageIntegrationId: messageIntegrationId,\n text: textMessage,\n from: {\n id: conversationId,\n idType: \"Opaque\",\n },\n }),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n\nfunction SendMessageGenesysPureCloud(callbacks, dl, textMessage) {\n fetch(`${process.env.REACT_APP_API_URL}/genesys/sendmessage`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n token: callbacks.genesysPureCloudChatSettings().token,\n messageIntegrationId:\n callbacks.genesysPureCloudChatSettings().messageIntegrationId,\n text: textMessage,\n from: {\n id: dl.conversationId,\n idType: \"Opaque\",\n },\n }),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n\nfunction SendMessageAmazonConnect(callbacks, dl, textMessage) {\n fetch(\n `https://participant.connect.${localStorage.getItem(\n callbacks.getChatState().lStore.AWS_CONNECT_REGION\n )}.amazonaws.com/participant/message`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\":\n callbacks.amazonConnectTokenSettings().ConnectionCredentials\n .ConnectionToken,\n },\n body: JSON.stringify({\n Content: textMessage, // The actual chat message\n ContentType: \"text/plain\", // Currently, supported type is text/plain\n }),\n }\n ).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n\nfunction SendTypingAmazonConnect(callbacks) {\n fetch(\n `https://participant.connect.${localStorage.getItem(\n callbacks.getChatState().lStore.AWS_CONNECT_REGION\n )}.amazonaws.com/participant/event`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\":\n callbacks.amazonConnectTokenSettings().ConnectionCredentials\n .ConnectionToken,\n },\n body: JSON.stringify({\n ContentType: \"application/vnd.amazonaws.connect.event.typing\", // Currently, supported type is text/plain\n }),\n }\n ).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n\nfunction SendMewsMessage(dispatch, callbacks, dl, textMessage) {\n let settings = callbacks.mewsChatSettings();\n let msg = [];\n if (settings !== undefined && settings.Id !== undefined) {\n dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"mewschat/message\",\n value: {\n message: textMessage,\n threadId: settings.Id,\n },\n },\n });\n }\n}\n\n/**\n * Incoming Twilio Chat\n */\nfunction incomingTwiliochat(dispatch, next, action, callbacks) {\n if (action.payload) {\n var msg = action.payload;\n // Send agent chats via store\n if (msg.sid) {\n var dl = callbacks.getChatState().directline;\n if (dl !== undefined && dl.conversationId !== undefined) {\n if (msg.author !== `${dl.conversationId}_user`) {\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"twiliochat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: msg.body,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n // Log with bmb API\n bmbLogMessage(msg.body, \"Agent\", callbacks);\n return dispatch({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n }\n }\n }\n }\n}\n\nfunction incomingAmazonConnectChat(dispatch, next, action, callbacks) {\n if (action.payload) {\n var msg = action.payload;\n // Send agent chats via store\n\n var dl = callbacks.getChatState().directline;\n if (dl !== undefined && dl.conversationId !== undefined) {\n if (msg.ParticipantRole !== `CUSTOMER`) {\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"connectchat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: msg.Content,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n // Log with bmb API\n bmbLogMessage(msg.Content, \"Agent\", callbacks);\n return dispatch({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n }\n }\n }\n}\n\n/**\n * Incoming Twilio Chat\n */\nfunction incomingSignalchat(dispatch, next, action, callbacks) {\n if (action.payload) {\n var msg = action.payload;\n // Send agent chats via store\n var dl = callbacks.getChatState().directline;\n if (dl !== undefined && dl.conversationId !== undefined) {\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"signalchat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: msg,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n // Log with bmb API\n bmbLogMessage(msg, \"Agent\", callbacks);\n return dispatch({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n }\n }\n}\n\nfunction incomingZendeskchat(dispatch, next, action, callbacks) {\n if (action.payload) {\n var msg = action.payload;\n // Send agent chats via store\n\n var dl = callbacks.getChatState().directline;\n if (dl !== undefined && dl.conversationId !== undefined) {\n //if (msg.author !== `${dl.conversationId}_user`) {\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: `${Math.random()}`, name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: msg,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n // Log with bmb API\n\n bmbLogMessage(msg, \"Agent\", callbacks);\n return dispatch({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n //}\n }\n }\n return next(action);\n}\n\n/**\n * Incoming Twilio Chat\n */\nfunction TypeTwiliochat(dispatch, next, action, callbacks) {\n if (callbacks.isInTwiliochat() === true) {\n callbacks.sendTwilioTypingIndicator();\n } else if (callbacks.isInZendeskChat() === true) {\n callbacks.sendZendeskTypingIndicator();\n } else if (callbacks.isInSignalRchat() === true) {\n callbacks.sendSignalRTypingIndicator();\n } else if (callbacks.isInAWSConnectChat() === true) {\n SendTypingAmazonConnect(callbacks);\n } else if (callbacks.isInGenesysPureCloudChat() === true) {\n var dl = callbacks.getChatState().directline;\n fetch(`${process.env.REACT_APP_API_URL}/genesys/sendtyping`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n token: callbacks.genesysPureCloudChatSettings().token,\n messageIntegrationId:\n callbacks.genesysPureCloudChatSettings().messageIntegrationId,\n from: {\n id: dl.conversationId,\n idType: \"Opaque\",\n },\n }),\n })\n .then((response) => {\n //console.log(\"typing\");\n })\n .catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n } else {\n if (action.payload.text.length > 3) {\n const botSettings = callbacks.getBotSettings();\n var localStorageLanguage = localStorage.getItem(\n callbacks.getChatState().lStore.LANGUAGE\n );\n if (\n botSettings.features.predictiveSearch &&\n botSettings.features.predictiveSearch === true &&\n localStorageLanguage === \"en\"\n ) {\n fetch(BMB_AutoComplete_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n keyword: action.payload.text,\n domain: localStorage.getItem(\n callbacks.getChatState().lStore.DOMAIN\n ),\n }),\n })\n .then((response) => response.json())\n .then((json) => {\n //console.log(json.data)\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, json.data);\n });\n } else {\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, undefined);\n }\n } else {\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, undefined);\n }\n }\n return next(action);\n}\n\n/**\n * Incoming livechat from Livechatinc\n */\nfunction incomingLivechat(dispatch, next, action, callbacks) {\n if (action.payload) {\n var msg = action.payload;\n\n // Send agent chats via store\n if (!msg.customId) {\n var dl = callbacks.getChatState().directline;\n\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"livechat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: msg.text,\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n\n // Log with bmb API\n bmbLogMessage(msg.text, \"Agent\", callbacks);\n\n return dispatch({\n payload: { activity },\n type: \"DIRECT_LINE/INCOMING_ACTIVITY\",\n });\n }\n }\n}\n\n/**\n * Incoming typing indicator from livechat\n */\nfunction livechatTyping(dispatch, next, action, callbacks) {\n var dl = callbacks.getChatState().directline;\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"livechat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n timestamp: new Date().toISOString(),\n type: \"typing\",\n };\n\n return next({ payload: { activity }, type: \"DIRECT_LINE/INCOMING_ACTIVITY\" });\n}\n\n/**\n * Incoming typing indicator from livechat\n */\nfunction twiliochatTyping(dispatch, next, action, callbacks) {\n var dl = callbacks.getChatState().directline;\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"twilio\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n timestamp: new Date().toISOString(),\n type: \"typing\",\n };\n\n return next({ payload: { activity }, type: \"DIRECT_LINE/INCOMING_ACTIVITY\" });\n}\n\n/**\n * Incoming typing indicator from livechat\n */\nfunction signalchatTyping(dispatch, next, action, callbacks) {\n var dl = callbacks.getChatState().directline;\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"signalr\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n timestamp: new Date().toISOString(),\n type: \"typing\",\n };\n\n return next({ payload: { activity }, type: \"DIRECT_LINE/INCOMING_ACTIVITY\" });\n}\n\n/**\n * Livechatinc terminated\n */\nfunction endedLivechat(dispatch, next, action, callbacks) {\n var dl = callbacks.getChatState().directline;\n if (dl !== undefined) {\n var activity = {\n channelId: \"directline\",\n conversation: { id: dl.conversationId },\n from: { id: \"livechat\", name: \"\", role: \"bot\" },\n id: `${Math.random()}`,\n text: 'The agent has ended the chat. Press \"End Chat\" above to finish or restart.',\n timestamp: new Date().toISOString(),\n type: \"message\",\n };\n callbacks.showBookingForm(false, false);\n callbacks.disableChat();\n }\n\n return next({ payload: { activity }, type: \"DIRECT_LINE/INCOMING_ACTIVITY\" });\n}\n\nfunction dispatchAgentOnlineEvents(dispatch, name) {\n dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: name,\n value: {},\n },\n });\n}\n\n/**\n * When directline first connects\n */\nfunction onConnect(dispatch, callbacks) {\n callbacks.setExtension(CHAT_AUTOCOMPLETE_EXT_ID, undefined);\n callbacks.setAvailblity(undefined);\n var propertyId = callbacks.getPID();\n var propertyName = \"\";\n\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n\n var propertyNameStorage = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYNAME\n );\n if (propertyNameStorage !== undefined && propertyNameStorage != null) {\n propertyName = propertyNameStorage;\n }\n\n // console.log(\n // \"callbacks.getChatState().bearerToken\",\n // callbacks.getChatState().bearerToken\n // );\n dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/join\",\n value: {\n language: \"en-US\",\n gid: callbacks.getGID(),\n iid: callbacks.getIID(),\n pid: propertyId,\n vid: callbacks.getChatState().vid,\n sid: callbacks.getChatState().sid,\n lang: callbacks.getChatState().lang,\n bearerToken: callbacks.getChatState().bearerToken,\n pname: propertyName,\n },\n },\n });\n\n callbacks.addScrollEvent();\n}\n\n/**\n * End the Chat\n */\nfunction disconnectChat(dispatch, next, action, callbacks) {\n localStorage.removeItem(callbacks.getChatState().lStore.CHAT_STATE);\n return next(action);\n}\n\nfunction importStore(callbacks) {\n var stored;\n try {\n stored = localStorage.getItem(callbacks.getChatState().lStore.CHAT_STATE);\n stored = JSON.parse(stored);\n\n //console.log(stored)\n processStoredActivities(stored);\n if (\n stored !== null &&\n stored !== undefined &&\n stored.activities !== null &&\n stored.activities !== undefined &&\n stored.activities.length > 0\n ) {\n const history = stored.activities.filter((m) => m.type === \"message\");\n if (history.length > 0) {\n const lastMessage = history[history.length - 1];\n if (lastMessage.suggestedActions) {\n if (lastMessage.inputHint === \"Recommender\") {\n callbacks.hideTypingTextBox();\n }\n }\n }\n }\n } catch (e) {\n } finally {\n if (!stored) {\n stored = {};\n }\n if (typeof stored !== \"object\") {\n stored = {};\n }\n }\n return stored;\n}\n\n/**\n * For logging livechat messages with the BMB backend\n */\nfunction bmbLogMessage(message, source, callbacks) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n var payload = {\n gid: callbacks.getGID(),\n iid: callbacks.getIID(),\n pid: propertyId,\n vid: callbacks.getChatState().vid,\n sid: callbacks.getChatState().sid,\n cid: callbacks.getChatState().directline.conversationId,\n time: new Date().toISOString(),\n source: source,\n message: message,\n tag: \"Human Chat\",\n agentId: callbacks.getAgentId(),\n };\n\n fetch(BMB_LOG_URL, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(payload),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n\n/**\n * For logging booking messages with the BMB backend\n */\nfunction bmbLogMessageBot(tag, message, source, callbacks) {\n var propertyId = callbacks.getPID();\n if (propertyId === undefined || propertyId === \"\") {\n var property = localStorage.getItem(\n callbacks.getChatState().lStore.PROPERTYID\n );\n if (property !== undefined && property != null) {\n propertyId = property;\n }\n }\n var payload = {\n gid: callbacks.getGID(),\n iid: callbacks.getIID(),\n pid: propertyId,\n vid: callbacks.getChatState().vid,\n sid: callbacks.getChatState().sid,\n cid: callbacks.getChatState().directline.conversationId,\n time: new Date().toISOString(),\n source: source,\n message: message,\n tag: tag,\n agentId: callbacks.getAgentId(),\n };\n fetch(BMB_LOG_URL, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(payload),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n}\n/**\n * Sends a stored message history to the given livechat instance\n * @param {*} store React store state\n * @param {*} livechat LivechatSDK instance\n */\nexport function sendChatStore(storeState, livechat) {\n for (var activity of storeState.activities) {\n var text = \"\";\n\n // Build message from activity\n if (activity.type === \"message\") {\n if (activity.from && activity.from.role) {\n text += activity.from.role + \": \";\n }\n\n if (activity.text) {\n text += activity.text;\n }\n\n if (activity.attachments) {\n // console.log(\"activity.attachments\",activity.attachments)\n for (var attachment of activity.attachments) {\n if (\n attachment.contentType === \"application/vnd.microsoft.card.hero\"\n ) {\n if (attachment.content.title) {\n text += \"Card Title: \" + attachment.content.title + \"\\r\\n\";\n }\n if (attachment.content.text) {\n text += attachment.content.text;\n }\n }\n }\n }\n\n livechat.sendMessage({\n text: text,\n customId: String(Math.random()),\n });\n }\n }\n}\n\n/**\n * Sends a stored message history to the given livechat instance\n * @param {*} store React store state\n * @param {*} livechat LivechatSDK instance\n */\nexport function sendHistoryToZendesk(storeState, zendesk) {\n for (var activity of storeState.activities) {\n var text = \"\";\n\n // Build message from activity\n if (activity.type === \"message\") {\n if (activity.from && activity.from.role) {\n text += activity.from.role + \": \";\n }\n\n if (activity.text) {\n text += activity.text;\n }\n\n if (activity.attachments) {\n for (var attachment of activity.attachments) {\n if (\n attachment.contentType === \"application/vnd.microsoft.card.hero\"\n ) {\n if (attachment.content.title) {\n text += \"Card Title: \" + attachment.content.title + \"\\r\\n\";\n }\n if (attachment.content.text) {\n text += attachment.content.text + \"\\r\\n\";\n }\n }\n }\n }\n zendesk.sendChatMsg(text);\n }\n }\n}\n\n/**\n * Sends a stored message history to the given livechat instance\n * @param {*} store React store state\n * @param {*} livechat LivechatSDK instance\n */\nexport function getChatHistoryForAgent(storeState) {\n var text = \"\";\n for (var activity of storeState.activities) {\n // Build message from activity\n if (activity.type === \"message\") {\n if (activity.from && activity.from.role) {\n text += activity.from.role + \": \";\n }\n\n if (activity.text) {\n text += activity.text + \"\\r\\n\";\n }\n\n if (activity.attachments) {\n for (var attachment of activity.attachments) {\n if (\n attachment.contentType === \"application/vnd.microsoft.card.hero\"\n ) {\n if (attachment.content.title) {\n text += \"Card Title: \" + attachment.content.title + \"\\r\\n\";\n }\n if (attachment.content.text) {\n text += attachment.content.text + \"\\r\\n\";\n }\n }\n }\n }\n }\n }\n return text;\n}\n\n/**\n * Sends a stored message history to the given livechat instance\n * @param {*} store React store state\n * @param {*} livechat LivechatSDK instance\n */\nexport function sendHistoryToGenesysPureCloud(\n conversationId,\n token,\n messageIntegrationId,\n storeState\n) {\n var text = \"\";\n for (var activity of storeState.activities) {\n // Build message from activity\n if (activity.type === \"message\") {\n if (activity.from && activity.from.role) {\n text += activity.from.role + \": \";\n }\n\n if (activity.text) {\n text += activity.text + \"\\r\\n\";\n }\n\n if (activity.attachments) {\n for (var attachment of activity.attachments) {\n if (\n attachment.contentType === \"application/vnd.microsoft.card.hero\"\n ) {\n if (attachment.content.title) {\n text += \"Card Title: \" + attachment.content.title + \"\\r\\n\";\n }\n if (attachment.content.text) {\n text += attachment.content.text + \"\\r\\n\";\n }\n }\n }\n }\n }\n }\n\n SendChatHistoryMessageGenesysPureCloud(\n token,\n messageIntegrationId,\n text,\n conversationId\n );\n}\n\n/**\n * Creates the Redux store used by the MS Chat widget\n * Some additional functionality is implemented as middleware, all in this file\n */\nlet intervalOne;\nlet intervalTwo;\nexport default function getChatStore(chatCallbacks, forceNewState) {\n var stored = forceNewState ? {} : importStore(chatCallbacks);\n\n let store = createStore(stored, ({ dispatch }) => (next) => (action) => {\n if (!action) {\n return next(action);\n }\n\n if (\n action.type === \"DIRECT_LINE/UPDATE_CONNECTION_STATUS\" &&\n typeof action.payload?.connectionStatus === \"number\"\n ) {\n chatCallbacks.setConnectionStatus(action.payload.connectionStatus);\n }\n\n switch (action.type) {\n case \"DIRECT_LINE/CONNECT_FULFILLED\":\n onConnect(dispatch, chatCallbacks);\n break;\n case \"DIRECT_LINE/INCOMING_ACTIVITY\":\n return incomingActivity(dispatch, next, action, chatCallbacks);\n case \"WEB_CHAT/SEND_MESSAGE\":\n return outgoingActivity(dispatch, next, action, chatCallbacks);\n case \"WEB_CHAT/SET_SUGGESTED_ACTIONS\":\n return setSuggestedActions(dispatch, next, action, chatCallbacks);\n case \"LIVECHAT/NEW_MESSAGE\":\n return incomingLivechat(dispatch, next, action, chatCallbacks);\n case \"TWILIO/NEW_MESSAGE\":\n return incomingTwiliochat(dispatch, next, action, chatCallbacks);\n case \"AMAZONCONNECT/NEW_MESSAGE\":\n return incomingAmazonConnectChat(dispatch, next, action, chatCallbacks);\n case \"SIGNALR/NEW_MESSAGE\":\n return incomingSignalchat(dispatch, next, action, chatCallbacks);\n case \"ZENDESK/NEW_MESSAGE\":\n return incomingZendeskchat(dispatch, next, action, chatCallbacks);\n case \"WEB_CHAT/SEND_EVENT\":\n return outgoingBackChannelEvents(dispatch, next, action, chatCallbacks);\n case \"LIVECHAT/CHAT_END\":\n return endedLivechat(dispatch, next, action, chatCallbacks);\n case \"LIVECHAT/TYPING\":\n return livechatTyping(dispatch, next, action, chatCallbacks);\n case \"TWILIO/TYPING\":\n return twiliochatTyping(dispatch, next, action, chatCallbacks);\n case \"SIGNALR/TYPING\":\n return signalchatTyping(dispatch, next, action, chatCallbacks);\n case \"DIRECT_LINE/DISCONNECT_FULFILLED\":\n return disconnectChat(dispatch, next, action, chatCallbacks);\n case \"WEB_CHAT/SET_SEND_BOX\":\n return TypeTwiliochat(dispatch, next, action, chatCallbacks);\n default:\n // Nothing to do\n break;\n }\n localStorage.setItem(\n chatCallbacks.getChatState().lStore.CHAT_STATE,\n JSON.stringify(chatCallbacks.getState())\n );\n return next(action);\n });\n return store;\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport ChatApp from \"./ChatApp\";\n\nimport \"./index.css\";\n\n/**\n * Accesses data handed into frame via URL\n * gid - required\n * iid - required\n * pid - optional, bot will ask user about which pid to use for the given iid if pid not supplied\n */\nfunction decodeURL() {\n if (!window.location.href.split(\"?\")[1]) {\n console.log(\"No data passed in to Chat element :(.\");\n return;\n }\n var params = window.location.href.split(\"?\")[1].split(\"&\");\n var data = {};\n for (var x in params) {\n data[params[x].split(\"=\")[0]] = decodeURIComponent(params[x].split(\"=\")[1]);\n }\n return data;\n}\nvar parent_location,\n parent_title,\n gid,\n iid,\n pid,\n mobile,\n parent_referrer,\n defaultOpen,\n position,\n customStyle,\n previewMode,\n serviceview,\n messenger;\nvar data = decodeURL();\n//console.log(data);\nif (data) {\n parent_referrer = data.referrer;\n parent_location = data.location;\n parent_title = data.title;\n gid = data.gid;\n pid = data.pid;\n iid = data.iid;\n mobile = data.mobile;\n defaultOpen = data.open ? true : false;\n previewMode = data.preview ? data.preview : false;\n position = data.position === \"left\" ? \"chat_area_left\" : \"chat_area\";\n customStyle = data.custom ? \"custom\" : \"\";\n serviceview = data.serviceview === \"true\" ? true : false;\n messenger = data.messenger === \"true\" ? true : false;\n}\n\nif (!gid || !iid) {\n // gid = \"12848620-d54c-4be7-bebc-ac44014c964c\";\n // pid = \"e655dab2-987b-4683-ad9b-599814b414b6\";\n gid = \"73574010-2f33-4b41-8b8a-09d18b025a56\";\n //gid = \"f49d1df2-f9b3-416e-a366-adf7ef6e7c63\";\n //pid = \"e655dab2-987b-4683-ad9b-599814b414b6\";\n //iid = 'f206b9ac-ad8a-4b41-9c00-c885d86ab7fe';\n // iid = \"290542d7-e9bc-4609-a437-e859a7d12d83\";\n // iid = '306574d2-7370-4a74-a0fc-b8ca2b850d8b';\n mobile = true;\n iid = \"2ddcb06d-8a79-46dc-ab38-367080ca3f78\";\n //iid='1b429f53-0d99-4f62-90d5-f92ab96e8d9d';\n //iid = \"b4974ef9-3ad4-4205-ab07-f4711f118c54\";\n defaultOpen = false;\n position = \"chat_area\";\n customStyle = \"\";\n serviceview = false;\n}\n// Make sure frame is open when the bot is being interacted with (see chatplugin.js)\nwindow.addEventListener(\"click\", (evt) => {\n if (\n evt !== undefined &&\n evt.target !== undefined &&\n evt.target.className !== undefined &&\n evt.target.className === \"internal-link\"\n ) {\n let payload = {\n url: evt.target.href,\n };\n window.postMessage(\"openInternalLink:\" + JSON.stringify(payload));\n evt.preventDefault();\n } else {\n window.postMessage(\"chatbotwindowOpen\");\n }\n});\n\nReactDOM.render(\n ,\n document.getElementById(\"root\")\n);\n","export default class ChatAppExtensions {\n static getAPI(chatApp, chatAppProps) { \n let isMobile = chatAppProps.mobile;\n return {\n setExtension: chatApp.setExtension.bind(chatApp),\n sendActivity: activity => { chatApp.state.store.dispatch(activity) },\n isMobile: () => isMobile\n }\n }\n}","import { DirectLine, ConnectionStatus } from \"botframework-directlinejs\";\nimport React, { Component, Fragment } from \"react\";\nimport ChatBubble from \"./ChatBubble\";\nimport ChatWindow from \"./ChatWindow\";\nimport SildeBubble from \"./ChatBubbleComponent/SildeBubble\";\nimport getChatStore, {\n sendChatStore,\n sendHistoryToZendesk,\n sendHistoryToGenesysPureCloud,\n getChatHistoryForAgent,\n} from \"./ChatStore\";\nimport * as uuid from \"uuid/v4\";\nimport * as LivechatSDK from \"@livechat/livechat-visitor-sdk\";\nimport * as zChat from \"zendesk-chat-sdk\";\nimport ChatAppExtensions from \"./Extensions/ChatAppExtensions\";\nimport ChatWindowParticipantTagger from \"./ChatWindowParticipantTagger\";\nimport { Client as ConversationsClient } from \"@twilio/conversations\";\nimport {\n JsonHubProtocol,\n HttpTransportType,\n HubConnectionBuilder,\n LogLevel,\n} from \"@microsoft/signalr\";\nconst SIGNALR_URL = process.env.REACT_APP_SIGNALR_URL;\nconst publicIp = require(\"public-ip\");\nconst TOKEN_GEN_URL = process.env.REACT_APP_API_URL + \"/getToken\";\nconst GROUP_URL = process.env.REACT_APP_API_URL + \"/group\";\nconst TWILIO_TOKEN_GEN_URL = process.env.REACT_APP_API_URL + \"/twilio-token\";\nconst TWILIO_END_CONVERSATION =\n process.env.REACT_APP_API_URL + \"/endTwilioConversation\";\nconst PAGE_VISIT_URL = process.env.REACT_APP_API_URL + \"/pageLoaded\";\nconst PROPERTIES_URL = process.env.REACT_APP_API_URL + \"/properties\";\nconst BOT_CLICKS = process.env.REACT_APP_API_URL + \"/botclick\";\nconst MEWS_API = process.env.REACT_APP_API_URL + \"/mews\";\nconst ADD_MESSAGE_THREAD = process.env.REACT_APP_API_URL + \"/threadId\";\nconst MS_REFRESH_URL =\n \"https://directline.botframework.com/v3/directline/tokens/refresh\";\nconst LIVECHAT_LICENSE = 9036740;\nconst LIVECHAT_GROUP = 72;\n/**\n * Main chat app, runs with the page\n */\nexport default class ChatApp extends Component {\n constructor(props) {\n super(props);\n this.state = {\n chatBindings: {\n startLivechat: this.startLivechat.bind(this),\n startTwiliochat: this.startTwiliochat.bind(this),\n startSignalRchat: this.startSignalRchat.bind(this),\n endTwilio: this.endTwilio.bind(this),\n endSignalRChat: this.endSignalRChat.bind(this),\n setAgentId: this.setAgentId.bind(this),\n enableChat: this.enableChat.bind(this),\n disableChat: this.disableChat.bind(this),\n getState: this.getState.bind(this),\n setInLivechat: this.setInLivechat.bind(this),\n isInLivechat: this.isInLivechat.bind(this),\n isInTwiliochat: this.isInTwiliochat.bind(this),\n isInSignalRchat: this.isInSignalRchat.bind(this),\n sendTwilioTypingIndicator: this.sendTwilioTypingIndicator.bind(this),\n sendZendeskTypingIndicator: this.sendZendeskTypingIndicator.bind(this),\n sendSignalRTypingIndicator: this.sendSignalRTypingIndicator.bind(this),\n setInTwiliochat: this.setInTwiliochat.bind(this),\n setInSignalRchat: this.setInSignalRchat.bind(this),\n getChatState: this.getChatState.bind(this),\n setExtension: this.setExtension.bind(this),\n setAvailblity: this.setAvailblity.bind(this),\n hideTypingTextBox: this.hideTypingTextBox.bind(this),\n showTypingTextBox: this.showTypingTextBox.bind(this),\n setConnectionStatus: this.setConnectionStatus.bind(this),\n setInactivePopupOne: this.setInactivePopupOne.bind(this),\n setInactivePopupTwo: this.setInactivePopupTwo.bind(this),\n closeInactivePopupOne: this.closeInactivePopupOne.bind(this),\n hideTextCount: this.hideTextCount.bind(this),\n startZenDeskChat: this.startZenDeskChat.bind(this),\n isInZendeskChat: this.isInZendeskChat.bind(this),\n setPropertyPopUp: this.setPropertyPopUp.bind(this),\n ChangeBotLanguage: this.ChangeBotLanguage.bind(this),\n startMewsChat: this.startMewsChat.bind(this),\n startGenesysPureCloudChat: this.startGenesysPureCloudChat.bind(this),\n startAWSConnectChat: this.startAWSConnectChat.bind(this),\n isInGenesysPureCloudChat: this.isInGenesysPureCloudChat.bind(this),\n isInAWSConnectChat: this.isInAWSConnectChat.bind(this),\n isInMewsChat: this.isInMewsChat.bind(this),\n genesysPureCloudChatSettings:\n this.genesysPureCloudChatSettings.bind(this),\n amazonConnectTokenSettings: this.amazonConnectTokenSettings.bind(this),\n mewsChatSettings: this.mewsChatSettings.bind(this),\n getExtension: (extensionName) => this.state.extensions[extensionName],\n makePayment: (details, callback) => {\n this.setState({\n makePayment: {\n details,\n callback,\n close: () => {\n this.setState({ makePayment: undefined });\n },\n },\n });\n },\n getRoomTypes: (details) => {\n this.setState({\n getRoomTypes: {\n details,\n reinit: true,\n },\n });\n var booking = this.state.bookingApp;\n booking.open = true;\n\n this.setState({\n bookingApp: booking,\n });\n },\n getGID: () => {\n return this.props.gid;\n },\n getIID: () => {\n return this.props.iid;\n },\n getPID: () => {\n return this.props.pid;\n },\n getAgentId: () => {\n return this.state.agentId;\n },\n getBotSettings: () => {\n return this.state.botSettings;\n },\n getLiveChatSettings: () => {\n return this.state.liveChatSettings;\n },\n getDirectLineConversation: () => {\n return this.state.directline.conversationId;\n },\n isCheckedAvailability: false,\n hideRoomDetail: false,\n \n showBookingForm: (available, hideRoom) => {\n this.setState({\n isCheckedAvailability: available,\n hideRoomDetail: hideRoom,\n });\n },\n scrollChat: this.scrollChat,\n addScrollEvent: this.addScrollEvent,\n showHideMoveToTop: this.showHideMoveToTop.bind(this),\n },\n };\n const iid = props.iid;\n\n const lStore = {\n // per-integration constants used for localstorage identifiers\n OPENED: iid + \"-opened\",\n IDENTITY: iid + \"-identity\",\n CHAT_STATE: iid + \"-chatstate\",\n CREDENTIALS: iid + \"-credentials\",\n LIVECHAT_STARTED: iid + \"-livechatStarted\",\n GENESYS_CLOUD_STARTED: iid + \"-genesyscloudchatStarted\",\n AWS_CONNECT_STARTED: iid + \"-awsconnectStarted\",\n AWS_CONNECT_THREAD: iid + \"-awsconnectThreadId\",\n AWS_CONNECT_REGION: iid + \"-awsconnectRegion\",\n MEWS_CHAT_STARTED: iid + \"-mewschatStarted\",\n MEWS_THREAD: iid + \"-mewsThreadId\",\n COOKIES: iid + \"-cookies\",\n PROPERTYID: iid + \"-property\",\n PROPERTYNAME: iid + \"-propertyName\",\n EXTENSIONS: iid + \"-extensions\",\n LANGUAGE: iid + \"-language\",\n DOMAIN: iid + \"-domain\",\n BOTCLICK: iid + \"-botclick\",\n LIVECHATMESSAGESTAMP: iid + \"-livechatmessagetimestamp\",\n LIVECHATCLIENT: iid + \"-livechatclient\",\n VISITORDETAILS: iid + \"-visitor\",\n ZENDESKGROUP: iid + \"-zendeskgroup\",\n };\n\n let loadedExtensions;\n try {\n loadedExtensions = JSON.parse(localStorage.getItem(lStore.EXTENSIONS));\n } catch {}\n if (!loadedExtensions) {\n loadedExtensions = {};\n }\n\n this.state = {\n lStore: lStore,\n opened:\n this.props.defaultOpen ||\n (this.props.mobile == \"false\" &&\n localStorage.getItem(lStore.OPENED) === \"open\"),\n messages: [],\n directline: undefined,\n started: false,\n chatBindings: this.state.chatBindings,\n inputEnabled: false,\n inLiveChat: false,\n livechat: undefined,\n loadingLivechat: false,\n makePayment: false,\n getRoomTypes: undefined,\n createChatSessionStartUp: false,\n animation: {\n bubbleToFadeIn: true,\n },\n integrationSettings: undefined,\n blockChatbot: false,\n extensions: {\n ...loadedExtensions,\n _api: ChatAppExtensions.getAPI(this, this.props),\n },\n connectionError: false,\n visitorPopUp: false,\n inTwilioChat: false,\n inSignalRChat: false,\n twiliochat: undefined,\n signalrchat: undefined,\n twilioAccessToken: undefined,\n twilioChatId: undefined,\n signalRChatId: undefined,\n disabledChatbot: false,\n inactivePopupOne: false,\n inactivePopupTwo: false,\n moveTop: false,\n persistentMenu: null,\n persistentMenuEnabled: false,\n agentId: \"\",\n resize: false,\n botclick: false,\n inZenDesk: false,\n inMewsChat: false,\n mewsChatSettings: undefined,\n zendesk: undefined,\n liveChatSettings: undefined,\n zendeskDepartment: \"\",\n zendeskChatNew: true,\n availblity: undefined,\n open_ZChatfeedback_popup: false,\n property_popup: false,\n bot_restart: false,\n inGenesysPureCloudChat: false,\n genesysPureCloudSettings: undefined,\n messengerSettings: \"\",\n formSettings: null,\n inAwsConnect: false,\n amazonConnectToken: undefined,\n groupData: null,\n };\n\n // getChatStore needs state.lStore to be set first for it to work\n this.state.store = getChatStore(this.state.chatBindings);\n\n this.state.bookingApp = {\n open: false,\n callbacks: {\n getStore: () => {\n return this.state.store;\n },\n },\n chatBindings: this.state.chatBindings,\n lStore: lStore,\n };\n\n // Tell parent iframe opened state\n this.state.opened\n ? this.postMessage(\"chatbotwindowOpen\")\n : this.postMessage(\"chatbotwindowClose\");\n\n this.addThreadId = async (messageThreadId) => {\n const req = await fetch(`${ADD_MESSAGE_THREAD}`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n id: this.state.directline.conversationId,\n groupId: this.props.gid,\n messageThreadId: messageThreadId,\n }),\n });\n };\n\n // Listen to messages\n window.addEventListener(\"message\", this.windowMessage.bind(this), false);\n }\n\n /**\n * Start conversation on mount\n */\n componentDidMount() {\n if (!this.state.started) {\n this.setState({ started: true });\n\n if (this.props.openChatWindow === true) {\n this.opened();\n this.postMessage(\"chatbotwindowOpen\");\n }\n this.startConversation(true);\n }\n\n // if (this.props.messenger === true) {\n // this.setState({ opened: false });\n // }\n if (localStorage.getItem(this.state.lStore.OPENED) === \"open\"){\n this.postMessage(\"openMessengerBotClickAvtar\");\n } \n // Fetching group data\n fetch(GROUP_URL + \"/\" + this.props.gid, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n })\n .then((response) => response.json()) \n .then((groupData) => {\n \n this.setState({ groupData });\n \n })\n .catch((error) => {\n console.error(\"Error fetching group data: \", error);\n });\n \n \n }\n\n /**\n * Listens to component changes, sends opened status to parent frame for resizing\n * (frame on client site must shrink to not cover content when chat minimised)\n */\n componentDidUpdate(prevProps, prevState) {\n if (prevState.opened !== this.state.opened) {\n this.state.opened\n ? this.postMessage(\"chatbotwindowOpen\")\n : this.postMessage(\"chatbotwindowClose\");\n }\n }\n\n /**\n * Handles messages from the window (i.e. from the containing iframe)\n */\n windowMessage(event) {\n if (event.data.toString().startsWith(\"lang_code:\")) {\n this.setState({ lang: event.data.substring(\"10\"), autoDetect: false });\n }\n\n if (event.data.toString().startsWith(\"auth_token:\")) {\n if (event.data.substring(\"11\") !== \"\") {\n console.log(\"33\", event.data.substring(\"11\"));\n this.setState({ bearerToken: event.data.substring(\"11\") });\n this.state.store.dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/token-update\",\n value: {\n bearerToken: event.data.substring(\"11\"),\n },\n },\n });\n }\n }\n\n if (event.data.toString().startsWith(\"msg_property:\")) {\n var prodata = JSON.parse(event.data.substring(\"13\"));\n if (prodata === null) {\n console.log(this.state.bookingApp.properties);\n //this.selectProperty(this.state.bookingApp.properties)\n } else {\n this.selectProperty(prodata);\n }\n }\n\n if (!this.state.opened && event.data === \"chatwindowOpened\") {\n this.setState({ opened: true });\n }\n if (event.data === \"chatwindowOpenedInMsg\") {\n this.opened();\n }\n if (event.data === \"openMessengerChatWindow\") {\n this.setState({ opened: true });\n }\n if (event.data === \"bot_restart\") {\n this.setState({ bot_restart: true });\n }\n\n //buutonColorInMsg\n\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"buttonColorInMsg:\")\n ) {\n var data = JSON.parse(event.data.substring(17));\n\n this.setState({ messengerSettings: data });\n }\n\n // cookies\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"cookiesContent:\")\n ) {\n var load = JSON.parse(event.data.substring(15));\n\n this.setState({ cookiesData: load });\n }\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"update-styling:\")\n ) {\n let payload = event.data.substr(15);\n this.setState({ integrationSettings: JSON.parse(payload) });\n }\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"nudge_message:\")\n ) {\n setTimeout(() => {\n this.state.store.dispatch({\n type: \"WEB_CHAT/SEND_MESSAGE\",\n payload: {\n text: event.data.replace(\"nudge_message:\", \"\"),\n },\n });\n }, 4000);\n }\n if (typeof event.data === \"string\" && event.data.startsWith(\"message:\")) {\n this.opened();\n\n setTimeout(() => {\n this.state.store.dispatch({\n type: \"WEB_CHAT/SEND_MESSAGE\",\n payload: {\n text: event.data.replace(\"message:\", \"\"),\n },\n });\n }, 4000);\n }\n if (\n typeof event.data === \"string\" &&\n event.data.startsWith(\"messengerLang:\")\n ) {\n this.setState({ lang: event.data.substr(14) });\n }\n\n if (event.data.toString().startsWith(\"openInternalLink:\")) {\n var prodata = JSON.parse(event.data.substring(\"17\"));\n this.state.store.dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/openWebView\",\n value: {\n url: prodata.url,\n title: \"\",\n mode: \"Normal\",\n largeWindowHideHeader: false,\n },\n },\n });\n }\n }\n\n /**\n * Scrolls chat to bottom, achieves this slightly messily by selecting using CSS selectors\n */\n scrollChat() {\n var els = document.getElementsByClassName(\"css-y1c0xs\");\n for (var el of els) {\n if (el.classList.contains(\"css-ca0rlf\")) {\n el.scrollTop = el.scrollHeight;\n }\n }\n }\n\n addScrollEvent() {\n var els1 = document.getElementsByClassName(\n \"webchat__basic-transcript__scrollable\"\n );\n els1[0].addEventListener(\"scroll\", () => {\n if (els1[0].scrollTop > 100) {\n this.showHideMoveToTop(true);\n } else {\n this.showHideMoveToTop(false);\n }\n });\n if (els1[0].scrollTop > 100) {\n this.showHideMoveToTop(true);\n } else {\n this.showHideMoveToTop(false);\n }\n }\n\n showHideMoveToTop(show) {\n this.setState({ moveTop: show });\n }\n\n hideTypingTextBox() {\n // this.setState({ moveTop: true });\n var els = document.getElementsByClassName(\"main\");\n console.log(els.length);\n if (els.length === 0) {\n const hideInterval = setInterval(function () {\n var els1 = document.getElementsByClassName(\"main\");\n console.log(els1.length);\n if (els1.length > 0) {\n clearInterval(hideInterval);\n for (var el of els1) {\n if (el.classList.contains(\"main\")) {\n el.style.display = \"none\";\n }\n }\n }\n }, 1500);\n setTimeout(function () {\n clearInterval(hideInterval);\n }, 15000);\n } else {\n if (els.length > 0) {\n for (var el of els) {\n if (el.classList.contains(\"main\")) {\n el.style.display = \"none\";\n }\n }\n }\n }\n }\n\n hideTextCount() {\n var els = document.getElementById(\"span-count\");\n if (els !== null) {\n els.innerText = \"\";\n }\n }\n\n showTypingTextBox() {\n var els = document.getElementsByClassName(\"main\");\n if (els.length > 0) {\n for (var el of els) {\n if (el.classList.contains(\"main\")) {\n el.style.display = \"flex\";\n }\n }\n }\n }\n\n setAvailblity(payload) {\n this.setState({ availblity: payload });\n }\n\n setPropertyPopUp(payLoad) {\n this.setState({ property_popup: payLoad });\n }\n\n ChangeBotLanguage(detectedLang, autoDetect) {\n this.postMessage(\"langDetect:\" + detectedLang);\n this.setState({ lang: detectedLang, autoDetect: autoDetect });\n }\n\n setExtension(extensionName, payload) {\n let extensions = {\n ...this.state.extensions,\n [extensionName]: payload,\n };\n this.setState({ extensions });\n\n localStorage.setItem(\n this.state.lStore.EXTENSIONS,\n JSON.stringify(extensions)\n );\n }\n\n dynamicSort(property) {\n var sortOrder = 1;\n if (property[0] === \"-\") {\n sortOrder = -1;\n property = property.substr(1);\n }\n return function (a, b) {\n /* next line works with strings and numbers,\n * and you may want to customize it to your needs\n */\n var result =\n a[property] < b[property] ? -1 : a[property] > b[property] ? 1 : 0;\n return result * sortOrder;\n };\n }\n selectProperty = (elem) => {\n this.state.bookingApp.selectedPid = elem;\n this.forceUpdate();\n localStorage.setItem(this.state.bookingApp.lStore.PROPERTYID, elem.value);\n localStorage.setItem(this.state.bookingApp.lStore.PROPERTYNAME, elem.label);\n this.loadFormSetting(elem.value);\n this.state.bookingApp.callbacks.getStore().dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"webchat/update\",\n value: {\n pid: elem.value,\n pname: elem.label,\n },\n },\n });\n };\n /**\n * Registers that the user visited the page, manages visitor ID/session ID\n * vid/sid are persisted between sessions, sid is changed if the conversation ID expires\n */\n async registerPageLoad(botConversationId) {\n const ip = await publicIp.v4();\n var user = {\n iid: this.props.iid,\n gid: this.props.gid,\n vid: undefined,\n sid: undefined,\n locale: \"en-US\",\n parent_location: this.props.parent_location,\n parent_referrer: this.props.parent_referrer,\n page_title: this.props.parent_title,\n ip: ip,\n botConversationId: botConversationId,\n };\n\n var identity = localStorage.getItem(this.state.lStore.IDENTITY);\n if (identity) {\n try {\n identity = JSON.parse(identity);\n user.vid = identity.vid;\n user.sid = identity.sid;\n } catch (e) {\n user.vid = undefined;\n user.sid = undefined;\n }\n }\n\n const req = await fetch(PAGE_VISIT_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n user: user,\n }),\n });\n\n var result = await req.json();\n this.postMessage(\"chatbotConId:\" + botConversationId);\n if (result && result.vid && result.sid) {\n if (this.props.previewMode == \"false\") {\n this.setState({ disabledChatbot: result.disabled });\n }\n if (result.disabled !== null && result.disabled === true) {\n this.postMessage(\"removeiframemode:\");\n }\n\n if (user.sid !== result.sid) {\n localStorage.removeItem(this.state.lStore.BOTCLICK);\n }\n //Restrict Bot based upon the IP Address\n if (result.whiteListedIpAddresses.length > 0) {\n if (result.whiteListedIpAddresses.find((x) => x === ip) === undefined) {\n this.setState({ blockChatbot: true });\n }\n }\n\n localStorage.setItem(this.state.lStore.IDENTITY, JSON.stringify(result));\n\n if (\n result.liveChatSettings !== undefined &&\n result.liveChatSettings.enabled === true &&\n result.liveChatSettings.provider == \"1\"\n ) {\n localStorage.setItem(\n this.state.lStore.ZENDESKGROUP,\n result.liveChatSettings.zendesk.departmentId\n );\n }\n\n var localStorageLanguage = localStorage.getItem(\n this.state.lStore.LANGUAGE\n );\n\n var lang = \"\";\n var userLang = navigator.language || navigator.userLanguage;\n\n if (\n userLang != undefined &&\n userLang != \"\" &&\n result.botSettings.languages.length > 0\n ) {\n if (userLang.indexOf(\"-\") > 0 && userLang.includes(\"en\")) {\n //ENGLISH\n lang = \"en\";\n } else if (userLang === \"zh-CN\") {\n //SC\n if (\n result.botSettings.languages.filter((m) => m === \"zh\").length > 0\n ) {\n lang = \"zh\";\n }\n } else if (userLang === \"zh-TW\") {\n //TC\n if (\n result.botSettings.languages.filter((m) => m === \"zh-TW\").length > 0\n ) {\n lang = \"zh-TW\";\n }\n } else {\n if (userLang.indexOf(\"-\") > 0) {\n userLang = userLang.split(\"-\")[0];\n if (\n result.botSettings.languages.filter((m) => m === userLang)\n .length > 0\n ) {\n lang = userLang;\n }\n } else if (\n result.botSettings.languages.filter((m) => m === userLang).length >\n 0\n ) {\n lang = userLang;\n }\n }\n }\n\n try {\n if (localStorageLanguage) {\n this.setState({\n vid: result.vid,\n sid: result.sid,\n lang: localStorageLanguage,\n });\n } else {\n this.setState({\n vid: result.vid,\n sid: result.sid,\n lang: lang === \"\" ? result.botSettings.defaultLanguage : lang,\n });\n }\n } catch (e) {\n this.setState({\n vid: result.vid,\n sid: result.sid,\n lang: lang === \"\" ? result.botSettings.defaultLanguage : lang,\n });\n }\n\n if (\n (this.props.pid === \"\" || this.props.pid === undefined) &&\n result.level === \"Group\" &&\n result.properties.length > 1\n ) {\n this.state.bookingApp.open = true;\n\n const reqProperties = await fetch(\n PROPERTIES_URL + \"/\" + this.props.gid,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n var resultProperties = await reqProperties.json();\n\n const finalResult = [];\n result.properties.forEach((p) => {\n resultProperties.properties.forEach((r) => {\n if (p === r.id) {\n finalResult.push({\n value: r.id,\n label: r.name,\n displayOrder: r.displayOrder,\n domain:\n r.domains != undefined &&\n r.domains.length > 0 &&\n r.domains.filter((m) => m.priority === 1).length > 0\n ? r.domains.filter((m) => m.priority === 1)[0].type\n : \"\",\n });\n }\n });\n });\n\n const sortfinalResult = finalResult.sort(\n this.dynamicSort(\"displayOrder\")\n );\n if (sortfinalResult.length > 0) {\n var property = localStorage.getItem(this.state.lStore.PROPERTYID);\n this.setState({ pid: property });\n var proid = property === null ? \"-1\" : property;\n this.loadFormSetting(proid);\n if (property) {\n let obj = sortfinalResult.find((o) => o.value === property);\n this.state.bookingApp.selectedPid = obj;\n } else {\n const groupCall = await fetch(GROUP_URL + \"/\" + this.props.gid, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n });\n\n var groupData = await groupCall.json();\n //store groupData \n this.setState({ groupData });\n //If not group level domain setup\n if (groupData.group.domain === \"\") {\n this.state.bookingApp.selectedPid = sortfinalResult[0];\n this.setState({\n pid: sortfinalResult[0].value,\n });\n this.loadFormSetting(sortfinalResult[0].value);\n localStorage.setItem(\n this.state.lStore.PROPERTYID,\n sortfinalResult[0].value\n );\n localStorage.setItem(\n this.state.lStore.DOMAIN,\n sortfinalResult[0].domain\n );\n }\n }\n\n try {\n var propertyName = localStorage.getItem(\n this.state.lStore.PROPERTYNAME\n );\n if (propertyName) {\n let obj = sortfinalResult.find((o) => o.label === propertyName);\n localStorage.setItem(this.state.lStore.PROPERTYNAME, obj.label);\n } else {\n const groupCall = await fetch(GROUP_URL + \"/\" + this.props.gid, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n });\n\n var groupData = await groupCall.json();\n //store groupData \n this.setState({ groupData });\n //If not group level domain setup\n if (groupData.group.domain === \"\") {\n localStorage.setItem(\n this.state.lStore.PROPERTYNAME,\n sortfinalResult[0].label\n );\n }\n }\n } catch (e) {\n const groupCall = await fetch(GROUP_URL + \"/\" + this.props.gid, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n });\n\n var groupData = await groupCall.json();\n //store groupData \n this.setState({ groupData });\n if (groupData.group.domain === \"\") {\n localStorage.setItem(\n this.state.lStore.PROPERTYNAME,\n sortfinalResult[0].label\n );\n }\n }\n }\n\n this.state.bookingApp.properties = sortfinalResult;\n } else if (\n (this.props.pid === \"\" || this.props.pid === undefined) &&\n result.properties.length === 1\n ) {\n const reqProperties = await fetch(\n PROPERTIES_URL + \"/\" + this.props.gid,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n var resultProperties = await reqProperties.json();\n result.properties.forEach((p) => {\n resultProperties.properties.forEach((r) => {\n if (p === r.id) {\n localStorage.setItem(this.state.lStore.PROPERTYNAME, r.name);\n localStorage.setItem(this.state.lStore.PROPERTYID, r.id);\n localStorage.setItem(\n this.state.lStore.DOMAIN,\n r.domains != undefined &&\n r.domains.length > 0 &&\n r.domains.filter((m) => m.priority === 1).length > 0\n ? r.domains.filter((m) => m.priority === 1)[0].type\n : \"\"\n );\n this.setState({ pid: r.id });\n this.loadFormSetting(r.id);\n }\n });\n });\n } else if (this.props.pid !== \"\" && this.props.pid !== undefined) {\n const reqProperties = await fetch(\n PROPERTIES_URL + \"/\" + this.props.gid,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n var resultProperties = await reqProperties.json();\n resultProperties.properties.forEach((r) => {\n if (this.props.pid === r.id) {\n localStorage.setItem(this.state.lStore.PROPERTYNAME, r.name);\n localStorage.setItem(this.state.lStore.PROPERTYID, r.id);\n localStorage.setItem(\n this.state.lStore.DOMAIN,\n r.domains != undefined &&\n r.domains.length > 0 &&\n r.domains.filter((m) => m.priority === 1).length > 0\n ? r.domains.filter((m) => m.priority === 1)[0].type\n : \"\"\n );\n this.setState({ pid: r.id });\n this.loadFormSetting(r.id);\n }\n });\n }\n }\n\n if (result.nudges) {\n this.setState({ nudges: result.nudges });\n }\n if (result.botSettings) {\n this.setState({ botSettings: result.botSettings });\n }\n if (result.liveChatSettings) {\n this.setState({ liveChatSettings: result.liveChatSettings });\n }\n if (result.persistentMenu) {\n let SideMenuItem = [];\n if (\n (this.props.pid === \"\" || this.props.pid === undefined) &&\n result.level === \"Group\" &&\n result.properties.length > 1\n ) {\n SideMenuItem = [\n {\n type: \"postback\",\n title: \"Switch Language\",\n payLoad: \"switch_language\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Switch Property\",\n payLoad: \"select_property\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Restart Chat\",\n payLoad: \"restart\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Hide Bot\",\n payLoad: \"hidebot\",\n url: \"\",\n },\n ];\n } else if (\n (this.props.pid === \"\" || this.props.pid === undefined) &&\n result.properties.length === 1\n ) {\n SideMenuItem = [\n {\n type: \"postback\",\n title: \"Switch Language\",\n payLoad: \"switch_language\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Restart Chat\",\n payLoad: \"restart\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Hide Bot\",\n payLoad: \"hidebot\",\n url: \"\",\n },\n ];\n } else if (this.props.pid !== \"\" || this.props.pid !== undefined) {\n SideMenuItem = [\n {\n type: \"postback\",\n title: \"Switch Language\",\n payLoad: \"switch_language\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Restart Chat\",\n payLoad: \"restart\",\n url: \"\",\n },\n {\n type: \"postback\",\n title: \"Hide Bot\",\n payLoad: \"hidebot\",\n url: \"\",\n },\n ];\n }\n\n let MenuData = [];\n if (\n result.persistentMenu.menus.length > 0 &&\n result.persistentMenu.menuEnabled\n ) {\n result.persistentMenu.menus.map((item, index) => {\n let MenuDataItem = [];\n item.callToActions.map((menu) => {\n MenuDataItem.push({\n type: menu.type,\n title: menu.title,\n payLoad: menu.payLoad,\n url: menu.url,\n });\n });\n SideMenuItem.map((sideItem) => {\n MenuDataItem.push({\n type: sideItem.type,\n title: sideItem.title,\n payLoad: sideItem.payLoad,\n url: sideItem.url,\n });\n });\n\n MenuData.push({\n locale: item.locale,\n callToActions: MenuDataItem,\n });\n });\n } else {\n let MenuDataItem = [];\n SideMenuItem.map((sideItem) => {\n MenuDataItem.push({\n type: sideItem.type,\n title: sideItem.title,\n payLoad: sideItem.payLoad,\n url: sideItem.url,\n });\n });\n MenuData.push({\n locale: \"default\",\n callToActions: MenuDataItem,\n });\n }\n this.setState({\n persistentMenu: MenuData,\n persistentMenuEnabled: result.persistentMenu.menuEnabled,\n });\n }\n this.postMessage(\"messengerChatWindowOpened\");\n return;\n }\n\n runNudges() {\n if (!this.state.nudges || this.state.opened || this.state.disabledChatbot) {\n return;\n }\n if (typeof Storage !== \"undefined\") {\n this.postMessage(\"totalnudges:\" + this.state.nudges.length);\n }\n this.state.nudges.forEach((nudge) => {\n if (\n this.props.mobile === \"true\"\n ? !nudge.disabledInMobile\n : !nudge.disabledInDesktop\n ) {\n setTimeout(\n () => {\n if (\n nudge.eyeCatcher &&\n nudge.eyeCatcher.response &&\n nudge.eyeCatcher.response.messages\n ) {\n if (\n nudge.buttons !== null &&\n nudge.buttons !== undefined &&\n this.props.mobile == \"false\" &&\n nudge.buttons.length > 0\n ) {\n this.postMessage(\n \"nudgebutton:\" +\n JSON.stringify({\n text: nudge.eyeCatcher.response.messages,\n buttons: nudge.buttons,\n botSettings: this.state.botSettings,\n })\n );\n } else {\n this.postMessage(\n \"eyecatcher:\" +\n JSON.stringify(nudge.eyeCatcher.response.messages)\n );\n }\n }\n },\n this.props.mobile === \"true\"\n ? nudge.delayInMillisecondsInMobile\n : nudge.delayInMilliseconds\n );\n }\n });\n }\n\n /**\n * Posts a message to the parent window, if this window has one\n * @param {*} msg\n */\n postMessage(msg) {\n if (window.parent) {\n window.parent.postMessage(msg, \"*\");\n }\n }\n\n refresh() {\n new ChatWindowParticipantTagger().clearTags();\n localStorage.removeItem(this.state.lStore.CHAT_STATE);\n localStorage.removeItem(this.props.iid + \"-chatfeedback\");\n this.setState({\n extensions: { _api: ChatAppExtensions.getAPI(this, this.props) },\n });\n localStorage.removeItem(this.state.lStore.EXTENSIONS);\n this.state.chatBindings.showBookingForm(false, false);\n if (this.state.livechat) {\n this.state.livechat.closeChat();\n this.state.livechat.destroy();\n this.setState({\n inputEnabled: false,\n inLiveChat: false,\n started: false,\n inTwilioChat: false,\n twiliochat: undefined,\n livechat: undefined,\n loadingLivechat: false,\n agentName: undefined,\n getRoomTypes: undefined,\n inGenesysPureCloudChat: false,\n inAwsConnect: false,\n inMewsChat: false,\n store: getChatStore(this.state.chatBindings, true),\n });\n }\n localStorage.removeItem(this.state.lStore.CREDENTIALS);\n localStorage.removeItem(this.state.lStore.LIVECHAT_STARTED);\n localStorage.removeItem(this.state.lStore.MEWS_CHAT_STARTED);\n localStorage.removeItem(this.state.lStore.MEWS_THREAD);\n localStorage.removeItem(this.state.lStore.GENESYS_CLOUD_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_THREAD);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_REGION);\n localStorage.removeItem(this.state.lStore.PROPERTYID);\n localStorage.removeItem(this.state.lStore.PROPERTYNAME);\n localStorage.removeItem(this.state.lStore.LANGUAGE);\n localStorage.removeItem(this.state.lStore.LIVECHATCLIENT);\n localStorage.removeItem(this.state.lStore.BOTCLICK);\n localStorage.removeItem(this.state.lStore.LIVECHATMESSAGESTAMP);\n this.setState({\n getRoomTypes: undefined,\n });\n if (this.state.zendesk !== undefined) {\n this.state.zendesk.endChat();\n }\n this.setState({\n getRoomTypes: undefined,\n botSettings: undefined,\n inactivePopupOne: false,\n inactivePopupTwo: false,\n moveTop: false,\n inTwilioChat: false,\n twiliochat: undefined,\n twilioChatId: undefined,\n agentId: \"\",\n inZenDesk: false,\n zendesk: undefined,\n });\n this.closed();\n window.location.reload();\n }\n\n endGenesysPureCloud(textMessage) {\n fetch(`${process.env.REACT_APP_API_URL}/genesys/sendmessage`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n token: this.state.genesysPureCloudSettings.token,\n messageIntegrationId:\n this.state.genesysPureCloudSettings.messageIntegrationId,\n text: textMessage,\n from: {\n id: this.state.directline.conversationId,\n idType: \"Opaque\",\n },\n }),\n }).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n }\n\n endAmazonConnect(textMessage) {\n fetch(\n `https://participant.connect.ap-southeast-2.amazonaws.com/participant/message`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\":\n this.state.amazonConnectToken.ConnectionCredentials.ConnectionToken,\n },\n body: JSON.stringify({\n Content: textMessage, // The actual chat message\n ContentType: \"text/plain\", // Currently, supported type is text/plain\n }),\n }\n ).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n\n fetch(\n `https://participant.connect.ap-southeast-2.amazonaws.com/participant/disconnect`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\":\n this.state.amazonConnectToken.ConnectionCredentials.ConnectionToken,\n },\n body: JSON.stringify({}),\n }\n ).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n }\n\n endMewsChat(textMessage) {\n let msg = [];\n if (\n this.state.mewsChatSettings !== undefined &&\n this.state.mewsChatSettings.Id !== undefined\n ) {\n msg.push({\n Text: textMessage,\n MessageThreadId: this.state.mewsChatSettings.Id,\n Identifier: \"\",\n });\n }\n if (msg.length > 0) {\n fetch(\n `${MEWS_API}/send-message?cid=${this.state.directline.conversationId}&iid=${this.props.iid}&gid=${this.props.gid}`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n msg: msg,\n }),\n }\n ).catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n }\n }\n /**\n * Deletes stored credentials and restarts\n */\n\n end() {\n new ChatWindowParticipantTagger().clearTags();\n localStorage.removeItem(this.state.lStore.CHAT_STATE);\n localStorage.removeItem(this.props.iid + \"-chatfeedback\");\n this.setState({\n extensions: { _api: ChatAppExtensions.getAPI(this, this.props) },\n });\n localStorage.removeItem(this.state.lStore.EXTENSIONS);\n this.state.chatBindings.showBookingForm(false, false);\n if (this.state.livechat) {\n this.state.livechat.closeChat();\n this.state.livechat.destroy();\n this.setState({\n inputEnabled: false,\n inLiveChat: false,\n started: false,\n livechat: undefined,\n loadingLivechat: false,\n agentName: undefined,\n getRoomTypes: undefined,\n moveTop: false,\n store: getChatStore(this.state.chatBindings, true),\n });\n }\n if (this.state.twiliochat) {\n this.state.twiliochat.sendMessage(\"The user has left the conversation.\");\n\n fetch(TWILIO_END_CONVERSATION, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ twilioConversationId: this.state.twilioChatId }),\n }).then((res) => {});\n this.setState({\n inputEnabled: false,\n inTwilioChat: false,\n twiliochat: undefined,\n twilioChatId: undefined,\n started: false,\n livechat: undefined,\n loadingLivechat: false,\n agentName: undefined,\n getRoomTypes: undefined,\n store: getChatStore(this.state.chatBindings, true),\n });\n }\n if (this.state.signalrchat) {\n this.state.signalrchat.invoke(\"SendConversationMessageToAgent\", {\n groupname: this.state.directline.conversationId,\n message: \"The user has left the conversation.\",\n });\n //this.state.signalrchat.stop();\n this.setState({\n inputEnabled: false,\n inSignalRChat: false,\n signalrchat: undefined,\n signalRChatId: undefined,\n started: false,\n livechat: undefined,\n loadingLivechat: false,\n agentName: undefined,\n getRoomTypes: undefined,\n store: getChatStore(this.state.chatBindings, true),\n });\n }\n\n if (this.state.inGenesysPureCloudChat) {\n this.endGenesysPureCloud(\"The user has left the conversation.\");\n this.setState({ inGenesysPureCloudChat: false });\n }\n\n if (this.state.inAwsConnect) {\n this.endAmazonConnect(\"The user has left the conversation.\");\n this.setState({ inAwsConnect: false });\n }\n\n localStorage.removeItem(this.state.lStore.CREDENTIALS);\n localStorage.removeItem(this.state.lStore.LIVECHAT_STARTED);\n localStorage.removeItem(this.state.lStore.GENESYS_CLOUD_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_THREAD);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_REGION);\n localStorage.removeItem(this.state.lStore.MEWS_CHAT_STARTED);\n localStorage.removeItem(this.state.lStore.MEWS_THREAD);\n localStorage.removeItem(this.state.lStore.PROPERTYID);\n localStorage.removeItem(this.state.lStore.PROPERTYNAME);\n localStorage.removeItem(this.state.lStore.LANGUAGE);\n localStorage.removeItem(this.state.lStore.BOTCLICK);\n localStorage.removeItem(this.state.lStore.LIVECHATCLIENT);\n localStorage.removeItem(this.state.lStore.LIVECHATMESSAGESTAMP);\n this.setState({ directline: undefined });\n this.setState({ botclick: false });\n\n if (this.state.zendesk !== undefined) {\n // zChat.un(\"connection_update\", function (status) {console.log(status)});\n // zChat.un(\"chat\", function (status) {console.log(status)});\n // this.state.zendesk.un(\"connection_update\", function (status) {\n // console.log(status);\n // });\n // this.state.zendesk.un(\"chat\", function (detail) {\n // console.log(detail);\n // });\n this.state.zendesk.endChat();\n }\n this.setState({\n getRoomTypes: undefined,\n botSettings: undefined,\n inactivePopupOne: false,\n inactivePopupTwo: false,\n moveTop: false,\n inTwilioChat: false,\n twiliochat: undefined,\n twilioChatId: undefined,\n agentId: \"\",\n inZenDesk: false,\n inMewsChat: false,\n openZChat_popup: false,\n open_ZChatfeedback_popup: false,\n property_popup: false,\n //zendesk: undefined,\n });\n // this.closed();\n setTimeout(() => {\n this.startConversation(false).then((m) => {\n this.recordClick();\n });\n }, 50);\n }\n\n endTwilio() {\n this.setState({\n inTwilioChat: false,\n twiliochat: undefined,\n twilioChatId: undefined,\n agentId: \"\",\n });\n }\n\n endSignalRChat() {\n this.state.signalrchat.stop();\n this.setState({\n inSignalRChat: false,\n signalrchat: undefined,\n signalRChatId: undefined,\n agentId: \"\",\n });\n }\n\n setAgentId(id) {\n this.setState({\n agentId: id,\n });\n }\n\n close_pop = () => {\n var getRoomTypes = this.state.getRoomTypes\n ? this.state.getRoomTypes\n : undefined;\n if (getRoomTypes) {\n getRoomTypes.reinit = false;\n this.setState({ getRoomTypes: getRoomTypes });\n }\n };\n /**\n * Attempts to restore any stored chat, otherwise will fetch a new token and restart\n */\n async startConversation(createZchat) {\n // Existing token\n try {\n var stored = JSON.parse(\n localStorage.getItem(this.state.lStore.CREDENTIALS)\n );\n\n if (stored && stored.token && stored.uid) {\n this.setState({ user_id: stored.uid });\n\n // Attempt to refresh the token\n var msg = await fetch(MS_REFRESH_URL, {\n method: \"POST\",\n headers: {\n Authorization: \"Bearer \" + stored.token,\n },\n });\n var body = await msg.json();\n\n if (msg.status === 200 && body && body.token) {\n this.setState({ directline: new DirectLine({ token: body.token }) });\n\n localStorage.setItem(\n this.state.lStore.CREDENTIALS,\n JSON.stringify({\n token: body.token,\n uid: stored.uid,\n })\n );\n await this.registerPageLoad(body.conversationId);\n this.runNudges();\n\n // if (\n // this.state.liveChatSettings !== undefined &&\n // this.state.liveChatSettings.enabled === true &&\n // this.state.liveChatSettings.provider == \"1\" &&\n // createZchat === true\n // ) {\n // var connection_status = zChat.getConnectionStatus();\n // if (connection_status == \"closed\") {\n // zChat.init({\n // account_key: this.state.liveChatSettings.zendesk.accountKey,\n // });\n // if (\n // localStorage.getItem(this.state.lStore.LIVECHAT_STARTED) ===\n // \"yes\"\n // ) {\n // this.zenDeskFunctions(\n // zChat,\n // this.state.liveChatSettings.zendesk.departmentId\n // );\n // }\n // }\n // this.setState({\n // zendesk: zChat,\n // zendeskDepartment:\n // this.state.liveChatSettings.zendesk.departmentId,\n // });\n // } else if (\n // this.state.liveChatSettings !== undefined &&\n // this.state.liveChatSettings.enabled === true &&\n // this.state.liveChatSettings.provider == \"2\"\n // ) {\n // this.startGenesysPureCloudChat();\n // }\n // else if (\n // this.state.liveChatSettings !== undefined &&\n // this.state.liveChatSettings.enabled === true &&\n // this.state.liveChatSettings.provider == \"3\"\n // ) {\n // this.isMewsChatStarted();\n // }\n\n if (\n localStorage.getItem(this.state.lStore.AWS_CONNECT_STARTED) !==\n undefined &&\n localStorage.getItem(this.state.lStore.AWS_CONNECT_STARTED) ===\n \"yes\"\n ) {\n let status;\n fetch(\n `https://participant.connect.${localStorage.getItem(\n this.state.lStore.AWS_CONNECT_REGION\n )}.amazonaws.com/participant/connection`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\": localStorage.getItem(\n this.state.lStore.AWS_CONNECT_THREAD\n ),\n },\n body: JSON.stringify({\n ConnectParticipant: false,\n Type: [\"WEBSOCKET\", \"CONNECTION_CREDENTIALS\"],\n }),\n }\n )\n .then((tokenresponse) => {\n status = tokenresponse.status;\n return tokenresponse.json();\n })\n .then((tokenJson) => {\n console.log(tokenJson);\n console.log(status);\n if (status === 200) {\n this.setState({ inAwsConnect: true });\n this.setState({ amazonConnectToken: tokenJson });\n if (\n localStorage.getItem(\n this.state.lStore.AWS_CONNECT_STARTED\n ) !== \"yes\"\n ) {\n localStorage.setItem(\n this.state.lStore.AWS_CONNECT_STARTED,\n \"yes\"\n );\n }\n const ws = new WebSocket(tokenJson.Websocket.Url); // Here, you use the websocket URL that you obtained from the response of CreateParticipantConnection API\n const initialMessage = {\n topic: \"aws/subscribe\",\n content: {\n topics: [\"aws/chat\"],\n },\n };\n\n ws.addEventListener(\"message\", (event) => {\n // process event here\n console.log(event.data);\n const response = JSON.parse(event.data);\n if (response.topic === \"aws/chat\") {\n const responseMessage = JSON.parse(response.content);\n if (responseMessage.Type === \"MESSAGE\") {\n // display message in interface here\n this.state.store.dispatch({\n type: \"AMAZONCONNECT/NEW_MESSAGE\",\n payload: responseMessage,\n });\n } else if (responseMessage.Type === \"EVENT\") {\n if (\n responseMessage.ContentType ===\n \"application/vnd.amazonaws.connect.event.typing\" &&\n responseMessage.ParticipantRole !== \"CUSTOMER\"\n ) {\n this.state.store.dispatch({\n type: \"TWILIO/TYPING\",\n });\n } else if (\n responseMessage.ContentType ===\n \"application/vnd.amazonaws.connect.event.chat.ended\"\n ) {\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_STARTED\n );\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_THREAD\n );\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_REGION\n );\n this.setState({ inAwsConnect: false });\n this.state.store.dispatch({\n type: \"LIVECHAT/CHAT_END\",\n payload: \"\",\n });\n }\n }\n }\n });\n } else {\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_STARTED\n );\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_THREAD);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_REGION);\n }\n // localStorage.setItem(\n // this.state.lStore.AWS_CONNECT_THREAD,\n // json.result.ContactId\n // );\n });\n // })\n // .catch((err) => {\n // console.error(\"Bmb livechat logging failed :(.\");\n // console.error(err);\n // });\n }\n\n return; // QUIT FLOW if session succesfully recovered\n }\n }\n } catch {}\n\n // If session has expired/never existed\n\n if (this.props.openChatWindow === false) {\n this.closed();\n }\n this.setState({\n store: getChatStore(this.state.chatBindings, true),\n inputEnabled: false,\n inLiveChat: false,\n started: false,\n livechat: undefined,\n loadingLivechat: false,\n agentName: undefined,\n inGenesysPureCloudChat: false,\n inAwsConnect: false,\n inMewsChat: false,\n });\n\n localStorage.removeItem(this.state.lStore.LIVECHAT_STARTED);\n localStorage.removeItem(this.state.lStore.MEWS_CHAT_STARTED);\n localStorage.removeItem(this.state.lStore.GENESYS_CLOUD_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_STARTED);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_THREAD);\n localStorage.removeItem(this.state.lStore.AWS_CONNECT_REGION);\n const res = await fetch(TOKEN_GEN_URL, {\n method: \"POST\",\n });\n\n const data = await res.json();\n var token = data.directline.token;\n\n var uid = uuid();\n this.setState({ user_id: uid });\n this.setState({ directline: new DirectLine({ token: token }) });\n\n localStorage.setItem(\n this.state.lStore.CREDENTIALS,\n JSON.stringify({\n token,\n uid,\n })\n );\n await this.registerPageLoad(data.directline.conversationId);\n this.runNudges();\n\n if (\n this.state.liveChatSettings !== undefined &&\n this.state.liveChatSettings.enabled === true &&\n this.state.liveChatSettings.provider == \"1\" &&\n createZchat === true\n ) {\n var connection_status = zChat.getConnectionStatus();\n\n if (connection_status == \"closed\") {\n zChat.init({\n account_key: this.state.liveChatSettings.zendesk.accountKey,\n });\n }\n this.setState({\n zendesk: zChat,\n zendeskDepartment: this.state.liveChatSettings.zendesk.departmentId,\n });\n }\n }\n\n startSignalRchat(conversationId, twilioConversionId) {\n const protocol = new JsonHubProtocol();\n const transport =\n HttpTransportType.WebSockets | HttpTransportType.LongPolling;\n const options = {\n transport,\n logMessageContent: true,\n logger: LogLevel.Error,\n };\n\n // create the connection instance\n const hubConnection = new HubConnectionBuilder()\n .withUrl(`${SIGNALR_URL}/api`, options)\n .withHubProtocol(protocol)\n .withAutomaticReconnect()\n .build();\n var uid = uuid();\n //startSignalRConnection(connection);\n hubConnection.start().then(() => {\n console.info(\"SignalR Connected\");\n\n hubConnection\n .invoke(\"JoinConversation\", {\n recipient: uid,\n groupname: conversationId,\n })\n .catch(function (err) {\n console.error(err.toString());\n });\n hubConnection.on(\"SignalRChatAgentMessage\", (message) => {\n console.log(\"message to agent\", message);\n });\n hubConnection.on(\"UserTyping\", (message) => {\n console.log(\"user typing\", message);\n });\n hubConnection.on(\"AgentTyping\", (message) => {\n console.log(\"agent typing\", message);\n this.state.store.dispatch({\n type: \"SIGNALR/TYPING\",\n });\n });\n hubConnection.on(\"SignalRChatUserMessage\", (message) => {\n console.log(\"message to user\", message);\n this.state.store.dispatch({\n type: \"SIGNALR/NEW_MESSAGE\",\n payload: message,\n });\n });\n\n this.setState({ inSignalRChat: true });\n this.setState({\n signalrchat: hubConnection,\n });\n });\n }\n\n startTwiliochat(conversationId, twilioConversionId) {\n if (this.state.twilioChatId === undefined) {\n this.setState({ inTwilioChat: true, twilioChatId: twilioConversionId });\n var identityBody = {\n identity: `${conversationId}_user`,\n };\n\n fetch(TWILIO_TOKEN_GEN_URL, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(identityBody),\n }).then((tokenResponse) => {\n tokenResponse.json().then((twilioToken) => {\n this.setState({ twilioAccessToken: twilioToken.accessToken });\n ConversationsClient.create(twilioToken.accessToken).then(\n (twilioClient) => {\n twilioClient.on(\"conversationJoined\", (conversation) => {\n this.setState({\n twiliochat: conversation,\n });\n conversation.on(\"messageAdded\", (msg) => {\n this.state.store.dispatch({\n type: \"TWILIO/NEW_MESSAGE\",\n payload: msg.state,\n });\n });\n conversation.on(\"typingStarted\", (msg) => {\n this.state.store.dispatch({\n type: \"TWILIO/TYPING\",\n });\n });\n // conversation.on(\"typingEnded\", (msg) => {\n // console.log(\"typingEnded\")\n // });\n });\n }\n );\n });\n });\n }\n }\n\n setInTwiliochat(status) {\n this.setState({ inTwilioChat: status });\n }\n\n setInSignalRchat(status) {\n this.setState({ inSignalRChat: status });\n }\n\n isInTwiliochat() {\n return this.state.inTwilioChat;\n }\n\n isInSignalRchat() {\n return this.state.inSignalRChat;\n }\n\n sendTwilioTypingIndicator() {\n this.state.twiliochat.typing();\n }\n\n sendSignalRTypingIndicator() {\n this.state.signalrchat.invoke(\"UserTyping\", {\n groupname: this.state.directline.conversationId,\n message: \"typing\",\n });\n }\n\n sendZendeskTypingIndicator() {\n this.state.zendesk.sendTyping(true);\n }\n\n zenDeskFunctions(zendesk, department) {\n this.setState({ inZenDesk: true });\n const self = this;\n localStorage.setItem(self.state.lStore.LIVECHAT_STARTED, \"yes\");\n if (\n localStorage.getItem(self.state.lStore.VISITORDETAILS) !== null &&\n localStorage.getItem(self.state.lStore.VISITORDETAILS) !== undefined\n ) {\n const preChat = JSON.parse(\n localStorage.getItem(self.state.lStore.VISITORDETAILS)\n );\n var visitorInfo = {\n display_name:\n preChat.name === \"\"\n ? preChat.firstName + \" \" + preChat.lastName\n : preChat.name,\n };\n if (preChat.email !== \"\") {\n visitorInfo.email = preChat.email;\n }\n if (preChat.phoneNumber !== \"\") {\n visitorInfo.phone = preChat.phoneNumber;\n }\n\n zendesk.setVisitorInfo(visitorInfo, function (err) {});\n }\n\n var newPage = {\n title: this.props.parent_title,\n url: this.props.parent_location,\n };\n\n zChat.sendVisitorPath(newPage, function (err) {});\n var zendeskDefaultDepartment = \"\";\n if (\n localStorage.getItem(self.state.lStore.ZENDESKGROUP) !== null &&\n localStorage.getItem(self.state.lStore.ZENDESKGROUP) !== undefined &&\n localStorage.getItem(self.state.lStore.ZENDESKGROUP) !== \"\"\n ) {\n zendeskDefaultDepartment = localStorage.getItem(\n self.state.lStore.ZENDESKGROUP\n );\n const zendeskStartChat = setTimeout(() => {\n zendesk.setVisitorDefaultDepartment(\n parseInt(zendeskDefaultDepartment),\n (err) => {\n if (\n localStorage.getItem(self.state.lStore.LIVECHAT_STARTED) === \"yes\"\n ) {\n zendesk.sendChatMsg(\"bot:Resuming chat as page is refreshed\");\n } else {\n sendHistoryToZendesk(self.state.store.getState(), zendesk);\n localStorage.setItem(self.state.lStore.LIVECHAT_STARTED, \"yes\");\n }\n }\n );\n }, 2000);\n } else {\n sendHistoryToZendesk(self.state.store.getState(), zendesk);\n localStorage.setItem(self.state.lStore.LIVECHAT_STARTED, \"yes\");\n }\n // if (department !== \"\") {\n // zChat.setVisitorDefaultDepartment(parseInt(department));\n // }\n // sendHistoryToZendesk(self.state.store.getState(), zendesk);\n\n if (self.state.zendeskChatNew === true) {\n self.setState({ zendeskChatNew: false });\n zendesk.on(\"chat\", function (detail) {\n if (detail.type === \"chat.msg\") {\n const agents = zendesk.getServingAgentsInfo();\n if (agents.length > 0 && self.state.inZenDesk === false) {\n self.setState({\n inZenDesk: true,\n });\n localStorage.setItem(self.state.lStore.LIVECHAT_STARTED, \"yes\");\n }\n if (detail.nick !== \"visitor\") {\n if (\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) ===\n null ||\n (localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) !==\n null &&\n parseInt(detail.timestamp) >=\n parseInt(\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP)\n ))\n ) {\n self.state.store.dispatch({\n type: \"ZENDESK/NEW_MESSAGE\",\n payload: detail.msg,\n });\n localStorage.setItem(\n self.state.lStore.LIVECHATMESSAGESTAMP,\n detail.timestamp\n );\n }\n }\n } else if (detail.type === \"typing\" && self.state.inZenDesk === true) {\n self.state.store.dispatch({\n type: \"LIVECHAT/TYPING\",\n });\n } else if (\n detail.type === \"chat.memberjoin\" &&\n self.state.inZenDesk === true\n ) {\n if (detail.nick !== \"visitor\") {\n if (\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) ===\n null ||\n (localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) !==\n null &&\n parseInt(detail.timestamp) >\n parseInt(\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP)\n ))\n ) {\n self.state.store.dispatch({\n type: \"ZENDESK/NEW_MESSAGE\",\n payload:\n \"Agent \" + detail.display_name + \" has joined the chat\",\n });\n }\n }\n } else if (\n detail.type === \"chat.memberleave\" &&\n self.state.inZenDesk === true\n ) {\n if (detail.nick !== \"visitor\") {\n if (\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) ===\n null ||\n (localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP) !==\n null &&\n parseInt(detail.timestamp) >\n parseInt(\n localStorage.getItem(self.state.lStore.LIVECHATMESSAGESTAMP)\n ))\n ) {\n self.state.store.dispatch({\n type: \"ZENDESK/NEW_MESSAGE\",\n payload: \"Agent \" + detail.display_name + \" has left the chat\",\n });\n const agents = zendesk.getServingAgentsInfo();\n if (agents.length === 0) {\n localStorage.removeItem(self.state.lStore.LIVECHAT_STARTED);\n self.setState({\n inZenDesk: false,\n open_ZChatfeedback_popup: true,\n });\n }\n }\n }\n } else if (\n detail.type === \"chat.request.rating\" &&\n self.state.inZenDesk === true\n ) {\n self.setState({\n open_ZChatfeedback_popup: true,\n });\n }\n if (\n detail.type === \"chat.queue_position\" &&\n self.state.inZenDesk === true\n ) {\n if (zChat.getQueuePosition() !== 0) {\n if (zChat.getQueuePosition() === 1) {\n self.state.store.dispatch({\n type: \"ZENDESK/NEW_MESSAGE\",\n payload: \"You are next in queue now\",\n });\n } else {\n self.state.store.dispatch({\n type: \"ZENDESK/NEW_MESSAGE\",\n payload: \"Your position in queue is \" + detail.queue_position,\n });\n }\n }\n }\n });\n }\n localStorage.setItem(this.state.lStore.LIVECHATCLIENT, zendesk);\n const myInterval = setInterval(function () {\n if (zChat.getQueuePosition() === 0) {\n clearInterval(myInterval);\n } else {\n clearInterval(myInterval);\n self.state.store.dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"agent_online_not_accepted\",\n },\n value: {},\n });\n const myIntervalBusy = setInterval(function () {\n if (zChat.getQueuePosition() === 0) {\n clearInterval(myIntervalBusy);\n } else {\n clearInterval(myIntervalBusy);\n self.setState({ inZenDesk: false });\n self.state.store.dispatch({\n type: \"WEB_CHAT/SEND_EVENT\",\n payload: {\n name: \"agent_online_busy\",\n },\n value: {},\n });\n }\n }, 60 * 1000);\n }\n }, 20 * 1000);\n }\n\n startZenDeskChat() {\n const self = this;\n if (self.state.zendesk.getConnectionStatus() === \"connected\") {\n self.zenDeskFunctions(self.state.zendesk, self.state.zendeskDepartment);\n } else {\n self.state.zendesk.on(\"connection_update\", function (status) {\n if (status === \"connected\") {\n this.zenDeskFunctions(\n self.state.zendesk,\n self.state.zendeskDepartment\n );\n } else if (status === \"closed\") {\n //self.state.zendesk.reconnect();\n }\n });\n }\n }\n\n isMewsChatStarted() {\n let settings = localStorage.getItem(this.state.lStore.MEWS_THREAD);\n let isStarted = localStorage.getItem(this.state.lStore.MEWS_CHAT_STARTED);\n if (isStarted == true) {\n console.log(\n localStorage.getItem(this.state.lStore.MEWS_CHAT_STARTED),\n localStorage.getItem(this.state.lStore.MEWS_THREAD)\n );\n if (settings !== null && settings?.Id) {\n this.setState({ inMewsChat: true });\n this.setState({\n mewsChatSettings: settings,\n });\n }\n }\n }\n\n startMewsChat(json) {\n console.log(json, json?.MessageThreads);\n this.setState({ inMewsChat: true });\n if (json?.MessageThreads && json?.MessageThreads.length > 0) {\n this.setState({\n mewsChatSettings: json.MessageThreads[0],\n });\n this.addThreadId(json?.MessageThreads[0]);\n localStorage.setItem(\n this.state.lStore.MEWS_THREAD,\n JSON.stringify(json.MessageThreads[0])\n );\n var txt = `An agent has joined`;\n this.state.store.dispatch({\n type: \"LIVECHAT/NEW_MESSAGE\",\n payload: { text: txt },\n });\n if (localStorage.getItem(this.state.lStore.MEWS_CHAT_STARTED) !== \"yes\") {\n localStorage.setItem(this.state.lStore.MEWS_CHAT_STARTED, \"yes\");\n }\n }\n }\n\n startAWSConnectChat() {\n this.setState({ inAwsConnect: true });\n const history = getChatHistoryForAgent(this.state.store.getState());\n // console.log(history);\n fetch(\n `${process.env.REACT_APP_API_URL}/awsconnectchat?groupId=${\n this.props.gid\n }&propertyId=${localStorage.getItem(this.state.lStore.PROPERTYID)}`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n content: history,\n displayName: \"CUSTOMER\",\n }),\n }\n )\n .then((response) => response.json())\n .then((json) => {\n console.log(json);\n\n fetch(\n `https://participant.connect.${json.region}.amazonaws.com/participant/connection`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Amz-Bearer\": json.result.ParticipantToken,\n },\n body: JSON.stringify({\n ConnectParticipant: false,\n Type: [\"WEBSOCKET\", \"CONNECTION_CREDENTIALS\"],\n }),\n }\n )\n .then((tokenresponse) => tokenresponse.json())\n .then((tokenJson) => {\n console.log(tokenJson);\n\n localStorage.setItem(\n this.state.lStore.AWS_CONNECT_THREAD,\n json.result.ParticipantToken\n );\n\n localStorage.setItem(\n this.state.lStore.AWS_CONNECT_REGION,\n json.region\n );\n\n this.setState({ amazonConnectToken: tokenJson });\n if (\n localStorage.getItem(this.state.lStore.AWS_CONNECT_STARTED) !==\n \"yes\"\n ) {\n localStorage.setItem(\n this.state.lStore.AWS_CONNECT_STARTED,\n \"yes\"\n );\n }\n const ws = new WebSocket(tokenJson.Websocket.Url); // Here, you use the websocket URL that you obtained from the response of CreateParticipantConnection API\n const initialMessage = {\n topic: \"aws/subscribe\",\n content: {\n topics: [\"aws/chat\"],\n },\n };\n\n ws.addEventListener(\"open\", () => {\n ws.send(JSON.stringify(initialMessage));\n });\n\n ws.addEventListener(\"message\", (event) => {\n // process event here\n console.log(event.data);\n const response = JSON.parse(event.data);\n if (response.topic === \"aws/chat\") {\n const responseMessage = JSON.parse(response.content);\n if (responseMessage.Type === \"MESSAGE\") {\n // display message in interface here\n this.state.store.dispatch({\n type: \"AMAZONCONNECT/NEW_MESSAGE\",\n payload: responseMessage,\n });\n } else if (responseMessage.Type === \"EVENT\") {\n if (\n responseMessage.ContentType ===\n \"application/vnd.amazonaws.connect.event.typing\" &&\n responseMessage.ParticipantRole !== \"CUSTOMER\"\n ) {\n this.state.store.dispatch({\n type: \"TWILIO/TYPING\",\n });\n } else if (\n responseMessage.ContentType ===\n \"application/vnd.amazonaws.connect.event.chat.ended\"\n ) {\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_STARTED\n );\n localStorage.removeItem(\n this.state.lStore.AWS_CONNECT_THREAD\n );\n this.setState({ inAwsConnect: false });\n this.state.store.dispatch({\n type: \"LIVECHAT/CHAT_END\",\n payload: \"\",\n });\n } else if (\n responseMessage.ContentType ===\n \"application/vnd.amazonaws.connect.event.participant.joined\"\n ) {\n this.state.store.dispatch({\n type: \"AMAZONCONNECT/NEW_MESSAGE\",\n payload: `Agent ${responseMessage.DisplayName} has joined`,\n });\n }\n }\n }\n });\n });\n })\n .catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n }\n\n startGenesysPureCloudChat() {\n this.setState({ inGenesysPureCloudChat: true });\n\n fetch(\n `${process.env.REACT_APP_API_URL}/genesys/settings/${this.props.iid}?groupID=${this.props.gid}`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n this.setState({\n genesysPureCloudSettings: json,\n });\n if (\n localStorage.getItem(this.state.lStore.GENESYS_CLOUD_STARTED) !==\n \"yes\"\n ) {\n localStorage.setItem(this.state.lStore.GENESYS_CLOUD_STARTED, \"yes\");\n\n sendHistoryToGenesysPureCloud(\n this.state.directline.conversationId,\n json.token,\n json.messageIntegrationId,\n this.state.store.getState()\n );\n }\n })\n .catch((err) => {\n console.error(\"Bmb livechat logging failed :(.\");\n console.error(err);\n });\n }\n\n /**\n * When called, starts the livechat session to replace the bot\n */\n startLivechat() {\n this.setState({ inLiveChat: true });\n // this.setState({ inLiveChat: true, loadingLivechat: true });\n this.setState({\n livechat: LivechatSDK.init({\n license: LIVECHAT_LICENSE,\n group: LIVECHAT_GROUP,\n }),\n });\n\n this.state.livechat.on(\"agent_changed\", (agent) => {\n this.setState({ agentName: agent.name });\n });\n\n this.state.livechat.setVisitorData({\n name: \"Book me Wallis\",\n pageUrl: this.props.parent_location,\n pageTitle: this.props.parent_title,\n customProperties: {\n ReferringWebsite: this.props.parent_referrer,\n GroupID: this.props.gid,\n IntegrationID: this.props.iid,\n VisitorID: this.state.vid,\n SessionID: this.state.sid,\n ConversationID: this.state.directline.conversationId,\n },\n });\n\n // Register listeners, and send welcome message when ready\n this.state.livechat.on(\"ready\", () => {\n // this.setState({ loadingLivechat: false });\n this.state.livechat.getPredictedAgent().then((agent) => {\n this.setState({ agentName: agent.name });\n });\n\n // Tell agent we are online and user that agent is connected\n if (localStorage.getItem(this.state.lStore.LIVECHAT_STARTED) !== \"yes\") {\n localStorage.setItem(this.state.lStore.LIVECHAT_STARTED, \"yes\");\n\n sendChatStore(this.state.store.getState(), this.state.livechat);\n\n this.state.livechat.sendMessage({\n text: \"User requesting human transfer.\",\n customId: String(Math.random()),\n });\n\n this.state.livechat.getPredictedAgent().then((agent) => {\n var txt = agent.name\n ? `Agent ${agent.name} has joined`\n : `An agent has joined`;\n this.state.store.dispatch({\n type: \"LIVECHAT/NEW_MESSAGE\",\n payload: { text: txt },\n });\n });\n }\n\n // Forward messages to directline\n this.state.livechat.on(\"new_message\", (msg) => {\n this.state.store.dispatch({\n type: \"LIVECHAT/NEW_MESSAGE\",\n payload: msg,\n });\n });\n\n // Forward typing indicators to directline\n this.state.livechat.on(\"typing_indicator\", () => {\n this.state.store.dispatch({\n type: \"LIVECHAT/TYPING\",\n });\n });\n\n // Fire end chat event\n this.state.livechat.on(\"chat_ended\", (msg) => {\n this.state.store.dispatch({\n type: \"LIVECHAT/CHAT_END\",\n payload: msg,\n });\n });\n });\n }\n\n /**\n * Various setters/getters for children to take as props\n * Mostly used by the ChatStore.js\n */\n enableChat() {\n this.setState({ inputEnabled: true });\n }\n disableChat() {\n this.setState({ inputEnabled: false });\n }\n\n getState() {\n return this.state.store.getState();\n }\n getChatState() {\n return this.state;\n }\n\n setConnectionStatus(status) {\n if (\n status === ConnectionStatus.FailedToConnect ||\n status === ConnectionStatus.ExpiredToken ||\n status === ConnectionStatus.Ended\n ) {\n this.setState({ connectionError: true });\n } else {\n this.setState({ connectionError: false });\n }\n }\n\n setInactivePopupOne() {\n this.setState({ inactivePopupOne: true });\n }\n closeInactivePopupOne() {\n this.setState({ inactivePopupOne: false });\n }\n\n setInactivePopupTwo() {\n this.setState({ inactivePopupOne: false, inactivePopupTwo: true });\n }\n\n opened() {\n this.setState({ opened: true });\n this.postMessage(\"chatbotwindowOpen\");\n localStorage.setItem(this.state.lStore.OPENED, \"open\");\n this.recordClick();\n }\n\n recordClick() {\n if (\n this.state.sid !== undefined &&\n this.state.botclick === false &&\n localStorage.getItem(this.state.lStore.BOTCLICK) !== \"true\"\n ) {\n const req = fetch(`${BOT_CLICKS}`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n groupId: this.props.gid,\n sessionId: this.state.sid,\n integrationId: this.props.iid,\n }),\n });\n localStorage.setItem(this.state.lStore.BOTCLICK, \"true\");\n this.setState({ botclick: false });\n }\n }\n\n closed() {\n if (this.state.resize === true) {\n this.resize_actual();\n }\n this.postMessage(\"chatbotwindowClose\");\n if (!this.props.defaultOpen) {\n this.setState({ opened: false });\n localStorage.removeItem(this.state.lStore.OPENED);\n }\n this.setState({ botclick: false });\n setTimeout(() => {\n this.runNudges();\n }, 1000);\n }\n\n hide_bot() {\n if (this.state.resize === true) {\n this.resize_actual();\n }\n this.postMessage(\"chatbotHide\");\n setTimeout(() => {\n this.postMessage(\"chatbotwindowClose\");\n }, 1000);\n this.setState({ opened: false });\n localStorage.removeItem(this.state.lStore.OPENED);\n setTimeout(() => {\n this.runNudges();\n }, 930000);\n }\n resize_full() {\n this.setState({ resize: true });\n this.postMessage(\"resizefull\");\n }\n resize_actual() {\n this.setState({ resize: false });\n this.postMessage(\"resizeactual\");\n }\n\n setInLivechat(status) {\n this.setState({ inLiveChat: status });\n }\n isInZendeskChat() {\n return this.state.inZenDesk;\n }\n isInLivechat() {\n return this.state.inLiveChat;\n }\n\n isInGenesysPureCloudChat() {\n return this.state.inGenesysPureCloudChat;\n }\n\n isInAWSConnectChat() {\n return this.state.inAwsConnect;\n }\n\n isInMewsChat() {\n return this.state.inMewsChat;\n }\n mewsChatSettings() {\n return this.state.mewsChatSettings;\n }\n\n genesysPureCloudChatSettings() {\n return this.state.genesysPureCloudSettings;\n }\n amazonConnectTokenSettings() {\n return this.state.amazonConnectToken;\n }\n\n hintClosed() {\n this.setState({ currentNudge: undefined });\n }\n\n sendFeedbackZenDeskChat(data, endChat) {\n const self = this;\n if (data.status === \"send\") {\n if (data.rate !== \"\") {\n zChat.sendChatRating(data.rate);\n }\n if (data.comments !== \"\") {\n zChat.sendChatComment(data.comments);\n }\n }\n self.setState({ open_ZChatfeedback_popup: false });\n if (endChat) {\n self.end();\n }\n }\n\n loadFormSetting(pid) {\n fetch(\n `${process.env.REACT_APP_API_URL}/form-setting?groupId=${this.props.gid}&propertyId=${pid}`,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n )\n .then((response) => response.json())\n .then((json) => {\n this.setState({ formSettings: json.result });\n });\n }\n /**\n * Renders either the ChatWindow or the \"ChatBubble\" (bubble, pop up messages, etc visible when chat isn't)\n */\n render() {\n const {\n opened,\n directline,\n store,\n inputEnabled,\n user_id,\n loadingLivechat,\n agentName,\n currentNudge,\n makePayment,\n animation,\n botSettings,\n bookingApp,\n getRoomTypes,\n pid,\n blockChatbot,\n disabledChatbot,\n persistentMenu,\n persistentMenuEnabled,\n } = this.state;\n const { mobile } = this.props;\nconsole.log('logo', this.state.groupData)\n return (\n
\n {botSettings && !blockChatbot && persistentMenu ? (\n \n {\n this.setState({\n animation: { ...this.state.animation, bubbleToFadeIn: false },\n });\n }}\n botSettings={botSettings}\n room_app={getRoomTypes}\n close_pop={this.close_pop}\n isCheckedAvailability={this.state.isCheckedAvailability}\n hideRoomDetail={this.state.hideRoomDetail}\n customStyle={this.props.customStyle}\n refreshClicked={this.refresh.bind(this)}\n extensions={this.state.extensions}\n connectionError={this.state.connectionError}\n inactivePopupOne={this.state.inactivePopupOne}\n inactivePopupTwo={this.state.inactivePopupTwo}\n sid={this.state.sid}\n vid={this.state.vid}\n gid={this.props.gid}\n iid={this.props.iid}\n api={ChatAppExtensions.getAPI(this, this.props)}\n hideTypingTextBox={this.hideTypingTextBox}\n lang={this.state.lang}\n moveTop={this.state.moveTop}\n persistentMenu={persistentMenu}\n persistentMenuEnabled={persistentMenuEnabled}\n inTwiliochat={this.state.inTwilioChat}\n messengerSettings={this.state.messengerSettings}\n resize={this.state.resize}\n resize_full={this.resize_full.bind(this)}\n resize_actual={this.resize_actual.bind(this)}\n hideBot={this.hide_bot.bind(this)}\n availblity={this.state.availblity}\n setAvailblity={this.setAvailblity.bind(this)}\n inZenDesk={this.state.inZenDesk}\n sendFeedbackZenDeskChat={this.sendFeedbackZenDeskChat.bind(this)}\n openZChat_popup={this.state.open_ZChatfeedback_popup}\n property_popup={this.state.property_popup}\n setPropertyPopUp={this.setPropertyPopUp.bind(this)}\n messenger={this.props.messenger}\n bot_restartClick={() => {\n this.setState({ bot_restart: false });\n }}\n bot_restart={this.state.bot_restart}\n autoDetect={this.state.autoDetect}\n bearerToken={this.state.bearerToken}\n loadFormSetting={this.loadFormSetting.bind(this)}\n formSettings={this.state.formSettings}\n groupData={this.state.groupData}\n />\n {!opened &&\n !blockChatbot &&\n this.props.serviceview === false &&\n botSettings.bubbleSettings !== undefined &&\n botSettings.bubbleSettings !== null &&\n botSettings.bubbleSettings.bubbleType !== undefined &&\n botSettings.bubbleSettings.bubbleType !== null &&\n (botSettings.bubbleSettings.bubbleType === \"Bubble\" ? (\n \n ) : (\n \n ))}\n \n ) : (\n \"\"\n )}\n {blockChatbot ? (\n

\n Access restricted: You need to be connected to the hotel's WiFi\n network to start chatting with the digital assistant. Please connect\n your device to the hotel's WiFi and try again.\n

\n ) : null}\n
\n );\n }\n}\n"],"sourceRoot":""}