@subiz/widget-v4 4.0.59 → 4.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/compiled_src/chatbox/main.js +2 -1
  2. package/dist/{17d939953e0.178.js → 17db8166252.178.js} +0 -0
  3. package/dist/17db8166252.213.js +1 -0
  4. package/dist/{17d939953e0.362.js → 17db8166252.362.js} +0 -0
  5. package/dist/{17d939953e0.441.js → 17db8166252.441.js} +0 -0
  6. package/dist/{17d939953e0.605.js → 17db8166252.605.js} +0 -0
  7. package/dist/{17d939953e0.619.js → 17db8166252.619.js} +0 -0
  8. package/dist/{17d939953e0.678.js → 17db8166252.678.js} +0 -0
  9. package/dist/{17d939953e0.74.js → 17db8166252.74.js} +1 -1
  10. package/dist/{17d939953e0.782.js → 17db8166252.782.js} +0 -0
  11. package/dist/17db8166252.app.js +1 -0
  12. package/dist/{17d939953e0.index.html → 17db8166252.index.html} +3 -18
  13. package/dist/{17d939953e0.library.html → 17db8166252.library.html} +3 -18
  14. package/dist/17db8166252.library.js +1 -0
  15. package/dist/{17d939953e0.preview.html → 17db8166252.preview.html} +1 -1
  16. package/dist/17db8166252.preview.js +1 -0
  17. package/dist/17db8166252.screenshoot.js +1 -0
  18. package/dist/213.js +30 -1
  19. package/dist/74.js +2 -1
  20. package/dist/HASH +1 -1
  21. package/dist/screenshoot.html +1 -1
  22. package/dist/screenshoot.js +4 -2
  23. package/index.html +3 -18
  24. package/order.html +784 -0
  25. package/order.js +0 -0
  26. package/package.json +8 -8
  27. package/src/chatbox/main.js +2 -2
  28. package/test.js +1 -0
  29. package/dist/17d939953e0.213.js +0 -1
  30. package/dist/17d939953e0.app.js +0 -1
  31. package/dist/17d939953e0.library.js +0 -1
  32. package/dist/17d939953e0.preview.js +0 -1
  33. package/dist/17d939953e0.screenshoot.js +0 -1
