"use strict";(self["webpackChunkbms_app"]=self["webpackChunkbms_app"]||[]).push([[263],{45644:function(e,s,t){t.r(s),t.d(s,{default:function(){return ve}});var a=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"chat__wrapper"},[e.socket.connected?[t("div",{staticClass:"chat__body"},[e.socket.defaultMessage?t("div",{staticClass:"fixed-message"},[t("div",{staticClass:"fixed-message-header"},[t("icon-pin",{attrs:{width:"14",height:"14"}}),t("span",[e._v("Закреплено")])],1),e.defaultMessageNeedReduce()?t("div",[t("div",{staticClass:"fixed-message-wrap"},[t("div",{ref:"messageText",staticClass:"fixed-message-text"},[e._v(" "+e._s(e.socket.defaultMessage)+" ")])]),t("div",{ref:"arrowImg",staticClass:"fixed-message-arrow",on:{click:e.openDefaultMessage}},[t("icon-arrow-down",{tag:"component"})],1)]):e._e(),t("FixedMessage",{staticClass:"fixed-message-text",attrs:{text:e.socket.defaultMessage}})],1):e._e(),t("button",{staticClass:"chat__body-button-down",class:{"chat__body-button-down--show":e.isShowButtonDown},on:{click:function(s){return e.scrollChatBottom()}}},[t("icon-down")],1),(e.socket&&e.socket.showUsers,t("div",{staticClass:"chat__body-user-wrapper",class:[e.showUsers&&"active",e.skin]},[t("bms-chat-users")],1)),t("VirtualList",{ref:"chatBody",staticClass:"chat__body-message-list",staticStyle:{"overflow-y":"auto","max-height":"100%","padding-bottom":"10px"},attrs:{"data-key":function(e){return e.message.code},"data-sources":e.messages,"data-component":e.BmsChatMessage}})],1),t("div",{staticClass:"chat__bottom-part"},[t("div",{staticClass:"chat__border"}),e.socket?t("bms-chat-input",{ref:"messageForm"},[e.socket&&e.socket.showUsers?t("button",{staticClass:"userlist-btn",on:{click:function(s){s.stopPropagation(),e.showUsers=!e.showUsers}}},[t(e.showUsers?"icon-userlist-hide":"icon-userlist",{tag:"component"})],1):e._e()]):e._e()],1)]:t("LoadingComponent")],2)},i=[],o=t(91114),n=t(31635),r=t(442),c=t(26489),l=t(77929),h=t.n(l),m=t(88072),g=t(66047),u=t(17959),d=t(17879),p=t(26348),v=t(24259),_=t(30422),y=t(29475),k=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{ref:"messageForm",staticClass:"chat__form chat__form--mobile"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.isLoginEditing&&!e.isMobileSize,expression:"isLoginEditing && !isMobileSize"}],staticClass:"chat__form-name"},[t("div",{staticClass:"chat__user-name"},[t("span",[e._v(e._s(e.$t("labels.enter_nickname")))]),t("button",{staticClass:"chat__form-close",on:{click:e.cancelLoginEditing}},[t("icon-close")],1),e._t("default")],2),t("div",{staticClass:"chat__form-name-input"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.userName,expression:"userName"}],ref:"userNameInput",attrs:{type:"text",placeholder:"Имя"},domProps:{value:e.userName},on:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:(s.preventDefault(),e.handleEnterUser.apply(null,arguments))},input:function(s){s.target.composing||(e.userName=s.target.value)}}}),t("button",{attrs:{disabled:!e.userName||0===e.userName.length},on:{click:function(s){return e.addUserName()}}},[e._v(" Дальше ")])])]),e.isLoginEditing&&e.isMobileSize?t("div",{staticClass:"chat__form-name chat__form-name--mobile"},[t("div",{staticClass:"chat__form-name-input"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.userName,expression:"userName"}],ref:"userNameInputMobile",attrs:{type:"text",placeholder:"Имя для отправки сообщения"},domProps:{value:e.userName},on:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:(s.preventDefault(),e.handleEnterUser.apply(null,arguments))},input:function(s){s.target.composing||(e.userName=s.target.value)}}}),t("button",{staticClass:"add-user",on:{click:function(s){return e.addUserName()}}},[t("icon-arrow",{staticClass:"add-user__svg"})],1)])]):e._e(),e.isLoginEditing?e._e():t("div",{staticClass:"chat__form-message",class:{"chat__form-message--mobile":e.isMobileSize}},[t("div",{staticClass:"chat__user-name",class:{"chat__user-reply":e.replyMessage.message}},[t("div",{staticClass:"chat__user-name-top"},[t("div",{staticClass:"chat__user-name-login"},[t("span",[e._v(e._s(e.socket.loginName)+":")]),e.loginEditingAvailable?t("button",{on:{click:function(s){return s.stopPropagation(),e.editUserName.apply(null,arguments)}}},[t("icon-pancil")],1):e._e()]),e._t("default")],2),e.replyMessage.message?t("div",{staticClass:"chat__user-reply-wrap"},[t("p",{staticClass:"chat__user-reply-message"},[t("span",{staticClass:"chat__user-nickname"},[e._v(e._s(e.userNickname))]),e._v(": "+e._s(e.userReplyMessage)+" ")]),t("button",{staticClass:"chat__user-reply-close",on:{click:e.cancelInput}},[t("icon-close")],1)]):e._e()]),e.quoteMessage.message.length?t("div",{staticClass:"quote-message"},[t("span",{staticClass:"name-message"},[e._v(e._s(e.quoteMessage.name)+":")]),t("span",{staticClass:"text-message"},[e._v(e._s(e.quoteMessage.message))])]):e._e(),t("md-field",{staticClass:"chat__form-input-field"},[t("button",{staticClass:"smile-button",on:{click:function(s){return s.stopPropagation(),s.preventDefault(),e.changeShowEmoji.apply(null,arguments)}}},[t("icon-smile")],1),t("md-textarea",{ref:"userMessageTextarea",class:{"hidden-scroll":e.isHiddenScroll},attrs:{value:e.userMessage,"md-autogrow":"",maxlength:e.maxLength},on:{input:e.handleInput,keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:e.cancelInput.apply(null,arguments)},blur:e.removeKeyboardEventsListener},nativeOn:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:(s.preventDefault(),e.handleEnterMessage.apply(null,arguments))},focus:function(s){return e.addKeyboardEventsListener.apply(null,arguments)}}}),t("button",{staticClass:"send-button",attrs:{disabled:!e.userMessage||0===e.userMessage.length},on:{click:function(s){return e.addMessage()}}},[t("icon-send")],1)],1),t("vue-recaptcha",{directives:[{name:"show",rawName:"v-show",value:e.spamChecker,expression:"spamChecker"}],ref:"recaptcha",attrs:{sitekey:e.sitekeyRecaptcha},on:{verify:e.captchaVerify}}),t("div",{staticClass:"chat__form-buttons-wrap"},[t("div",{staticClass:"chat__form-numbers"},[e._v(" "+e._s(e.maxLength-e.userMessage.length)+"/"+e._s(e.maxLength)+" ")])]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.showEmoji,expression:"showEmoji"}],staticClass:"chat__form-emoji-wrapper"},[t("v-emoji-picker",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.handleSmileOutsideClick,expression:"handleSmileOutsideClick"}],attrs:{i18n:e.emojiI18N,emojiSize:24,showCategories:!1},on:{select:e.handleEmoji}})],1)],1)])},f=[],C=t(68357),M=t.n(C),x=t(37849),w=t(2895),A=t.n(w),b=t(19552),E=t(35535),T=t(66496),N=t(94656),L=t(38559),I=t(25350);r.lD.use(M());let S=class extends((0,r.Xe)(N.p)){constructor(...e){super(...e),(0,o.A)(this,"socket",void 0),(0,o.A)(this,"userMessageTextarea",void 0),(0,o.A)(this,"userNameInput",void 0),(0,o.A)(this,"userNameInputMobile",void 0),(0,o.A)(this,"maxLength",512),(0,o.A)(this,"emojiI18N",this.$t("emoji")),(0,o.A)(this,"sitekeyRecaptcha","6LfjvywfAAAAAM_zcbCdRh80Csi3T7xpWU35VZQu"),(0,o.A)(this,"userName",""),(0,o.A)(this,"isUserName",!1),(0,o.A)(this,"isAndroid",E.A.IS_ANDROID),(0,o.A)(this,"quoteMessage",{name:"",message:""}),(0,o.A)(this,"isLoginEditing",!0),(0,o.A)(this,"scrollChatBottom",void 0),(0,o.A)(this,"isHiddenScroll",!0),(0,o.A)(this,"showEmoji",!1),(0,o.A)(this,"counterMessage",0),(0,o.A)(this,"spamChecker",!1),(0,o.A)(this,"lastMessageTime",Date.now()),(0,o.A)(this,"popupItem",void 0)}async startListeners(){this.socket.on("logged",(async e=>{this.userName=e.user.nickname,window.boomstreamOptions.buyerName&&(this.userName=window.boomstreamOptions.buyerName),this.isUserName=!0,await this.$nextTick(),this.userMessageTextarea?.$el?.focus()}))}get textAreaElement(){return this.userMessageTextarea?.$el}get userNameInputElement(){return this.userNameInput}get userNameInputMobileElement(){return this.userNameInputMobile}get loginEditingAvailable(){return!this.configState?.nickname}cancelInput(){this.textAreaElement?.blur(),this.$emit("blur"),this.setReplyMessage({})}replyMessageChanged(e){e.message&&this.textAreaElement?.focus()}handleInput(e){this.setUserMessage(e)}async addUserName(){this.socket.logout(),await this.socket.login(this.userName),this.isLoginEditing=!1}editUserName(){this.isLoginEditing=!0,setTimeout((()=>{this.isMobileSize?this.userNameInputMobileElement?.focus():this.userNameInputElement?.focus()}),300)}handleEnterUser(){this.userName.trim().length&&this.addUserName()}changeShowEmoji(){setTimeout((()=>{this.showEmoji=!this.showEmoji}),0)}handleSmileOutsideClick(e){this.showEmoji&&(this.showEmoji=!1)}handleEmoji({data:e}){if(this.userMessageTextarea){const{selectionStart:s}=this.userMessageTextarea.$el;this.setUserMessage([this.userMessage.substring(0,s),e,this.userMessage.substring(s)].join("")),this.showEmoji=!1,this.userMessageTextarea.$el.focus()}}handleEnterMessage(e){const{ctrlKey:s,shiftKey:t}=e;s||t?this.setUserMessage(`${this.userMessage}\n`):this.userMessage.trim().length&&this.addMessage()}removeKeyboardEventsListener(e){e.target?.removeEventListener("keyup",this.handleKeyboardEvents)}addKeyboardEventsListener(e){e.target?.addEventListener("keyup",this.handleKeyboardEvents)}handleKeyboardEvents(e){switch(e?.keyCode){case 39:case 37:case 38:case 40:case 32:e.stopPropagation();break;default:}}get userNickname(){return this.replyMessage?.user?.nickname?this.replyMessage?.user?.nickname:""}get userReplyMessage(){return this.replyMessage?.message?.message?this.replyMessage.message?.message:""}get userReplyMessageCode(){return this.replyMessage?.message?.code||null}addMessage(){this.userMessage&&(this.messageChanged?this.acceptEditMessage():this.checkSpam()),this.quoteMessage={name:"",message:""},this.replyMessage?.message&&(this.setReplyMessage({}),this.scrollChatBottom())}checkSpam(){const e=Date.now();this.lastMessageTime-e<6e4?this.counterMessage+=1:(this.counterMessage=1,this.lastMessageTime=e),this.counterMessage>3&&(this.spamChecker=!0),this.spamChecker||(this.socket.message(this.userMessage.trim(),this.userReplyMessageCode),this.setUserMessage(""))}captchaVerify(){this.spamChecker=!1,this.$refs?.recaptcha?.reset(),this.socket.message(this.userMessage.trim(),this.userReplyMessageCode),this.setUserMessage(""),this.counterMessage=0}cancelEditMessage(){this.setEditedMessage({}),this.setUserMessage(""),this.setMessageChanged(!1)}acceptEditMessage(){this.socket.editMessage(this.editedMessage?.message.code,this.userMessage),this.cancelEditMessage()}textareaInputHandler(e){this.setUserMessage(e.target.value)}mounted(){this.popupItem=this.$el;const e=navigator&&navigator?.userAgentData?.mobile&&navigator.userAgent.includes(" MI ");if(e){const e=this?.$refs?.userMessageTextarea?.$el;e?.addEventListener("input",this.textareaInputHandler)}this.startListeners().then((()=>{window.boomstreamOptions.buyerName&&this.socket.login(window.boomstreamOptions.buyerName)}))}cancelLoginEditing(){this.isLoginEditing=!1}beforeDestroy(){const e=this?.$refs?.userMessageTextarea?.$el;e?.removeEventListener("input",this.textareaInputHandler)}created(){this.socket.loggined&&(this.isLoginEditing=!1),this.socket.on("logged",(()=>{this.isLoginEditing=!1}))}};(0,n.Cg)([(0,r.Xs)()],S.prototype,"socket",void 0),(0,n.Cg)([(0,r.oS)()],S.prototype,"userMessageTextarea",void 0),(0,n.Cg)([(0,r.oS)()],S.prototype,"userNameInput",void 0),(0,n.Cg)([(0,r.oS)()],S.prototype,"userNameInputMobile",void 0),(0,n.Cg)([(0,r.Xs)()],S.prototype,"scrollChatBottom",void 0),(0,n.Cg)([(0,r.ox)("replyMessage")],S.prototype,"replyMessageChanged",null),(0,n.Cg)([(0,r.ox)("userMessage")],S.prototype,"handleInput",null),S=(0,n.Cg)([(0,r.uA)({components:{VEmojiPicker:x.D6,"icon-more":m.A,"icon-reply":u.A,"icon-send":d.A,"icon-smile":p.A,"icon-arrow":v.A,"icon-down":_.A,"icon-userlist":T.A,"icon-close":L.A,"icon-pancil":I.A,"vue-recaptcha":b.A},directives:{ClickOutside:A()}})],S);var D=S,$=D,U=t(81656),R=(0,U.A)($,k,f,!1,null,"d4cc0ab0",null),O=R.exports,B=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"chat-message-wrap",class:{"wrap-group":e.messageGroup},on:{mouseleave:function(s){e.modalActions=!1},tap:function(e){e.preventDefault()}}},[t("div",{class:"chat__message"},[t("div",{staticClass:"time-name-wrap"},[t("div",{staticClass:"name-message"},[t("div",[e.messageGroup?e._e():t("span",{class:[e.messageClass]},[t("span",{staticClass:"time-message",attrs:{title:e.displayDate}},[e._v(e._s(e.displayTime))]),t("span",{staticClass:"name-message",class:{messageOwner:"name-message-owner"}},[e._v(e._s(e.msg.user.nickname)+":")])]),e.parentMessage?t("div",{staticClass:"parent-message",on:{click:function(s){return s.stopPropagation(),e.scrollToIndex(e.parentMessageIndex)}}},[t("p",{staticClass:"text-message"},[t("span",{staticClass:"name-message"},[e._v(" "+e._s(e.parentMessage.message.name)+": ")]),e._v(" "+e._s(e.parentMessage.message.message)+" ")])]):t("span",{staticClass:"text-message",class:{"message-group":e.messageGroup},domProps:{innerHTML:e._s(e.msg.message.message)}})])]),e._e(),t("button",{staticClass:"message-btn btn-delete message-reply",on:{click:function(s){return s.stopPropagation(),e.modalActionsMessage.apply(null,arguments)}}},[t("svg",{attrs:{width:"4",height:"16",viewBox:"0 0 4 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z",fill:"black","fill-opacity":"0.7"}})]),e.modalActions?t("div",{staticClass:"message-actions",class:{"actions-top":e.modalToTop()},style:{top:e.modalToTopPx()}},[t("div",{staticClass:"message-triangle",style:{top:e.triangletoTop()}}),t("div",{staticClass:"action",on:{click:function(s){return s.preventDefault(),s.stopPropagation(),e.changeReplyMessage(e.msg)},tap:function(s){return s.preventDefault(),s.stopPropagation(),e.changeReplyMessage(e.msg)}}},[e._v(" Ответить ")]),e.messageOwner?[t("div",{staticClass:"action",on:{click:e.editMessage}},[e._v("Редактировать")]),t("div",{staticClass:"action-hr"}),t("div",{staticClass:"action",on:{click:e.messageDelete}},[e._v("Удалить")])]:e._e()],2):e._e()])])])])},j=[],P=t(74353),H=t.n(P),F=t(55761);let X=class extends((0,r.Xe)(N.p)){constructor(...e){super(...e),(0,o.A)(this,"source",void 0),(0,o.A)(this,"socket",void 0),(0,o.A)(this,"scrollToIndex",void 0),(0,o.A)(this,"index",0),(0,o.A)(this,"parentMessageIndex",0),(0,o.A)(this,"messageOwner",!1),(0,o.A)(this,"modalActions",!1)}get msg(){return this.source}get parentMessage(){return this.socket?.messages.find(((e,s)=>e.message.code===this.source.message.parent_code&&(this.parentMessageIndex=s,!0)))}get messageGroup(){const e=this.socket?.messages||[];return!!this.index&&(e[this.index].user.nickname===e[this.index-1].user.nickname&&this.getTime(e[this.index].message.created_at)===this.getTime(e[this.index-1].message.created_at)&&!this.checkNewDay)}get checkNewDay(){const e=this.socket?.messages||[];return!this.index||this.getShortTime(e[this.index].message.created_at)!==this.getShortTime(e[this.index-1].message.created_at)}get adminHref(){const{message:e}=this.msg.message;return e.includes("https//:")?e:`https://${e}`}get messageClass(){return this.msg.message.is_owner?"chat__message--administrator":this.socket?.loginName===this.msg.user.nickname?"chat__message--client":"chat__message--user"}get displayTime(){return this.msg.message.created_at.toString().slice(11,16)}get displayDate(){return new Intl.DateTimeFormat(void 0,F.Ag.FULL_DATE_TIME).format(H().tz(this.msg.message.created_at,F.uo).toDate())}getTime(e){return new Intl.DateTimeFormat(void 0,F.Ag.TIME_ONLY).format(H().tz(e,F.uo).toDate())}getShortTime(e){return Intl.DateTimeFormat(void 0,F.Ag.DATE_ONLY).format(H().tz(e,F.uo).toDate())}modalActionsMessage(){this.modalActions=!this.modalActions}changeReplyMessage(e){this.setReplyMessage(e),setTimeout((()=>{this.modalActions=!1}),100)}modalToTop(){const e=this.socket?.messages||[];return!(this.index<=2)&&e.length-this.index<4}modalToTopPx(){return this.modalToTop()?this.messageOwner?"-107px":"-40px":"28px"}triangletoTop(){return this.modalToTop()?this.messageOwner?"100px":"33px":"-10.2px"}editMessage(){document.querySelector(".md-textarea")?.focus(),this.setMessageChanged(!0),this.setUserMessage(this.msg.message.message),this.setEditedMessage(this.msg)}messageDelete(){this.socket.removeMessage(this.msg.message.code)}beforeMount(){const e=this.socket?.messages||[],s=e.findIndex((e=>e.message.code===this.msg.message.code));this.index=s,this.msg.user.nickname===this.socket.loginName&&(this.messageOwner=!0)}};(0,n.Cg)([(0,r.kv)()],X.prototype,"source",void 0),(0,n.Cg)([(0,r.Xs)()],X.prototype,"socket",void 0),(0,n.Cg)([(0,r.Xs)()],X.prototype,"scrollToIndex",void 0),X=(0,n.Cg)([(0,r.uA)({components:{"icon-reply":u.A}})],X);var z=X,q=z,K=(0,U.A)(q,B,j,!1,null,"72c5b0ba",null),V=K.exports,G=t(29368),Z=t(67055),Q=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"users-list-root"},[t("h2",[e._v(e._s(e.$t("chat.users_title")))]),t("div",{staticClass:"user-items-wrapper"},e._l(e.userList,(function(s){return t("div",{key:s.nickname+e.unicId(),staticClass:"user-item",class:{admin:s.isOwner}},[t(s.nickname===e.socket.loginName||s.isOwner?"b":"span",{tag:"component"},[e._v(" "+e._s(s.nickname)+" ")])],1)})),0),t("div",{staticClass:"user-count-wrapper"},[t("span",[e._v(e._s(e.$t("chat.count_guest",{count:e.socket.countGuests})))]),t("br"),t("span",[e._v(e._s(e.$t("chat.count_users",{count:e.userList&&e.userList.length||0})))])])])},W=[],Y=t(27066);let J=class extends r.lD{constructor(...e){super(...e),(0,o.A)(this,"socket",void 0),(0,o.A)(this,"unicId",Y.Xe)}get userList(){return[...this.socket.users]}};(0,n.Cg)([(0,r.Xs)()],J.prototype,"socket",void 0),J=(0,n.Cg)([(0,r.uA)({})],J);var ee=J,se=ee,te=(0,U.A)(se,Q,W,!1,null,"c2907afc",null),ae=te.exports,ie=t(47903),oe=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",[e.hasLink?t("div",[e._v(" "+e._s(e.textBeforeLink)),t("a",{attrs:{href:e.link,target:"_blank"}},[e._v(e._s(e.link))]),e._v(e._s(e.textAfterLink)+" ")]):t("span",[e._v(e._s(e.text))])])},ne=[];let re=class extends r.lD{constructor(...e){super(...e),(0,o.A)(this,"text",void 0)}get hasLink(){return/https?:\/\/[^\s]+/.test(this.text)}get link(){const e=/(https?:\/\/[^\s]+)/,s=this.text.match(e);return s?s[0]:""}get textBeforeLink(){return this.hasLink?this.text.slice(0,this.text.indexOf(this.link)):""}get textAfterLink(){return this.hasLink?this.text.slice(this.text.indexOf(this.link)+this.link.length):""}};(0,n.Cg)([(0,r.kv)(String)],re.prototype,"text",void 0),re=(0,n.Cg)([r.uA],re);var ce=re,le=ce,he=(0,U.A)(le,oe,ne,!1,null,null,null),me=he.exports;let ge=class extends((0,r.Xe)(N.p)){constructor(...e){super(...e),(0,o.A)(this,"code",void 0),(0,o.A)(this,"skin",void 0),(0,o.A)(this,"BmsChatMessage",V),(0,o.A)(this,"socket",void 0),(0,o.A)(this,"config",void 0),(0,o.A)(this,"isMobile",c.isMobile),(0,o.A)(this,"isHiddenScroll",!0),(0,o.A)(this,"showDialog",!1),(0,o.A)(this,"showEmoji",!1),(0,o.A)(this,"showUsers",!1),(0,o.A)(this,"messageForm",void 0),(0,o.A)(this,"chatBody",void 0)}get messages(){return this.socket?.messages||[]}get adminHrefCheck(){const e=/^(https?:\/\/)?([\w-]{1,32}\.[\w-]{1,32})[^\s@]*/.exec(this.socket.defaultMessage);return!!e}extractLinkFromString(e){const s=/(https?:\/\/[^\s]+)/,t=e.match(s);return t?t[0]:e}defaultMessageNeedReduce(){const e=document.createElement("div");e.style.visibility="hidden",e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.wordBreak="break-word",c.isMobile?e.style.width="91.12%":e.style.width="348px",e.style.maxWidth="100%",e.style.margin="0px 16px",e.textContent=this.socket.defaultMessage,document.body.appendChild(e);const s=e.clientHeight;return document.body.removeChild(e),s>60}openDefaultMessage(){this.$refs.arrowImg?.classList.toggle("rotate"),this.$refs.messageText?.classList.toggle("fixed-message-expand")}async mounted(){this.socket.connected||await this.socket.initSocket();const e=document.querySelector(".chat__body-message-list");e?.addEventListener("scroll",(()=>{e.scrollTop+e.clientHeight!==e?.scrollHeight?this.setButtonDown(!0):this.setButtonDown(!1)})),this?.config?.nickname&&this.socket.login(this.config.nickname),this.socket.on("joined",(async()=>{this.scrollChatBottom()})),this.socket.on("logged",(async()=>{this.scrollChatBottom()})),this.socket.on("message",this.handleMessage.bind(this)),this.socket.chat=!0,await new Promise((e=>setTimeout(e,150))),this.scrollChatBottom()}async handleMessage(){await this.$nextTick()}async scrollChatBottom(){this.chatBody?.scrollToBottom(),await new Promise((e=>setTimeout(e,150))),this.setButtonDown(!1)}scrollToIndex(e){this.chatBody?.scrollToIndex(e)}toogleDialogEmoji(){this.showDialog=!this.showDialog}};(0,n.Cg)([(0,r.Xs)()],ge.prototype,"code",void 0),(0,n.Cg)([(0,r.Xs)()],ge.prototype,"skin",void 0),(0,n.Cg)([(0,r.Xs)()],ge.prototype,"socket",void 0),(0,n.Cg)([(0,r.Xs)()],ge.prototype,"config",void 0),(0,n.Cg)([(0,r.oS)()],ge.prototype,"messageForm",void 0),(0,n.Cg)([(0,r.oS)()],ge.prototype,"chatBody",void 0),(0,n.Cg)([(0,r.TR)()],ge.prototype,"scrollChatBottom",null),(0,n.Cg)([(0,r.TR)()],ge.prototype,"scrollToIndex",null),ge=(0,n.Cg)([(0,r.uA)({components:{"icon-more":m.A,"icon-reply":u.A,"icon-send":d.A,"icon-smile":p.A,"icon-arrow":v.A,"icon-arrow-down":G.A,"icon-down":_.A,"icon-pin":y.A,"bms-chat-input":O,"bms-chat-message":V,"icon-userlist":T.A,"icon-userlist-hide":Z.A,"bms-chat-users":ae,btnplay:g.A,VirtualList:h(),FixedMessage:me,LoadingComponent:ie.qH},directives:{scrollBottom:{async inserted(e,s){await new Promise((e=>setTimeout(e,Number(s.value||0)))),e.scrollTop=e.scrollHeight}}}})],ge);var ue=ge,de=ue,pe=(0,U.A)(de,a,i,!1,null,"32edb1e2",null),ve=pe.exports},31460:function(e,s,t){t.d(s,{Q:function(){return o}});var a=t(91114);const i=e=>{let s=0;if(0===e.length)return s;for(let t=0;t<e.length;t++){const a=e.charCodeAt(t);s=(s<<5)-s+a,s&=s}return`${s}:${e.length}`};class o{static Extract(e){const s=this.getShadowRootElement(e.$parent);if(s){let e="";if(Array.from(s.styleSheets).forEach((s=>{const t=Array.from(s.cssRules).filter((e=>e.type===CSSRule.FONT_FACE_RULE));t.length&&Array.from(t).forEach((s=>{if(this.styles[i(s.cssText)])return!1;this.styles[i(s.cssText)]=!0,e+=`${s.cssText}\n`}))})),e){const s=document.createElement("style");s.innerHTML=e,document.head.append(s)}}}static getShadowRootElement(e){return e.$el&&e.$el.parentNode?this.findShadowRoot(e.$el):null}static findShadowRoot(e){try{return e instanceof ShadowRoot?e:e.parentNode?this.findShadowRoot(e.parentNode):null}catch(s){return e.styleSheets?e:null}}}(0,a.A)(o,"styles",{})}}]);