@@ -1 +1 @@
1
- (self.webpackChunk_subiz_widget_v4=self.webpackChunk_subiz_widget_v4||[]).push([[74],{1074:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>ot});var i=s(819),r=s(2493),o=s(6400);class a extends r.M{render(){var t=this.props.emojiCode;if(i.Z.size(t)<3)return null;var e=t.replace(/:/g,"");return(0,o.h)("i",{"data-tooltip":t,class:`emoji emoji--${e}`})}}var n=s(6755);let l=s(4761);class p extends r.M{constructor(t){super(t),this.setState({opacity:0,previewEvent:{},displayPreview:!1}),this.loadGreeting(),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>{if("message_sent"!==i.Z.get(t,"type"))return;let e=i.Z.get(t,"by.type");if("system"!==e&&"agent"!==e)return;let s=!1;i.Z.map(i.Z.get(t,"data.message.attachments",[]),(t=>{t&&"quick_replies"===t.type&&(s=!0)})),s||this.setState({displayPreview:!0,previewEvent:t})}))}fixMissingSetting(t){return t=i.Z.cloneDeep(t),i.Z.get(t,"desktop_button.background_image_url")&&(t.desktop_button.background_image_url=this.props.store.replaceFileUrl(t.desktop_button.background_image_url)),i.Z.get(t,"desktop_button.background_mask_url")&&(t.desktop_button.background_mask_url=this.props.store.replaceFileUrl(t.desktop_button.background_mask_url)),i.Z.get(t,"mobile_button.background_image_url")&&(t.mobile_button.background_image_url=this.props.store.replaceFileUrl(t.mobile_button.background_image_url)),i.Z.get(t,"mobile_button.background_mask_url")&&(t.mobile_button.background_mask_url=this.props.store.replaceFileUrl(t.mobile_button.background_mask_url)),t}render(){let t=this.props.plugin.chatbox,e=i.Z.get(t,"desktop_button.position")||"right";if(this.props.store.isMobile()&&(e=i.Z.get(t,"mobile_button.position")||e,i.Z.get(t,"mobile_button.hidden")))return null;if(i.Z.get(t,"desktop_button.hidden"))return null;let s="widget-layout widget-layout--"+e,r=this.state.opacity;return this.props.isShow||(s+=" widget-layout--hidden",r=0),(0,o.h)("div",{class:s,style:"opacity: "+r+" !important"},this.renderPreview(),this.renderButton())}ClearPreview(){this.setState({previewEvent:{}})}ShowGreeting(){let t=i.Z.get(this.props.plugin,"chatbox.greeting",{}),e=this.props.store.matchAgent("*"),s=t.agent_id;s||(s=function(t){var e=i.Z.filter(t,(t=>"agent"===t.type));return e[Math.floor(Math.random()*i.Z.size(e))]||{}}(e).id);let r=this.props.t.i18n(i.Z.get(t,"greeting",{}))||t.message;this.setState({previewEvent:{by:{id:s,type:"agent"},data:{message:{text:r,format:"plaintext"}}},displayPreview:!0})}HideGreeting(){this.setState({previewEvent:{}})}loadGreeting(){let t=this.props.plugin.chatbox;if((new i.Z.Date).getTime()-this.props.store.matchClosePreviewAt()<h)return;let e=i.Z.get(t,"greeting",{});e.message&&e.enabled?this.ShowGreeting():this.setState({previewEvent:{}})}onClick(){let t=this.props.store.matchLastview();return i.Z.get(t,"view")&&("list"!==t.view||i.Z.size(this.props.store.matchConvo("*"))>0)?this.props.onClick&&this.props.onClick(Object.assign({},t.opts,{view:t.view})):this.onPreviewClick()}onPreviewClick(t){let e=i.Z.convoOfEv(this.state.previewEvent);if(!e){let t=i.Z.map(this.props.store.matchConvo("*")),s=i.Z.find(t,(t=>!i.Z.isConvoSeen(t,this.props.store.matchUser().id)));s||(s=t[0]||{}),e=s.id}this.closePreview(t),this.props.onClick&&this.props.onClick({view:"chat",cid:e})}renderUnread(){let t=this.props.store.matchUnread();return 0===t?null:(0,o.h)("div",{class:"chat-button--unread"},t)}renderPreview(){let t=this.props.store.matchAccount(),e=this.props.plugin.chatbox,s=i.Z.get(this.state.previewEvent,"by.display_id",i.Z.get(this.state.previewEvent,"by.id")),r=i.Z.cloneDeep(this.props.store.matchAgent(s))||{};r.fullname=r.fullname||i.Z.get(t,"name")||this.props.t("agent"),r.avatar_url=r.avatar_url||l;let a=i.Z.get(e,"desktop_button.position")||"right";this.props.store.isMobile()&&(a=i.Z.get(e,"mobile_button.position")||a);let n="widget-preview widget-preview--"+a;this.state.displayPreview||(n+=" widget-preview--hidden");var p=this.renderMessagePreview(this.state.previewEvent,this.props.t("sent_you_a_message"));return 0===i.Z.size(p)&&(n+=" widget-preview--hidden"),(0,o.h)("div",{class:n},(0,o.h)("div",{class:"widget-preview--body"},(0,o.h)("img",{alt:"widget avatar",class:"widget-preview--avatar",src:this.props.store.replaceFileUrl(r.avatar_url),onError:t=>this.onProfileError(t),onload:t=>this.onProfileReady()}),(0,o.h)("div",{class:"widget-preview--content",onClick:t=>this.onPreviewClick(t)},(0,o.h)("div",{class:"widget-preview--title"},r.fullname),(0,o.h)("p",{class:"widget-preview--message"},p)),(0,o.h)("div",{class:"widget-preview--btn-close",onClick:t=>this.closePreview(t)})),(0,o.h)("div",{class:"widget-preview--action",onClick:t=>this.onPreviewClick(t)},(0,o.h)("div",{class:"widget-preview--action-text"},this.props.t("chat_now"))))}onProfileReady(){this.state.buttonLoaded&&this.setState({opacity:1}),this.setState({profileLoaded:!0})}onButtonReady(){this.state.profileLoaded&&this.setState({opacity:1}),this.setState({buttonLoaded:!0})}renderButton(){let t=this.props.plugin.chatbox;t=this.fixMissingSetting(t);let e=i.Z.get(t,"desktop_button.background_image_url")||i.Z.get(t,"desktop_button.background_mask_url")||n,s=i.Z.get(t,"background")||d,r=i.Z.get(t,"desktop_button.position")||"right",a=i.Z.get(t,"desktop_button.background_image_url"),l=i.Z.get(t,"desktop_button.background_mask_url");if(this.props.store.isMobile()){e=i.Z.get(t,"mobile_button.background_image_url")||i.Z.get(t,"mobile_button.background_mask_url")||e,r=i.Z.get(t,"mobile_button.position")||r;let s=i.Z.get(t,"mobile_button.background_image_url"),o=i.Z.get(t,"mobile_button.background_mask_url");(s||o)&&(a=s,l=o)}let p="chat-button--white-bg";!a&&l&&(p+=" chat-button--white-bg--mask-only");let h="";a=this.props.store.replaceFileUrl(a),e=this.props.store.replaceFileUrl(e),l=this.props.store.replaceFileUrl(l),a||l||(p+=" chat-button--white-bg--mask-only",h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(c)}") !important;\n\t\t\t\theight: 70px !important;\n\t\t\t\twidth: 70px !important;\n\t\t\t\tbackground: ${s} !important;\n\t\t\t`),a&&l&&(h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tbackground-image: url("${encodeURI(a)}") !important;\n\t\t\t\tbackground-repeat: no-repeat !important;\n\t\t\t`),a&&!l&&(h=`\n\t\t\t\tbackground-image: url("${encodeURI(a)}") !important;\n\t\t\t\tbackground-repeat: no-repeat !important;\n\t\t\t`),!a&&l&&(h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(l)}") !important;\n\t\t\t\theight: 70px !important;\n\t\t\t\twidth: 70px !important;\n\t\t\t\tbackground: ${s} !important;\n\t\t\t`);let u="chat-button chat-button--"+r;return(0,o.h)("div",{class:u,onClick:t=>this.onClick(t)},(0,o.h)("div",{class:p}),(0,o.h)("div",{class:"chat-button--img-container",style:h},(0,o.h)("img",{width:"70",height:"70",alt:"chat button",class:"chat-button--img",onload:()=>this.onButtonReady(),src:e,onError:(t,e)=>this.onChatButtonError(t,e)})),this.renderUnread())}onProfileError(t){t.target.src=l,this.onProfileReady()}onChatButtonError(t){this._onChatButtonErrorExecuted||(this._onChatButtonErrorExecuted=!0,t.target.src=n)}renderMessagePreview(t,e){e=e||"Sent you a message";let s=i.Z.get(t,"data.message.text");var r=i.Z.get(t,"data.message.format");if(r&&"plaintext"!==r&&(s=e),!s&&i.Z.size(i.Z.get(t,"data.message.attachments"))>0&&(s=e),!s)return null;let n=i.Z.get(t,"by.type");return i.Z.extractText(s).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:n}):t.text))}closePreview(t){t&&(t.preventDefault(),t.stopPropagation()),this.setState({displayPreview:!1}),this.props.store.closePreview(),this.forceUpdate()}}const h=18e5,c="https://file-subiz.com/bubble_11.svg",d="linear-gradient(280.16deg, #0053d3 22.03%, #0265ff 78.2%)";var u=s(8430);class m extends r.M{constructor(t){super(t)}render(){if(this.props.store.isMobile())return null;var t=`https://subiz.com.vn/?utm_source=id-${this.props.store.matchUser().account_id}&utm_medium=widget&utm_campaign=widget_referral`;return(0,o.h)("div",{class:"poweredby"},(0,o.h)("a",{href:t,class:"poweredby--text",target:"_blank",rel:"noreferrer"},(0,o.h)("img",{width:"14",height:"10",class:"poweredby--subiz-logo",src:u,alt:"power by"})," Subiz"))}}class g extends r.M{constructor(t){super(t)}render(){let t=this.props.plugin.chatbox,e=this.props.store.matchAgent("*");var r=i.Z.map(this.props.agent_ids,(t=>e[t]));if(void 0===this.props.agent_ids||0===i.Z.size(this.props.agent_ids)){var a=i.Z.get(t,"header.agent_ids",[]);r=0!==(a=i.Z.filter(a,(t=>!!e[t]))).length?i.Z.map(a,(t=>e[t])):i.Z.filter(e,(t=>"agent"===t.type))}r=i.Z.filter(r,(t=>!!t));let n=this.props.store.matchAccount();var l=this.props.tooltipPos||"bottom",p=this.props.mode||"primary";if(0===r.length)return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(n.logo_url)||s(9895)})));if(1===r.length){var h=r[0],c="primary"===p?"group-avatar--agent-middle":"group-avatar--agent-left";return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":h.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,class:`avatar ${c}`,alt:"agent avatar",src:this.props.store.replaceFileUrl(h.avatar_url)||s(4761)})))}if(2===r.length){let t=r[0],e=r[1];return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":t.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(t.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":e.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{alt:"agent avatar right",width:35,height:35,class:"avatar group-avatar--agent-right",src:this.props.store.replaceFileUrl(e.avatar_url)||s(4761)})))}let d=r[0],u=r[1],m=r[2];return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":d.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(d.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":u.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{alt:"agent avatar middle",width:35,height:35,class:"avatar group-avatar--agent-middle",src:this.props.store.replaceFileUrl(u.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":m.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar right",class:"avatar group-avatar--agent-right",src:this.props.store.replaceFileUrl(m.avatar_url)||s(4761)})))}}class v extends r.M{constructor(t){super(t)}render(){let t="widget-header",e=!1,s=!1,r="list"!==this.props.view&&!0,a=this.props.plugin.chatbox||{},n=i.Z.get(a,"header.layout");return r?t+=" widget-header--collapsed":(t+=" widget-header--convo-expanded",e="social"===n,s=!e),(0,o.h)("div",{class:t},this.renderCollapsedHeader(r),this.renderSocial(e),this.renderTeam(s))}renderCollapsedHeader(t){let e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount().is_online?this.props.t("agent_online"):this.props.t("agent_offline"),r=i.Z.get(e,"tagline",{}),a=this.props.t.i18n(r)||e.introduction||s,n=i.Z.map(this.getAgentJoined(this.props.cid),(t=>t.id)),l="widget-header--inner widget-header--inner--collapsed";return t||(l+=" widget-header--inner--hidden"),(0,o.h)("div",{class:l},this.renderBackButton(),(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"secondary",agent_ids:n}),(0,o.h)("div",{class:"widget-header--title-container"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),(0,o.h)("div",{class:"widget-header--description",title:a},a)),this.renderCloseButton())}renderSocial(t){let e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount(),r=i.Z.get(e,"header.links")||[],n=i.Z.map(r,(t=>t.url&&t.type&&"subiz"!==t.type?"email"===t.type?(0,o.h)("div",null,(0,o.h)("a",{href:`mailto:${t.url}`,title:t.url},(0,o.h)("i",{class:`social__links-logo social__links-logo--${t.type}`}))):(0,o.h)("div",null,(0,o.h)("a",{href:t.url,target:"_blank",title:t.url,rel:"noreferrer"},(0,o.h)("i",{class:`social__links-logo social__links-logo--${t.type}`}))):null)),l=i.Z.get(e,"tagline",{});var p=this.props.t.i18n(l)||e.introduction||this.props.t("team_intro")||"Chúng tôi sẵn sàng trợ giúp :wave:.\nVui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn",h=i.Z.extractText(p).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text}):t.text));let c="widget-header--inner widget-header--inner--expanded";return t||(c+=" widget-header--inner--hidden"),(0,o.h)("div",{class:c},(0,o.h)("div",{class:"widget-header-expand-container"},(0,o.h)("div",{class:"widget-header--top-wrapper"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),this.renderCloseButton()),(0,o.h)("div",{class:"widget_header__body widget_header__body__social"},(0,o.h)("img",{alt:"logo",class:"social__account_logo",src:this.props.store.replaceFileUrl(i.Z.get(s,"logo_url"))}),(0,o.h)("div",null,(0,o.h)("div",{class:"social__introduction"},h),(0,o.h)("div",{class:"social__links"},n)))))}renderTeam(t){let e=this.props.plugin.chatbox||{},s=i.Z.get(e,"tagline",{});var r=this.props.t.i18n(s)||e.introduction||this.props.t("team_intro")||"Chúng tôi sẵn sàng trợ giúp :wave:.\nVui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn",n=i.Z.extractText(r).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text}):t.text));let l="widget-header--inner widget-header--inner--expanded";return t||(l+=" widget-header--inner--hidden"),(0,o.h)("div",{class:l},(0,o.h)("div",{class:"widget-header-expand-container"},(0,o.h)("div",{class:"widget-header--top-wrapper"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),this.renderCloseButton()),(0,o.h)("div",{class:"widget_header__body"},(0,o.h)("div",{class:"widget-header--avatar-wrapper"},(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"primary"})),(0,o.h)("div",{class:"widget-header--title-container"},(0,o.h)("div",{class:"widget-header--description"},n)))))}getTitle(){let t=this.props.plugin.chatbox||{},e=this.props.store.matchAccount(),s=this.getAgentJoined(this.props.cid),r=i.Z.get(this.props.plugin,"chatbox.caption",{}),o=this.props.t.i18n(r)||t.title;return f(s)||o||e.name||this.props.t("widget_title")}renderBackButton(){let t=this.props.store.matchConvo("*");if(0===i.Z.size(t))return null;var e=null;let s=this.props.store.matchUser(),r=0;return i.Z.map(t,(t=>{t.id!=this.props.cid&&(i.Z.isConvoSeen(t,s.id)||r++)})),0!==r&&(e=(0,o.h)("span",{class:"widget-header--total-unread-convo"},r)),(0,o.h)("div",{class:"widget-header--wrap-button-back "+(r?"widget-header--has-convo-unred":""),onClick:t=>this.onBackClick(t)},(0,o.h)("div",{class:"widget-header--button-back","data-tooltip":this.props.t("menu_back")}),e)}renderCloseButton(){return(this.props.plugin.chatbox||{}).hide_close_button?null:(0,o.h)("div",{class:"widget-header--button widget-header--button-close","data-tooltip":this.props.t("close"),"data-tooltip-position":"bottom",onClick:t=>this.onCloseClick(t)},(0,o.h)("span",{class:"widget-header--button-close-icon"}))}onBackClick(t){t.stopPropagation(),t.preventDefault(),this.props.onGotoList&&this.props.onGotoList()}onCloseClick(t){t.stopPropagation(),t.preventDefault(),this.props.onClose&&this.props.onClose()}getAgentJoined(t){var e=this.props.store.matchConvo(t)||{};return i.Z.filter(e.members,(t=>"agent"===t.type&&"active"===t.membership))}}let f=t=>i.Z.map(t,(t=>t.name)).join(", ");class b extends r.M{constructor(t){var e,s,r;super(t),e=this,s="onEnter",r=i.Z.throttle((function(){this.submitMessage()}),50),s in e?Object.defineProperty(e,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[s]=r,this.refFileInput=(0,o.Vf)(),this.refMessageInput=(0,o.Vf)(),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>{i.Z.convoOfEv(t)===this.props.cid&&this.forceUpdate()})),this.focus(),this._forceUpdate=i.Z.throttle((()=>{this.forceUpdate()}),500),this.resizeInput=i.Z.throttle((function(){const t=this.refMessageInput.current;t.style.setProperty("height","1em","important");const e=Math.min(200,t.scrollHeight);t.style.setProperty("height",`${e}px`,"important")}),5)}render(){var t=(0,o.h)("div",{class:"d-flex flex-row align-self-end"},this.renderEmoji(),(0,o.h)("div",{"data-tooltip-poasition":"top-left",class:"message-input--button message-input--attachment-button",onClick:t=>this.selectFile(t)}));i.Z.trim(this.refMessageInput.current&&this.refMessageInput.current.value).length>0&&(t=(0,o.h)("div",{class:"d-flex flex-row align-self-end"},this.renderEmoji(),(0,o.h)("div",{"data-tooltip-position":"top-left",class:"message-input--button message-input--send-button",onClick:()=>this.submitMessage()})));var e="",s=this.hasUnfinishRequiredFormOrLock()||this.props.disabled;return s&&(e="message-input--disabled"),(0,o.h)("div",{class:`message-input ${e}`,onClick:t=>{this.refMessageInput.current&&this.refMessageInput.current.focus()}},(0,o.h)("input",{class:"d-none",ref:this.refFileInput,type:"file",onChange:t=>this.sendFile(t),multiple:!0}),(0,o.h)("textarea",{disabled:s,class:"message-input--input",maxlength:"1024",placeholder:this.props.t("message_input_help"),ref:this.refMessageInput,rows:"1",onInput:t=>this.onChange(t),onPaste:t=>this.pasteImage(t),"data-emojiable":"true",onKeydown:t=>this.onKeydown(t)}),t)}hasUnfinishRequiredFormOrLock(){let t=this.props.store.matchConvo(this.props.cid);if("ended"===i.Z.get(t,"state"))return!1;let e=this.props.store.listEvents(this.props.cid);e=i.Z.orderBy(e,"created","desc").filter((t=>"message_sent"===t.type));let s=i.Z.get(e[0],"data.message.attachments",[]);if(i.Z.find(s,(t=>i.Z.get(t,"lock_input"))))return!0;var r;for(let t of e)if("user"!==i.Z.get(t,"by.type")){r=t;break}s=i.Z.get(r,"data.message.attachments",[]);let o=i.Z.filter(s,(t=>{if(!t)return!1;if("form"!==t.type&&"ask_info_form"!==t.type)return!1;var e=t.form;return!(!e||!(i.Z.parseJSON(e.state)||{}).require_finished&&"ask_info_form"!==t.type||function(t){let e=i.Z.get(t,"fields")||[];return i.Z.find(e,(t=>!!t.answered))}(t.form))}));return i.Z.size(o)>0}renderEmojiPopup(){return this.state.openEmoji?(0,o.h)("div",{class:"emoji-picker","v-clickaway":t=>this.setState({openEmoji:!1})},(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":like:"),"data-tooltip":":like:",class:"emoji-picker--item emoji--like"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":unlike:"),"data-tooltip":":unlike:",class:"emoji-picker--item emoji--unlike"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":angry:"),"data-tooltip":":angry:",class:"emoji-picker--item emoji--angry"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":confused:"),"data-tooltip":":confused:",class:"emoji-picker--item emoji--confused"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":crying:"),"data-tooltip":":crying:",class:"emoji-picker--item emoji--crying"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":grinning:"),"data-tooltip":":grinning:",class:"emoji-picker--item emoji--grinning"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":heart-eyes:"),"data-tooltip":":heart-eyes:",class:"emoji-picker--item emoji--heart-eyes"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":neutral:"),"data-tooltip":":neutral:",class:"emoji-picker--item emoji--neutral"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":sad:"),"data-tooltip":":sad:",class:"emoji-picker--item emoji--sad"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":sleepy:"),"data-tooltip":":sleepy:",class:"emoji-picker--item emoji--sleepy"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":smiling:"),"data-tooltip":":smiling:",class:"emoji-picker--item emoji--smiling"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":surprised:"),"data-tooltip":":surprised:",class:"emoji-picker--item emoji--surprised"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":tired:"),"data-tooltip":":tired:",class:"emoji-picker--item emoji--tired"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":tongue-out:"),"data-tooltip":":tongue-out:",class:"emoji-picker--item emoji--tongue-out"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":wink:"),"data-tooltip":":wink:",class:"emoji-picker--item emoji--wink"}))):null}focus(){this.props.disabled||(this.refMessageInput.current&&this.refMessageInput.current.focus(),setTimeout((()=>{this.refMessageInput.current&&this.refMessageInput.current.focus()})),setTimeout((()=>{this.refMessageInput.current&&this.refMessageInput.current.focus()}),100))}renderEmoji(){return(0,o.h)("div",null,this.renderEmojiPopup(),(0,o.h)("div",{class:"message-input--button message-input--emoji-button",onClick:t=>this.toggleEmoji(t)}))}toggleEmoji(t){t.stopPropagation(),this.focus(),this.props.disabled||this.setState({openEmoji:!this.state.openEmoji})}emojiPick(t){const e=this.refMessageInput.current,s=e.selectionStart,i=this.refMessageInput.current.value;this.setState({openEmoji:!1}),this.refMessageInput.current.value=[i.slice(0,s),t,i.slice(s)].join(""),this.resizeInput(),e.focus()}onKeydown(t){if(13===t.keyCode&&!1===t.shiftKey)return this.onEnter(),t.preventDefault();this._forceUpdate(),this.sendTyping()}onChange(){this.resizeInput()}selectFile(){this.props.disabled||this.refFileInput.current.click()}sendFile(){let t=this.refFileInput.current;this._sendFile(t.files),t.value=""}_sendFile(t){if(0===i.Z.size(t))return;if(this.props.disabled)return;let e=i.Z.map(t,(t=>({type:"file",mimetype:t.type,name:t.name,_file:t,size:t.size})));this.props.onSend&&this.props.onSend({attachments:e})}async submitMessage(t){(t=t||i.Z.trim(this.refMessageInput.current.value)||"")&&(this.props.disabled||(this.refMessageInput.current.value="",this.resizeInput(),this.setState({openEmoji:!1}),this.props.onSend&&this.props.onSend({text:t,format:"plaintext"})))}sendTyping(){if(this.props.cid)return this.props.store.typing(this.props.cid)}pasteImage(t){if(!(window.File&&window.FileReader&&window.FileList&&window.Blob))return;let e=new i.Z.Date;const s=`Paste-image-${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}-${e.getHours()}-${e.getMinutes()}-${e.getSeconds()}`;let r=null;const o=t.clipboardData.items[0];if(0===o.type.indexOf("image")&&(r=o.getAsFile()),!r)return;const a=[r,new ArrayBuffer],n=new File(a,`${s}.png`,{type:"image/png"});this._sendFile([n])}}class _ extends r.M{constructor(t){super(t)}render(){var t=i.Z.get(this.props.ev,"data.message.attachments",[]),e=[];let s=i.Z.get(this.props.ev,"by.type");if(i.Z.each(t,((t,s)=>{if(t&&i.Z.includes(t.mimetype,"image")&&t.url){var r=t.url;r.startsWith("https://")||r.startsWith("http://")||r.startsWith("content://")||r.startsWith("data:")||(t.url=this.props.store.FileURL+r),e.push(t)}})),0===e.length)return null;var r=i.Z.map(e,((t,e)=>(0,o.h)("div",{class:`image-attachment image-attachment--${s}`},(0,o.h)("a",{href:this.props.store.replaceFileUrl(t.thumbnail_url||t.url),target:"_blank"},(0,o.h)("img",{alt:!0,class:"image-attachment__img",src:this.props.store.replaceFileUrl(t.thumbnail_url||t.url),onload:t=>this.props.onLoad&&this.props.onLoad()})))));return"agent"===s?(0,o.h)("div",{class:"message-agent"},r):(0,o.h)("div",{class:"message-user"},r)}}class y extends r.M{constructor(t){super(t)}render(){let t=i.Z.get(this.props.ev,"by.type");var e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,((t,e)=>{t&&i.Z.includes(t.mimetype,"audio")&&s.push(t)})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{key:s,class:`audio-attachment audio-attachment--${t}`},(0,o.h)("audio",{class:"audio-attachment__audio",controls:!0},(0,o.h)("source",{src:this.props.store.replaceFileUrl(e.url),type:e.mimetype})))));return(0,o.h)("div",{class:`message-${t}`},r)}}class w extends r.M{render(){var t=i.Z.get(this.props.ev,"by.type","agent"),e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,(t=>{t&&(t.url||t._file)&&(i.Z.includes(t.mimetype,"video")||i.Z.includes(t.mimetype,"audio")||i.Z.includes(t.mimetype,"image")||"button"===t.type||"quick_replies"===t.type||"form"===t.type||"form_submit"===t.type||s.push(t))})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{key:s,class:`file-attachment file-attachment--${t}`},(0,o.h)("a",{class:"file-attachment--link",href:this.props.store.replaceFileUrl(e.url),target:"_blank"},(0,o.h)("span",{class:"file-attachment--download mr-2"}),(0,o.h)("span",{class:"file-attachment--filename"},e.name)))));return(0,o.h)("div",{class:`message-${t}`},r)}}class Z extends r.M{constructor(t){super(t)}render(){if(0===i.Z.size(this.props.buttons))return null;var t=i.Z.map(this.props.buttons,((t,e)=>"call_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:"tel:"+t.phone_number,key:e,title:t.title},t.title):"url_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:t.url,target:"_blank",key:e,title:t.title},t.title||t.url):"postback_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:"javascript:;",onClick:e=>this.props.onSelect(t)},t.title):("widget_ask_desktop_notify_button"===t.type||t.type,null)));return(0,o.h)("div",{class:"button-attachments"},t)}}class k extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=[],e=i.Z.get(this.props.ev,"data.message.attachments",[]);return i.Z.each(e,((e,s)=>{e&&"button"===i.Z.get(e,"type")&&i.Z.each(i.Z.get(e,"buttons")||[],(e=>t.push(e)))})),(0,o.h)(Z,{store:this.props.store,buttons:t})}}class C extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=[];if(i.Z.map(i.Z.get(this.props.ev,"data.message.attachments",[]),(e=>{e&&"quick_replies"===e.type&&(t=i.Z.get(e,"quick_replies",[]))})),t=i.Z.filter(t,(t=>t.title)),0===t.length)return null;let e=i.Z.convoOfEv(this.props.ev),s=this.props.store.matchConvo(e);if("ended"===i.Z.get(s,"state"))return null;let r=i.Z.map(this.props.store.listEvents(e));r=i.Z.orderBy(r,"created","asc").filter((t=>"message_sent"===t.type));let a=0;for(var n=0;n<r.length;n++)if(r[n].id===this.props.ev.id){a=n;break}for(n=a+1;n<r.length;n++)if("user"===i.Z.get(r[n],"by.type"))return null;let l=i.Z.map(t,(t=>(0,o.h)("div",{class:"message_quick_reply",onClick:e=>this.props.onSelect(t)},t.title)));return(0,o.h)("div",{class:"message_quick_replies"},l)}}class x extends r.M{constructor(t){super(t),this.setState({search:"",isShow:!1})}render(){let t=i.Z.filter(this.props.items,(t=>{let e=this.state.search.toLowerCase();return(t||"").toLowerCase().indexOf(e)>-1})),e=i.Z.map(t,(t=>(0,o.h)("li",{class:"custom-select--item-options",onClick:()=>this.add(t)},t))),s=i.Z.map(this.props.selected,((t,e)=>(0,o.h)("div",{class:"custom-select--selected-item",onClick:t=>this.remove(t,e)},t,(0,o.h)("i",{class:"icn-delete delete-tag"})))),a=(0,o.h)("div",{class:"custom-select--wrap-options"},(0,o.h)("input",{onClick:t=>{t.preventDefault(),t.stopPropagation(),this.setState({isShow:!0})},type:"text",onInput:t=>this.setState({search:t.target.value}),value:this.state.search,placeholder:"Tìm kiếm",class:"custom-select--input-search"}),(0,o.h)("ul",{class:"custom-select--items-options"},e));return this.state.isShow||(a=null),(0,o.h)("div",{class:"form-control custom-select"},(0,o.h)(r.u,{onClickaway:t=>this.clickaway()},(0,o.h)("div",{class:"custom-select--wrap-selected",onClick:()=>this.setState({isShow:!this.state.isShow})},(0,o.h)("div",{class:"custom-select--selected-items"},s),a,(0,o.h)("div",{class:"custom-select--icon-dropdown"},(0,o.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,o.h)("g",{opacity:"0.6"},(0,o.h)("path",{d:"M7 9.5L12 14.5L17 9.5H7Z",fill:"black"})))))))}clickaway(){this.setState({isShow:!1})}add(t){this.props.onAddItem&&this.props.onAddItem(t)}remove(t,e){t.preventDefault(),t.stopPropagation(),this.props.onRemoveItem&&this.props.onRemoveItem(e)}}class S extends r.M{constructor(t){super(t),this.props.store.onUpdate(this,(t=>this.forceUpdate()));let e=this.props.store.matchUser(),s=i.Z.get(this.props.form,"fields")||[],r=i.Z.map(s,(t=>{let s=t.is_required||!1;var r=i.Z.parseJSON(t.state)||{};s||(s=r.require||!1);var o=i.Z.getUserAttr(e,t.name,r.type||"text");return{name:t.name,items:t.items,value:i.Z.parseJSON(t.answer)||i.Z.parseJSON(t.default_answer)||o,is_required:s,label:t.title,type:t.input_type}}));this.setState({formData:r})}isSummited(){return!!i.Z.find(this.state.formData,(t=>!!t.answered))||"ended"===this.props.store.matchConvo(i.Z.convoOfEv(this.props.ev)).state}render(){if(0===i.Z.size(this.state.formData))return null;let t=this.renderFields(),e=null;return this.isSummited()||(e=(0,o.h)("div",{class:"mt-2"},(0,o.h)("button",{onClick:t=>this.submit(),type:"button",class:"form-attachment--submit-btn"},this.props.t("btn_submit_form_attachment")))),(0,o.h)("div",{class:"form-attachment",onClick:t=>t.stopPropagation()},this.props.t(this.props.form.title)||this.props.t("capture_lead_title"),t,e)}focus(){if(this.props.store.isPreview)return;if(0===i.Z.size(this.state.formData))return;let t;if(this.isFormFilled()){var e=Object.keys(this.state.formData),s=e[i.Z.size(e)-1];t=this["field."+M(this.state.formData[s].name)]}else{var r=this.firstUnfilledField();if(!r)return;t=this["field."+M(r.name)]}t&&t.focus()}firstUnfilledField(){return i.Z.find(this.state.formData,(t=>null==t.value||""===t.value))}isFormFilled(){return!i.Z.find(this.state.formData,(t=>null==t.value||""===t.value))}onInputChange(t,e){let s=i.Z.cloneDeep(this.state.formData);s[t].value=e,this.setState({formData:s})}onListAddItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=s[t];r.value=r.value||[],r.value.push(e),this.setState({formData:s})}onListRemoveItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=s[t];r.value=r.value||[],r.value.splice(e,1),this.setState({formData:s})}renderFields(){if(0===i.Z.size(this.state.formData))return null;let t=null;return t=i.Z.map(this.state.formData,((t,e)=>{let s=null;var r=t.error?"input--error":"";if("text"===t.type)s=this.isSummited()?(0,o.h)("div",{class:"form-control--container"},(0,o.h)("input",{disabled:!0,ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"text"}),(0,o.h)("i",{class:"form-control--check"})):(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"text"});else if("number"===t.type)s=this.isSummited()?(0,o.h)("div",{class:"form-control--container"},(0,o.h)("input",{disabled:!0,ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"number"}),(0,o.h)("i",{class:"form-control--check"})):(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"number"});else if("boolean"===t.type)s=(0,o.h)("div",{class:"checkbox"},(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},type:"checkbox",id:"checkbox."+this.props.ev.id+"."+t.name,onChange:t=>this.onInputChange(e,ev.target.checked),checked:t.value}),(0,o.h)("label",{class:"checkbox--label",for:"checkbox."+this.props.ev.id+"."+t.name},t.label),(0,o.h)("div",{class:"checkbox--check"},(0,o.h)("div",null)));else if("list"===t.type){let r=t.value||[],a=i.Z.filter(i.Z.get(t,"items",[]),(t=>!r.includes(t)));s=(0,o.h)(x,{selected:r,items:a,onAddItem:t=>this.onListAddItem(e,t),onRemoveItem:t=>this.onListRemoveItem(e,t)})}else"datetime"===t.type&&(s=(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"date"}));let a=t.label;return"fullname"===t.name?a=this.props.t("fullname"):"emails"===t.name?a=this.props.t("email"):"phones"===t.name&&(a=this.props.t("phones")),(0,o.h)("div",null,(0,o.h)("p",{class:"label mt-3"},a,t.is_required?(0,o.h)("span",{class:"ml-1 red"},"*"):""),t.error?(0,o.h)("div",{class:"form-control--valid-input--error"},t.error):"",s)})),(0,o.h)("div",null,t)}async submit(){var t=!1;if(i.Z.map(this.state.formData,(e=>{e.is_required&&(void 0===e.value||""===e.value||0===i.Z.size(e.value)&&Array.isArray(e.value))?(e.error=this.props.t("error_empty"),t=!0):e.error="","emails"===e.name&&e.value&&(i.Z.isEmail(e.value)||(e.error=this.props.t("error_email_invalid"),t=!0))})),this.forceUpdate(),t)return;let e={},s=i.Z.cloneDeep(this.state.formData);i.Z.map(s,(t=>{var s={key:t.name};t.answered=(new i.Z.Date).getTime(),"number"===t.type&&(s.number=parseInt(t.value),t.answer=i.Z.stringify(s.number)),"datetime"===t.type&&(s.datetime=new i.Z.Date(t.value).toISOString(),t.answer=i.Z.stringify(s.datetime)),"list"===t.type&&(s.list=t.value,t.answer=i.Z.stringify(s.list)),"text"!==t.type&&"boolean"!==t.type||(s[t.type]=t.value,t.answer=i.Z.stringify(t.value)),i.Z.setUserAttr(e,s)})),i.Z.map(s,(t=>{let e=i.Z.find(this.props.form.fields,(e=>e.name===t.name));e&&(e.answered=t.answered)})),this.setState({formData:s}),this.props.store.setUser(e);let r={attachments:[{type:"form_submit",form_submit:{state:'{"user_id":"'+this.props.store.matchUser().id+'"}',form_message_id:i.Z.get(this.props.ev,"id"),fields:s}}]},o=i.Z.convoOfEv(this.props.ev);this.props.store.sendConvoEvent(o,"message_sent",{message:r}),this.props.onSubmit&&this.props.onSubmit()}}function M(t){return btoa(t).split("=").join("")}class D extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return;let t=[],e=i.Z.get(this.props.ev,"data.message.attachments")||[];i.Z.each(e,(e=>{e&&("form"!==e.type&&"ask_info_form"!==e.type||(e.form._type=e.type,t.push(e.form)))}));let s=i.Z.map(t,((t,e)=>(0,o.h)(S,{store:this.props.store,onSubmit:this.props.onSubmit,ref:t=>{this["form."+e]=t},key:e,form:t,ev:this.props.ev,t:this.props.t})));return 0===s.length?null:(0,o.h)("div",{class:"message-agent"},s)}focus(){var t=this["form.0"];t&&t.focus()}}class U extends r.M{constructor(t){super(t)}render(){return null}}function I(t){return t.touches&&t.touches.length?t.touches[0]:{}}class j extends r.M{constructor(t){super(t),this.state={focusing:0},this.galleryRef=(0,o.Vf)()}componentDidMount(){this.bindDrag()}focus(t){this.setState({focusing:t}),this.galleryRef.current.scrollLeft=190*t-20}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=i.Z.get(this.props.ev,"data.message.attachments",[]),e=i.Z.filter(t,(t=>"generic"===i.Z.get(t,"type")));return 0===e.length?null:i.Z.map(e,((e,s)=>{var r=i.Z.map(e.elements,(t=>{let e=t.title?(0,o.h)("div",{class:"generic-attachment--element-title"},t.title):null,s=t.subtitle?(0,o.h)("div",{class:"generic-attachment--element-subtitle"},t.subtitle):null;return(0,o.h)("div",{class:"generic-attachment--element swiper-slide"},(0,o.h)("div",null,(0,o.h)("img",{alt:"generic attachment element",class:"generic-attachment--element-img",src:this.props.store.replaceFileUrl(t.image_url)})),e,s,(0,o.h)(Z,{buttons:t.buttons,onSelect:t=>this.props.onSelect(t)}))}));let a=i.Z.get(t,"0.elements",[]),n="generic-attachment-navigator generic-attachment-navigator--left",l="generic-attachment-navigator generic-attachment-navigator--right";return 0===this.state.focusing&&(n+=" generic-attachment-navigator--disabled"),this.state.focusing===a.length-1&&(l+=" generic-attachment-navigator--disabled"),(0,o.h)("div",{class:"generic-attachment-container"},(0,o.h)("div",{class:"generic-attachment",ref:this.galleryRef},r),!this.props.store.isMobile()&&(0,o.h)(o.HY,null,(0,o.h)("div",{class:n,onClick:t=>this.focus(this.state.focusing-1)},(0,o.h)("span",{class:"generic-attachment-navigator-icon"},"‹")),(0,o.h)("div",{class:l,onClick:t=>this.focus(this.state.focusing+1)},(0,o.h)("span",{class:"generic-attachment-navigator-icon"},"›"))))}))}bindDrag(){if(!this.props.store.isMobile())return;let t=document.getElementsByClassName("generic-attachment");i.Z.map(t,(t=>{var e,s,i;(e=t)&&(e.removeEventListener("touchstart",e.md,0),window.removeEventListener("touchend",e.mu,0),window.removeEventListener("touchmove",e.mm,0),e.md=function(t){let r=I(t);e.hasAttribute("nochilddrag")&&document.elementFromPoint(r.pageX,r.pageY)||(i=1,s=r.clientX,t.preventDefault())},e.mu=()=>{i=0},e.mm=function(t){if(!i)return;let r=I(t);e.scrollLeft-=-s+r.clientX,s=r.clientX},e.addEventListener("touchstart",e.md,{passive:!0}),window.addEventListener("touchend",e.mu,{passive:!0}),window.addEventListener("touchmove",e.mm,{passive:!0}))}))}}class E extends r.M{render(){let t=i.Z.get(this.props.ev,"by.type");if("user"===t)return null;let e=i.Z.get(this.props.ev,"data.message.attachments",[]),r=i.Z.filter(e,(t=>"product"===i.Z.get(t,"type")||"product_preview"===i.Z.get(t,"type")));if(r=r.filter((t=>t.product&&t.product.name)),0===r.length)return null;let a=this.props.store.matchAccount();return i.Z.map(r,((e,r)=>{let n=e.product,l=null,p=n.url||n.mobile_url;this.props.store.isMobile()&&(p=n.mobile_url||n.url),p&&(l=(0,o.h)("a",{class:"product_attachment__btn",href:p,target:"_blank"},this.props.t("detail"),(0,o.h)("img",{src:s(8453),class:"product_attachment__btn_external_link"})));let h=(0,o.h)("a",{href:p,class:"product_attachment__title",target:"_blank"},n.name),c=null,d=n.description||n.long_description;d&&(c=(0,o.h)("div",{class:"product_attachment__subtitle"},d));let u=null;return n.price&&(u=(0,o.h)("div",{class:"product_attachment__price"},n.currency||i.Z.get(a,"currency","")," ",i.Z.formatCurrency(n.price))),(0,o.h)("div",{class:"product_attachment product_attachment__"+t},(0,o.h)("div",null,(0,o.h)("a",{href:this.props.store.replaceFileUrl(n.image),target:"_blank"},(0,o.h)("img",{class:"product_attachment__img",src:this.props.store.replaceFileUrl(n.image)}))),h,c,u,(0,o.h)("div",{class:"product_attachment__btns"},l))}))}}class F extends r.M{render(){let t=i.Z.get(this.props.ev,"by.type");if("user"===t)return null;this.props.store.matchAccount();var e=i.Z.get(this.props.ev,"data.message.attachments",[]);let r=i.Z.filter(e,(t=>"order"===t.type&&t.order)).map((t=>t.order));return 0===r.length?null:i.Z.map(r,((e,r)=>{let a=null;e.note&&(a=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("note")),(0,o.h)("div",{class:"order_attachment__text_truncate"},e.note)));let n=null;i.Z.size(e.items)>0&&(n=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("product")),i.Z.map(e.items,(t=>{let e=t.product||{};return(0,o.h)("div",{class:"order_attachment__product"},(0,o.h)("img",{class:"order_attachment__product_img",src:(i.Z.get(e,"images.0"),s(9270))}),(0,o.h)("div",{style:"overflow: hidden !important;"},(0,o.h)("div",{class:"order_attachment__product_name"},e.name),(0,o.h)("div",{class:"order_attachment__product_desc"},e.description||e.long_description),(0,o.h)("div",{class:"order_attachment__product_desc"},this.props.t("qty")," ",t.quantity," · ",i.Z.formatCurrency(e.price))))}))));let l=(0,o.h)("div",{class:"order_attachment__footer"},(0,o.h)("div",null,this.props.t("total"))," ",(0,o.h)("div",null,(0,o.h)("b",null,i.Z.formatCurrency(e.total)))),p=i.Z.get(e,"shipping.address",{}),h=[p.street,p.ward,p.district,p.region,p.country].filter((t=>t)).join(", "),c=i.Z.find(i.Z.get(e,"user.attributes",[]),(t=>"phones"===t.key))||{key:"phones",text:""},d=i.Z.get(e,"shipping.address.phone","").trim();d=d||i.Z.trim(c.text),d&&(d=this.props.t("phn")+": "+d);let u=null;return(h||d)&&(u=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("ship_to")),(0,o.h)("div",{class:"order_attachment__text_truncate"},h),(0,o.h)("div",{class:"order_attachment__text_truncate"},d))),(0,o.h)("div",{class:`order_attachment order_attachment__${t}`},(0,o.h)("div",{class:"order_attachment__header"},this.props.t("order"),(0,o.h)("span",{class:"order_attachment__text_muted order_attachment__text_sm"},"#",e.id)),n,u,(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("payment")),(0,o.h)("div",null,"COD")),a,l)}))}}class R extends r.M{constructor(t){super(t)}render(){let t=i.Z.get(this.props.ev,"by.type");var e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,((t,e)=>{t&&i.Z.includes(t.mimetype,"video")&&s.push(t)})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{class:`video-attachment video-attachment--${t}`},(0,o.h)("video",{class:"video-attachment__video",src:this.props.store.replaceFileUrl(e.url),width:"100%",height:"",poster:this.props.store.replaceFileUrl(e.thumbnail_url),controls:"controls",preload:"metadata",onclick:"this.play()"}))));return(0,o.h)("div",{class:`message-${t}`},r)}}class P extends r.M{constructor(t){super(t),this.ref=(0,o.Vf)()}componentDidMount(){this.shadowRoot=this.ref.current.attachShadow({mode:"open"}),this.update(this.props.html)}update(t){this.shadowRoot.innerHTML=`<style type="text/css">\nbody { font-family: 'Roboto', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }\nh{ font-size: 14/18px!important; }\na { text-decoration: none;}\nimg { max-width: 100%; display: block; margin: 10px auto; }\n* { white-space: normal }\nul > li { margin-bottom: 5px }\nul:last-child { margin-bottom: 0 }\np:first-child { margin-top: 0;}\np:last-child { margin-bottom: 0;}\n</style>\n<div>${t}</div>`;let e=this.shadowRoot.querySelectorAll("a");for(var s=0;s<e.length;s++)e[s].target="_blank"}render(){return(0,o.h)("div",{ref:this.ref,style:"white-space: normal !important"})}}let $=[],A=(t,e)=>($.push(t),"");(async()=>{let t=(await s.e(441).then(s.bind(s,7441))).marked;A=(e,s)=>t(s),i.Z.map($,(t=>t.forceUpdate())),$=[]})();class L extends r.M{render(){if("markdown"===i.Z.get(this.props.ev,"data.message.format","plaintext"))return this.renderMarkdown();var t=i.Z.get(this.props.ev,"data.message.text");if(t=i.Z.trim(t),0===i.Z.size(t))return null;let e=i.Z.get(this.props.ev,"by.type");var s=i.Z.extractText(t).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:e}):"link"===t.type?(0,o.h)("a",{href:t.text,target:"_blank"},t.text):"phone"===t.type?(0,o.h)("a",{href:"tel:"+t.text},t.text):"email"===t.type?(0,o.h)("a",{href:"mailto:"+t.text},t.text):t.text));return 0===i.Z.size(s)?null:"agent"===e?(0,o.h)("div",{class:"message-agent message-text--agent"},s):(0,o.h)("div",{class:"message-user message-text--user"},s)}renderMarkdown(){var t=i.Z.get(this.props.ev,"data.message.text");if(0===i.Z.size(t))return null;let e=i.Z.get(this.props.ev,"by.type");return t=i.Z.trim(t),0===i.Z.size(t)?null:"agent"===e?(0,o.h)("div",{class:"markdown-message message-agent message-text--agent"},(0,o.h)(P,{html:A(this,t)})):(0,o.h)("div",{class:"d-flex flex-column align-items-end"},(0,o.h)("div",{class:"markdown-message message-user message-text--user"},(0,o.h)(P,{html:A(this,t)})))}}var z=new i.Z.Pubsub;setInterval((()=>z.publish("time")),2e4);class B extends r.M{constructor(t){super(t),this.setState({t:"",langCode:"en_US"})}updateTime(){var t="";if(this.props.ago){if(this.props.short&&Math.abs(this.props.time-(new i.Z.Date).getTime())>864e6){let e=new i.Z.Date(this.props.time),s=e.getFullYear(),r=i.Z.get(navigator,"languages.0","en-US"),o=e.toLocaleDateString(r,{month:"short"});t=e.getDate()+" "+o+" "+s}!t&&this.props.time>0&&(t=function(t,e){const s={s:"%d s",m:"1m",mm:"%dm",h:"1h",hh:"%dh",d:"1d",dd:"%dd",M:"1M",MM:"%M",y:"1y",yy:"%dy"},i=[{l:"s",r:44,d:1e3},{l:"m",r:89},{l:"mm",r:44,d:6e4},{l:"h",r:89},{l:"hh",r:21,d:36e5},{l:"d",r:35},{l:"dd",r:25,d:864e5},{l:"M",r:45},{l:"MM",r:10,d:2592e6},{l:"y",r:17},{l:"yy",d:31536e6}],r=i.length;let o,a;for(let n=0;n<r;n+=1){let r=i[n];r.d&&(o=(t-e)/r.d);let l=Math.round(Math.abs(o));if(l<=r.r||!r.r){l<=1&&n>0&&(r=i[n-1]),a=s[r.l].replace("%d",l);break}}return a}(this.props.time,(new i.Z.Date).getTime()))}else t=i.Z.shortTime(this.props.time,this.props.tzoffset);this.props.uppercase&&(t=t.toUpperCase()),t!==this.state.t&&this.setState({t})}componentDidMount(){z.on2(this,"time",(()=>this.updateTime())),this.updateTime()}render(){return(0,o.h)("span",null,this.state.t)}}class T extends r.M{render(){let t=this.props.ev.ev;var e=null;if(this.props.ev.show_time&&(e=(0,o.h)("div",{class:"convo-event-time"},(0,o.h)(B,{time:t.created}))),"conversation_rated"===t.type){var s=i.Z.get(t,"data.conversation.ratings.0",{no_rating:!0,rating:0});return s.no_rating?null:(0,o.h)("div",{class:"convo-event"},e,(0,o.h)("div",{class:"info-message"},this.props.t("rated_as")+" "+this.props.t(function(t){return t?t<2?"poor":t<4?"average":"great":"poor"}(s.rating)).toLowerCase()))}return"conversation_state_updated"===t.type&&"ended"===i.Z.get(t,"data.conversation.state")?(0,o.h)("div",{class:"convo-event"},e,(0,o.h)("div",{class:"info-message"},this.props.t("conversation_ended"))):null}}class q extends r.M{constructor(t){super(t),this.refForm=(0,o.Vf)()}render(){var t=i.Z.get(this.props.event,"ev",{});switch(t.type){case"conversation_joined":break;case"message_sent":return this.renderMessageSent();case"conversation_state_updated":case"conversation_rating_requested":case"conversation_rated":return i.Z.startsWith(t.id,"ev")?(0,o.h)(T,{t:this.props.t,store:this.props.store,ev:this.props.event}):null}return null}focus(){this.refForm.current&&this.refForm.current.focus()}chooseQuickReply(t){let e=i.Z.get(this.props.event,"ev",{}),s={text:t.title,format:"plaintext"};t.payload&&(s.attachments=[{type:"postback",postback:{event_id:e.id,payload:t.payload}}]),this.props.onSend(s)}choosePostbackBtn(t){let e=i.Z.get(this.props.event,"ev",{}),s={text:t.title,format:"plaintext"};t.payload&&(s.attachments=[{type:"postback",postback:{event_id:e.id,payload:t.payload}}]),this.props.onSend(s)}renderAgentAvatar(t){let e=i.Z.get(t,"by.type"),r=i.Z.get(t,"by.display_id",i.Z.get(t,"by.id"));if("user"===e)return null;var a=this.getSenderName(t);let n=this.props.store.matchAccount();var l=n.logo_url||s(9895);let p=this.props.store.matchAgent("*");return"system"===r&&"dummy"===e||(l=i.Z.get(p[r],"avatar_url")||n.logo_url||s(4761)),(0,o.h)("div",{class:"message-sender"},(0,o.h)("img",{alt:"sender",class:"message-sender-avatar",src:this.props.store.replaceFileUrl(l)}),(0,o.h)("p",{class:"message-sender-name"},a))}renderMessageSent(){let t=this.props.event.ev;var e=null;this.props.event.show_time&&(e=(0,o.h)("div",{class:"convo-event-time"},(0,o.h)(B,{time:t.created})));let s=new i.Z.Date(t.created).toLocaleString();if("user"!==i.Z.get(t,"by.type")){let i=null;return"lead"===this.props.event.mode&&(i=this.renderAgentAvatar(t)),(0,o.h)("div",{class:"convo-event agent-message",title:s},e,i,(0,o.h)(L,{store:this.props.store,ev:t}),(0,o.h)(_,{store:this.props.store,ev:t}),(0,o.h)(y,{store:this.props.store,ev:t}),(0,o.h)(R,{store:this.props.store,ev:t}),(0,o.h)(w,{store:this.props.store,ev:t}),(0,o.h)(k,{store:this.props.store,ev:t}),(0,o.h)(D,{store:this.props.store,onSubmit:this.props.onFormSubmit,ref:this.refForm,ev:t,t:this.props.t}),(0,o.h)(U,{store:this.props.store,ev:t,t:this.props.t}),(0,o.h)(j,{store:this.props.store,ev:t,onSelect:t=>this.choosePostbackBtn(t)}),(0,o.h)(E,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(F,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(C,{store:this.props.store,ev:t,onSelect:t=>this.chooseQuickReply(t)}))}i.Z.getMsgField(t,"idempotency")===t.id&&this.props.store.now()-t.created<900&&setTimeout((()=>this.setState({refresh:this.state.refresh})),1e3);let r=(0,o.h)("div",{class:"sending_dot"});(this.props.store.now()-t.created<900||i.Z.getMsgField(t,"idempotency")!==t.id)&&(r=(0,o.h)("div",{class:"sending_dot sending_dot__hide"}));let a=null;"lead"===this.props.event.mode&&(a=(0,o.h)("div",{class:"pt-3"}));let n=null;return t._error&&"message_sent"===t.type&&(n=(0,o.h)("a",{class:"message_error",src:"javascript:;",onClick:t=>this.resendMessage()},(0,o.h)("div",{class:"message_error__text"},this.props.t("error_send_message")),(0,o.h)("div",{class:"message_error__icon"}))),(0,o.h)("div",{class:"convo-event user-message",title:s},e,a,(0,o.h)("div",{class:"message-user__container"},r,(0,o.h)(L,{store:this.props.store,ev:t,refresh:this.state.refresh}),(0,o.h)(_,{store:this.props.store,ev:t}),(0,o.h)(y,{store:this.props.store,ev:t}),(0,o.h)(R,{store:this.props.store,ev:t}),(0,o.h)(w,{store:this.props.store,ev:t}),(0,o.h)(k,{store:this.props.store,ev:t}),(0,o.h)(D,{store:this.props.store,onSubmit:this.props.onFormSubmit,ref:this.refForm,ev:t}),(0,o.h)(E,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(U,{store:this.props.store,ev:t})),n)}renderUpdateConvo(t){var e=i.Z.get(t,"data.conversation.state");return"active"===e||"pending"===e?null:(0,o.h)("div",{class:"message-system"},this.props.t("conversation_state_updated",{state:e}))}resendMessage(){let t=i.Z.convoOfEv(this.props.event.ev);const e=i.Z.get(this.props.event,"ev.data.message");this.props.store.sendConvoEvent(t,"message_sent",{message:e})}getSenderName(t){let e=i.Z.get(t,"by.type"),s=i.Z.get(t,"by.display_id",i.Z.get(t,"by.id"));if("system"===s||"dummy"===e)return"system";let r=this.props.store.matchUser(),o=this.props.store.matchAccount();return"user"===e?i.Z.getUserDisplayName(r):"agent"===e?i.Z.getAgentDisplayName(o,this.props.store.matchAgent(s)):""}}const O=s(6484);class W extends r.M{render(){let t=(this.props.mode+"").toLowerCase(),e="dark"===t?"#000000dd":"blue"===t?"rgba(52, 152, 220, .8)":"#ffffffdd",s="dark"===t?"#00000055":"blue"===t?"rgba(52, 152, 220, .15)":"#ffffff55",i=this.props.size||14,r=`width: ${i}px !important;height: ${i}px!important;color: ${s} !important;border-width: ${Math.ceil(i/14)}px !important;\n border-left-color: ${s} !important;border-top-color: ${s} !important;\n border-bottom-color: ${s} !important;border-right-color: ${e} !important;`;if(this.props.static){let t=`width: ${i}px;height: ${i}px;`;return i<40?(0,o.h)(LoaderIcon,{size:i+"",style:`stroke:${e}`}):this.props.center?(0,o.h)("div",{class:"loading"},(0,o.h)("img",{alt:"loading",style:t,src:O})):(0,o.h)("img",{alt:"loading",style:t,src:O})}return(0,o.h)("div",{class:"spinner1",style:r})}}const Y=s(6188);class H extends r.M{constructor(t){super(t),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>this.onEvent(t))),this.loadConvo(),this.refBody=null,this.checkAndSeen=i.Z.throttle((()=>{this.props.isShow&&this.isBottom()&&"visible"===this.props.store.browserVisibility&&document.hasFocus()&&this.props.store.seenConvo(this.props.cid)}),500),this.checkAndSeen()}componentDidUpdate(t){t.cid!==this.props.cid&&this.loadConvo()}render(){if(this.state.error)return this.renderError();let t=i.Z.map(this.props.store.listEvents(this.props.cid));if(!this.state.loading&&0===i.Z.size(t))return(0,o.h)("div",{ref:t=>this.refBody=t,class:"widget-body--events-container"},(0,o.h)("div",{class:"widget-body--empty"},(0,o.h)("div",{class:"widget-body--empty-icon"}),(0,o.h)("div",{class:"widget-body--empty-text"},this.props.t("empty_convo_text"))),(0,o.h)(m,{store:this.props.store}));t=i.Z.orderBy(t,"created","asc"),this.props.store.matchConvo(this.props.cid),t=i.Z.map(t,(t=>({ev:t}))),function(t,e){if(!((e=e.filter((t=>V(t.ev)))).length<1)){for(var s=1;s<e.length;s++){let t=e[s],r=e[s-1];V(t.ev)&&i.Z.unixSec(t.ev.created)-i.Z.unixSec(r.ev.created)>120&&(t.show_time=!0)}for(s=0;s<e.length;s++){let t=e[s];if("message_sent"===i.Z.get(t,"ev.type")){t.show_time=!0;break}}for(s=0;s<e.length;s++){let t=e[s],r=e[s-1];"message_sent"!==t.ev.type||(t.mode="lead","message_sent"===i.Z.get(r,"ev.type")&&i.Z.get(r,"ev.by.id")===i.Z.get(t,"ev.by.id")&&(t.mode="follow"))}}}(0,t);let e=i.Z.map(t,(t=>(0,o.h)(q,{store:this.props.store,onFormSubmit:this.props.onFormSubmit,onSend:this.props.onSend,onPostback:this.props.onPostback,event:t,t:this.props.t,key:t.ev.id}))),s=null,r="opacity: 1 !important";return(this.state.loading||this.props.creating)&&(s=(0,o.h)(W,{static:!0,mode:"blue",size:"120",center:!0}),r="opacity: 0 !important"),(0,o.h)(o.HY,null,s,(0,o.h)("div",{style:r,ref:t=>this.refBody=t,class:"widget-body--events-container",onMouseOver:this.checkAndSeen},(0,o.h)("div",{class:"widget-body--events"},e),(0,o.h)(m,{store:this.props.store})))}renderError(){let t=(0,o.h)("a",{href:"#",onclick:t=>this.loadConvo()},this.props.t("try_again"));return this.state.loading&&(t=(0,o.h)(W,{size:"16",mode:"blue"})),(0,o.h)("div",{class:"widget-body--events-container widget-body--events-container__error"},(0,o.h)("img",{alt:"empty",src:Y}),(0,o.h)("div",{class:"widget_body__events__error_msg"},this.props.t("load_convo_error")),(0,o.h)("div",{class:"widget_body__events__error_retry"},t))}focus(){let t=this.props.store.listEvents(this.props.cid);var e;t=i.Z.orderBy(i.Z.map(t),"created","desc");for(let s of t)if("message_sent"===i.Z.get(s,"type")&&"user"!==i.Z.get(s,"by.type")){e=s;break}"user"===i.Z.get(e,"by.type")&&(e=null);let s=i.Z.get(e,"data.message.attachments",[]),r=this.props.store.matchConvo(this.props.cid);i.Z.filter(s,(t=>{if(!t)return!1;if("form"!==t.type&&"ask_info_form"!==t.type)return!1;var e=t.form;return!(!e||!(i.Z.parseJSON(e.state)||{}).require_finished&&"ask_info_form"!==t.type||function(t){let e=i.Z.get(t,"fields")||[];return i.Z.find(e,(t=>!!t.answered))}(t.form)||"ended"===r.state)}))}onEvent(t){if(i.Z.convoOfEv(t)!==this.props.cid)return;let e=this.isBottom();var s=!1;"message_sent"===i.Z.get(t,"type")&&t.id===i.Z.getMsgField(t,"idempotency")&&(s=!0),(s||e)&&this.scrollToBottom()}async loadConvo(){if(!this.props.cid)return;this.lastContentOffsetY=0,this.setState({loading:!0});let t=this.props.store.listEvents(this.props.cid);if(0===i.Z.size(t)){let t=this.props.cid,{error:e}=await this.props.store.fetchMoreEvents(t);if(this.setState({loading:!1}),t!==this.props.cid)return;if(e)return void this.setState({error:!0})}this.setState({loading:!0}),this.props.store.fetchMoreEvents(this.props.cid),this.setState({error:!1}),this.scrollToBottom(),setTimeout((()=>this.setState({loading:!1})),50)}isBottom(){let t=this.refBody;return!!t&&t.scrollHeight<t.scrollTop+t.offsetHeight+50}scrollToBottom(){setTimeout((()=>{const t=this.refBody;t&&(t.scrollTop=t.scrollHeight)})),setTimeout((()=>{const t=this.refBody;t&&(t.scrollTop=t.scrollHeight)}),200),this.props.isShow&&"visible"===this.props.store.browserVisibility&&document.hasFocus()&&this.props.store.seenConvo(this.props.cid)}}function V(t){let e=i.Z.get(t,"type");return"message_sent"===e||"conversation_state_updated"===e}class G extends r.M{constructor(t){super(t)}componentDidMount(){this.setState({isShow:!1,ev:{}}),this.props.store.onConvoEvent(this,(t=>{if(i.Z.convoOfEv(t)!==this.props.cid)return;let e=this.props.store.matchUser();if(i.Z.get(t,"by.id")===e.id)return;let s=i.Z.get(this.state.ev,"by.id");return s&&i.Z.get(t,"by.id")!==s?void 0:"message_sent"===i.Z.get(t,"type")?(this.timer&&clearTimeout(this.timer),this.timer=null,void this.setState({isShow:!1})):void("conversation_typing"===i.Z.get(t,"type")&&(this.setState({ev:t,isShow:!0}),this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{i.Z.convoOfEv(t)===this.props.cid&&(this.timer=null,this.setState({isShow:!1}))}),1e4)))}))}render(){let t=this.props.store.matchAccount();var e=this.state.isShow?"":"typing--hidden";let s=i.Z.get(this.state.ev,"by.display_id",i.Z.get(this.state.ev,"by.id")),r=i.Z.getAgentDisplayName(t,this.props.store.matchAgent(s));return(0,o.h)("div",{class:`typing ${e}`},r," ",this.props.t("typing"))}}function J(t,e){return Math.abs(t-e)<=.001}class N extends r.M{constructor(t){var e,s;super(t),s={hide:!0,ratingHeight:0,overlayOpacity:.3,comment:""},(e="state")in this?Object.defineProperty(this,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):this[e]=s,this.refComment=(0,o.Vf)(),this.refRating=(0,o.Vf)(),this.refHandle=(0,o.Vf)()}componentDidMount(){this.props.store.onUpdate(this,(()=>{this.shoudDisplay()&&this.open()})),this.props.store.onConvoEvent(this,(t=>{i.Z.convoOfEv(t)===this.props.cid&&this.shoudDisplay()&&this.open()})),this.mouseUp=t=>this.onMouseUp(t),this.mouseMove=t=>this.onMouseMove(t),this.mouseDown=t=>this.onMouseDown(t);var t=this.refHandle.current;t.addEventListener("mousedown",this.mouseDown,{passive:!0}),t.addEventListener("touchstart",this.mouseDown,{passive:!0}),window.addEventListener("mouseup",this.mouseUp,{passive:!0}),window.addEventListener("touchend",this.mouseUp,{passive:!0}),window.addEventListener("mousemove",this.mouseMove,{passive:!0}),window.addEventListener("touchmove",this.mouseMove,{passive:!0}),this.animation=new class{constructor(t){this.duration=t.duration||100,this.breakingV=t.breakingV||7,this.maxY=t.maxY||500,this.minY=t.minY||0}play(t,e,s){var r;this.stop();var o=a=>{a||(a=(new i.Z.Date).getTime());var n=a-r,[l,p]=this.calcY(t,e,n);if(s(l),p)return this.stop();this.animationframe=window.requestAnimationFrame(o)};this.animationframe=window.requestAnimationFrame((t=>{r=t||(new i.Z.Date).getTime(),o(r)}))}calcY(t,e,s){var i,r=function(t,e,s,i){if(J(t,e))return t;var r=t+(e-t)/i*s;return(t<e&&r>e||e<t&&r<e)&&(r=e),r}(e,i=e>this.maxY?this.maxY:e<this.minY?this.minY:Math.abs(t)<this.breakingV?Math.abs(this.maxY-e)<Math.abs(this.minY-e)?this.maxY:this.minY:t<0?this.maxY:this.minY,s,this.duration);return[r,J(r,i)]}stop(){window.cancelAnimationFrame(this.animationframe)}}({maxY:400,minY:0,duration:150}),this.close(),(this.shoudDisplay()||"rating"===this.props.forceView)&&this.open()}componentWillUnmount(){var t=this.refHandle.current;t.removeEventListener("mousedown",this.mouseDown,0),t.removeEventListener("touchstart",this.mouseDown,0),window.removeEventListener("mouseup",this.mouseUp,0),window.removeEventListener("touchend",this.mouseUp,0),window.removeEventListener("mousemove",this.mouseMove,0),window.removeEventListener("touchmove",this.mouseMove,0)}render(){let t=this.state.hide?"d-none":"";return(0,o.h)("div",{class:t},(0,o.h)("div",{class:"rating--overlay",style:`opacity: ${.5*this.state.overlayOpacity} !important;`}),(0,o.h)("div",{class:"rating",ref:this.refRating,style:`color:red; height: ${this.state.ratingHeight}px !important;`},(0,o.h)("div",{class:"rating--handle",ref:this.refHandle},(0,o.h)("div",{class:"rating--thumb"})),(0,o.h)("div",{class:"rating--content"},(0,o.h)("div",{class:"rating--heading"},this.props.t("rating_title"),(0,o.h)("div",{class:"rating--close-btn",onClick:t=>this.onCloseRating(t)})),(0,o.h)("div",{class:"rating--description"},this.props.t("rating_description")),(0,o.h)("textarea",{ref:this.refComment,type:"text",class:"rating--comment"}),(0,o.h)("div",{class:"rating-faces-container"},(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingPoor(t)},(0,o.h)("img",{alt:"poor",src:s(8367)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("poor"))),(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingAverage(t)},(0,o.h)("img",{alt:"average",src:s(6535)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("average"))),(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingGreat(t)},(0,o.h)("img",{alt:"great",src:s(3824)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("great")))),(0,o.h)("div",{class:"rating-no-thanks",onClick:t=>this.onCloseRating(t)},this.props.t("no_thanks")))))}shoudDisplay(){if(!this.props.cid)return!1;var t,e,s;let r=this.props.store.matchUser();if(i.Z.map(this.props.store.listEvents(this.props.cid),(o=>{"conversation_state_updated"===i.Z.get(o,"type")&&"ended"===i.Z.get(o,"data.conversation.state")&&(s=o),"conversation_rating_requested"===i.Z.get(o,"type")&&(t=o),"conversation_rated"===i.Z.get(o,"type")&&i.Z.get(o,"by.id")===r.id&&(e=o)})),e)return!1;var o=this.props.plugin.chatbox.auto_request_rating&&s;return t||o}onCloseRating(){this.props.onRate&&this.props.onRate({no_rating:!0,comment:this.refComment.current.value}),this.close()}onRatingPoor(){this.props.onRate&&this.props.onRate({rating:1,comment:this.refComment.current.value}),this.close()}onRatingAverage(){this.props.onRate&&this.props.onRate({rating:3,comment:this.refComment.current.value}),this.close()}onRatingGreat(){this.props.onRate&&this.props.onRate({rating:5,comment:this.refComment.current.value}),this.close()}open(){if(this.state.hide&&(this.setState({hide:!1}),this.refRating.current)){setTimeout((()=>{this.refComment.current&&this.refComment.current.focus()}),400),this.refComment.current.value="";var t=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),e=parseFloat(t.height);this.animation.play(-20,e,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)})}))}}close(){if(!this.state.hide&&this.refRating.current){var t=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),e=parseFloat(t.height);this.animation.play(20,e,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)}),t<10&&(this.state.hide||this.setState({hide:!0}))}))}}onMouseDown(t){this.mousePushed=!0,this.animation.stop(),t.preventDefault(),t.touches&&t.touches[0]&&(t=t.touches[0]),this.mousePushedDy=t.pageY-window.pageYOffset-this.refRating.current.getBoundingClientRect().y}onMouseUp(t){if(this.mousePushed){t.touches&&t.touches[0]&&(t=t.touches[0]),this.mousePushed=!1;var e=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),s=parseFloat(e.height);this.animation.play(this.mouseVelocity,s,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)}),t<10&&(this.state.hide||(this.setState({hide:!0}),this.props.onRate&&this.props.onRate({no_rating:!0})))}))}}onMouseMove(t){if(this.mousePushed){t.touches&&t.touches[0]&&(t=t.touches[0]);var e=t.pageY;this.mouseVelocity=e-this.lastMouseY,this.lastMouseY=e,e-=this.mousePushedDy;var s=this.refRating.current.getBoundingClientRect().bottom-e;s>400&&(s=500-1e4/(s+-300)),this.setState({ratingHeight:s,overlayOpacity:Math.min(1,(s-0)/500)})}}}var X=s(9737),K=s(8909),Q=s(29);const tt="https://file-subiz.com/fiqoahedjbgwclpouoml-avatar_default_baa8a1d7.png";class et extends r.M{constructor(t){super(t),this.userSent={},this.setState({creating:!1,clickedJoin:!1,formData:{}}),this.props.store.onUpdate(this,(t=>this.forceUpdate()))}componentDidMount(){this.props.store.isMobile()||this.focusInput()}componentDidUpdate(t){t.isShow!==this.props.isShow&&(this.props.isShow&&!this.props.store.isMobile()&&this.focusInput(),this.props.isShow&&this.props.store.isMobile()&&this.blur()),t.cid!==this.props.cid&&(this.setState({clickedJoin:!1}),setTimeout((()=>{this.events&&this.events.focus(),this.props.store.isMobile()||this.focusInput()}),100)),this.updateFormDataFields()}shouldShowForm(){let t=this.isFormRequired();return t&&!this.props.cid||t&&this.props.cid&&this.state.clickedJoin}render(){this.isFormRequired();let t,e=this.shouldShowForm(),s=this.props.plugin.chatbox||{},r=this.props.store.matchAccount()||{},a=this.props.t("prechat_form_btn");i.Z.get(s,"prechat_form.enabled")&&(t=s.prechat_form);let n=i.Z.get(s,"offline_form.enabled");this.isOffline(r,s)&&n&&(t=s.offline_form,a=this.props.t("offline_form_btn")),"offline_form"===this.props.view&&(e=!0,t=s.offline_form,a=this.props.t("offline_form_btn")),"prechat_form"===this.props.view&&(e=!0,t=s.prechat_form,a=this.props.t("prechat_form_btn"));let l=null;l="list"===this.props.view?this.renderConvoList():e?this.renderForm(t,a):this.renderChat();let p=i.Z.get(s,"desktop_button.position")||"right";this.props.store.isMobile()&&(p=i.Z.get(s,"mobile_button.position",p));let h="widget-container widget-container--"+p;return this.props.isShow||(h+=" widget-container--hide"),(0,o.h)("div",{class:h},(0,o.h)(v,{t:this.props.t,plugin:this.props.plugin,store:this.props.store,cid:this.props.cid,view:this.props.view,onClose:this.props.onClose,onGotoList:()=>this.props.onGo({view:"list"})}),l)}async submitPrechatForm(t){var e=!1;if(i.Z.map(this.state.formData,((t,s)=>{t.is_required&&(void 0===t.value||""===t.value||0===i.Z.size(t.value)&&Array.isArray(t.value))?(t.error=this.props.t("error_empty"),e=!0):t.error="","emails"===s.substr(5)&&!i.Z.isEmail(t.value)&&t.is_required&&(t.error=this.props.t("error_email_invalid"),e=!0),"phones"===s.substr(5)&&!i.Z.isPhone(t.value)&&t.is_required&&(t.error=this.props.t("error_phone_invalid"),e=!0)})),e)return this.forceUpdate();let s=i.Z.cloneDeep(this.state.formData),r=i.Z.cloneDeep(this.props.store.matchUser());i.Z.map(s,((t,e)=>{if(e.startsWith("attr:")){var s={key:e.substr(5)};"number"===t.type&&(s.number=parseInt(t.value)),"datetime"===t.type&&(s.datetime=new i.Z.Date(t.value).toISOString()),"list"===t.type&&(s.list=t.value),"text"!==t.type&&"boolean"!==t.type||(s[t.type]=t.value),i.Z.setUserAttr(r,s)}}));let o=i.Z.get(s,"question.value"),a=i.Z.get(s,"group.value","");if(this.props.cid)return this.props.store.setUser(r),this.setState({clickedJoin:!1}),await this.props.store.sendConvoEvent(this.props.cid,"message_sent",{message:{text:o,format:"plaintext",fields:[{key:"to_agent_group",value:i.Z.stringify(a)}]}}),void(t.end_conversation_after_submit&&await this.props.store.endConvo(this.props.cid));this.setState({creating:!0});let n={text:o,format:"plaintext"},l={group_id:a,message:o,locale:this.props.t.locale(),initial_by:r.id};this.setState({creatingError:null});const{error:p,convo:h}=await this.props.store.startConvo(l);if(this.props.store.setUser(r),p)return void this.setState({creating:!1,creatingError:p});let c=h.id;this.userSent[c]=!0,this.props.onGo({view:"chat",cid:c}),this.props.store.sendConvoEvent(c,"message_sent",{message:n}),this.setState({creating:!1,clickedJoin:!1}),this.props.store.isMobile()||this.focusInput()}formMounted(t){let e=this.fillForm(t);e.question={key:"question",is_required:!0,label:this.props.t.i18n(i.Z.get(t,"i18n_question_label",{}))||t.question_label,type:"text"},this.setState({formData:e}),this.props.store.isMobile()||this.focusInput()}onBooleanChange(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=e.target.checked,this.setState({formData:s}))}onInputChange(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=e,this.setState({formData:s}))}onListAddItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=r.value||[],r.value.push(e),this.setState({formData:s}))}onListRemoveItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=r.value||[],r.value.splice(e,1),this.setState({formData:s}))}renderFields(){if(0===i.Z.size(this.state.formData))return null;let t=i.Z.map(this.state.formData,((t,e)=>{let s=null;var r=t.error?"input--error":"";if("text"===t.type)s="question"===e?(0,o.h)("textarea",{class:"form-control",ref:t=>{this["form_"+it(e)]=t},value:t.value||"",onInput:t=>this.onInputChange(e,t.target.value),row:"4",class:"form-control"}):(0,o.h)("input",{value:t.value||"",onInput:t=>this.onInputChange(e,t.target.value),ref:t=>{this["form_"+it(e)]=t},class:`form-control ${r}`,type:"text"});else if("number"===t.type)s=(0,o.h)("input",{value:t.value,onInput:t=>this.onInputChange(e,t.target.value),ref:t=>{this["form_"+it(e)]=t},class:`form-control ${r}`,type:"number"});else if("boolean"===t.type)s=(0,o.h)("div",{class:"checkbox"},(0,o.h)("input",{type:"checkbox",id:"form-checkbox"+it(e),onInput:t=>this.onBooleanChange(e,t),checked:t.value}),(0,o.h)("label",{class:"checkbox--label",for:"form-checkbox"+it(e)},t.label),(0,o.h)("div",{class:"checkbox--check"},(0,o.h)("div",null)));else if("group"===t.type)s=i.Z.map(t.list,(s=>(0,o.h)("div",{class:"radio"},(0,o.h)("input",{type:"radio",id:"form-radio"+it(e)+it(s.value),checked:t.value===s.value,onInput:t=>this.onInputChange(e,s.value)}),(0,o.h)("label",{class:"radio--label",for:"form-radio"+it(e)+it(s.value)},s.label),(0,o.h)("div",{class:"radio--check"},(0,o.h)("div",{class:"inside"})))));else if("list"===t.type){let r=this.state.formData[e].value||[],a=i.Z.filter(i.Z.get(t,"list",[]),(t=>!i.Z.includes(r,t)));s=(0,o.h)(x,{selected:r,items:a,onAddItem:t=>this.onListAddItem(e,t),onRemoveItem:t=>this.onListRemoveItem(e,t)})}else"datetime"===t.type&&(s=(0,o.h)("input",{value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"date"}));let a="";return"fullname"===t.key?a=this.props.t("fullname"):"emails"===t.key?a=this.props.t("email"):"phones"===t.key?a=this.props.t("phones"):"question"===t.key&&(a=t.label||this.props.t("your_question")),t.label&&(a=t.label),(0,o.h)("div",null,(0,o.h)("div",{class:"label"},a,t.is_required?(0,o.h)("span",{class:"ml-1 red"},"*"):""),t.error?(0,o.h)("div",{class:"form-control--valid-input--error"},t.error):"",s)}));return(0,o.h)("div",{class:"pt-2"},t)}renderForm(t,e){let s=null;this.state.creating&&(s=(0,o.h)("span",{class:"ml-2"},(0,o.h)(W,{size:"16",mode:"white"})));let r=this.props.t.i18n(i.Z.get(t,"i18n_title",{}));return r||(r=i.Z.get(t,"title",this.props.t("capture_lead_title"))),r=r.replace("↵",""),(0,o.h)("div",{class:"widget-body"},(0,o.h)(st,{form:t,onMount:t=>this.formMounted(t)}),(0,o.h)("div",{class:"widget-body--content flex-grow-1 pl-3 pr-3 d-flex flex-column"},(0,o.h)("div",{class:"flex-grow-1"},(0,o.h)("div",{class:"form mt-3 pl-3 pr-3 pt-3 pb-3 d-flex flex-column"},(0,o.h)("div",null,r),this.renderFields())),(0,o.h)(m,{store:this.props.store,t:this.props.t})),(0,o.h)("div",{class:"message-input message-input--preform"},(0,o.h)("button",{class:"btn--start-convo",onClick:e=>this.submitPrechatForm(t)},e," ",s)))}goToConvo(t){this.props.onGo({view:"chat",cid:t})}renderConvoList(){let t=this.props.store.matchConvo("*");var e=i.Z.map(t,(t=>this.props.store.matchConvo(t.id)));e=i.Z.filter(e,(t=>!!t)),e=i.Z.orderBy(e,"created","desc");var s=i.Z.map(e,(t=>{let e=i.Z.filter(t.members,(t=>("agent"===t.type||"bot"===t.type)&&"active"===t.membership)),s=i.Z.map(e,(t=>t.id));return s=s||i.Z.agentsOfConvo(t)[0],(0,o.h)("div",{class:"convo-list--item",onClick:()=>this.goToConvo(t.id),key:t.id},(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"member",class:"d-flex flex-row",tooltipPos:"right",agent_ids:s}),this.renderConvoSummary(t))}));let r=(0,o.h)("div",{class:"convo-list--list"},s);return 0===i.Z.size(e)&&(r=(0,o.h)("div",{class:"convo-list--list"},(0,o.h)("div",{class:"empty-container"},(0,o.h)("img",{alt:"empty",src:Q}),(0,o.h)("div",{class:"empty-desc"},this.props.t("empty_convo"))))),(0,o.h)("div",{class:"convo-list"},(0,o.h)("div",{class:"convo-list--container"},(0,o.h)("div",{class:"convo-list--title"},this.props.t("conversations")),r),(0,o.h)("div",{class:"convo-list--footer"},(0,o.h)("button",{class:"btn--start-convo",onClick:t=>this.goToConvo("")},(0,o.h)("span",null,this.props.t("start_conversation")),(0,o.h)("img",{src:X,alt:"send button",width:"26",height:"26"})),(0,o.h)(m,{store:this.props.store})))}blur(){if(!this.props.store.isPreview){var t=this.msgInput;t&&(setTimeout((()=>t&&t.blur())),setTimeout((()=>t&&t.blur()),300))}}focusInput(){if(!this.props.store.isPreview){if(this.shouldShowForm()){let t="";return i.Z.map(this.state.formData,((e,s)=>{"text"===e.type&&(t||e.value||(t=s))})),void setTimeout((()=>{var e=this["form_"+it(t)];e&&e.focus()}),300)}var t=this.msgInput;t&&(setTimeout((()=>t.focus())),setTimeout((()=>t.focus()),300))}}onRate(t){this.props.cid&&(this.props.store.sendConvoEvent(this.props.cid,"conversation_rated",{conversation:{ratings:[t]}}),this.focusInput())}async sendMessage(t){let e=t.text;if(!this.props.cid){this.creating=!0;const{convo:s,error:i}=await this.props.store.startConvo({locale:this.props.t.locale(),message:e,initial_by:this.props.store.matchUser().id});return this.creating=!1,this.props.store.sendConvoEvent(s.id,"message_sent",{message:t}),void this.props.onGo({view:"chat",cid:s.id})}this.props.store.sendConvoEvent(this.props.cid,"message_sent",{message:t})}createPostback(t){this.props.store.createPostback(this.props.cid,t)}renderChat(){let t=(0,o.h)(b,{store:this.props.store,ref:t=>this.msgInput=t,cid:this.props.cid,onSend:t=>this.sendMessage(t),t:this.props.t}),e=this.props.store.matchConvo(this.props.cid)||{};return(this.isFormRequired()||"ended"===e.state)&&(t=(0,o.h)("div",{class:"message-input message-input--preform"},(0,o.h)("button",{class:"btn--start-convo",onClick:t=>this.onStartConvoClick(t)},this.props.t("offline_preform_btn")))),(0,o.h)("div",{class:"widget-body"},(0,o.h)("div",{class:"widget-body--content",onClick:t=>this.onContainerClick(t)},(0,o.h)(H,{isShow:this.props.isShow,store:this.props.store,onFormSubmit:t=>this.onEventFormSubmit(t),ref:t=>this.events=t,cid:this.props.cid,creating:this.creating,onSend:t=>this.sendMessage(t),onPostback:t=>this.createPostback(t),t:this.props.t}),(0,o.h)(G,{store:this.props.store,cid:this.props.cid,t:this.props.t})),(0,o.h)(N,{forceView:this.props.view,plugin:this.props.plugin,store:this.props.store,onRate:t=>this.onRate(t),cid:this.props.cid,t:this.props.t}),t)}async onStartConvoClick(){if("ended"===(this.props.store.matchConvo(this.props.cid)||{}).state)return this.props.onGo({view:"chat",cid:""});this.setState({clickedJoin:!0})}onEventFormSubmit(){this.focusInput()}onContainerClick(){window.getSelection().toString().length>0||this.props.store.isMobile()||this.focusInput()}isFormRequired(){let t,e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount()||{};i.Z.get(e,"prechat_form.enabled")&&(t=e.prechat_form);let r=i.Z.get(e,"offline_form.enabled");if(this.isOffline(s,e)&&r&&(t=e.offline_form),!t)return!1;let o=this.fillForm(t),a=this.props.store.matchConvo(this.props.cid)||{};return"ended"===a.state||!this.userHasSent(this.props.cid)&&(a.state&&"pending"!==a.state&&delete o.group,!!i.Z.find(o,(t=>null==t.value||""===t.value)))}renderConvoSummary(t){let e=this.props.store.matchAgent("*"),s=i.Z.filter(t.members,(t=>("agent"===t.type||"bot"===t.type)&&"active"===t.membership)),r=i.Z.map(s,(t=>t.id));r=r||i.Z.agentsOfConvo(t)[0];let a=i.Z.map(r,(t=>e[t]||{avatar_url:tt,fullname:"Offline Agent"}));var n=i.Z.each(a,(t=>t.fullname)).join(", ");n||(n=this.props.store.matchAccount().name),n||(n=this.props.t("agent"));var l=null;"user"===t.lastSenderType&&(l=(0,o.h)("span",{class:"yourmessage"},this.props.t("you"),":"));let p=i.Z.isConvoSeen(t,this.props.store.matchUser().id);var h=this.renderMessagePreview(t.last_message_sent||{data:{message:i.Z.get(t,"last_message")}}),c=i.Z.getMs(i.Z.get(t,"last_message_sent.created"))||i.Z.getMs(i.Z.get(t,"last_sent.created"))||i.Z.getMs(t.created),d=(0,o.h)(B,{ago:!0,time:c,key:c,short:!0});let u=p?null:(0,o.h)("div",{class:"convo-list--item-unread"});return"ended"===t.state&&(u=(0,o.h)("img",{alt:"conversation ended",class:"convo-list--convo-completed",src:K,title:this.props.t("conversation_ended")})),(0,o.h)("div",{class:"convo-list--convo-last-info"},(0,o.h)("div",{class:"d-flex flex-row"},(0,o.h)("div",{class:"convo-list--convo-name"},n),(0,o.h)("div",{class:"convo-list--convo-time"},d)),(0,o.h)("div",{class:"d-flex flex-row"},(0,o.h)("div",{class:"convo-list--convo-last-message"},l,h),u))}agentsOfConvo(t){let e=this.props.store.matchAgent("*");var s=i.Z.agentsOfConvo(t,!0);return i.Z.map(s,(t=>e[t]||{avatar_url:tt,fullname:"Offline Agent"}))}renderMessagePreview(t){let e=this.props.t("sent_you_a_message"),s=i.Z.get(t,"data.message.text");if("plaintext"!==i.Z.get(t,"data.message.format")&&(s=e),!s&&i.Z.size(i.Z.get(t,"data.message.attachments"))>0&&(s=e),!s)return null;let r=i.Z.get(t,"by.type");return(0,o.h)("div",{class:"convo-list--convo-last-mes"},i.Z.map(i.Z.extractText(s),(t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:r}):t.text)))}userHasSent(t){var e=this.props.store.matchConvo(t)||{};let s=this.props.store.matchUser();return!!this.userSent[t]||i.Z.find(e.members,(t=>t.id===s.id&&("active"===t.membership||t.last_sent>0)))}isOffline(t,e){let s=i.Z.get(e,"offline_form.enable_when"),r=!0;return"all_agents_offline"===s&&(r=t.is_online),"out_of_bussiness_hour"===s&&(r=t.is_in_business_hour),!r}updateFormDataFields(){let t,e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount()||{};i.Z.get(e,"prechat_form.enabled")&&(t=e.prechat_form);let r=i.Z.get(e,"offline_form.enabled");if(this.isOffline(s,e)&&r&&(t=e.offline_form),"offline_form"===this.props.view&&(t=e.offline_form),"prechat_form"===this.props.view&&(t=e.prechat_form),0===i.Z.size(t))return[];var o={};i.Z.each(t.fields,(t=>{var e=Object.assign({},t);"list"===t.type&&(e.list=t.list),e.label=this.props.t.i18n(i.Z.get(t,"i18n_label",{}))||t.label,o["attr:"+t.key]=e})),t.group_required&&i.Z.size(t.groups)>0&&(o.group={key:"group",is_required:!!t.group_required,label:this.props.t.i18n(i.Z.get(t,"i18n_group_label",{}))||t.group_label,type:"group",list:i.Z.map(t.groups,(t=>({value:t.id,label:t.name})))}),o.question={key:"question",is_required:!0,label:this.props.t.i18n(i.Z.get(t,"i18n_question_label",{}))||t.question_label,type:"text"},this.isFormChanged(this.state.formData,o)&&this.setState({formData:o})}isFormChanged(t,e){let s=Object.keys(t),r=Object.keys(e);if(s.length!==r.length)return!0;for(let o=0;o<s.length;o++){if(i.Z.get(t,`${s[o]}.label`)!==i.Z.get(e,`${r[o]}.label`))return!0;if(i.Z.get(t,`${s[o]}.is_required`)!==i.Z.get(e,`${r[o]}.is_required`))return!0;if(i.Z.stringify(i.Z.get(t,`${s[o]}.list`))!==i.Z.stringify(i.Z.get(e,`${r[o]}.list`)))return!0}return!1}fillForm(t){if(0===i.Z.size(t))return[];var e={};let s=this.props.store.matchUser();return i.Z.each(t.fields,(t=>{var r=Object.assign({},t);r.value=i.Z.getUserAttr(s,t.key,t.type),"boolean"!==t.type||r.value||(r.value=!1),"datetime"===t.type&&r.value&&(r.value=new i.Z.Date(e.value).toLocaleDateString("en-CA")),"list"===t.type&&(r.list=t.list),r.label=this.props.t.i18n(i.Z.get(t,"i18n_label",{}))||t.label,e["attr:"+t.key]=r})),t.group_required&&i.Z.size(t.groups)>0&&(e.group={key:"group",is_required:!!t.group_required,label:this.props.t.i18n(i.Z.get(t,"i18n_group_label",{}))||t.group_label,type:"group",list:i.Z.map(t.groups,(t=>({value:t.id,label:t.name})))}),e}}class st extends r.M{componentDidMount(){this.props.onMount(this.props.form)}}function it(t){return btoa(t).split("=").join("")}let rt=s.e(178).then(s.bind(s,178));class ot extends r.M{constructor(t){super(t),this.refButton=(0,o.Vf)()}async refreshCSS(){let t=this.props.store.matchPlugin();if(!i.Z.find(t,(t=>t.id===this.props.plugin.id)))return;let e=(await rt).default.default.toString();var s=i.Z.replaceCssVariable(e,this.props.plugin.chatbox);i.Z.setCss(this.props.plugin.id,this.$cssStyleDiv,s)}componentWillUnmount(){i.Z.setCss(this.props.plugin.id,this.$cssStyleDiv,"")}async componentDidMount(){if(this.$cssStyleDiv=document.getElementById("subiz-style-for-"+this.props.plugin.id),this.$cssStyleDiv||(this.$cssStyleDiv=document.createElement("style"),document.head.appendChild(this.$cssStyleDiv),this.$cssStyleDiv.type="text/css",this.$cssStyleDiv.id="subiz-style-for-"+this.props.plugin.id),this.setState({cssready:!1,isShowWidget:!1,widgetView:"",widgetConvoId:""}),this.checkExpand(),this.props.store.onResetCSS(this,(()=>this.refreshCSS())),this.props.store.onConvoEvent(this,(t=>this.checkExpand())),this.props.store.onUpdate(this,(t=>this.checkExpand())),await this.refreshCSS(),this.setState({cssready:!0}),this.props.store.matchIsOpen()&&this.props.store.matchLastview().view){if(this.props.store.isMobile())return;this.showWidget(Object.assign({},this.props.store.matchLastview().opts,{view:this.props.store.matchLastview().view}))}else this.hideWidget()}render(){if(!this.state.cssready)return null;if(i.Z.isUserBanned(this.props.store.matchUser()))return null;if(!this.props.t)return null;var t=this.props.store.isMobile()?"mobile":"desktop";return(0,o.h)("div",{class:t},(0,o.h)(p,{plugin:this.props.plugin,store:this.props.store,key:"chat_button",ref:this.refButton,isShow:!this.state.isShowWidget,onClick:t=>this.showWidget(t),t:this.props.t}),(0,o.h)(et,{plugin:this.props.plugin,store:this.props.store,view:this.state.widgetView,cid:this.state.widgetConvoId,isShow:this.state.isShowWidget,onClose:t=>this.onWidgetClose(t),onGo:t=>this.showWidget(t),t:this.props.t}))}checkExpand(){if(this.props.store.isMobile())return;if(this.props.plugin._no_auto_expand)return;if(this.props.store.matchHasManuallyClosed())return;let t=this.props.store.matchConvo("*"),e=i.Z.find(t,(t=>!i.Z.isConvoSeen(t,this.props.store.matchUser().id)));e&&e.id&&(this.state.isShowWidget||this.showWidget({view:"chat",cid:e.id}))}getCurrentView(){return{is_show_widget:this.state.isShowWidget,conversation_id:this.state.widgetConvoId,view:this.state.widgetView}}async showWidget(t){if(this.refButton.current&&this.refButton.current.ClearPreview(),!t.view){let e=this.props.store.matchLastview()||{};t.view=i.Z.get(e,"view"),t.cid=i.Z.get(e,"opts.cid")}t=t||{},this.props.store.isMobile()&&function(){let t=document.createElement("meta");t.httpEquiv="X-UA-Compatible",t.name="viewport",t.id="subiz-meta-viewport",t.content="maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0",document.getElementsByTagName("head")[0].appendChild(t)}(),this.setState({widgetConvoId:t.cid,widgetView:t.view}),this.props.store.setIsOpen(!0),this.forceUpdate(),this.setState({isShowWidget:!0}),this.props.store.setLastview(t.view,{cid:t.cid})}showGreeting(){this.refButton.current&&this.refButton.current.ShowGreeting()}hideGreeting(){this.refButton.current&&this.refButton.current.HideGreeting()}hideWidget(){!function(){let t=document.getElementById("subiz-meta-viewport");t&&t.remove()}(),this.props.store.setIsOpen(!1),this.setState({isShowWidget:!1})}onWidgetClose(){this.refButton.current&&this.refButton.current.ClearPreview(),this.props.store.setHasManuallyClosed(),this.hideWidget()}}},2493:(t,e,s)=>{"use strict";s.d(e,{M:()=>r,u:()=>o});var i=s(6400);s(819);class r extends i.wA{constructor(t){super(t),this._isMounted=!0,setTimeout((()=>{if(this.componentWillUnmount){let t=this.componentWillUnmount.bind(this);this.componentWillUnmount=()=>{t(),this._isMounted=!1}}}),10)}}class o extends r{constructor(t){super(t),this.setWrapperRef=this.setWrapperRef.bind(this),this.onClick=this.onClick.bind(this)}componentDidMount(){document.addEventListener("mousedown",this.onClick)}componentWillUnmount(){document.removeEventListener("mousedown",this.onClick)}setWrapperRef(t){this.wrapperRef=t}onClick(t){this.wrapperRef&&!this.wrapperRef.contains(t.target)&&this.props.onClickaway&&this.props.onClickaway()}render(){return(0,i.h)("div",{ref:this.setWrapperRef},this.props.children)}}},6755:(t,e,s)=>{t.exports=s.p+"assets/img/bubble_default.7d5e4ab.svg"},6188:(t,e,s)=>{t.exports=s.p+"assets/img/convos_empty.2353007.svg"},9270:(t,e,s)=>{t.exports=s.p+"assets/img/default.06e6ee0.jpg"},4761:(t,e,s)=>{t.exports=s.p+"assets/img/default_avatar.5b74dc1.png"},8909:(t,e,s)=>{t.exports=s.p+"assets/img/done_gray.d7e8203.svg"},29:(t,e,s)=>{t.exports=s.p+"assets/img/empty.29bed2d.svg"},8453:(t,e,s)=>{t.exports=s.p+"assets/img/external-link.90577cc.svg"},9895:(t,e,s)=>{t.exports=s.p+"assets/img/image_default.be0698b.png"},6484:(t,e,s)=>{t.exports=s.p+"assets/img/loading_static.8f403ae.svg"},6535:(t,e,s)=>{t.exports=s.p+"assets/img/rating--average.1ea492c.svg"},3824:(t,e,s)=>{t.exports=s.p+"assets/img/rating--great.e3d712e.svg"},8367:(t,e,s)=>{t.exports=s.p+"assets/img/rating--poor.2938a25.svg"},9737:(t,e,s)=>{t.exports=s.p+"assets/img/send.6db52a9.svg"},8430:(t,e,s)=>{t.exports=s.p+"assets/img/subiz-mono.877e9f5.svg"}}]);
1
+ (self.webpackChunk_subiz_widget_v4=self.webpackChunk_subiz_widget_v4||[]).push([[74],{1074:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>ot});var i=s(819),r=s(2493),o=s(6400);class a extends r.M{render(){var t=this.props.emojiCode;if(i.Z.size(t)<3)return null;var e=t.replace(/:/g,"");return(0,o.h)("i",{"data-tooltip":t,class:`emoji emoji--${e}`})}}var n=s(6755);let l=s(4761);class p extends r.M{constructor(t){super(t),this.setState({opacity:0,previewEvent:{},displayPreview:!1}),this.loadGreeting(),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>{if("message_sent"!==i.Z.get(t,"type"))return;let e=i.Z.get(t,"by.type");if("system"!==e&&"agent"!==e)return;let s=!1;i.Z.map(i.Z.get(t,"data.message.attachments",[]),(t=>{t&&"quick_replies"===t.type&&(s=!0)})),s||this.setState({displayPreview:!0,previewEvent:t})}))}fixMissingSetting(t){return t=i.Z.cloneDeep(t),i.Z.get(t,"desktop_button.background_image_url")&&(t.desktop_button.background_image_url=this.props.store.replaceFileUrl(t.desktop_button.background_image_url)),i.Z.get(t,"desktop_button.background_mask_url")&&(t.desktop_button.background_mask_url=this.props.store.replaceFileUrl(t.desktop_button.background_mask_url)),i.Z.get(t,"mobile_button.background_image_url")&&(t.mobile_button.background_image_url=this.props.store.replaceFileUrl(t.mobile_button.background_image_url)),i.Z.get(t,"mobile_button.background_mask_url")&&(t.mobile_button.background_mask_url=this.props.store.replaceFileUrl(t.mobile_button.background_mask_url)),t}render(){let t=this.props.plugin.chatbox,e=i.Z.get(t,"desktop_button.position")||"right";if(this.props.store.isMobile()&&(e=i.Z.get(t,"mobile_button.position")||e,i.Z.get(t,"mobile_button.hidden")))return null;if(i.Z.get(t,"desktop_button.hidden"))return null;let s="widget-layout widget-layout--"+e,r=this.state.opacity;return this.props.isShow||(s+=" widget-layout--hidden",r=0),(0,o.h)("div",{class:s,style:"opacity: "+r+" !important"},this.renderPreview(),this.renderButton())}ClearPreview(){this.setState({previewEvent:{}})}ShowGreeting(){let t=i.Z.get(this.props.plugin,"chatbox.greeting",{}),e=this.props.store.matchAgent("*"),s=t.agent_id;s||(s=function(t){var e=i.Z.filter(t,(t=>"agent"===t.type));return e[Math.floor(Math.random()*i.Z.size(e))]||{}}(e).id);let r=this.props.t.i18n(i.Z.get(t,"greeting",{}))||t.message;this.setState({previewEvent:{by:{id:s,type:"agent"},data:{message:{text:r,format:"plaintext"}}},displayPreview:!0})}HideGreeting(){this.setState({previewEvent:{}})}loadGreeting(){let t=this.props.plugin.chatbox;if((new i.Z.Date).getTime()-this.props.store.matchClosePreviewAt()<h)return;let e=i.Z.get(t,"greeting",{});e.message&&e.enabled?this.ShowGreeting():this.setState({previewEvent:{}})}onClick(){let t=this.props.store.matchLastview();return i.Z.get(t,"view")&&("list"!==t.view||i.Z.size(this.props.store.matchConvo("*"))>0)?this.props.onClick&&this.props.onClick(Object.assign({},t.opts,{view:t.view})):this.onPreviewClick()}onPreviewClick(t){let e=i.Z.convoOfEv(this.state.previewEvent);if(!e){let t=i.Z.map(this.props.store.matchConvo("*")),s=i.Z.find(t,(t=>!i.Z.isConvoSeen(t,this.props.store.matchUser().id)));s||(s=t[0]||{}),e=s.id}this.closePreview(t),this.props.onClick&&this.props.onClick({view:"chat",cid:e})}renderUnread(){let t=this.props.store.matchUnread();return 0===t?null:(0,o.h)("div",{class:"chat-button--unread"},t)}renderPreview(){let t=this.props.store.matchAccount(),e=this.props.plugin.chatbox,s=i.Z.get(this.state.previewEvent,"by.display_id",i.Z.get(this.state.previewEvent,"by.id")),r=i.Z.cloneDeep(this.props.store.matchAgent(s))||{};r.fullname=r.fullname||i.Z.get(t,"name")||this.props.t("agent"),r.avatar_url=r.avatar_url||l;let a=i.Z.get(e,"desktop_button.position")||"right";this.props.store.isMobile()&&(a=i.Z.get(e,"mobile_button.position")||a);let n="widget-preview widget-preview--"+a;this.state.displayPreview||(n+=" widget-preview--hidden");var p=this.renderMessagePreview(this.state.previewEvent,this.props.t("sent_you_a_message"));return 0===i.Z.size(p)&&(n+=" widget-preview--hidden"),(0,o.h)("div",{class:n},(0,o.h)("div",{class:"widget-preview--body"},(0,o.h)("img",{alt:"widget avatar",class:"widget-preview--avatar",src:this.props.store.replaceFileUrl(r.avatar_url),onError:t=>this.onProfileError(t),onload:t=>this.onProfileReady()}),(0,o.h)("div",{class:"widget-preview--content",onClick:t=>this.onPreviewClick(t)},(0,o.h)("div",{class:"widget-preview--title"},r.fullname),(0,o.h)("p",{class:"widget-preview--message"},p)),(0,o.h)("div",{class:"widget-preview--btn-close",onClick:t=>this.closePreview(t)})),(0,o.h)("div",{class:"widget-preview--action",onClick:t=>this.onPreviewClick(t)},(0,o.h)("div",{class:"widget-preview--action-text"},this.props.t("chat_now"))))}onProfileReady(){this.state.buttonLoaded&&this.setState({opacity:1}),this.setState({profileLoaded:!0})}onButtonReady(){this.state.profileLoaded&&this.setState({opacity:1}),this.setState({buttonLoaded:!0})}renderButton(){let t=this.props.plugin.chatbox;t=this.fixMissingSetting(t);let e=i.Z.get(t,"desktop_button.background_image_url")||i.Z.get(t,"desktop_button.background_mask_url")||n,s=i.Z.get(t,"background")||d,r=i.Z.get(t,"desktop_button.position")||"right",a=i.Z.get(t,"desktop_button.background_image_url"),l=i.Z.get(t,"desktop_button.background_mask_url");if(this.props.store.isMobile()){e=i.Z.get(t,"mobile_button.background_image_url")||i.Z.get(t,"mobile_button.background_mask_url")||e,r=i.Z.get(t,"mobile_button.position")||r;let s=i.Z.get(t,"mobile_button.background_image_url"),o=i.Z.get(t,"mobile_button.background_mask_url");(s||o)&&(a=s,l=o)}let p="chat-button--white-bg";!a&&l&&(p+=" chat-button--white-bg--mask-only");let h="";a=this.props.store.replaceFileUrl(a),e=this.props.store.replaceFileUrl(e),l=this.props.store.replaceFileUrl(l),a||l||(p+=" chat-button--white-bg--mask-only",h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(c)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(c)}") !important;\n\t\t\t\theight: 70px !important;\n\t\t\t\twidth: 70px !important;\n\t\t\t\tbackground: ${s} !important;\n\t\t\t`),a&&l&&(h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tbackground-image: url("${encodeURI(a)}") !important;\n\t\t\t\tbackground-repeat: no-repeat !important;\n\t\t\t`),a&&!l&&(h=`\n\t\t\t\tbackground-image: url("${encodeURI(a)}") !important;\n\t\t\t\tbackground-repeat: no-repeat !important;\n\t\t\t`),!a&&l&&(h=`\n\t\t\t\t-webkit-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-o-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\t-moz-mask-image: url("${encodeURI(l)}") !important;\n\t\t\t\tmask-image: url("${encodeURI(l)}") !important;\n\t\t\t\theight: 70px !important;\n\t\t\t\twidth: 70px !important;\n\t\t\t\tbackground: ${s} !important;\n\t\t\t`);let u="chat-button chat-button--"+r;return(0,o.h)("div",{class:u,onClick:t=>this.onClick(t)},(0,o.h)("div",{class:p}),(0,o.h)("div",{class:"chat-button--img-container",style:h},(0,o.h)("img",{width:"70",height:"70",alt:"chat button",class:"chat-button--img",onload:()=>this.onButtonReady(),src:e,onError:(t,e)=>this.onChatButtonError(t,e)})),this.renderUnread())}onProfileError(t){t.target.src=l,this.onProfileReady()}onChatButtonError(t){this._onChatButtonErrorExecuted||(this._onChatButtonErrorExecuted=!0,t.target.src=n)}renderMessagePreview(t,e){e=e||"Sent you a message";let s=i.Z.get(t,"data.message.text");var r=i.Z.get(t,"data.message.format");if(r&&"plaintext"!==r&&(s=e),!s&&i.Z.size(i.Z.get(t,"data.message.attachments"))>0&&(s=e),!s)return null;let n=i.Z.get(t,"by.type");return i.Z.extractText(s).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:n}):t.text))}closePreview(t){t&&(t.preventDefault(),t.stopPropagation()),this.setState({displayPreview:!1}),this.props.store.closePreview(),this.forceUpdate()}}const h=18e5,c="https://file-subiz.com/bubble_11.svg",d="linear-gradient(280.16deg, #0053d3 22.03%, #0265ff 78.2%)";var u=s(8430);class m extends r.M{constructor(t){super(t)}render(){if(this.props.store.isMobile())return null;var t=`https://subiz.com.vn/?utm_source=id-${this.props.store.matchUser().account_id}&utm_medium=widget&utm_campaign=widget_referral`;return(0,o.h)("div",{class:"poweredby"},(0,o.h)("a",{href:t,class:"poweredby--text",target:"_blank",rel:"noreferrer"},(0,o.h)("img",{width:"14",height:"10",class:"poweredby--subiz-logo",src:u,alt:"power by"})," Subiz"))}}class g extends r.M{constructor(t){super(t)}render(){let t=this.props.plugin.chatbox,e=this.props.store.matchAgent("*");var r=i.Z.map(this.props.agent_ids,(t=>e[t]));if(void 0===this.props.agent_ids||0===i.Z.size(this.props.agent_ids)){var a=i.Z.get(t,"header.agent_ids",[]);r=0!==(a=i.Z.filter(a,(t=>!!e[t]))).length?i.Z.map(a,(t=>e[t])):i.Z.filter(e,(t=>"agent"===t.type))}r=i.Z.filter(r,(t=>!!t));let n=this.props.store.matchAccount();var l=this.props.tooltipPos||"bottom",p=this.props.mode||"primary";if(0===r.length)return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(n.logo_url)||s(9895)})));if(1===r.length){var h=r[0],c="primary"===p?"group-avatar--agent-middle":"group-avatar--agent-left";return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":h.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,class:`avatar ${c}`,alt:"agent avatar",src:this.props.store.replaceFileUrl(h.avatar_url)||s(4761)})))}if(2===r.length){let t=r[0],e=r[1];return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":t.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(t.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":e.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{alt:"agent avatar right",width:35,height:35,class:"avatar group-avatar--agent-right",src:this.props.store.replaceFileUrl(e.avatar_url)||s(4761)})))}let d=r[0],u=r[1],m=r[2];return(0,o.h)("div",{class:`group-avatar group-avatar--${p}`},(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":d.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar left",class:"avatar group-avatar--agent-left",src:this.props.store.replaceFileUrl(d.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":u.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{alt:"agent avatar middle",width:35,height:35,class:"avatar group-avatar--agent-middle",src:this.props.store.replaceFileUrl(u.avatar_url)||s(4761)})),(0,o.h)("div",{class:"d-inline-block pos-relative","data-tooltip":m.fullname||n.name,"data-tooltip-position":l},(0,o.h)("img",{width:35,height:35,alt:"agent avatar right",class:"avatar group-avatar--agent-right",src:this.props.store.replaceFileUrl(m.avatar_url)||s(4761)})))}}class v extends r.M{constructor(t){super(t)}render(){let t="widget-header",e=!1,s=!1,r="list"!==this.props.view&&!0,a=this.props.plugin.chatbox||{},n=i.Z.get(a,"header.layout");return r?t+=" widget-header--collapsed":(t+=" widget-header--convo-expanded",e="social"===n,s=!e),(0,o.h)("div",{class:t},this.renderCollapsedHeader(r),this.renderSocial(e),this.renderTeam(s))}renderCollapsedHeader(t){let e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount().is_online?this.props.t("agent_online"):this.props.t("agent_offline"),r=i.Z.get(e,"tagline",{}),a=this.props.t.i18n(r)||e.introduction||s,n=i.Z.map(this.getAgentJoined(this.props.cid),(t=>t.id)),l="widget-header--inner widget-header--inner--collapsed";return t||(l+=" widget-header--inner--hidden"),(0,o.h)("div",{class:l},this.renderBackButton(),(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"secondary",agent_ids:n}),(0,o.h)("div",{class:"widget-header--title-container"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),(0,o.h)("div",{class:"widget-header--description",title:a},a)),this.renderCloseButton())}renderSocial(t){let e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount(),r=i.Z.get(e,"header.links")||[],n=i.Z.map(r,(t=>t.url&&t.type&&"subiz"!==t.type?"email"===t.type?(0,o.h)("div",null,(0,o.h)("a",{href:`mailto:${t.url}`,title:t.url},(0,o.h)("i",{class:`social__links-logo social__links-logo--${t.type}`}))):(0,o.h)("div",null,(0,o.h)("a",{href:t.url,target:"_blank",title:t.url,rel:"noreferrer"},(0,o.h)("i",{class:`social__links-logo social__links-logo--${t.type}`}))):null)),l=i.Z.get(e,"tagline",{});var p=this.props.t.i18n(l)||e.introduction||this.props.t("team_intro")||"Chúng tôi sẵn sàng trợ giúp :wave:.\nVui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn",h=i.Z.extractText(p).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text}):t.text));let c="widget-header--inner widget-header--inner--expanded";return t||(c+=" widget-header--inner--hidden"),(0,o.h)("div",{class:c},(0,o.h)("div",{class:"widget-header-expand-container"},(0,o.h)("div",{class:"widget-header--top-wrapper"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),this.renderCloseButton()),(0,o.h)("div",{class:"widget_header__body widget_header__body__social"},(0,o.h)("img",{alt:"logo",class:"social__account_logo",src:this.props.store.replaceFileUrl(i.Z.get(s,"logo_url"))}),(0,o.h)("div",null,(0,o.h)("div",{class:"social__introduction"},h),(0,o.h)("div",{class:"social__links"},n)))))}renderTeam(t){let e=this.props.plugin.chatbox||{},s=i.Z.get(e,"tagline",{});var r=this.props.t.i18n(s)||e.introduction||this.props.t("team_intro")||"Chúng tôi sẵn sàng trợ giúp :wave:.\nVui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn",n=i.Z.extractText(r).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text}):t.text));let l="widget-header--inner widget-header--inner--expanded";return t||(l+=" widget-header--inner--hidden"),(0,o.h)("div",{class:l},(0,o.h)("div",{class:"widget-header-expand-container"},(0,o.h)("div",{class:"widget-header--top-wrapper"},(0,o.h)("div",{class:"widget-header--title"},this.getTitle()),this.renderCloseButton()),(0,o.h)("div",{class:"widget_header__body"},(0,o.h)("div",{class:"widget-header--avatar-wrapper"},(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"primary"})),(0,o.h)("div",{class:"widget-header--title-container"},(0,o.h)("div",{class:"widget-header--description"},n)))))}getTitle(){let t=this.props.plugin.chatbox||{},e=this.props.store.matchAccount(),s=this.getAgentJoined(this.props.cid),r=i.Z.get(this.props.plugin,"chatbox.caption",{}),o=this.props.t.i18n(r)||t.title;return f(s)||o||e.name||this.props.t("widget_title")}renderBackButton(){let t=this.props.store.matchConvo("*");if(0===i.Z.size(t))return null;var e=null;let s=this.props.store.matchUser(),r=0;return i.Z.map(t,(t=>{t.id!=this.props.cid&&(i.Z.isConvoSeen(t,s.id)||r++)})),0!==r&&(e=(0,o.h)("span",{class:"widget-header--total-unread-convo"},r)),(0,o.h)("div",{class:"widget-header--wrap-button-back "+(r?"widget-header--has-convo-unred":""),onClick:t=>this.onBackClick(t)},(0,o.h)("div",{class:"widget-header--button-back","data-tooltip":this.props.t("menu_back")}),e)}renderCloseButton(){return(this.props.plugin.chatbox||{}).hide_close_button?null:(0,o.h)("div",{class:"widget-header--button widget-header--button-close","data-tooltip":this.props.t("close"),"data-tooltip-position":"bottom",onClick:t=>this.onCloseClick(t)},(0,o.h)("span",{class:"widget-header--button-close-icon"}))}onBackClick(t){t.stopPropagation(),t.preventDefault(),this.props.onGotoList&&this.props.onGotoList()}onCloseClick(t){t.stopPropagation(),t.preventDefault(),this.props.onClose&&this.props.onClose()}getAgentJoined(t){var e=this.props.store.matchConvo(t)||{};return i.Z.filter(e.members,(t=>"agent"===t.type&&"active"===t.membership))}}let f=t=>i.Z.map(t,(t=>t.name)).join(", ");class b extends r.M{constructor(t){var e,s,r;super(t),e=this,s="onEnter",r=i.Z.throttle((function(){this.submitMessage()}),50),s in e?Object.defineProperty(e,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[s]=r,this.refFileInput=(0,o.Vf)(),this.refMessageInput=(0,o.Vf)(),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>{i.Z.convoOfEv(t)===this.props.cid&&this.forceUpdate()})),this.focus(),this._forceUpdate=i.Z.throttle((()=>{this.forceUpdate()}),500),this.resizeInput=i.Z.throttle((function(){const t=this.refMessageInput.current;t.style.setProperty("height","1em","important");const e=Math.min(200,t.scrollHeight);t.style.setProperty("height",`${e}px`,"important")}),5)}render(){var t=(0,o.h)("div",{class:"d-flex flex-row align-self-end"},this.renderEmoji(),(0,o.h)("div",{"data-tooltip-poasition":"top-left",class:"message-input--button message-input--attachment-button",onClick:t=>this.selectFile(t)}));i.Z.trim(this.refMessageInput.current&&this.refMessageInput.current.value).length>0&&(t=(0,o.h)("div",{class:"d-flex flex-row align-self-end"},this.renderEmoji(),(0,o.h)("div",{"data-tooltip-position":"top-left",class:"message-input--button message-input--send-button",onClick:()=>this.submitMessage()})));var e="",s=this.hasUnfinishRequiredFormOrLock()||this.props.disabled;return s&&(e="message-input--disabled"),(0,o.h)("div",{class:`message-input ${e}`,onClick:t=>{this.refMessageInput.current&&this.refMessageInput.current.focus()}},(0,o.h)("input",{class:"d-none",ref:this.refFileInput,type:"file",onChange:t=>this.sendFile(t),multiple:!0}),(0,o.h)("textarea",{disabled:s,class:"message-input--input",maxlength:"1024",placeholder:this.props.t("message_input_help"),ref:this.refMessageInput,rows:"1",onInput:t=>this.onChange(t),onPaste:t=>this.pasteImage(t),"data-emojiable":"true",onKeydown:t=>this.onKeydown(t)}),t)}hasUnfinishRequiredFormOrLock(){let t=this.props.store.matchConvo(this.props.cid);if("ended"===i.Z.get(t,"state"))return!1;let e=this.props.store.listEvents(this.props.cid);e=i.Z.orderBy(e,"created","desc").filter((t=>"message_sent"===t.type));let s=i.Z.get(e[0],"data.message.attachments",[]);if(i.Z.find(s,(t=>i.Z.get(t,"lock_input"))))return!0;var r;for(let t of e)if("user"!==i.Z.get(t,"by.type")){r=t;break}s=i.Z.get(r,"data.message.attachments",[]);let o=i.Z.filter(s,(t=>{if(!t)return!1;if("form"!==t.type&&"ask_info_form"!==t.type)return!1;var e=t.form;return!(!e||!(i.Z.parseJSON(e.state)||{}).require_finished&&"ask_info_form"!==t.type||function(t){let e=i.Z.get(t,"fields")||[];return i.Z.find(e,(t=>!!t.answered))}(t.form))}));return i.Z.size(o)>0}renderEmojiPopup(){return this.state.openEmoji?(0,o.h)("div",{class:"emoji-picker","v-clickaway":t=>this.setState({openEmoji:!1})},(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":like:"),"data-tooltip":":like:",class:"emoji-picker--item emoji--like"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":unlike:"),"data-tooltip":":unlike:",class:"emoji-picker--item emoji--unlike"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":angry:"),"data-tooltip":":angry:",class:"emoji-picker--item emoji--angry"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":confused:"),"data-tooltip":":confused:",class:"emoji-picker--item emoji--confused"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":crying:"),"data-tooltip":":crying:",class:"emoji-picker--item emoji--crying"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":grinning:"),"data-tooltip":":grinning:",class:"emoji-picker--item emoji--grinning"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":heart-eyes:"),"data-tooltip":":heart-eyes:",class:"emoji-picker--item emoji--heart-eyes"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":neutral:"),"data-tooltip":":neutral:",class:"emoji-picker--item emoji--neutral"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":sad:"),"data-tooltip":":sad:",class:"emoji-picker--item emoji--sad"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":sleepy:"),"data-tooltip":":sleepy:",class:"emoji-picker--item emoji--sleepy"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":smiling:"),"data-tooltip":":smiling:",class:"emoji-picker--item emoji--smiling"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":surprised:"),"data-tooltip":":surprised:",class:"emoji-picker--item emoji--surprised"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":tired:"),"data-tooltip":":tired:",class:"emoji-picker--item emoji--tired"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":tongue-out:"),"data-tooltip":":tongue-out:",class:"emoji-picker--item emoji--tongue-out"})),(0,o.h)("div",{class:"emoji-picker-background-item"},(0,o.h)("div",{onClick:()=>this.emojiPick(":wink:"),"data-tooltip":":wink:",class:"emoji-picker--item emoji--wink"}))):null}focus(){this.props.disabled||(this.refMessageInput.current&&this.refMessageInput.current.focus(),setTimeout((()=>{this.refMessageInput.current&&this.refMessageInput.current.focus()})),setTimeout((()=>{this.refMessageInput.current&&this.refMessageInput.current.focus()}),100))}renderEmoji(){return(0,o.h)("div",null,this.renderEmojiPopup(),(0,o.h)("div",{class:"message-input--button message-input--emoji-button",onClick:t=>this.toggleEmoji(t)}))}toggleEmoji(t){t.stopPropagation(),this.focus(),this.props.disabled||this.setState({openEmoji:!this.state.openEmoji})}emojiPick(t){const e=this.refMessageInput.current,s=e.selectionStart,i=this.refMessageInput.current.value;this.setState({openEmoji:!1}),this.refMessageInput.current.value=[i.slice(0,s),t,i.slice(s)].join(""),this.resizeInput(),e.focus()}onKeydown(t){if(13===t.keyCode&&!1===t.shiftKey)return this.onEnter(),t.preventDefault();this._forceUpdate(),this.sendTyping()}onChange(){this.resizeInput()}selectFile(){this.props.disabled||this.refFileInput.current.click()}sendFile(){let t=this.refFileInput.current;this._sendFile(t.files),t.value=""}_sendFile(t){if(0===i.Z.size(t))return;if(this.props.disabled)return;let e=i.Z.map(t,(t=>({type:"file",mimetype:t.type,name:t.name,_file:t,size:t.size})));this.props.onSend&&this.props.onSend({attachments:e})}async submitMessage(t){(t=t||i.Z.trim(this.refMessageInput.current.value)||"")&&(this.props.disabled||(this.refMessageInput.current.value="",this.resizeInput(),this.setState({openEmoji:!1}),this.props.onSend&&this.props.onSend({text:t,format:"plaintext"})))}sendTyping(){if(this.props.cid)return this.props.store.typing(this.props.cid)}pasteImage(t){if(!(window.File&&window.FileReader&&window.FileList&&window.Blob))return;let e=new i.Z.Date;const s=`Paste-image-${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}-${e.getHours()}-${e.getMinutes()}-${e.getSeconds()}`;let r=null;const o=t.clipboardData.items[0];if(0===o.type.indexOf("image")&&(r=o.getAsFile()),!r)return;const a=[r,new ArrayBuffer],n=new File(a,`${s}.png`,{type:"image/png"});this._sendFile([n])}}class _ extends r.M{constructor(t){super(t)}render(){var t=i.Z.get(this.props.ev,"data.message.attachments",[]),e=[];let s=i.Z.get(this.props.ev,"by.type");if(i.Z.each(t,((t,s)=>{if(t&&i.Z.includes(t.mimetype,"image")&&t.url){var r=t.url;r.startsWith("https://")||r.startsWith("http://")||r.startsWith("content://")||r.startsWith("data:")||(t.url=this.props.store.FileURL+r),e.push(t)}})),0===e.length)return null;var r=i.Z.map(e,((t,e)=>(0,o.h)("div",{class:`image-attachment image-attachment--${s}`},(0,o.h)("a",{href:this.props.store.replaceFileUrl(t.thumbnail_url||t.url),target:"_blank"},(0,o.h)("img",{alt:!0,class:"image-attachment__img",src:this.props.store.replaceFileUrl(t.thumbnail_url||t.url),onload:t=>this.props.onLoad&&this.props.onLoad()})))));return"agent"===s?(0,o.h)("div",{class:"message-agent"},r):(0,o.h)("div",{class:"message-user"},r)}}class y extends r.M{constructor(t){super(t)}render(){let t=i.Z.get(this.props.ev,"by.type");var e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,((t,e)=>{t&&i.Z.includes(t.mimetype,"audio")&&s.push(t)})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{key:s,class:`audio-attachment audio-attachment--${t}`},(0,o.h)("audio",{class:"audio-attachment__audio",controls:!0},(0,o.h)("source",{src:this.props.store.replaceFileUrl(e.url),type:e.mimetype})))));return(0,o.h)("div",{class:`message-${t}`},r)}}class w extends r.M{render(){var t=i.Z.get(this.props.ev,"by.type","agent"),e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,(t=>{t&&(t.url||t._file)&&(i.Z.includes(t.mimetype,"video")||i.Z.includes(t.mimetype,"audio")||i.Z.includes(t.mimetype,"image")||"button"===t.type||"quick_replies"===t.type||"form"===t.type||"form_submit"===t.type||s.push(t))})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{key:s,class:`file-attachment file-attachment--${t}`},(0,o.h)("a",{class:"file-attachment--link",href:this.props.store.replaceFileUrl(e.url),target:"_blank"},(0,o.h)("span",{class:"file-attachment--download mr-2"}),(0,o.h)("span",{class:"file-attachment--filename"},e.name)))));return(0,o.h)("div",{class:`message-${t}`},r)}}class Z extends r.M{constructor(t){super(t)}render(){if(0===i.Z.size(this.props.buttons))return null;var t=i.Z.map(this.props.buttons,((t,e)=>"call_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:"tel:"+t.phone_number,key:e,title:t.title},t.title):"url_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:t.url,target:"_blank",key:e,title:t.title},t.title||t.url):"postback_button"===t.type?(0,o.h)("a",{class:"url-button-attachment",href:"javascript:;",onClick:e=>this.props.onSelect(t)},t.title):("widget_ask_desktop_notify_button"===t.type||t.type,null)));return(0,o.h)("div",{class:"button-attachments"},t)}}class k extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=[],e=i.Z.get(this.props.ev,"data.message.attachments",[]);return i.Z.each(e,((e,s)=>{e&&"button"===i.Z.get(e,"type")&&i.Z.each(i.Z.get(e,"buttons")||[],(e=>t.push(e)))})),(0,o.h)(Z,{store:this.props.store,buttons:t})}}class C extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=[];if(i.Z.map(i.Z.get(this.props.ev,"data.message.attachments",[]),(e=>{e&&"quick_replies"===e.type&&(t=i.Z.get(e,"quick_replies",[]))})),t=i.Z.filter(t,(t=>t.title)),0===t.length)return null;let e=i.Z.convoOfEv(this.props.ev),s=this.props.store.matchConvo(e);if("ended"===i.Z.get(s,"state"))return null;let r=i.Z.map(this.props.store.listEvents(e));r=i.Z.orderBy(r,"created","asc").filter((t=>"message_sent"===t.type));let a=0;for(var n=0;n<r.length;n++)if(r[n].id===this.props.ev.id){a=n;break}for(n=a+1;n<r.length;n++)if("user"===i.Z.get(r[n],"by.type"))return null;let l=i.Z.map(t,(t=>(0,o.h)("div",{class:"message_quick_reply",onClick:e=>this.props.onSelect(t)},t.title)));return(0,o.h)("div",{class:"message_quick_replies"},l)}}class x extends r.M{constructor(t){super(t),this.setState({search:"",isShow:!1})}render(){let t=i.Z.filter(this.props.items,(t=>{let e=this.state.search.toLowerCase();return(t||"").toLowerCase().indexOf(e)>-1})),e=i.Z.map(t,(t=>(0,o.h)("li",{class:"custom-select--item-options",onClick:()=>this.add(t)},t))),s=i.Z.map(this.props.selected,((t,e)=>(0,o.h)("div",{class:"custom-select--selected-item",onClick:t=>this.remove(t,e)},t,(0,o.h)("i",{class:"icn-delete delete-tag"})))),a=(0,o.h)("div",{class:"custom-select--wrap-options"},(0,o.h)("input",{onClick:t=>{t.preventDefault(),t.stopPropagation(),this.setState({isShow:!0})},type:"text",onInput:t=>this.setState({search:t.target.value}),value:this.state.search,placeholder:"Tìm kiếm",class:"custom-select--input-search"}),(0,o.h)("ul",{class:"custom-select--items-options"},e));return this.state.isShow||(a=null),(0,o.h)("div",{class:"form-control custom-select"},(0,o.h)(r.u,{onClickaway:t=>this.clickaway()},(0,o.h)("div",{class:"custom-select--wrap-selected",onClick:()=>this.setState({isShow:!this.state.isShow})},(0,o.h)("div",{class:"custom-select--selected-items"},s),a,(0,o.h)("div",{class:"custom-select--icon-dropdown"},(0,o.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,o.h)("g",{opacity:"0.6"},(0,o.h)("path",{d:"M7 9.5L12 14.5L17 9.5H7Z",fill:"black"})))))))}clickaway(){this.setState({isShow:!1})}add(t){this.props.onAddItem&&this.props.onAddItem(t)}remove(t,e){t.preventDefault(),t.stopPropagation(),this.props.onRemoveItem&&this.props.onRemoveItem(e)}}class S extends r.M{constructor(t){super(t),this.props.store.onUpdate(this,(t=>this.forceUpdate()));let e=this.props.store.matchUser(),s=i.Z.get(this.props.form,"fields")||[],r=i.Z.map(s,(t=>{let s=t.is_required||!1;var r=i.Z.parseJSON(t.state)||{};s||(s=r.require||!1);var o=i.Z.getUserAttr(e,t.name,r.type||"text");return{name:t.name,items:t.items,value:i.Z.parseJSON(t.answer)||i.Z.parseJSON(t.default_answer)||o,is_required:s,label:t.title,type:t.input_type}}));this.setState({formData:r})}isSummited(){return!!i.Z.find(this.state.formData,(t=>!!t.answered))||"ended"===this.props.store.matchConvo(i.Z.convoOfEv(this.props.ev)).state}render(){if(0===i.Z.size(this.state.formData))return null;let t=this.renderFields(),e=null;return this.isSummited()||(e=(0,o.h)("div",{class:"mt-2"},(0,o.h)("button",{onClick:t=>this.submit(),type:"button",class:"form-attachment--submit-btn"},this.props.t("btn_submit_form_attachment")))),(0,o.h)("div",{class:"form-attachment",onClick:t=>t.stopPropagation()},this.props.t(this.props.form.title)||this.props.t("capture_lead_title"),t,e)}focus(){if(this.props.store.isPreview)return;if(0===i.Z.size(this.state.formData))return;let t;if(this.isFormFilled()){var e=Object.keys(this.state.formData),s=e[i.Z.size(e)-1];t=this["field."+M(this.state.formData[s].name)]}else{var r=this.firstUnfilledField();if(!r)return;t=this["field."+M(r.name)]}t&&t.focus()}firstUnfilledField(){return i.Z.find(this.state.formData,(t=>null==t.value||""===t.value))}isFormFilled(){return!i.Z.find(this.state.formData,(t=>null==t.value||""===t.value))}onInputChange(t,e){let s=i.Z.cloneDeep(this.state.formData);s[t].value=e,this.setState({formData:s})}onListAddItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=s[t];r.value=r.value||[],r.value.push(e),this.setState({formData:s})}onListRemoveItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=s[t];r.value=r.value||[],r.value.splice(e,1),this.setState({formData:s})}renderFields(){if(0===i.Z.size(this.state.formData))return null;let t=null;return t=i.Z.map(this.state.formData,((t,e)=>{let s=null;var r=t.error?"input--error":"";if("text"===t.type)s=this.isSummited()?(0,o.h)("div",{class:"form-control--container"},(0,o.h)("input",{disabled:!0,ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"text"}),(0,o.h)("i",{class:"form-control--check"})):(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"text"});else if("number"===t.type)s=this.isSummited()?(0,o.h)("div",{class:"form-control--container"},(0,o.h)("input",{disabled:!0,ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"number"}),(0,o.h)("i",{class:"form-control--check"})):(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"number"});else if("boolean"===t.type)s=(0,o.h)("div",{class:"checkbox"},(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},type:"checkbox",id:"checkbox."+this.props.ev.id+"."+t.name,onChange:t=>this.onInputChange(e,ev.target.checked),checked:t.value}),(0,o.h)("label",{class:"checkbox--label",for:"checkbox."+this.props.ev.id+"."+t.name},t.label),(0,o.h)("div",{class:"checkbox--check"},(0,o.h)("div",null)));else if("list"===t.type){let r=t.value||[],a=i.Z.filter(i.Z.get(t,"items",[]),(t=>!r.includes(t)));s=(0,o.h)(x,{selected:r,items:a,onAddItem:t=>this.onListAddItem(e,t),onRemoveItem:t=>this.onListRemoveItem(e,t)})}else"datetime"===t.type&&(s=(0,o.h)("input",{ref:e=>{this["field."+M(t.name)]=e},value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"date"}));let a=t.label;return"fullname"===t.name?a=this.props.t("fullname"):"emails"===t.name?a=this.props.t("email"):"phones"===t.name&&(a=this.props.t("phones")),(0,o.h)("div",null,(0,o.h)("p",{class:"label mt-3"},a,t.is_required?(0,o.h)("span",{class:"ml-1 red"},"*"):""),t.error?(0,o.h)("div",{class:"form-control--valid-input--error"},t.error):"",s)})),(0,o.h)("div",null,t)}async submit(){var t=!1;if(i.Z.map(this.state.formData,(e=>{e.is_required&&(void 0===e.value||""===e.value||0===i.Z.size(e.value)&&Array.isArray(e.value))?(e.error=this.props.t("error_empty"),t=!0):e.error="","emails"===e.name&&e.value&&(i.Z.isEmail(e.value)||(e.error=this.props.t("error_email_invalid"),t=!0))})),this.forceUpdate(),t)return;let e={},s=i.Z.cloneDeep(this.state.formData);i.Z.map(s,(t=>{var s={key:t.name};t.answered=(new i.Z.Date).getTime(),"number"===t.type&&(s.number=parseInt(t.value),t.answer=i.Z.stringify(s.number)),"datetime"===t.type&&(s.datetime=new i.Z.Date(t.value).toISOString(),t.answer=i.Z.stringify(s.datetime)),"list"===t.type&&(s.list=t.value,t.answer=i.Z.stringify(s.list)),"text"!==t.type&&"boolean"!==t.type||(s[t.type]=t.value,t.answer=i.Z.stringify(t.value)),i.Z.setUserAttr(e,s)})),i.Z.map(s,(t=>{let e=i.Z.find(this.props.form.fields,(e=>e.name===t.name));e&&(e.answered=t.answered)})),this.setState({formData:s}),this.props.store.setUser(e);let r={attachments:[{type:"form_submit",form_submit:{state:'{"user_id":"'+this.props.store.matchUser().id+'"}',form_message_id:i.Z.get(this.props.ev,"id"),fields:s}}]},o=i.Z.convoOfEv(this.props.ev);this.props.store.sendConvoEvent(o,"message_sent",{message:r}),this.props.onSubmit&&this.props.onSubmit()}}function M(t){return btoa(t).split("=").join("")}class D extends r.M{constructor(t){super(t)}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return;let t=[],e=i.Z.get(this.props.ev,"data.message.attachments")||[];i.Z.each(e,(e=>{e&&("form"!==e.type&&"ask_info_form"!==e.type||(e.form._type=e.type,t.push(e.form)))}));let s=i.Z.map(t,((t,e)=>(0,o.h)(S,{store:this.props.store,onSubmit:this.props.onSubmit,ref:t=>{this["form."+e]=t},key:e,form:t,ev:this.props.ev,t:this.props.t})));return 0===s.length?null:(0,o.h)("div",{class:"message-agent"},s)}focus(){var t=this["form.0"];t&&t.focus()}}class U extends r.M{constructor(t){super(t)}render(){return null}}function I(t){return t.touches&&t.touches.length?t.touches[0]:{}}class j extends r.M{constructor(t){super(t),this.state={focusing:0},this.galleryRef=(0,o.Vf)()}componentDidMount(){this.bindDrag()}focus(t){this.setState({focusing:t}),this.galleryRef.current.scrollLeft=190*t-20}render(){if("user"===i.Z.get(this.props.ev,"by.type"))return null;let t=i.Z.get(this.props.ev,"data.message.attachments",[]),e=i.Z.filter(t,(t=>"generic"===i.Z.get(t,"type")));return 0===e.length?null:i.Z.map(e,((e,s)=>{var r=i.Z.map(e.elements,(t=>{let e=t.title?(0,o.h)("div",{class:"generic-attachment--element-title"},t.title):null,s=t.subtitle?(0,o.h)("div",{class:"generic-attachment--element-subtitle"},t.subtitle):null;return(0,o.h)("div",{class:"generic-attachment--element swiper-slide"},(0,o.h)("div",null,(0,o.h)("img",{alt:"generic attachment element",class:"generic-attachment--element-img",src:this.props.store.replaceFileUrl(t.image_url)})),e,s,(0,o.h)(Z,{buttons:t.buttons,onSelect:t=>this.props.onSelect(t)}))}));let a=i.Z.get(t,"0.elements",[]),n="generic-attachment-navigator generic-attachment-navigator--left",l="generic-attachment-navigator generic-attachment-navigator--right";return 0===this.state.focusing&&(n+=" generic-attachment-navigator--disabled"),this.state.focusing===a.length-1&&(l+=" generic-attachment-navigator--disabled"),(0,o.h)("div",{class:"generic-attachment-container"},(0,o.h)("div",{class:"generic-attachment",ref:this.galleryRef},r),!this.props.store.isMobile()&&(0,o.h)(o.HY,null,(0,o.h)("div",{class:n,onClick:t=>this.focus(this.state.focusing-1)},(0,o.h)("span",{class:"generic-attachment-navigator-icon"},"‹")),(0,o.h)("div",{class:l,onClick:t=>this.focus(this.state.focusing+1)},(0,o.h)("span",{class:"generic-attachment-navigator-icon"},"›"))))}))}bindDrag(){if(!this.props.store.isMobile())return;let t=document.getElementsByClassName("generic-attachment");i.Z.map(t,(t=>{var e,s,i;(e=t)&&(e.removeEventListener("touchstart",e.md,0),window.removeEventListener("touchend",e.mu,0),window.removeEventListener("touchmove",e.mm,0),e.md=function(t){let r=I(t);e.hasAttribute("nochilddrag")&&document.elementFromPoint(r.pageX,r.pageY)||(i=1,s=r.clientX,t.preventDefault())},e.mu=()=>{i=0},e.mm=function(t){if(!i)return;let r=I(t);e.scrollLeft-=-s+r.clientX,s=r.clientX},e.addEventListener("touchstart",e.md,{passive:!0}),window.addEventListener("touchend",e.mu,{passive:!0}),window.addEventListener("touchmove",e.mm,{passive:!0}))}))}}class E extends r.M{render(){let t=i.Z.get(this.props.ev,"by.type");if("user"===t)return null;let e=i.Z.get(this.props.ev,"data.message.attachments",[]),r=i.Z.filter(e,(t=>"product"===i.Z.get(t,"type")||"product_preview"===i.Z.get(t,"type")));if(r=r.filter((t=>t.product&&t.product.name)),0===r.length)return null;let a=this.props.store.matchAccount();return i.Z.map(r,((e,r)=>{let n=e.product,l=null,p=n.url||n.mobile_url;this.props.store.isMobile()&&(p=n.mobile_url||n.url),p&&(l=(0,o.h)("a",{class:"product_attachment__btn",href:p,target:"_blank"},this.props.t("detail"),(0,o.h)("img",{src:s(8453),class:"product_attachment__btn_external_link"})));let h=(0,o.h)("a",{href:p,class:"product_attachment__title",target:"_blank"},n.name),c=null,d=n.description||n.long_description;d&&(c=(0,o.h)("div",{class:"product_attachment__subtitle"},d));let u=null;return n.price&&(u=(0,o.h)("div",{class:"product_attachment__price"},n.currency||i.Z.get(a,"currency","")," ",i.Z.formatCurrency(n.price))),(0,o.h)("div",{class:"product_attachment product_attachment__"+t},(0,o.h)("div",null,(0,o.h)("a",{href:this.props.store.replaceFileUrl(n.image),target:"_blank"},(0,o.h)("img",{class:"product_attachment__img",src:this.props.store.replaceFileUrl(n.image)}))),h,c,u,(0,o.h)("div",{class:"product_attachment__btns"},l))}))}}class F extends r.M{render(){let t=i.Z.get(this.props.ev,"by.type");if("user"===t)return null;this.props.store.matchAccount();var e=i.Z.get(this.props.ev,"data.message.attachments",[]);let r=i.Z.filter(e,(t=>"order"===t.type&&t.order)).map((t=>t.order));return 0===r.length?null:i.Z.map(r,((e,r)=>{let a=null;e.note&&(a=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("note")),(0,o.h)("div",{class:"order_attachment__text_truncate"},e.note)));let n=null;i.Z.size(e.items)>0&&(n=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("product")),i.Z.map(e.items,(t=>{let e=t.product||{};return(0,o.h)("div",{class:"order_attachment__product"},(0,o.h)("img",{class:"order_attachment__product_img",src:(i.Z.get(e,"images.0"),s(9270))}),(0,o.h)("div",{style:"overflow: hidden !important;"},(0,o.h)("div",{class:"order_attachment__product_name"},e.name),(0,o.h)("div",{class:"order_attachment__product_desc"},e.description||e.long_description),(0,o.h)("div",{class:"order_attachment__product_desc"},this.props.t("qty")," ",t.quantity," · ",i.Z.formatCurrency(e.price))))}))));let l=(0,o.h)("div",{class:"order_attachment__footer"},(0,o.h)("div",null,this.props.t("total"))," ",(0,o.h)("div",null,(0,o.h)("b",null,i.Z.formatCurrency(e.total)))),p=i.Z.get(e,"shipping.address",{}),h=[p.street,p.ward,p.district,p.region,p.country].filter((t=>t)).join(", "),c=i.Z.find(i.Z.get(e,"user.attributes",[]),(t=>"phones"===t.key))||{key:"phones",text:""},d=i.Z.get(e,"shipping.address.phone","").trim();d=d||i.Z.trim(c.text),d&&(d=this.props.t("phn")+": "+d);let u=null;return(h||d)&&(u=(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("ship_to")),(0,o.h)("div",{class:"order_attachment__text_truncate"},h),(0,o.h)("div",{class:"order_attachment__text_truncate"},d))),(0,o.h)("div",{class:`order_attachment order_attachment__${t}`},(0,o.h)("div",{class:"order_attachment__header"},this.props.t("order"),(0,o.h)("span",{class:"order_attachment__text_muted order_attachment__text_sm"},"#",e.id)),n,u,(0,o.h)("div",null,(0,o.h)("div",{class:"order_attachment__label"},this.props.t("payment")),(0,o.h)("div",null,"COD")),a,l)}))}}class R extends r.M{constructor(t){super(t)}render(){let t=i.Z.get(this.props.ev,"by.type");var e=i.Z.get(this.props.ev,"data.message.attachments",[]),s=[];if(i.Z.each(e,((t,e)=>{t&&i.Z.includes(t.mimetype,"video")&&s.push(t)})),0===s.length)return null;var r=i.Z.map(s,((e,s)=>(0,o.h)("div",{class:`video-attachment video-attachment--${t}`},(0,o.h)("video",{class:"video-attachment__video",src:this.props.store.replaceFileUrl(e.url),width:"100%",height:"",poster:this.props.store.replaceFileUrl(e.thumbnail_url),controls:"controls",preload:"metadata",onclick:"this.play()"}))));return(0,o.h)("div",{class:`message-${t}`},r)}}class P extends r.M{constructor(t){super(t),this.ref=(0,o.Vf)()}componentDidMount(){this.shadowRoot=this.ref.current.attachShadow({mode:"open"}),this.update(this.props.html)}update(t){this.shadowRoot.innerHTML=`<style type="text/css">\nbody { font-family: 'Roboto', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }\nh{ font-size: 14/18px!important; }\na { text-decoration: none;}\nimg { max-width: 100%; display: block; margin: 10px auto; }\n* { white-space: normal }\nul > li { margin-bottom: 5px }\nul:last-child { margin-bottom: 0 }\np:first-child { margin-top: 0;}\np:last-child { margin-bottom: 0;}\n</style>\n<div>${t}</div>`;let e=this.shadowRoot.querySelectorAll("a");for(var s=0;s<e.length;s++)e[s].target="_blank"}render(){return(0,o.h)("div",{ref:this.ref,style:"white-space: normal !important"})}}let $=[],A=(t,e)=>($.push(t),"");(async()=>{let t=(await s.e(441).then(s.bind(s,7441))).marked;A=(e,s)=>t(s),i.Z.map($,(t=>t.forceUpdate())),$=[]})();class L extends r.M{render(){if("markdown"===i.Z.get(this.props.ev,"data.message.format","plaintext"))return this.renderMarkdown();var t=i.Z.get(this.props.ev,"data.message.text");if(t=i.Z.trim(t),0===i.Z.size(t))return null;let e=i.Z.get(this.props.ev,"by.type");var s=i.Z.extractText(t).map((t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:e}):"link"===t.type?(0,o.h)("a",{href:t.text,target:"_blank"},t.text):"phone"===t.type?(0,o.h)("a",{href:"tel:"+t.text},t.text):"email"===t.type?(0,o.h)("a",{href:"mailto:"+t.text},t.text):t.text));return 0===i.Z.size(s)?null:"agent"===e?(0,o.h)("div",{class:"message-agent message-text--agent"},s):(0,o.h)("div",{class:"message-user message-text--user"},s)}renderMarkdown(){var t=i.Z.get(this.props.ev,"data.message.text");if(0===i.Z.size(t))return null;let e=i.Z.get(this.props.ev,"by.type");return t=i.Z.trim(t),0===i.Z.size(t)?null:"agent"===e?(0,o.h)("div",{class:"markdown-message message-agent message-text--agent"},(0,o.h)(P,{html:A(this,t)})):(0,o.h)("div",{class:"d-flex flex-column align-items-end"},(0,o.h)("div",{class:"markdown-message message-user message-text--user"},(0,o.h)(P,{html:A(this,t)})))}}var z=new i.Z.Pubsub;setInterval((()=>z.publish("time")),2e4);class B extends r.M{constructor(t){super(t),this.setState({t:"",langCode:"en_US"})}updateTime(){var t="";if(this.props.ago){if(this.props.short&&Math.abs(this.props.time-(new i.Z.Date).getTime())>864e6){let e=new i.Z.Date(this.props.time),s=e.getFullYear(),r=i.Z.get(navigator,"languages.0","en-US"),o=e.toLocaleDateString(r,{month:"short"});t=e.getDate()+" "+o+" "+s}!t&&this.props.time>0&&(t=function(t,e){const s={s:"%d s",m:"1m",mm:"%dm",h:"1h",hh:"%dh",d:"1d",dd:"%dd",M:"1M",MM:"%M",y:"1y",yy:"%dy"},i=[{l:"s",r:44,d:1e3},{l:"m",r:89},{l:"mm",r:44,d:6e4},{l:"h",r:89},{l:"hh",r:21,d:36e5},{l:"d",r:35},{l:"dd",r:25,d:864e5},{l:"M",r:45},{l:"MM",r:10,d:2592e6},{l:"y",r:17},{l:"yy",d:31536e6}],r=i.length;let o,a;for(let n=0;n<r;n+=1){let r=i[n];r.d&&(o=(t-e)/r.d);let l=Math.round(Math.abs(o));if(l<=r.r||!r.r){l<=1&&n>0&&(r=i[n-1]),a=s[r.l].replace("%d",l);break}}return a}(this.props.time,(new i.Z.Date).getTime()))}else t=i.Z.shortTime(this.props.time,this.props.tzoffset);this.props.uppercase&&(t=t.toUpperCase()),t!==this.state.t&&this.setState({t})}componentDidMount(){z.on2(this,"time",(()=>this.updateTime())),this.updateTime()}render(){return(0,o.h)("span",null,this.state.t)}}class T extends r.M{render(){let t=this.props.ev.ev;var e=null;if(this.props.ev.show_time&&(e=(0,o.h)("div",{class:"convo-event-time"},(0,o.h)(B,{time:t.created}))),"conversation_rated"===t.type){var s=i.Z.get(t,"data.conversation.ratings.0",{no_rating:!0,rating:0});return s.no_rating?null:(0,o.h)("div",{class:"convo-event"},e,(0,o.h)("div",{class:"info-message"},this.props.t("rated_as")+" "+this.props.t(function(t){return t?t<2?"poor":t<4?"average":"great":"poor"}(s.rating)).toLowerCase()))}return"conversation_state_updated"===t.type&&"ended"===i.Z.get(t,"data.conversation.state")?(0,o.h)("div",{class:"convo-event"},e,(0,o.h)("div",{class:"info-message"},this.props.t("conversation_ended"))):null}}class q extends r.M{constructor(t){super(t),this.refForm=(0,o.Vf)()}render(){var t=i.Z.get(this.props.event,"ev",{});switch(t.type){case"conversation_joined":break;case"message_sent":return this.renderMessageSent();case"conversation_state_updated":case"conversation_rating_requested":case"conversation_rated":return i.Z.startsWith(t.id,"ev")?(0,o.h)(T,{t:this.props.t,store:this.props.store,ev:this.props.event}):null}return null}focus(){this.refForm.current&&this.refForm.current.focus()}chooseQuickReply(t){let e=i.Z.get(this.props.event,"ev",{}),s={text:t.title,format:"plaintext"};t.payload&&(s.attachments=[{type:"postback",postback:{event_id:e.id,payload:t.payload}}]),this.props.onSend(s)}choosePostbackBtn(t){let e=i.Z.get(this.props.event,"ev",{}),s={text:t.title,format:"plaintext"};t.payload&&(s.attachments=[{type:"postback",postback:{event_id:e.id,payload:t.payload}}]),this.props.onSend(s)}renderAgentAvatar(t){let e=i.Z.get(t,"by.type"),r=i.Z.get(t,"by.display_id",i.Z.get(t,"by.id"));if("user"===e)return null;var a=this.getSenderName(t);let n=this.props.store.matchAccount();var l=n.logo_url||s(9895);let p=this.props.store.matchAgent("*");return"system"===r&&"dummy"===e||(l=i.Z.get(p[r],"avatar_url")||n.logo_url||s(4761)),(0,o.h)("div",{class:"message-sender"},(0,o.h)("img",{alt:"sender",class:"message-sender-avatar",src:this.props.store.replaceFileUrl(l)}),(0,o.h)("p",{class:"message-sender-name"},a))}renderMessageSent(){let t=this.props.event.ev;var e=null;this.props.event.show_time&&(e=(0,o.h)("div",{class:"convo-event-time"},(0,o.h)(B,{time:t.created})));let s=new i.Z.Date(t.created).toLocaleString();if("user"!==i.Z.get(t,"by.type")){let i=null;return"lead"===this.props.event.mode&&(i=this.renderAgentAvatar(t)),(0,o.h)("div",{class:"convo-event agent-message",title:s},e,i,(0,o.h)(L,{store:this.props.store,ev:t}),(0,o.h)(_,{store:this.props.store,ev:t}),(0,o.h)(y,{store:this.props.store,ev:t}),(0,o.h)(R,{store:this.props.store,ev:t}),(0,o.h)(w,{store:this.props.store,ev:t}),(0,o.h)(k,{store:this.props.store,ev:t}),(0,o.h)(D,{store:this.props.store,onSubmit:this.props.onFormSubmit,ref:this.refForm,ev:t,t:this.props.t}),(0,o.h)(U,{store:this.props.store,ev:t,t:this.props.t}),(0,o.h)(j,{store:this.props.store,ev:t,onSelect:t=>this.choosePostbackBtn(t)}),(0,o.h)(E,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(F,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(C,{store:this.props.store,ev:t,onSelect:t=>this.chooseQuickReply(t)}))}i.Z.getMsgField(t,"idempotency")===t.id&&this.props.store.now()-t.created<900&&setTimeout((()=>this.setState({refresh:this.state.refresh})),1e3);let r=(0,o.h)("div",{class:"sending_dot"});(this.props.store.now()-t.created<900||i.Z.getMsgField(t,"idempotency")!==t.id)&&(r=(0,o.h)("div",{class:"sending_dot sending_dot__hide"}));let a=null;"lead"===this.props.event.mode&&(a=(0,o.h)("div",{class:"pt-3"}));let n=null;return t._error&&"message_sent"===t.type&&(n=(0,o.h)("a",{class:"message_error",src:"javascript:;",onClick:t=>this.resendMessage()},(0,o.h)("div",{class:"message_error__text"},this.props.t("error_send_message")),(0,o.h)("div",{class:"message_error__icon"}))),(0,o.h)("div",{class:"convo-event user-message",title:s},e,a,(0,o.h)("div",{class:"message-user__container"},r,(0,o.h)(L,{store:this.props.store,ev:t,refresh:this.state.refresh}),(0,o.h)(_,{store:this.props.store,ev:t}),(0,o.h)(y,{store:this.props.store,ev:t}),(0,o.h)(R,{store:this.props.store,ev:t}),(0,o.h)(w,{store:this.props.store,ev:t}),(0,o.h)(k,{store:this.props.store,ev:t}),(0,o.h)(D,{store:this.props.store,onSubmit:this.props.onFormSubmit,ref:this.refForm,ev:t}),(0,o.h)(E,{t:this.props.t,store:this.props.store,ev:t}),(0,o.h)(U,{store:this.props.store,ev:t})),n)}renderUpdateConvo(t){var e=i.Z.get(t,"data.conversation.state");return"active"===e||"pending"===e?null:(0,o.h)("div",{class:"message-system"},this.props.t("conversation_state_updated",{state:e}))}resendMessage(){let t=i.Z.convoOfEv(this.props.event.ev);const e=i.Z.get(this.props.event,"ev.data.message");this.props.store.sendConvoEvent(t,"message_sent",{message:e})}getSenderName(t){let e=i.Z.get(t,"by.type"),s=i.Z.get(t,"by.display_id",i.Z.get(t,"by.id"));if("system"===s||"dummy"===e)return"system";let r=this.props.store.matchUser(),o=this.props.store.matchAccount();return"user"===e?i.Z.getUserDisplayName(r):"agent"===e?i.Z.getAgentDisplayName(o,this.props.store.matchAgent(s)):""}}const O=s(6484);class W extends r.M{render(){let t=(this.props.mode+"").toLowerCase(),e="dark"===t?"#000000dd":"blue"===t?"rgba(52, 152, 220, .8)":"#ffffffdd",s="dark"===t?"#00000055":"blue"===t?"rgba(52, 152, 220, .15)":"#ffffff55",i=this.props.size||14,r=`width: ${i}px !important;height: ${i}px!important;color: ${s} !important;border-width: ${Math.ceil(i/14)}px !important;\n border-left-color: ${s} !important;border-top-color: ${s} !important;\n border-bottom-color: ${s} !important;border-right-color: ${e} !important;`;if(this.props.static){let t=`width: ${i}px;height: ${i}px;`;return i<40?(0,o.h)(LoaderIcon,{size:i+"",style:`stroke:${e}`}):this.props.center?(0,o.h)("div",{class:"loading"},(0,o.h)("img",{alt:"loading",style:t,src:O})):(0,o.h)("img",{alt:"loading",style:t,src:O})}return(0,o.h)("div",{class:"spinner1",style:r})}}const Y=s(6188);class H extends r.M{constructor(t){super(t),this.props.store.onUpdate(this,(t=>this.forceUpdate())),this.props.store.onConvoEvent(this,(t=>this.onEvent(t))),this.loadConvo(),this.refBody=null,this.checkAndSeen=i.Z.throttle((()=>{this.props.isShow&&this.isBottom()&&"visible"===this.props.store.browserVisibility&&document.hasFocus()&&this.props.store.seenConvo(this.props.cid)}),500),this.checkAndSeen()}componentDidUpdate(t){t.cid!==this.props.cid&&this.loadConvo()}render(){if(this.state.error)return this.renderError();let t=i.Z.map(this.props.store.listEvents(this.props.cid));if(!this.state.loading&&0===i.Z.size(t))return(0,o.h)("div",{ref:t=>this.refBody=t,class:"widget-body--events-container"},(0,o.h)("div",{class:"widget-body--empty"},(0,o.h)("div",{class:"widget-body--empty-icon"}),(0,o.h)("div",{class:"widget-body--empty-text"},this.props.t("empty_convo_text"))),(0,o.h)(m,{store:this.props.store}));t=i.Z.orderBy(t,"created","asc"),this.props.store.matchConvo(this.props.cid),t=i.Z.map(t,(t=>({ev:t}))),function(t,e){if(!((e=e.filter((t=>V(t.ev)))).length<1)){for(var s=1;s<e.length;s++){let t=e[s],r=e[s-1];V(t.ev)&&i.Z.unixSec(t.ev.created)-i.Z.unixSec(r.ev.created)>120&&(t.show_time=!0)}for(s=0;s<e.length;s++){let t=e[s];if("message_sent"===i.Z.get(t,"ev.type")){t.show_time=!0;break}}for(s=0;s<e.length;s++){let t=e[s],r=e[s-1];"message_sent"!==t.ev.type||(t.mode="lead","message_sent"===i.Z.get(r,"ev.type")&&i.Z.get(r,"ev.by.id")===i.Z.get(t,"ev.by.id")&&(t.mode="follow"))}}}(0,t);let e=i.Z.map(t,(t=>(0,o.h)(q,{store:this.props.store,onFormSubmit:this.props.onFormSubmit,onSend:this.props.onSend,onPostback:this.props.onPostback,event:t,t:this.props.t,key:t.ev.id}))),s=null,r="opacity: 1 !important";return(this.state.loading||this.props.creating)&&(s=(0,o.h)(W,{static:!0,mode:"blue",size:"120",center:!0}),r="opacity: 0 !important"),(0,o.h)(o.HY,null,s,(0,o.h)("div",{style:r,ref:t=>this.refBody=t,class:"widget-body--events-container",onMouseOver:this.checkAndSeen},(0,o.h)("div",{class:"widget-body--events"},e),(0,o.h)(m,{store:this.props.store})))}renderError(){let t=(0,o.h)("a",{href:"#",onclick:t=>this.loadConvo()},this.props.t("try_again"));return this.state.loading&&(t=(0,o.h)(W,{size:"16",mode:"blue"})),(0,o.h)("div",{class:"widget-body--events-container widget-body--events-container__error"},(0,o.h)("img",{alt:"empty",src:Y}),(0,o.h)("div",{class:"widget_body__events__error_msg"},this.props.t("load_convo_error")),(0,o.h)("div",{class:"widget_body__events__error_retry"},t))}focus(){let t=this.props.store.listEvents(this.props.cid);var e;t=i.Z.orderBy(i.Z.map(t),"created","desc");for(let s of t)if("message_sent"===i.Z.get(s,"type")&&"user"!==i.Z.get(s,"by.type")){e=s;break}"user"===i.Z.get(e,"by.type")&&(e=null);let s=i.Z.get(e,"data.message.attachments",[]),r=this.props.store.matchConvo(this.props.cid);i.Z.filter(s,(t=>{if(!t)return!1;if("form"!==t.type&&"ask_info_form"!==t.type)return!1;var e=t.form;return!(!e||!(i.Z.parseJSON(e.state)||{}).require_finished&&"ask_info_form"!==t.type||function(t){let e=i.Z.get(t,"fields")||[];return i.Z.find(e,(t=>!!t.answered))}(t.form)||"ended"===r.state)}))}onEvent(t){if(i.Z.convoOfEv(t)!==this.props.cid)return;let e=this.isBottom();var s=!1;"message_sent"===i.Z.get(t,"type")&&t.id===i.Z.getMsgField(t,"idempotency")&&(s=!0),(s||e)&&this.scrollToBottom()}async loadConvo(){if(!this.props.cid)return;this.lastContentOffsetY=0,this.setState({loading:!0});let t=this.props.store.listEvents(this.props.cid);if(0===i.Z.size(t)){let t=this.props.cid,{error:e}=await this.props.store.fetchMoreEvents(t);if(this.setState({loading:!1}),t!==this.props.cid)return;if(e)return void this.setState({error:!0})}this.setState({loading:!0}),this.props.store.fetchMoreEvents(this.props.cid),this.setState({error:!1}),this.scrollToBottom(),setTimeout((()=>this.setState({loading:!1})),50)}isBottom(){let t=this.refBody;return!!t&&t.scrollHeight<t.scrollTop+t.offsetHeight+50}scrollToBottom(){setTimeout((()=>{const t=this.refBody;t&&(t.scrollTop=t.scrollHeight)})),setTimeout((()=>{const t=this.refBody;t&&(t.scrollTop=t.scrollHeight)}),200),this.props.isShow&&"visible"===this.props.store.browserVisibility&&document.hasFocus()&&this.props.store.seenConvo(this.props.cid)}}function V(t){let e=i.Z.get(t,"type");return"message_sent"===e||"conversation_state_updated"===e}class G extends r.M{constructor(t){super(t)}componentDidMount(){this.setState({isShow:!1,ev:{}}),this.props.store.onConvoEvent(this,(t=>{if(i.Z.convoOfEv(t)!==this.props.cid)return;let e=this.props.store.matchUser();if(i.Z.get(t,"by.id")===e.id)return;let s=i.Z.get(this.state.ev,"by.id");return s&&i.Z.get(t,"by.id")!==s?void 0:"message_sent"===i.Z.get(t,"type")?(this.timer&&clearTimeout(this.timer),this.timer=null,void this.setState({isShow:!1})):void("conversation_typing"===i.Z.get(t,"type")&&(this.setState({ev:t,isShow:!0}),this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{i.Z.convoOfEv(t)===this.props.cid&&(this.timer=null,this.setState({isShow:!1}))}),1e4)))}))}render(){let t=this.props.store.matchAccount();var e=this.state.isShow?"":"typing--hidden";let s=i.Z.get(this.state.ev,"by.display_id",i.Z.get(this.state.ev,"by.id")),r=i.Z.getAgentDisplayName(t,this.props.store.matchAgent(s));return(0,o.h)("div",{class:`typing ${e}`},r," ",this.props.t("typing"))}}function J(t,e){return Math.abs(t-e)<=.001}class N extends r.M{constructor(t){var e,s;super(t),s={hide:!0,ratingHeight:0,overlayOpacity:.3,comment:""},(e="state")in this?Object.defineProperty(this,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):this[e]=s,this.refComment=(0,o.Vf)(),this.refRating=(0,o.Vf)(),this.refHandle=(0,o.Vf)()}componentDidMount(){this.props.store.onUpdate(this,(()=>{this.shoudDisplay()&&this.open()})),this.props.store.onConvoEvent(this,(t=>{i.Z.convoOfEv(t)===this.props.cid&&this.shoudDisplay()&&this.open()})),this.mouseUp=t=>this.onMouseUp(t),this.mouseMove=t=>this.onMouseMove(t),this.mouseDown=t=>this.onMouseDown(t);var t=this.refHandle.current;t.addEventListener("mousedown",this.mouseDown,{passive:!0}),t.addEventListener("touchstart",this.mouseDown,{passive:!0}),window.addEventListener("mouseup",this.mouseUp,{passive:!0}),window.addEventListener("touchend",this.mouseUp,{passive:!0}),window.addEventListener("mousemove",this.mouseMove,{passive:!0}),window.addEventListener("touchmove",this.mouseMove,{passive:!0}),this.animation=new class{constructor(t){this.duration=t.duration||100,this.breakingV=t.breakingV||7,this.maxY=t.maxY||500,this.minY=t.minY||0}play(t,e,s){var r;this.stop();var o=a=>{a||(a=(new i.Z.Date).getTime());var n=a-r,[l,p]=this.calcY(t,e,n);if(s(l),p)return this.stop();this.animationframe=window.requestAnimationFrame(o)};this.animationframe=window.requestAnimationFrame((t=>{r=t||(new i.Z.Date).getTime(),o(r)}))}calcY(t,e,s){var i,r=function(t,e,s,i){if(J(t,e))return t;var r=t+(e-t)/i*s;return(t<e&&r>e||e<t&&r<e)&&(r=e),r}(e,i=e>this.maxY?this.maxY:e<this.minY?this.minY:Math.abs(t)<this.breakingV?Math.abs(this.maxY-e)<Math.abs(this.minY-e)?this.maxY:this.minY:t<0?this.maxY:this.minY,s,this.duration);return[r,J(r,i)]}stop(){window.cancelAnimationFrame(this.animationframe)}}({maxY:400,minY:0,duration:150}),this.close(),(this.shoudDisplay()||"rating"===this.props.forceView)&&this.open()}componentWillUnmount(){var t=this.refHandle.current;t.removeEventListener("mousedown",this.mouseDown,0),t.removeEventListener("touchstart",this.mouseDown,0),window.removeEventListener("mouseup",this.mouseUp,0),window.removeEventListener("touchend",this.mouseUp,0),window.removeEventListener("mousemove",this.mouseMove,0),window.removeEventListener("touchmove",this.mouseMove,0)}render(){let t=this.state.hide?"d-none":"";return(0,o.h)("div",{class:t},(0,o.h)("div",{class:"rating--overlay",style:`opacity: ${.5*this.state.overlayOpacity} !important;`}),(0,o.h)("div",{class:"rating",ref:this.refRating,style:`color:red; height: ${this.state.ratingHeight}px !important;`},(0,o.h)("div",{class:"rating--handle",ref:this.refHandle},(0,o.h)("div",{class:"rating--thumb"})),(0,o.h)("div",{class:"rating--content"},(0,o.h)("div",{class:"rating--heading"},this.props.t("rating_title"),(0,o.h)("div",{class:"rating--close-btn",onClick:t=>this.onCloseRating(t)})),(0,o.h)("div",{class:"rating--description"},this.props.t("rating_description")),(0,o.h)("textarea",{ref:this.refComment,type:"text",class:"rating--comment"}),(0,o.h)("div",{class:"rating-faces-container"},(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingPoor(t)},(0,o.h)("img",{alt:"poor",src:s(8367)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("poor"))),(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingAverage(t)},(0,o.h)("img",{alt:"average",src:s(6535)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("average"))),(0,o.h)("div",{class:"rating-face-container",onClick:t=>this.onRatingGreat(t)},(0,o.h)("img",{alt:"great",src:s(3824)}),(0,o.h)("p",{class:"rating-face--text"},this.props.t("great")))),(0,o.h)("div",{class:"rating-no-thanks",onClick:t=>this.onCloseRating(t)},this.props.t("no_thanks")))))}shoudDisplay(){if(!this.props.cid)return!1;var t,e,s;let r=this.props.store.matchUser();if(i.Z.map(this.props.store.listEvents(this.props.cid),(o=>{"conversation_state_updated"===i.Z.get(o,"type")&&"ended"===i.Z.get(o,"data.conversation.state")&&(s=o),"conversation_rating_requested"===i.Z.get(o,"type")&&(t=o),"conversation_rated"===i.Z.get(o,"type")&&i.Z.get(o,"by.id")===r.id&&(e=o)})),e)return!1;var o=this.props.plugin.chatbox.auto_request_rating&&s;return t||o}onCloseRating(){this.props.onRate&&this.props.onRate({no_rating:!0,comment:this.refComment.current.value}),this.close()}onRatingPoor(){this.props.onRate&&this.props.onRate({rating:1,comment:this.refComment.current.value}),this.close()}onRatingAverage(){this.props.onRate&&this.props.onRate({rating:3,comment:this.refComment.current.value}),this.close()}onRatingGreat(){this.props.onRate&&this.props.onRate({rating:5,comment:this.refComment.current.value}),this.close()}open(){if(this.state.hide&&(this.setState({hide:!1}),this.refRating.current)){setTimeout((()=>{this.refComment.current&&this.refComment.current.focus()}),400),this.refComment.current.value="";var t=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),e=parseFloat(t.height);this.animation.play(-20,e,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)})}))}}close(){if(!this.state.hide&&this.refRating.current){var t=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),e=parseFloat(t.height);this.animation.play(20,e,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)}),t<10&&(this.state.hide||this.setState({hide:!0}))}))}}onMouseDown(t){this.mousePushed=!0,this.animation.stop(),t.preventDefault(),t.touches&&t.touches[0]&&(t=t.touches[0]),this.mousePushedDy=t.pageY-window.pageYOffset-this.refRating.current.getBoundingClientRect().y}onMouseUp(t){if(this.mousePushed){t.touches&&t.touches[0]&&(t=t.touches[0]),this.mousePushed=!1;var e=this.refRating.current.currentStyle||window.getComputedStyle(this.refRating.current),s=parseFloat(e.height);this.animation.play(this.mouseVelocity,s,(t=>{this.setState({ratingHeight:t,overlayOpacity:Math.min(1,(t-0)/500)}),t<10&&(this.state.hide||(this.setState({hide:!0}),this.props.onRate&&this.props.onRate({no_rating:!0})))}))}}onMouseMove(t){if(this.mousePushed){t.touches&&t.touches[0]&&(t=t.touches[0]);var e=t.pageY;this.mouseVelocity=e-this.lastMouseY,this.lastMouseY=e,e-=this.mousePushedDy;var s=this.refRating.current.getBoundingClientRect().bottom-e;s>400&&(s=500-1e4/(s+-300)),this.setState({ratingHeight:s,overlayOpacity:Math.min(1,(s-0)/500)})}}}var X=s(9737),K=s(8909),Q=s(29);const tt="https://file-subiz.com/fiqoahedjbgwclpouoml-avatar_default_baa8a1d7.png";class et extends r.M{constructor(t){super(t),this.userSent={},this.setState({creating:!1,clickedJoin:!1,formData:{}}),this.props.store.onUpdate(this,(t=>this.forceUpdate()))}componentDidMount(){this.props.store.isMobile()||this.focusInput()}componentDidUpdate(t){t.isShow!==this.props.isShow&&(this.props.isShow&&!this.props.store.isMobile()&&this.focusInput(),this.props.isShow&&this.props.store.isMobile()&&this.blur()),t.cid!==this.props.cid&&(this.setState({clickedJoin:!1}),setTimeout((()=>{this.events&&this.events.focus(),this.props.store.isMobile()||this.focusInput()}),100)),this.updateFormDataFields()}shouldShowForm(){let t=this.isFormRequired();return t&&!this.props.cid||t&&this.props.cid&&this.state.clickedJoin}render(){this.isFormRequired();let t,e=this.shouldShowForm(),s=this.props.plugin.chatbox||{},r=this.props.store.matchAccount()||{},a=this.props.t("prechat_form_btn");i.Z.get(s,"prechat_form.enabled")&&(t=s.prechat_form);let n=i.Z.get(s,"offline_form.enabled");this.isOffline(r,s)&&n&&(t=s.offline_form,a=this.props.t("offline_form_btn")),"offline_form"===this.props.view&&(e=!0,t=s.offline_form,a=this.props.t("offline_form_btn")),"prechat_form"===this.props.view&&(e=!0,t=s.prechat_form,a=this.props.t("prechat_form_btn"));let l=null;l="list"===this.props.view?this.renderConvoList():e?this.renderForm(t,a):this.renderChat();let p=i.Z.get(s,"desktop_button.position")||"right";this.props.store.isMobile()&&(p=i.Z.get(s,"mobile_button.position",p));let h="widget-container widget-container--"+p;return this.props.isShow||(h+=" widget-container--hide"),(0,o.h)("div",{class:h},(0,o.h)(v,{t:this.props.t,plugin:this.props.plugin,store:this.props.store,cid:this.props.cid,view:this.props.view,onClose:this.props.onClose,onGotoList:()=>this.props.onGo({view:"list"})}),l)}async submitPrechatForm(t){var e=!1;if(i.Z.map(this.state.formData,((t,s)=>{t.is_required&&(void 0===t.value||""===t.value||0===i.Z.size(t.value)&&Array.isArray(t.value))?(t.error=this.props.t("error_empty"),e=!0):t.error="","emails"===s.substr(5)&&!i.Z.isEmail(t.value)&&t.is_required&&(t.error=this.props.t("error_email_invalid"),e=!0),"phones"===s.substr(5)&&!i.Z.isPhone(t.value)&&t.is_required&&(t.error=this.props.t("error_phone_invalid"),e=!0)})),e)return this.forceUpdate();let s=i.Z.cloneDeep(this.state.formData),r=i.Z.cloneDeep(this.props.store.matchUser());i.Z.map(s,((t,e)=>{if(e.startsWith("attr:")){var s={key:e.substr(5)};"number"===t.type&&(s.number=parseInt(t.value)),"datetime"===t.type&&(s.datetime=new i.Z.Date(t.value).toISOString()),"list"===t.type&&(s.list=t.value),"text"!==t.type&&"boolean"!==t.type||(s[t.type]=t.value),i.Z.setUserAttr(r,s)}}));let o=i.Z.get(s,"question.value"),a=i.Z.get(s,"group.value","");if(this.props.cid)return this.props.store.setUser(r),this.setState({clickedJoin:!1}),await this.props.store.sendConvoEvent(this.props.cid,"message_sent",{message:{text:o,format:"plaintext",fields:[{key:"to_agent_group",value:i.Z.stringify(a)}]}}),void(t.end_conversation_after_submit&&await this.props.store.endConvo(this.props.cid));this.setState({creating:!0});let n={text:o,format:"plaintext"},l={group_id:a,message:o,locale:this.props.t.locale(),initial_by:r.id};this.setState({creatingError:null});const{error:p,convo:h}=await this.props.store.startConvo(l);if(this.props.store.setUser(r),p)return void this.setState({creating:!1,creatingError:p});let c=h.id;this.userSent[c]=!0,this.props.onGo({view:"chat",cid:c}),this.props.store.sendConvoEvent(c,"message_sent",{message:n}),this.setState({creating:!1,clickedJoin:!1}),this.props.store.isMobile()||this.focusInput()}formMounted(t){let e=this.fillForm(t);e.question={key:"question",is_required:!0,label:this.props.t.i18n(i.Z.get(t,"i18n_question_label",{}))||t.question_label,type:"text"},this.setState({formData:e}),this.props.store.isMobile()||this.focusInput()}onBooleanChange(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=e.target.checked,this.setState({formData:s}))}onInputChange(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=e,this.setState({formData:s}))}onListAddItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=r.value||[],r.value.push(e),this.setState({formData:s}))}onListRemoveItem(t,e){let s=i.Z.cloneDeep(this.state.formData),r=i.Z.find(s,((e,s)=>s===t));r&&(r.value=r.value||[],r.value.splice(e,1),this.setState({formData:s}))}renderFields(){if(0===i.Z.size(this.state.formData))return null;let t=i.Z.map(this.state.formData,((t,e)=>{let s=null;var r=t.error?"input--error":"";if("text"===t.type)s="question"===e?(0,o.h)("textarea",{class:"form-control",ref:t=>{this["form_"+it(e)]=t},value:t.value||"",onInput:t=>this.onInputChange(e,t.target.value),row:"4",class:"form-control"}):(0,o.h)("input",{value:t.value||"",onInput:t=>this.onInputChange(e,t.target.value),ref:t=>{this["form_"+it(e)]=t},class:`form-control ${r}`,type:"text"});else if("number"===t.type)s=(0,o.h)("input",{value:t.value,onInput:t=>this.onInputChange(e,t.target.value),ref:t=>{this["form_"+it(e)]=t},class:`form-control ${r}`,type:"number"});else if("boolean"===t.type)s=(0,o.h)("div",{class:"checkbox"},(0,o.h)("input",{type:"checkbox",id:"form-checkbox"+it(e),onInput:t=>this.onBooleanChange(e,t),checked:t.value}),(0,o.h)("label",{class:"checkbox--label",for:"form-checkbox"+it(e)},t.label),(0,o.h)("div",{class:"checkbox--check"},(0,o.h)("div",null)));else if("group"===t.type)s=i.Z.map(t.list,(s=>(0,o.h)("div",{class:"radio"},(0,o.h)("input",{type:"radio",id:"form-radio"+it(e)+it(s.value),checked:t.value===s.value,onInput:t=>this.onInputChange(e,s.value)}),(0,o.h)("label",{class:"radio--label",for:"form-radio"+it(e)+it(s.value)},s.label),(0,o.h)("div",{class:"radio--check"},(0,o.h)("div",{class:"inside"})))));else if("list"===t.type){let r=this.state.formData[e].value||[],a=i.Z.filter(i.Z.get(t,"list",[]),(t=>!i.Z.includes(r,t)));s=(0,o.h)(x,{selected:r,items:a,onAddItem:t=>this.onListAddItem(e,t),onRemoveItem:t=>this.onListRemoveItem(e,t)})}else"datetime"===t.type&&(s=(0,o.h)("input",{value:t.value,onInput:t=>this.onInputChange(e,t.target.value),class:`form-control ${r}`,type:"date"}));let a="";return"fullname"===t.key?a=this.props.t("fullname"):"emails"===t.key?a=this.props.t("email"):"phones"===t.key?a=this.props.t("phones"):"question"===t.key&&(a=t.label||this.props.t("your_question")),t.label&&(a=t.label),(0,o.h)("div",null,(0,o.h)("div",{class:"label"},a,t.is_required?(0,o.h)("span",{class:"ml-1 red"},"*"):""),t.error?(0,o.h)("div",{class:"form-control--valid-input--error"},t.error):"",s)}));return(0,o.h)("div",{class:"pt-2"},t)}renderForm(t,e){let s=null;this.state.creating&&(s=(0,o.h)("span",{class:"ml-2"},(0,o.h)(W,{size:"16",mode:"white"})));let r=this.props.t.i18n(i.Z.get(t,"i18n_title",{}));return r||(r=i.Z.get(t,"title",this.props.t("capture_lead_title"))),r=r.replace("↵",""),(0,o.h)("div",{class:"widget-body"},(0,o.h)(st,{form:t,onMount:t=>this.formMounted(t)}),(0,o.h)("div",{class:"widget-body--content flex-grow-1 pl-3 pr-3 d-flex flex-column"},(0,o.h)("div",{class:"flex-grow-1"},(0,o.h)("div",{class:"form mt-3 pl-3 pr-3 pt-3 pb-3 d-flex flex-column"},(0,o.h)("div",null,r),this.renderFields())),(0,o.h)(m,{store:this.props.store,t:this.props.t})),(0,o.h)("div",{class:"message-input message-input--preform"},(0,o.h)("button",{class:"btn--start-convo",onClick:e=>this.submitPrechatForm(t)},e," ",s)))}goToConvo(t){this.props.onGo({view:"chat",cid:t})}renderConvoList(){let t=this.props.store.matchConvo("*");var e=i.Z.map(t,(t=>this.props.store.matchConvo(t.id)));e=i.Z.filter(e,(t=>!!t)),e=i.Z.orderBy(e,"created","desc");var s=i.Z.map(e,(t=>{let e=i.Z.filter(t.members,(t=>("agent"===t.type||"bot"===t.type)&&"active"===t.membership)),s=i.Z.map(e,(t=>t.id));return s=s||i.Z.agentsOfConvo(t)[0],(0,o.h)("div",{class:"convo-list--item",onClick:()=>this.goToConvo(t.id),key:t.id},(0,o.h)(g,{plugin:this.props.plugin,store:this.props.store,mode:"member",class:"d-flex flex-row",tooltipPos:"right",agent_ids:s}),this.renderConvoSummary(t))}));let r=(0,o.h)("div",{class:"convo-list--list"},s);return 0===i.Z.size(e)&&(r=(0,o.h)("div",{class:"convo-list--list"},(0,o.h)("div",{class:"empty-container"},(0,o.h)("img",{alt:"empty",src:Q}),(0,o.h)("div",{class:"empty-desc"},this.props.t("empty_convo"))))),(0,o.h)("div",{class:"convo-list"},(0,o.h)("div",{class:"convo-list--container"},(0,o.h)("div",{class:"convo-list--title"},this.props.t("conversations")),r),(0,o.h)("div",{class:"convo-list--footer"},(0,o.h)("button",{class:"btn--start-convo",onClick:t=>this.goToConvo("")},(0,o.h)("span",null,this.props.t("start_conversation")),(0,o.h)("img",{src:X,alt:"send button",width:"26",height:"26"})),(0,o.h)(m,{store:this.props.store})))}blur(){if(!this.props.store.isPreview){var t=this.msgInput;t&&(setTimeout((()=>t&&t.blur())),setTimeout((()=>t&&t.blur()),300))}}focusInput(){if(!this.props.store.isPreview){if(this.shouldShowForm()){let t="";return i.Z.map(this.state.formData,((e,s)=>{"text"===e.type&&(t||e.value||(t=s))})),void setTimeout((()=>{var e=this["form_"+it(t)];e&&e.focus()}),300)}var t=this.msgInput;t&&(setTimeout((()=>t.focus())),setTimeout((()=>t.focus()),300))}}onRate(t){this.props.cid&&(this.props.store.sendConvoEvent(this.props.cid,"conversation_rated",{conversation:{ratings:[t]}}),this.focusInput())}async sendMessage(t){let e=t.text;if(!this.props.cid){this.creating=!0;const{convo:s,error:i}=await this.props.store.startConvo({locale:this.props.t.locale(),message:e,initial_by:this.props.store.matchUser().id});return this.creating=!1,this.props.store.sendConvoEvent(s.id,"message_sent",{message:t}),void this.props.onGo({view:"chat",cid:s.id})}this.props.store.sendConvoEvent(this.props.cid,"message_sent",{message:t})}createPostback(t){this.props.store.createPostback(this.props.cid,t)}renderChat(){let t=(0,o.h)(b,{store:this.props.store,ref:t=>this.msgInput=t,cid:this.props.cid,onSend:t=>this.sendMessage(t),t:this.props.t}),e=this.props.store.matchConvo(this.props.cid)||{};return(this.isFormRequired()||"ended"===e.state)&&(t=(0,o.h)("div",{class:"message-input message-input--preform"},(0,o.h)("button",{class:"btn--start-convo",onClick:t=>this.onStartConvoClick(t)},this.props.t("offline_preform_btn")))),(0,o.h)("div",{class:"widget-body"},(0,o.h)("div",{class:"widget-body--content",onClick:t=>this.onContainerClick(t)},(0,o.h)(H,{isShow:this.props.isShow,store:this.props.store,onFormSubmit:t=>this.onEventFormSubmit(t),ref:t=>this.events=t,cid:this.props.cid,creating:this.creating,onSend:t=>this.sendMessage(t),onPostback:t=>this.createPostback(t),t:this.props.t}),(0,o.h)(G,{store:this.props.store,cid:this.props.cid,t:this.props.t})),(0,o.h)(N,{forceView:this.props.view,plugin:this.props.plugin,store:this.props.store,onRate:t=>this.onRate(t),cid:this.props.cid,t:this.props.t}),t)}async onStartConvoClick(){if("ended"===(this.props.store.matchConvo(this.props.cid)||{}).state)return this.props.onGo({view:"chat",cid:""});this.setState({clickedJoin:!0})}onEventFormSubmit(){this.focusInput()}onContainerClick(){window.getSelection().toString().length>0||this.props.store.isMobile()||this.focusInput()}isFormRequired(){let t,e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount()||{};i.Z.get(e,"prechat_form.enabled")&&(t=e.prechat_form);let r=i.Z.get(e,"offline_form.enabled");if(this.isOffline(s,e)&&r&&(t=e.offline_form),!t)return!1;let o=this.fillForm(t),a=this.props.store.matchConvo(this.props.cid)||{};return"ended"===a.state||!this.userHasSent(this.props.cid)&&(a.state&&"pending"!==a.state&&delete o.group,!!i.Z.find(o,(t=>null==t.value||""===t.value)))}renderConvoSummary(t){let e=this.props.store.matchAgent("*"),s=i.Z.filter(t.members,(t=>("agent"===t.type||"bot"===t.type)&&"active"===t.membership)),r=i.Z.map(s,(t=>t.id));r=r||i.Z.agentsOfConvo(t)[0];let a=i.Z.map(r,(t=>e[t]||{avatar_url:tt,fullname:"Offline Agent"}));var n=i.Z.each(a,(t=>t.fullname)).join(", ");n||(n=this.props.store.matchAccount().name),n||(n=this.props.t("agent"));var l=null;"user"===t.lastSenderType&&(l=(0,o.h)("span",{class:"yourmessage"},this.props.t("you"),":"));let p=i.Z.isConvoSeen(t,this.props.store.matchUser().id);var h=this.renderMessagePreview(t.last_message_sent||{data:{message:i.Z.get(t,"last_message")}}),c=i.Z.getMs(i.Z.get(t,"last_message_sent.created"))||i.Z.getMs(i.Z.get(t,"last_sent.created"))||i.Z.getMs(t.created),d=(0,o.h)(B,{ago:!0,time:c,key:c,short:!0});let u=p?null:(0,o.h)("div",{class:"convo-list--item-unread"});return"ended"===t.state&&(u=(0,o.h)("img",{alt:"conversation ended",class:"convo-list--convo-completed",src:K,title:this.props.t("conversation_ended")})),(0,o.h)("div",{class:"convo-list--convo-last-info"},(0,o.h)("div",{class:"d-flex flex-row"},(0,o.h)("div",{class:"convo-list--convo-name"},n),(0,o.h)("div",{class:"convo-list--convo-time"},d)),(0,o.h)("div",{class:"d-flex flex-row"},(0,o.h)("div",{class:"convo-list--convo-last-message"},l,h),u))}agentsOfConvo(t){let e=this.props.store.matchAgent("*");var s=i.Z.agentsOfConvo(t,!0);return i.Z.map(s,(t=>e[t]||{avatar_url:tt,fullname:"Offline Agent"}))}renderMessagePreview(t){let e=this.props.t("sent_you_a_message"),s=i.Z.get(t,"data.message.text");if("plaintext"!==i.Z.get(t,"data.message.format")&&(s=e),!s&&i.Z.size(i.Z.get(t,"data.message.attachments"))>0&&(s=e),!s)return null;let r=i.Z.get(t,"by.type");return(0,o.h)("div",{class:"convo-list--convo-last-mes"},i.Z.map(i.Z.extractText(s),(t=>"emoji"===t.type?(0,o.h)(a,{emojiCode:t.text,byType:r}):t.text)))}userHasSent(t){var e=this.props.store.matchConvo(t)||{};let s=this.props.store.matchUser();return!!this.userSent[t]||i.Z.find(e.members,(t=>t.id===s.id&&("active"===t.membership||t.last_sent>0)))}isOffline(t,e){let s=i.Z.get(e,"offline_form.enable_when"),r=!0;return"all_agents_offline"===s&&(r=t.is_online),"out_of_bussiness_hour"===s&&(r=t.is_in_business_hour),!r}updateFormDataFields(){let t,e=this.props.plugin.chatbox||{},s=this.props.store.matchAccount()||{};i.Z.get(e,"prechat_form.enabled")&&(t=e.prechat_form);let r=i.Z.get(e,"offline_form.enabled");if(this.isOffline(s,e)&&r&&(t=e.offline_form),"offline_form"===this.props.view&&(t=e.offline_form),"prechat_form"===this.props.view&&(t=e.prechat_form),0===i.Z.size(t))return[];var o={};i.Z.each(t.fields,(t=>{var e=Object.assign({},t);"list"===t.type&&(e.list=t.list),e.label=this.props.t.i18n(i.Z.get(t,"i18n_label",{}))||t.label,o["attr:"+t.key]=e})),t.group_required&&i.Z.size(t.groups)>0&&(o.group={key:"group",is_required:!!t.group_required,label:this.props.t.i18n(i.Z.get(t,"i18n_group_label",{}))||t.group_label,type:"group",list:i.Z.map(t.groups,(t=>({value:t.id,label:t.name})))}),o.question={key:"question",is_required:!0,label:this.props.t.i18n(i.Z.get(t,"i18n_question_label",{}))||t.question_label,type:"text"},this.isFormChanged(this.state.formData,o)&&this.setState({formData:o})}isFormChanged(t,e){let s=Object.keys(t),r=Object.keys(e);if(s.length!==r.length)return!0;for(let o=0;o<s.length;o++){if(i.Z.get(t,`${s[o]}.label`)!==i.Z.get(e,`${r[o]}.label`))return!0;if(i.Z.get(t,`${s[o]}.is_required`)!==i.Z.get(e,`${r[o]}.is_required`))return!0;if(i.Z.stringify(i.Z.get(t,`${s[o]}.list`))!==i.Z.stringify(i.Z.get(e,`${r[o]}.list`)))return!0}return!1}fillForm(t){if(0===i.Z.size(t))return[];var e={};let s=this.props.store.matchUser();return i.Z.each(t.fields,(t=>{var r=Object.assign({},t);r.value=i.Z.getUserAttr(s,t.key,t.type),"boolean"!==t.type||r.value||(r.value=!1),"datetime"===t.type&&r.value&&(r.value=new i.Z.Date(e.value).toLocaleDateString("en-CA")),"list"===t.type&&(r.list=t.list),r.label=this.props.t.i18n(i.Z.get(t,"i18n_label",{}))||t.label,e["attr:"+t.key]=r})),t.group_required&&i.Z.size(t.groups)>0&&(e.group={key:"group",is_required:!!t.group_required,label:this.props.t.i18n(i.Z.get(t,"i18n_group_label",{}))||t.group_label,type:"group",list:i.Z.map(t.groups,(t=>({value:t.id,label:t.name})))}),e}}class st extends r.M{componentDidMount(){this.props.onMount(this.props.form)}}function it(t){return btoa(t).split("=").join("")}let rt=s.e(178).then(s.bind(s,178));class ot extends r.M{constructor(t){super(t),this.refButton=(0,o.Vf)()}async refreshCSS(){let t=this.props.store.matchPlugin();if(!i.Z.find(t,(t=>t.id===this.props.plugin.id)))return;let e=(await rt).default.default.toString();var s=i.Z.replaceCssVariable(e,this.props.plugin.chatbox);i.Z.setCss(this.props.plugin.id,this.$cssStyleDiv,s)}componentWillUnmount(){i.Z.setCss(this.props.plugin.id,this.$cssStyleDiv,"")}async componentDidMount(){if(this.$cssStyleDiv=document.getElementById("subiz-style-for-"+this.props.plugin.id),this.$cssStyleDiv||(this.$cssStyleDiv=document.createElement("style"),document.head.appendChild(this.$cssStyleDiv),this.$cssStyleDiv.type="text/css",this.$cssStyleDiv.id="subiz-style-for-"+this.props.plugin.id),this.setState({cssready:!1,isShowWidget:!1,widgetView:"",widgetConvoId:""}),this.checkExpand(),this.props.store.onResetCSS(this,(()=>this.refreshCSS())),this.props.store.onConvoEvent(this,(t=>this.checkExpand())),this.props.store.onUpdate(this,(t=>this.checkExpand())),await this.refreshCSS(),this.setState({cssready:!0}),this.props.store.matchIsOpen()&&this.props.store.matchLastview().view){if(this.props.store.isMobile())return;this.showWidget(Object.assign({},this.props.store.matchLastview().opts,{view:this.props.store.matchLastview().view}))}else at(),this.state.isShowWidget||this.hideWidget()}render(){if(!this.state.cssready)return null;if(i.Z.isUserBanned(this.props.store.matchUser()))return null;if(!this.props.t)return null;var t=this.props.store.isMobile()?"mobile":"desktop";return(0,o.h)("div",{class:t},(0,o.h)(p,{plugin:this.props.plugin,store:this.props.store,key:"chat_button",ref:this.refButton,isShow:!this.state.isShowWidget,onClick:t=>this.showWidget(t),t:this.props.t}),(0,o.h)(et,{plugin:this.props.plugin,store:this.props.store,view:this.state.widgetView,cid:this.state.widgetConvoId,isShow:this.state.isShowWidget,onClose:t=>this.onWidgetClose(t),onGo:t=>this.showWidget(t),t:this.props.t}))}checkExpand(){if(this.props.store.isMobile())return;if(this.props.plugin._no_auto_expand)return;if(this.props.store.matchHasManuallyClosed())return;let t=this.props.store.matchConvo("*"),e=i.Z.find(t,(t=>!i.Z.isConvoSeen(t,this.props.store.matchUser().id)));e&&e.id&&(this.state.isShowWidget||this.showWidget({view:"chat",cid:e.id}))}getCurrentView(){return{is_show_widget:this.state.isShowWidget,conversation_id:this.state.widgetConvoId,view:this.state.widgetView}}async showWidget(t){if(this.refButton.current&&this.refButton.current.ClearPreview(),!t.view){let e=this.props.store.matchLastview()||{};t.view=i.Z.get(e,"view"),t.cid=i.Z.get(e,"opts.cid")}t=t||{},this.props.store.isMobile()&&function(){let t=document.createElement("meta");t.httpEquiv="X-UA-Compatible",t.name="viewport",t.id="subiz-meta-viewport",t.content="maximum-scale=1.0, user-scalable=no, width=device-width, initial-scale=1.0",document.getElementsByTagName("head")[0].appendChild(t)}(),this.setState({widgetConvoId:t.cid,widgetView:t.view}),this.props.store.setIsOpen(!0),this.forceUpdate(),this.setState({isShowWidget:!0}),this.props.store.setLastview(t.view,{cid:t.cid})}showGreeting(){this.refButton.current&&this.refButton.current.ShowGreeting()}hideGreeting(){this.refButton.current&&this.refButton.current.HideGreeting()}hideWidget(){at(),this.props.store.setIsOpen(!1),this.setState({isShowWidget:!1})}onWidgetClose(){this.refButton.current&&this.refButton.current.ClearPreview(),this.props.store.setHasManuallyClosed(),this.hideWidget()}}function at(){let t=document.getElementById("subiz-meta-viewport");t&&t.remove()}},2493:(t,e,s)=>{"use strict";s.d(e,{M:()=>r,u:()=>o});var i=s(6400);s(819);class r extends i.wA{constructor(t){super(t),this._isMounted=!0,setTimeout((()=>{if(this.componentWillUnmount){let t=this.componentWillUnmount.bind(this);this.componentWillUnmount=()=>{t(),this._isMounted=!1}}}),10)}}class o extends r{constructor(t){super(t),this.setWrapperRef=this.setWrapperRef.bind(this),this.onClick=this.onClick.bind(this)}componentDidMount(){document.addEventListener("mousedown",this.onClick)}componentWillUnmount(){document.removeEventListener("mousedown",this.onClick)}setWrapperRef(t){this.wrapperRef=t}onClick(t){this.wrapperRef&&!this.wrapperRef.contains(t.target)&&this.props.onClickaway&&this.props.onClickaway()}render(){return(0,i.h)("div",{ref:this.setWrapperRef},this.props.children)}}},6755:(t,e,s)=>{t.exports=s.p+"assets/img/bubble_default.7d5e4ab.svg"},6188:(t,e,s)=>{t.exports=s.p+"assets/img/convos_empty.2353007.svg"},9270:(t,e,s)=>{t.exports=s.p+"assets/img/default.06e6ee0.jpg"},4761:(t,e,s)=>{t.exports=s.p+"assets/img/default_avatar.5b74dc1.png"},8909:(t,e,s)=>{t.exports=s.p+"assets/img/done_gray.d7e8203.svg"},29:(t,e,s)=>{t.exports=s.p+"assets/img/empty.29bed2d.svg"},8453:(t,e,s)=>{t.exports=s.p+"assets/img/external-link.90577cc.svg"},9895:(t,e,s)=>{t.exports=s.p+"assets/img/image_default.be0698b.png"},6484:(t,e,s)=>{t.exports=s.p+"assets/img/loading_static.8f403ae.svg"},6535:(t,e,s)=>{t.exports=s.p+"assets/img/rating--average.1ea492c.svg"},3824:(t,e,s)=>{t.exports=s.p+"assets/img/rating--great.e3d712e.svg"},8367:(t,e,s)=>{t.exports=s.p+"assets/img/rating--poor.2938a25.svg"},9737:(t,e,s)=>{t.exports=s.p+"assets/img/send.6db52a9.svg"},8430:(t,e,s)=>{t.exports=s.p+"assets/img/subiz-mono.877e9f5.svg"}}]);
File without changes