diff --git a/dist/index.common.js b/dist/index.common.js index 804ed3c..e4eddeb 100644 --- a/dist/index.common.js +++ b/dist/index.common.js @@ -5642,6 +5642,136 @@ var es7_array_includes = __webpack_require__("6762"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js var es6_string_includes = __webpack_require__("2fdb"); +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js +var es6_regexp_constructor = __webpack_require__("3b2b"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.values.js +var es7_object_values = __webpack_require__("8615"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js +var es6_regexp_to_string = __webpack_require__("6b54"); + +// CONCATENATED MODULE: ./packages/utils/validate.js + + + + + +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} +function isString(str) { + return typeof str == "string"; +} +function isToday(time) { + return new Date().getTime() - time < 86400000; +} +function isEmpty(obj) { + if (!obj) return true; + if (Array.isArray(obj) && obj.length == 0) return true; + if (isPlainObject(obj) && Object.values(obj).length == 0) return true; + return false; +} +function isUrl(str) { + var reg = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@ + "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184 + "|" + // 允许IP和DOMAIN(域名) + "([0-9a-z_!~*'()-]+.)*" + // 域名- www. + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名 + "[a-z]{2,6})" + // first level domain- .com or .museum + "(:[0-9]{1,4})?" + // 端口- :80 + "((/?)|" + // 如果没有文件名,则不需要斜杠 + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; + return new RegExp(reg).test(str) ? true : false; +} +function isFunction(val) { + return val && typeof val === "function"; +} +function isEng(val) { + return /^[A-Za-z]+$/.test(val); +} +// CONCATENATED MODULE: ./packages/directives/contextmenu.js + + + + +var popover; + +var hidePopover = function hidePopover() { + if (popover) popover.style.display = 'none'; +}; + +var showPopover = function showPopover() { + if (popover) popover.style.display = 'block'; +}; + +document.addEventListener('click', function (e) { + hidePopover(); +}); +/* harmony default export */ var contextmenu = ({ + hide: hidePopover, + bind: function bind(el, binding, vnode) { + el.addEventListener('contextmenu', function (e) { + if (isEmpty(binding.value) || !Array.isArray(binding.value)) return; + e.preventDefault(); + components_popover.methods.closeAll(); + var component; + var visibleItems = []; + if (binding.modifiers.message) component = vnode.context;else if (binding.modifiers.contact) component = vnode.child; + + if (!popover) { + popover = document.createElement('div'); + popover.className = 'lemon-contextmenu'; + document.body.appendChild(popover); + } + + popover.innerHTML = binding.value.map(function (item) { + var visible; + + if (isFunction(item.visible)) { + visible = item.visible(component); + } else { + visible = item.visible === undefined ? true : item.visible; + } + + if (visible) { + visibleItems.push(item); + var icon = item.icon ? "") : ''; + return "
").concat(icon, "").concat(item.text, "
"); + } + + return ''; + }).join(""); + popover.style.top = "".concat(e.pageY, "px"); + popover.style.left = "".concat(e.pageX, "px"); + popover.childNodes.forEach(function (node, index) { + var _visibleItems$index = visibleItems[index], + click = _visibleItems$index.click, + _render = _visibleItems$index.render; + node.addEventListener('click', function (e) { + e.stopPropagation(); + if (isFunction(click)) click(e, component, hidePopover); + }); + + if (isFunction(_render)) { + var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ + render: function render(h) { + return _render(h, component, hidePopover); + } + }); + var renderComponent = new ins().$mount(); + node.querySelector('span').innerHTML = renderComponent.$el.outerHTML; + } + }); + showPopover(); + }); + }, + inserted: function inserted(el, binding, vnode) {} +}); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/popover.vue?vue&type=script&lang=js& @@ -5652,12 +5782,6 @@ var es6_string_includes = __webpack_require__("2fdb"); var popoverCloseQueue = []; -var popoverCloseAll = function popoverCloseAll() { - return popoverCloseQueue.forEach(function (callback) { - return callback(); - }); -}; - var triggerEvents = { hover: function hover(el) {}, focus: function focus(el) { @@ -5675,6 +5799,7 @@ var triggerEvents = { el.addEventListener("click", function (e) { e.stopPropagation(); + contextmenu.hide(); _this2.changeVisible(); }); @@ -5731,8 +5856,6 @@ var triggerEvents = { } } }, [h("div", { - "class": "lemon-popover__title" - }), h("div", { "class": "lemon-popover__content" }, [this.$slots.content]), h("div", { "class": "lemon-popover__arrow" @@ -5792,9 +5915,14 @@ var triggerEvents = { this.visible ? this.close() : this.open(); }, open: function open() { - popoverCloseAll(); + this.closeAll(); this.visible = true; }, + closeAll: function closeAll() { + popoverCloseQueue.forEach(function (callback) { + return callback(); + }); + }, close: function close() { this.visible = false; } @@ -5825,17 +5953,21 @@ var popover_component = normalizeComponent( ) -/* harmony default export */ var popover = (popover_component.exports); +/* harmony default export */ var components_popover = (popover_component.exports); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/button.vue?vue&type=script&lang=js& /* harmony default export */ var buttonvue_type_script_lang_js_ = ({ name: "LemonButton", props: { + color: { + type: String, + default: 'default' + }, disabled: Boolean }, render: function render() { var h = arguments[0]; return h("button", { - "class": "lemon-button", + "class": ['lemon-button', "lemon-button--color-".concat(this.color)], "attrs": { "disabled": this.disabled, "type": "button" @@ -5940,12 +6072,19 @@ var badge_component = normalizeComponent( /* harmony default export */ var avatarvue_type_script_lang_js_ = ({ name: "LemonAvatar", + inject: ['IMUI'], props: { src: String, icon: { type: String, default: "lemon-icon-people" }, + circle: { + type: Boolean, + default: function _default() { + return this.IMUI ? this.IMUI.avatarCricle : false; + } + }, size: { type: Number, default: 32 @@ -5962,7 +6101,9 @@ var badge_component = normalizeComponent( var h = arguments[0]; return h("span", { "style": this.style, - "class": "lemon-avatar", + "class": ['lemon-avatar', { + 'lemon-avatar--circle': this.circle + }], "on": { "click": function click(e) { return _this.$emit("click", e); @@ -6026,54 +6167,6 @@ var avatar_component = normalizeComponent( var helper = __webpack_require__("2638"); var helper_default = /*#__PURE__*/__webpack_require__.n(helper); -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js -var es6_regexp_constructor = __webpack_require__("3b2b"); - -// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.values.js -var es7_object_values = __webpack_require__("8615"); - -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js -var es6_regexp_to_string = __webpack_require__("6b54"); - -// CONCATENATED MODULE: ./packages/utils/validate.js - - - - - -function isPlainObject(obj) { - return Object.prototype.toString.call(obj) === "[object Object]"; -} -function isString(str) { - return typeof str == "string"; -} -function isToday(time) { - return new Date().getTime() - time < 86400000; -} -function isEmpty(obj) { - if (!obj) return true; - if (Array.isArray(obj) && obj.length == 0) return true; - if (isPlainObject(obj) && Object.values(obj).length == 0) return true; - return false; -} -function isUrl(str) { - var reg = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@ - "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184 - "|" + // 允许IP和DOMAIN(域名) - "([0-9a-z_!~*'()-]+.)*" + // 域名- www. - "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名 - "[a-z]{2,6})" + // first level domain- .com or .museum - "(:[0-9]{1,4})?" + // 端口- :80 - "((/?)|" + // 如果没有文件名,则不需要斜杠 - "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; - return new RegExp(reg).test(str) ? true : false; -} -function isFunction(val) { - return val && typeof val === "function"; -} -function isEng(val) { - return /^[A-Za-z]+$/.test(val); -} // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6223,9 +6316,6 @@ function mergeDeep(o1, o2) { return o1; } -function toEmojiName(str) { - return str.replace(/]*>/gi, "[!$1]"); -} function formatByte(value) { if (null == value || value == "") { return "0 Bytes"; @@ -6426,13 +6516,18 @@ var isInitTool = false; } }, data: function data() { + this.clipboardBlob = null; return { + //剪切板图片URL + clipboardUrl: '', submitDisabled: true, proxyTools: [], accept: "" }; }, created: function created() { + var _this = this; + if (this.tools && this.tools.length > 0) { this.initTools(this.tools); } else { @@ -6444,9 +6539,13 @@ var isInitTool = false; name: 'uploadImage' }]); } + + this.IMUI.$on('change-contact', function () { + _this.closeClipboardImage(); + }); }, render: function render() { - var _this = this; + var _this2 = this; var h = arguments[0]; var toolLeft = []; @@ -6468,7 +6567,7 @@ var isInitTool = false; "class": "lemon-editor__emoji" }, [h("template", { "slot": "content" - }, [_this._renderEmojiTabs()]), h("div", { + }, [_this2._renderEmojiTabs()]), h("div", { "class": classes, "attrs": { "title": title @@ -6494,7 +6593,27 @@ var isInitTool = false; }); return h("div", { "class": "lemon-editor" - }, [h("input", { + }, [this.clipboardUrl && h("div", { + "class": "lemon-editor__clipboard-image" + }, [h("img", { + "attrs": { + "src": this.clipboardUrl + } + }), h("div", [h("lemon-button", { + "style": { + marginRight: '10px' + }, + "on": { + "click": this.closeClipboardImage + }, + "attrs": { + "color": "grey" + } + }, ["\u53D6\u6D88"]), h("lemon-button", { + "on": { + "click": this.sendClipboardImage + } + }, ["\u53D1\u9001\u56FE\u7247"])])]), h("input", { "style": "display:none", "attrs": { "type": "file", @@ -6542,11 +6661,21 @@ var isInitTool = false; }, [this.sendText])])])]); }, methods: { + closeClipboardImage: function closeClipboardImage() { + this.clipboardUrl = ''; + this.clipboardBlob = null; + }, + sendClipboardImage: function sendClipboardImage() { + if (!this.clipboardBlob) return; + this.$emit("upload", this.clipboardBlob); + this.closeClipboardImage(); + }, + /** * 初始化工具栏 */ initTools: function initTools(data) { - var _this2 = this; + var _this3 = this; var h = this.$createElement; if (!data) return; @@ -6563,7 +6692,7 @@ var isInitTool = false; name: 'uploadFile', title: "文件上传", click: function click() { - return _this2.selectFile("*"); + return _this3.selectFile("*"); }, render: function render(menu) { return h("i", { @@ -6574,7 +6703,7 @@ var isInitTool = false; name: 'uploadImage', title: "图片上传", click: function click() { - return _this2.selectFile("image/*"); + return _this3.selectFile("image/*"); }, render: function render(menu) { return h("i", { @@ -6619,7 +6748,7 @@ var isInitTool = false; this._saveLastRange(); }, _renderEmojiTabs: function _renderEmojiTabs() { - var _this3 = this; + var _this4 = this; var h = this.$createElement; @@ -6633,7 +6762,7 @@ var isInitTool = false; "class": "lemon-editor__emoji-item", "on": { "click": function click() { - return _this3._handleSelectEmoji(item); + return _this4._handleSelectEmoji(item); } } }); @@ -6703,12 +6832,36 @@ var isInitTool = false; var clipboardData = e.clipboardData || window.clipboardData; var text = clipboardData.getData("Text"); - if (window.clipboardData) { - this.$refs.textarea.innerHTML = text; + if (text) { + if (window.clipboardData) { + this.$refs.textarea.innerHTML = text; + } else { + exec(text, "insertText"); + } } else { - exec(text, "insertText"); + var _this$_getClipboardBl = this._getClipboardBlob(clipboardData), + blob = _this$_getClipboardBl.blob, + blobUrl = _this$_getClipboardBl.blobUrl; + + this.clipboardBlob = blob; + this.clipboardUrl = blobUrl; } }, + _getClipboardBlob: function _getClipboardBlob(clipboard) { + var blob, blobUrl; + + for (var i = 0; i < clipboard.items.length; ++i) { + if (clipboard.items[i].kind == 'file' && clipboard.items[i].type.indexOf('image/') !== -1) { + blob = clipboard.items[i].getAsFile(); + blobUrl = (window.URL || window.webkitURL).createObjectURL(blob); + } + } + + return { + blob: blob, + blobUrl: blobUrl + }; + }, _handleKeyup: function _handleKeyup(e) { this._saveLastRange(); @@ -6726,7 +6879,7 @@ var isInitTool = false; // .replace(/
|

/g, "\r\n") // .replace(/<\/div>|<\/p>/g, "") // ); - return toEmojiName(this.$refs.textarea.innerHTML); + return this.IMUI.emojiImageToName(this.$refs.textarea.innerHTML); }, _checkSubmitDisabled: function _checkSubmitDisabled() { this.submitDisabled = !clearHtmlExcludeImg(this.$refs.textarea.innerHTML.trim()); @@ -6739,11 +6892,11 @@ var isInitTool = false; this._checkSubmitDisabled(); }, _handleChangeFile: function _handleChangeFile(e) { - var _this4 = this; + var _this5 = this; var fileInput = this.$refs.fileInput; Array.from(fileInput.files).forEach(function (file) { - _this4.$emit("upload", file); + _this5.$emit("upload", file); }); fileInput.value = ""; }, @@ -6755,7 +6908,7 @@ var isInitTool = false; this.$forceUpdate(); }, setValue: function setValue(val) { - this.$refs.textarea.innerHTML = val; + this.$refs.textarea.innerHTML = this.IMUI.emojiNameToImage(val); this._checkSubmitDisabled(); } @@ -6787,86 +6940,6 @@ var editor_component = normalizeComponent( ) /* harmony default export */ var editor = (editor_component.exports); -// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} -var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); -var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); - -// CONCATENATED MODULE: ./packages/directives/dropdown.js - - - -var dropdown_popover; - -var hidePopover = function hidePopover() { - if (dropdown_popover) dropdown_popover.style.display = 'none'; -}; - -var showPopover = function showPopover() { - if (dropdown_popover) dropdown_popover.style.display = 'block'; -}; - -document.addEventListener('click', function (e) { - hidePopover(); -}); -/* harmony default export */ var dropdown = ({ - hide: hidePopover, - bind: function bind(el, binding, vnode) { - el.addEventListener('contextmenu', function (e) { - if (isEmpty(binding.value) || !Array.isArray(binding.value)) return; - e.preventDefault(); - var component; - var visibleItems = []; - if (binding.modifiers.message) component = vnode.context;else if (binding.modifiers.contact) component = vnode.child; - - if (!dropdown_popover) { - dropdown_popover = document.createElement('div'); - dropdown_popover.className = 'lemon-dropdown'; - document.body.appendChild(dropdown_popover); - } - - dropdown_popover.innerHTML = binding.value.map(function (item) { - var visible; - - if (isFunction(item.visible)) { - visible = item.visible(component); - } else { - visible = item.visible === undefined ? true : item.visible; - } - - if (visible) { - visibleItems.push(item); - var icon = item.icon ? "") : ''; - return "

").concat(icon, "").concat(item.text, "
"); - } - - return ''; - }).join(""); - dropdown_popover.style.top = "".concat(e.pageY, "px"); - dropdown_popover.style.left = "".concat(e.pageX, "px"); - dropdown_popover.childNodes.forEach(function (node, index) { - var _visibleItems$index = visibleItems[index], - click = _visibleItems$index.click, - _render = _visibleItems$index.render; - node.addEventListener('click', function (e) { - e.stopPropagation(); - if (isFunction(click)) click(e, component, hidePopover); - }); - - if (isFunction(_render)) { - var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ - render: function render(h) { - return _render(h, component, hidePopover); - } - }); - var renderComponent = new ins().$mount(); - node.querySelector('span').innerHTML = renderComponent.$el.outerHTML; - } - }); - showPopover(); - }); - }, - inserted: function inserted(el, binding, vnode) {} -}); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/messages.vue?vue&type=script&lang=js& @@ -6998,7 +7071,7 @@ document.addEventListener('click', function (e) { switch (_context2.prev = _context2.next) { case 0: target = e.target; - dropdown.hide(); + contextmenu.hide(); if (!(target.scrollTop == 0 && this._loading == false && this._loadend == false)) { _context2.next = 8; @@ -7199,7 +7272,7 @@ var messages_component = normalizeComponent( "class": "lemon-message__content-flex" }, [h("div", { "directives": [{ - name: "dropdown", + name: "lemon-contextmenu", value: this.IMUI.contextmenu, modifiers: { "message": true @@ -7277,6 +7350,7 @@ var basic_component = normalizeComponent( + function textvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function textvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { textvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { textvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -7296,7 +7370,7 @@ function textvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < }, { "scopedSlots": { content: function content(props) { - var content = _this.IMUI.replaceEmojiName(props.content); + var content = _this.IMUI.emojiNameToImage(props.content); return h("span", helper_default()([{}, { "domProps": { @@ -7595,7 +7669,7 @@ var CONTACT_TYPE = ["many", "single"]; return "[图片]"; }, text: function text(message) { - return this.replaceEmojiName(clearHtml(message.content)); + return this.emojiNameToImage(clearHtml(message.content)); }, event: function event(message) { return '[通知]'; @@ -7692,6 +7766,7 @@ function () { + function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -7769,6 +7844,7 @@ var renderDrawerContent = function renderDrawerContent() {}; sendText: String, contextmenu: Array, contactContextmenu: Array, + avatarCricle: Boolean, user: { type: Object, default: function _default() { @@ -7780,6 +7856,7 @@ var renderDrawerContent = function renderDrawerContent() {}; this.CacheContactContainer = new memory_MemoryCache(); this.CacheMenuContainer = new memory_MemoryCache(); this.CacheMessageLoaded = new memory_MemoryCache(); + this.CacheDraft = new memory_MemoryCache(); return { drawerVisible: !this.hideDrawer, currentContactId: null, @@ -7896,6 +7973,8 @@ var renderDrawerContent = function renderDrawerContent() {}; if (scrollToBottom == true) { this.messageViewToBottom(); } + + this.CacheDraft.remove(message.toContactId); } else { updateContact.unread = '+1'; } @@ -7930,6 +8009,8 @@ var renderDrawerContent = function renderDrawerContent() {}; lastContent: _this4.lastContentRender(message), lastSendTime: message.sendTime }); + + _this4.CacheDraft.remove(message.toContactId); }); }, _handleUpload: function _handleUpload(file) { @@ -8074,14 +8155,14 @@ var renderDrawerContent = function renderDrawerContent() {}; _renderSidebarMessage: function _renderSidebarMessage() { var _this9 = this; - return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-message-top"]), this.lastMessages.map(function (contact) { + return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-message-top"], null, this), this.lastMessages.map(function (contact) { return _this9._renderContact({ contact: contact, timeFormat: _this9.contactTimeFormat }, function () { return _this9.changeContact(contact.id); }, _this9.$scopedSlots["sidebar-message"]); - })], DEFAULT_MENU_LASTMESSAGES); + })], DEFAULT_MENU_LASTMESSAGES, useScopedSlot(this.$scopedSlots["sidebar-message-fixedtop"], null, this)); }, _renderContact: function _renderContact(props, onClick, slot) { var _this10 = this; @@ -8105,7 +8186,7 @@ var renderDrawerContent = function renderDrawerContent() {}; "lemon-contact--active": this.currentContactId == props.contact.id }, "directives": [{ - name: "dropdown", + name: "lemon-contextmenu", value: this.contactContextmenu, modifiers: { "contact": true @@ -8127,7 +8208,7 @@ var renderDrawerContent = function renderDrawerContent() {}; var h = this.$createElement; var prevIndex; - return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-contact-top"]), this.contacts.map(function (contact) { + return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-contact-top"], null, this), this.contacts.map(function (contact) { if (!contact.index) return; contact.index = contact.index.replace(/\[[0-9]*\]/, ""); var node = [contact.index !== prevIndex && h("p", { @@ -8140,9 +8221,9 @@ var renderDrawerContent = function renderDrawerContent() {}; }, _this11.$scopedSlots["sidebar-contact"])]; prevIndex = contact.index; return node; - })], DEFAULT_MENU_CONTACTS); + })], DEFAULT_MENU_CONTACTS, useScopedSlot(this.$scopedSlots["sidebar-contact-fixedtop"], null, this)); }, - _renderSidebar: function _renderSidebar(children, name) { + _renderSidebar: function _renderSidebar(children, name, fixedtop) { var h = this.$createElement; return h("div", { "class": "lemon-sidebar", @@ -8153,7 +8234,11 @@ var renderDrawerContent = function renderDrawerContent() {}; "on": { "scroll": this._handleSidebarScroll } - }, [children]); + }, [h("div", { + "class": "lemon-sidebar__fixed-top" + }, [fixedtop]), h("div", { + "class": "lemon-sidebar__scroll" + }, [children])]); }, _renderDrawer: function _renderDrawer() { var h = this.$createElement; @@ -8266,14 +8351,13 @@ var renderDrawerContent = function renderDrawerContent() {}; return nodes; }, _handleSidebarScroll: function _handleSidebarScroll() { - dropdown.hide(); + contextmenu.hide(); }, _addContact: function _addContact(data, t) { var type = { 0: "unshift", 1: "push" - }[t]; //this.contacts[type](cloneDeep(data)); - + }[t]; this.contacts[type](data); }, _addMessage: function _addMessage(data, contactId, t) { @@ -8312,12 +8396,15 @@ var renderDrawerContent = function renderDrawerContent() {}; * @param {String} str 被替换的字符串 * @return {String} 替换后的字符串 */ - replaceEmojiName: function replaceEmojiName(str) { + emojiNameToImage: function emojiNameToImage(str) { return str.replace(/\[!(\w+)\]/gi, function (str, match) { var file = match; - return emojiMap[file] ? "") : "[!".concat(match, "]"); + return emojiMap[file] ? "") : "[!".concat(match, "]"); }); }, + emojiImageToName: function emojiImageToName(str) { + return str.replace(/]*>/gi, "[!$1]"); + }, updateCurrentMessages: function updateCurrentMessages() { if (!allMessages[this.currentContactId]) allMessages[this.currentContactId] = []; this.currentMessages = allMessages[this.currentContactId]; @@ -8340,48 +8427,79 @@ var renderDrawerContent = function renderDrawerContent() {}; regeneratorRuntime.mark(function _callee2(contactId, menuName) { var _this13 = this; + var h, prevCurrentContactId, editorValue, draft; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: + h = this.$createElement; + if (!menuName) { - _context2.next = 4; + _context2.next = 5; break; } this.changeMenu(menuName); - _context2.next = 6; + _context2.next = 7; break; - case 4: + case 5: if (!(this._changeContactLock || this.currentContactId == contactId)) { - _context2.next = 6; + _context2.next = 7; break; } return _context2.abrupt("return", false); - case 6: + case 7: + prevCurrentContactId = this.currentContactId; //保存上个聊天目标的草稿 + + if (prevCurrentContactId) { + editorValue = this.getEditorValue(); + + if (editorValue) { + this.CacheDraft.set(prevCurrentContactId, editorValue); + this.updateContact({ + id: prevCurrentContactId, + lastContent: [h("span", { + "style": "color:red;" + }, ["[\u8349\u7A3F]"]), h("span", helper_default()([{}, { + "domProps": { + innerHTML: this.lastContentRender({ + type: 'text', + content: editorValue + }) + } + }]))] + }); + this.setEditorValue(''); + } + } + this.currentContactId = contactId; if (this.currentContactId) { - _context2.next = 9; + _context2.next = 12; break; } return _context2.abrupt("return", false); - case 9: + case 12: this.$emit("change-contact", this.currentContact, this); if (!isFunction(this.currentContact.renderContainer)) { - _context2.next = 12; + _context2.next = 15; break; } return _context2.abrupt("return"); - case 12: + case 15: + //填充草稿内容 + draft = this.CacheDraft.get(contactId) || ""; + if (draft) this.setEditorValue(draft); + if (this.CacheMessageLoaded.has(contactId)) { this.$refs.messages.loaded(); } else { @@ -8402,7 +8520,7 @@ var renderDrawerContent = function renderDrawerContent() {}; }, 0); } - case 14: + case 19: case "end": return _context2.stop(); } @@ -8611,6 +8729,8 @@ var renderDrawerContent = function renderDrawerContent() {}; var index = this.findContactIndexById(id); if (index === -1) return false; this.contacts.splice(index, 1); + this.CacheDraft.remove(id); + this.CacheMessageLoaded.remove(id); return true; }, @@ -8686,7 +8806,7 @@ var renderDrawerContent = function renderDrawerContent() {}; return this.currentMessages; }, setEditorValue: function setEditorValue(val) { - this.$refs.editor.setValue(this.replaceEmojiName(val)); + this.$refs.editor.setValue(this.emojiNameToImage(val)); }, getEditorValue: function getEditorValue() { return this.$refs.editor.getFormatValue(); @@ -8744,7 +8864,7 @@ var common = __webpack_require__("6a2b"); // CONCATENATED MODULE: ./packages/directives/index.js -external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('dropdown', dropdown); +external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('LemonContextmenu', contextmenu); // CONCATENATED MODULE: ./packages/index.js @@ -8765,7 +8885,7 @@ external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('dropdown', dro var version = "1.4.2"; -var packages_components = [components, components_contact, messages, editor, avatar, badge, components_button, popover, tabs, basic, message_text, message_image, file, message_event]; +var packages_components = [components, components_contact, messages, editor, avatar, badge, components_button, components_popover, tabs, basic, message_text, message_image, file, message_event]; var install = function install(Vue) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; diff --git a/dist/index.css b/dist/index.css index 50652f8..c5a1ca1 100644 --- a/dist/index.css +++ b/dist/index.css @@ -1 +1 @@ -.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button:hover:not([disabled]){border-color:#666;color:#333}.lemon-button:active{background-color:#ddd}.lemon-button[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;padding-top:3px;height:14px;line-height:14px}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:top;margin:0 1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content-flex,.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__content-after{display:block;width:48px;height:36px;padding-left:6px;-webkit-box-flex:0;-ms-flex:none;flex:none;font-size:12px;color:#aaa;overflow:hidden;visibility:hidden}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message__status .lemon-icon-loading,.lemon-message__status .lemon-icon-prompt{display:none}.lemon-message--status-failed .lemon-icon-prompt,.lemon-message--status-going .lemon-icon-loading{display:inline-block}.lemon-message--status-succeed .lemon-message__content-after{visibility:visible}.lemon-message--reverse,.lemon-message--reverse .lemon-message__content-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__content-after{padding-right:6px;padding-left:0;text-align:right}.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:26px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-family:Microsoft YaHei;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;overflow-y:auto}.lemon-sidebar::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemon-dropdown{font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.lemon-dropdown__item{font-size:12px;line-height:14px;padding:8px 10px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#444}.lemon-dropdown__item>span{display:inline-block;-webkit-box-flex:0;-ms-flex:none;flex:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-dropdown__item:hover{background:#f3f3f3;color:#000}.lemon-dropdown__item:active{background:#e9e9e9}.lemon-dropdown__icon{font-size:16px;margin-right:4px}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(data:font/woff;base64,d09GRgABAAAAAAkoAAsAAAAADfwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8qUo8Y21hcAAAAYAAAAClAAACNh3rDoZnbHlmAAACKAAABK8AAAaY5qHpBGhlYWQAAAbYAAAALwAAADYWBoAkaGhlYQAABwgAAAAcAAAAJAfeA4xobXR4AAAHJAAAAA8AAAAsLAAAAGxvY2EAAAc0AAAAGAAAABgH9gmmbWF4cAAAB0wAAAAfAAAAIAEaAF9uYW1lAAAHbAAAAUUAAAJtPlT+fXBvc3QAAAi0AAAAcwAAAKJTcQpreJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeGb/wYm7438AQw9zA0AAUZgTJAQDm+gxieJzlkrERwjAMRb+JYyBHQROarEDHFpmJARiFil2yQO6SQsoEac2XRUeYgO97vtMvJN+3ANQAKnIlEQgvBJiedEPxKzTFj7izvuBMJ8lNZlkla6udDjrqtPQ5A7/8DQX2+j7mJ+xxwJFzd5wV7Y0hbfb4L53K/fhUjaXt2E/J7DA9yOowR0h2mCi0dZgttHOsjw4O84aOjm2FTo5txtI7qN/ZbEV0AAAAeJxlVN+PE1UUvufezsy2nU47s9PpzLCdbaftFLbQQNudsu5uu/iDZrtGVkSpimQNhqSGNagxRvHHmoASjULwhTXRYDDRR142MTFEeSPwQGJissTE8DcYQzRui+dOWSjStOfeO/e70/Pd7zuHACF3brNPWZSUCQFPUiANesqBaag4oCvglmGyVixDCdzBnkMrDVorU0pkmQkjgsxCL6x2Oqtr5zuRUJSxWFgQmt1zF851mziwCMhMpqHYiCAEmM75F2ORkBDGc2xxgOFQQgl+2Fl6lYwSCzPJFj38SzGp6kY1W/En1ZrHsmo1lWXH+6tvMdZXNE2htzD6veOX34ZD9LnjVFN6l/hz+COm9UuUvEGIELz3O3qNxIlBsmSCVPnb///myXpqC0wWvTjwn5oVGlDzXFE36hVDF12v5rOPN/6KqWqMyRgrveZHn/++/qso/vaJKLxHr/RuFCqVdqVSkBMJM5Gg19RY7wcOp52Y2rtU+Op7CN0hL/0jCL0LovglfHYDOLxdeZPDzQThOvTYfsZIg+vgSiDq42DUoYFCUF3ENWZRB7+6CzOKD3ab4Nc83FICWXwORjLR9pV2/1/G8pIIgtV4orHLts3+9cwzs2kYiSpxPbJOaUES153mgUz/b8u2q83HmjZM5vJ5+lOr1d9gI7QgCCCYtr0Lz1v9687ssw6MRPR0ZJ1JDDfXxw82wMHTzb3NimXhabfzcoeQ0F0/RYhDimQnmUI2ZVoCEd0jiUndSCUdSFUDgzWg7tcEfrn8kqsPTdirzvKZRbo4v/eY4xg6GNqpbZ0y3Xdm2cn0rmqmmTPNb3DIm+bXarCiVmt5Fsad5VZ7sfz8tlNqCnRj5lhr/tt3OOrBb5DrBrtAb5EoSZEcaWOuOS465oYXWxyeV3nkjtSN0TIU/bpfn8THXg5pcUY48PLAyuGmanIdVla4Fx8MX9ybjUmv79NiWZS6/Ej7FQr5zEJXNNJUyhl0xs4zGINftDHEaSuDYW4w9FdCE6oyWp7qTrRtlx5Z6JZalrqVhSesk0LSylgfpEpk0/crjATctqMOewkpYOZ46UG6DDPGCS7LMOpxeVwP61zhFNBKvleo+LNBEWDRG9nhBSWn1xhbOz2IF2+GQjcvBtGWLcmYPzhvSJYpiuNH3z06Lkn9HzlbTQNlMM7dO3l6jV7ePIqxPyeKcqFUKshizJJr09O1qL2gKUv8xh4InBr2izt/BtoVyf5NZrOAgysOGpWxqUl1UxMUrOBXfGQ5Cx5SxEkg332obgS4BmBlsdfE5Se9Et6w97hlGFvdA+9LRhpY3qYzRk6i6d7PNaqxaAxkhUIoEdm9AGp8ZyusGpqtAYDtpoq32TbVempHd+EIHU+bM5nujraZKIfCJfNDM2MlhZNm6Wk1Htequ4+y7RIVRqKwMHXAKmnxnBB2Rw8pWkIOKdaeZCRKgh6xwZaQs8erClvVJue7LERJfMiF5VCrns9vydDDrdZh6qaL7vTUsM3SQOhYIiKZe7wTCEDYia2PpsIRzbzvKLNE2JCfdJLB/+dtEZsnVmqS3avYIVPRzMCwmYHsypBPYC7o0oTH/tIARpeGrED+A5fLJqoAeJxjYGRgYADiDSn35sXz23xl4GZhAIGbxfNEEfT/TywMzNxALgcDE0gUADiNCkwAeJxjYGRgYG7438AQw8IAAkCSkQEVcAMARxECdHicY2FgYGAhEgMABEwALQAAAAAAAEQAcADEASgBfgHsAlwC1gMUA0x4nGNgZGBg4GYIZmBlAAEmIOYCQgaG/2A+AwASAQF6AHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG2IQRbCIBDF5ldpFbrwIp7JhzJFdOjwKN7fWl2aVRLq6Iul/zh02GEPgx4DDjjCwmGkQdSHNMd+UglcTco+svWt+ds989zGzMuyrvOURE4+hLr2VfV5+QzDWR/Jxqqvsg1XWIvwz6vm0jYnegMvzicdAA==) format("woff")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"} \ No newline at end of file +.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button--color-default:hover:not([disabled]){border-color:#666;color:#333}.lemon-button--color-default:active{background-color:#ddd}.lemon-button--color-default[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-button--color-grey{background:#e1e1e1;border-color:#e1e1e1;color:#666}.lemon-button--color-grey:hover:not([disabled]){border-color:#bbb}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar--circle{border-radius:50%}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;height:18px;line-height:18px;margin-top:1px!important}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px;position:relative;top:-1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__clipboard-image{position:absolute;top:0;left:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#f4f4f4;z-index:1}.lemon-editor__clipboard-image img{max-height:66%;max-width:80%;background:#e9e9e9;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;border-radius:4px;margin-bottom:10px;border:3px dashed #ddd!important;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-editor__clipboard-image .clipboard-popover-title{font-size:14px;color:#333}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content-flex,.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__content-after{display:block;width:48px;height:36px;padding-left:6px;-webkit-box-flex:0;-ms-flex:none;flex:none;font-size:12px;color:#aaa;overflow:hidden;visibility:hidden}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message__status .lemon-icon-loading,.lemon-message__status .lemon-icon-prompt{display:none}.lemon-message--status-failed .lemon-icon-prompt,.lemon-message--status-going .lemon-icon-loading{display:inline-block}.lemon-message--status-succeed .lemon-message__content-after{visibility:visible}.lemon-message--reverse,.lemon-message--reverse .lemon-message__content-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__content-after{padding-right:6px;padding-left:0;text-align:right}.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:26px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-family:Microsoft YaHei;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-sidebar__scroll{overflow-y:auto}.lemon-sidebar__scroll::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar__scroll::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar__scroll::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar__scroll::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemon-contextmenu{border-radius:4px;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:6px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;min-width:120px}.lemon-contextmenu__item{font-size:14px;line-height:16px;padding:10px 15px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#333}.lemon-contextmenu__item>span{display:inline-block;-webkit-box-flex:0;-ms-flex:none;flex:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contextmenu__item:hover{background:#f3f3f3;color:#000}.lemon-contextmenu__item:active{background:#e9e9e9}.lemon-contextmenu__icon{font-size:16px;margin-right:4px}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(data:font/woff;base64,d09GRgABAAAAAAkoAAsAAAAADfwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8qUo8Y21hcAAAAYAAAAClAAACNh3rDoZnbHlmAAACKAAABK8AAAaY5qHpBGhlYWQAAAbYAAAALwAAADYWBoAkaGhlYQAABwgAAAAcAAAAJAfeA4xobXR4AAAHJAAAAA8AAAAsLAAAAGxvY2EAAAc0AAAAGAAAABgH9gmmbWF4cAAAB0wAAAAfAAAAIAEaAF9uYW1lAAAHbAAAAUUAAAJtPlT+fXBvc3QAAAi0AAAAcwAAAKJTcQpreJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeGb/wYm7438AQw9zA0AAUZgTJAQDm+gxieJzlkrERwjAMRb+JYyBHQROarEDHFpmJARiFil2yQO6SQsoEac2XRUeYgO97vtMvJN+3ANQAKnIlEQgvBJiedEPxKzTFj7izvuBMJ8lNZlkla6udDjrqtPQ5A7/8DQX2+j7mJ+xxwJFzd5wV7Y0hbfb4L53K/fhUjaXt2E/J7DA9yOowR0h2mCi0dZgttHOsjw4O84aOjm2FTo5txtI7qN/ZbEV0AAAAeJxlVN+PE1UUvufezsy2nU47s9PpzLCdbaftFLbQQNudsu5uu/iDZrtGVkSpimQNhqSGNagxRvHHmoASjULwhTXRYDDRR142MTFEeSPwQGJissTE8DcYQzRui+dOWSjStOfeO/e70/Pd7zuHACF3brNPWZSUCQFPUiANesqBaag4oCvglmGyVixDCdzBnkMrDVorU0pkmQkjgsxCL6x2Oqtr5zuRUJSxWFgQmt1zF851mziwCMhMpqHYiCAEmM75F2ORkBDGc2xxgOFQQgl+2Fl6lYwSCzPJFj38SzGp6kY1W/En1ZrHsmo1lWXH+6tvMdZXNE2htzD6veOX34ZD9LnjVFN6l/hz+COm9UuUvEGIELz3O3qNxIlBsmSCVPnb///myXpqC0wWvTjwn5oVGlDzXFE36hVDF12v5rOPN/6KqWqMyRgrveZHn/++/qso/vaJKLxHr/RuFCqVdqVSkBMJM5Gg19RY7wcOp52Y2rtU+Op7CN0hL/0jCL0LovglfHYDOLxdeZPDzQThOvTYfsZIg+vgSiDq42DUoYFCUF3ENWZRB7+6CzOKD3ab4Nc83FICWXwORjLR9pV2/1/G8pIIgtV4orHLts3+9cwzs2kYiSpxPbJOaUES153mgUz/b8u2q83HmjZM5vJ5+lOr1d9gI7QgCCCYtr0Lz1v9687ssw6MRPR0ZJ1JDDfXxw82wMHTzb3NimXhabfzcoeQ0F0/RYhDimQnmUI2ZVoCEd0jiUndSCUdSFUDgzWg7tcEfrn8kqsPTdirzvKZRbo4v/eY4xg6GNqpbZ0y3Xdm2cn0rmqmmTPNb3DIm+bXarCiVmt5Fsad5VZ7sfz8tlNqCnRj5lhr/tt3OOrBb5DrBrtAb5EoSZEcaWOuOS465oYXWxyeV3nkjtSN0TIU/bpfn8THXg5pcUY48PLAyuGmanIdVla4Fx8MX9ybjUmv79NiWZS6/Ej7FQr5zEJXNNJUyhl0xs4zGINftDHEaSuDYW4w9FdCE6oyWp7qTrRtlx5Z6JZalrqVhSesk0LSylgfpEpk0/crjATctqMOewkpYOZ46UG6DDPGCS7LMOpxeVwP61zhFNBKvleo+LNBEWDRG9nhBSWn1xhbOz2IF2+GQjcvBtGWLcmYPzhvSJYpiuNH3z06Lkn9HzlbTQNlMM7dO3l6jV7ePIqxPyeKcqFUKshizJJr09O1qL2gKUv8xh4InBr2izt/BtoVyf5NZrOAgysOGpWxqUl1UxMUrOBXfGQ5Cx5SxEkg332obgS4BmBlsdfE5Se9Et6w97hlGFvdA+9LRhpY3qYzRk6i6d7PNaqxaAxkhUIoEdm9AGp8ZyusGpqtAYDtpoq32TbVempHd+EIHU+bM5nujraZKIfCJfNDM2MlhZNm6Wk1Htequ4+y7RIVRqKwMHXAKmnxnBB2Rw8pWkIOKdaeZCRKgh6xwZaQs8erClvVJue7LERJfMiF5VCrns9vydDDrdZh6qaL7vTUsM3SQOhYIiKZe7wTCEDYia2PpsIRzbzvKLNE2JCfdJLB/+dtEZsnVmqS3avYIVPRzMCwmYHsypBPYC7o0oTH/tIARpeGrED+A5fLJqoAeJxjYGRgYADiDSn35sXz23xl4GZhAIGbxfNEEfT/TywMzNxALgcDE0gUADiNCkwAeJxjYGRgYG7438AQw8IAAkCSkQEVcAMARxECdHicY2FgYGAhEgMABEwALQAAAAAAAEQAcADEASgBfgHsAlwC1gMUA0x4nGNgZGBg4GYIZmBlAAEmIOYCQgaG/2A+AwASAQF6AHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG2IQRbCIBDF5ldpFbrwIp7JhzJFdOjwKN7fWl2aVRLq6Iul/zh02GEPgx4DDjjCwmGkQdSHNMd+UglcTco+svWt+ds989zGzMuyrvOURE4+hLr2VfV5+QzDWR/Jxqqvsg1XWIvwz6vm0jYnegMvzicdAA==) format("woff")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"} \ No newline at end of file diff --git a/dist/index.umd.js b/dist/index.umd.js index 8f4ec36..dfa9b14 100644 --- a/dist/index.umd.js +++ b/dist/index.umd.js @@ -5651,6 +5651,136 @@ var es7_array_includes = __webpack_require__("6762"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js var es6_string_includes = __webpack_require__("2fdb"); +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js +var es6_regexp_constructor = __webpack_require__("3b2b"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.values.js +var es7_object_values = __webpack_require__("8615"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js +var es6_regexp_to_string = __webpack_require__("6b54"); + +// CONCATENATED MODULE: ./packages/utils/validate.js + + + + + +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} +function isString(str) { + return typeof str == "string"; +} +function isToday(time) { + return new Date().getTime() - time < 86400000; +} +function isEmpty(obj) { + if (!obj) return true; + if (Array.isArray(obj) && obj.length == 0) return true; + if (isPlainObject(obj) && Object.values(obj).length == 0) return true; + return false; +} +function isUrl(str) { + var reg = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@ + "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184 + "|" + // 允许IP和DOMAIN(域名) + "([0-9a-z_!~*'()-]+.)*" + // 域名- www. + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名 + "[a-z]{2,6})" + // first level domain- .com or .museum + "(:[0-9]{1,4})?" + // 端口- :80 + "((/?)|" + // 如果没有文件名,则不需要斜杠 + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; + return new RegExp(reg).test(str) ? true : false; +} +function isFunction(val) { + return val && typeof val === "function"; +} +function isEng(val) { + return /^[A-Za-z]+$/.test(val); +} +// CONCATENATED MODULE: ./packages/directives/contextmenu.js + + + + +var popover; + +var hidePopover = function hidePopover() { + if (popover) popover.style.display = 'none'; +}; + +var showPopover = function showPopover() { + if (popover) popover.style.display = 'block'; +}; + +document.addEventListener('click', function (e) { + hidePopover(); +}); +/* harmony default export */ var contextmenu = ({ + hide: hidePopover, + bind: function bind(el, binding, vnode) { + el.addEventListener('contextmenu', function (e) { + if (isEmpty(binding.value) || !Array.isArray(binding.value)) return; + e.preventDefault(); + components_popover.methods.closeAll(); + var component; + var visibleItems = []; + if (binding.modifiers.message) component = vnode.context;else if (binding.modifiers.contact) component = vnode.child; + + if (!popover) { + popover = document.createElement('div'); + popover.className = 'lemon-contextmenu'; + document.body.appendChild(popover); + } + + popover.innerHTML = binding.value.map(function (item) { + var visible; + + if (isFunction(item.visible)) { + visible = item.visible(component); + } else { + visible = item.visible === undefined ? true : item.visible; + } + + if (visible) { + visibleItems.push(item); + var icon = item.icon ? "") : ''; + return "
").concat(icon, "").concat(item.text, "
"); + } + + return ''; + }).join(""); + popover.style.top = "".concat(e.pageY, "px"); + popover.style.left = "".concat(e.pageX, "px"); + popover.childNodes.forEach(function (node, index) { + var _visibleItems$index = visibleItems[index], + click = _visibleItems$index.click, + _render = _visibleItems$index.render; + node.addEventListener('click', function (e) { + e.stopPropagation(); + if (isFunction(click)) click(e, component, hidePopover); + }); + + if (isFunction(_render)) { + var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ + render: function render(h) { + return _render(h, component, hidePopover); + } + }); + var renderComponent = new ins().$mount(); + node.querySelector('span').innerHTML = renderComponent.$el.outerHTML; + } + }); + showPopover(); + }); + }, + inserted: function inserted(el, binding, vnode) {} +}); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/popover.vue?vue&type=script&lang=js& @@ -5661,12 +5791,6 @@ var es6_string_includes = __webpack_require__("2fdb"); var popoverCloseQueue = []; -var popoverCloseAll = function popoverCloseAll() { - return popoverCloseQueue.forEach(function (callback) { - return callback(); - }); -}; - var triggerEvents = { hover: function hover(el) {}, focus: function focus(el) { @@ -5684,6 +5808,7 @@ var triggerEvents = { el.addEventListener("click", function (e) { e.stopPropagation(); + contextmenu.hide(); _this2.changeVisible(); }); @@ -5740,8 +5865,6 @@ var triggerEvents = { } } }, [h("div", { - "class": "lemon-popover__title" - }), h("div", { "class": "lemon-popover__content" }, [this.$slots.content]), h("div", { "class": "lemon-popover__arrow" @@ -5801,9 +5924,14 @@ var triggerEvents = { this.visible ? this.close() : this.open(); }, open: function open() { - popoverCloseAll(); + this.closeAll(); this.visible = true; }, + closeAll: function closeAll() { + popoverCloseQueue.forEach(function (callback) { + return callback(); + }); + }, close: function close() { this.visible = false; } @@ -5834,17 +5962,21 @@ var popover_component = normalizeComponent( ) -/* harmony default export */ var popover = (popover_component.exports); +/* harmony default export */ var components_popover = (popover_component.exports); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/button.vue?vue&type=script&lang=js& /* harmony default export */ var buttonvue_type_script_lang_js_ = ({ name: "LemonButton", props: { + color: { + type: String, + default: 'default' + }, disabled: Boolean }, render: function render() { var h = arguments[0]; return h("button", { - "class": "lemon-button", + "class": ['lemon-button', "lemon-button--color-".concat(this.color)], "attrs": { "disabled": this.disabled, "type": "button" @@ -5949,12 +6081,19 @@ var badge_component = normalizeComponent( /* harmony default export */ var avatarvue_type_script_lang_js_ = ({ name: "LemonAvatar", + inject: ['IMUI'], props: { src: String, icon: { type: String, default: "lemon-icon-people" }, + circle: { + type: Boolean, + default: function _default() { + return this.IMUI ? this.IMUI.avatarCricle : false; + } + }, size: { type: Number, default: 32 @@ -5971,7 +6110,9 @@ var badge_component = normalizeComponent( var h = arguments[0]; return h("span", { "style": this.style, - "class": "lemon-avatar", + "class": ['lemon-avatar', { + 'lemon-avatar--circle': this.circle + }], "on": { "click": function click(e) { return _this.$emit("click", e); @@ -6035,54 +6176,6 @@ var avatar_component = normalizeComponent( var helper = __webpack_require__("2638"); var helper_default = /*#__PURE__*/__webpack_require__.n(helper); -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js -var es6_regexp_constructor = __webpack_require__("3b2b"); - -// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.values.js -var es7_object_values = __webpack_require__("8615"); - -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js -var es6_regexp_to_string = __webpack_require__("6b54"); - -// CONCATENATED MODULE: ./packages/utils/validate.js - - - - - -function isPlainObject(obj) { - return Object.prototype.toString.call(obj) === "[object Object]"; -} -function isString(str) { - return typeof str == "string"; -} -function isToday(time) { - return new Date().getTime() - time < 86400000; -} -function isEmpty(obj) { - if (!obj) return true; - if (Array.isArray(obj) && obj.length == 0) return true; - if (isPlainObject(obj) && Object.values(obj).length == 0) return true; - return false; -} -function isUrl(str) { - var reg = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@ - "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184 - "|" + // 允许IP和DOMAIN(域名) - "([0-9a-z_!~*'()-]+.)*" + // 域名- www. - "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名 - "[a-z]{2,6})" + // first level domain- .com or .museum - "(:[0-9]{1,4})?" + // 端口- :80 - "((/?)|" + // 如果没有文件名,则不需要斜杠 - "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; - return new RegExp(reg).test(str) ? true : false; -} -function isFunction(val) { - return val && typeof val === "function"; -} -function isEng(val) { - return /^[A-Za-z]+$/.test(val); -} // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6232,9 +6325,6 @@ function mergeDeep(o1, o2) { return o1; } -function toEmojiName(str) { - return str.replace(/]*>/gi, "[!$1]"); -} function formatByte(value) { if (null == value || value == "") { return "0 Bytes"; @@ -6435,13 +6525,18 @@ var isInitTool = false; } }, data: function data() { + this.clipboardBlob = null; return { + //剪切板图片URL + clipboardUrl: '', submitDisabled: true, proxyTools: [], accept: "" }; }, created: function created() { + var _this = this; + if (this.tools && this.tools.length > 0) { this.initTools(this.tools); } else { @@ -6453,9 +6548,13 @@ var isInitTool = false; name: 'uploadImage' }]); } + + this.IMUI.$on('change-contact', function () { + _this.closeClipboardImage(); + }); }, render: function render() { - var _this = this; + var _this2 = this; var h = arguments[0]; var toolLeft = []; @@ -6477,7 +6576,7 @@ var isInitTool = false; "class": "lemon-editor__emoji" }, [h("template", { "slot": "content" - }, [_this._renderEmojiTabs()]), h("div", { + }, [_this2._renderEmojiTabs()]), h("div", { "class": classes, "attrs": { "title": title @@ -6503,7 +6602,27 @@ var isInitTool = false; }); return h("div", { "class": "lemon-editor" - }, [h("input", { + }, [this.clipboardUrl && h("div", { + "class": "lemon-editor__clipboard-image" + }, [h("img", { + "attrs": { + "src": this.clipboardUrl + } + }), h("div", [h("lemon-button", { + "style": { + marginRight: '10px' + }, + "on": { + "click": this.closeClipboardImage + }, + "attrs": { + "color": "grey" + } + }, ["\u53D6\u6D88"]), h("lemon-button", { + "on": { + "click": this.sendClipboardImage + } + }, ["\u53D1\u9001\u56FE\u7247"])])]), h("input", { "style": "display:none", "attrs": { "type": "file", @@ -6551,11 +6670,21 @@ var isInitTool = false; }, [this.sendText])])])]); }, methods: { + closeClipboardImage: function closeClipboardImage() { + this.clipboardUrl = ''; + this.clipboardBlob = null; + }, + sendClipboardImage: function sendClipboardImage() { + if (!this.clipboardBlob) return; + this.$emit("upload", this.clipboardBlob); + this.closeClipboardImage(); + }, + /** * 初始化工具栏 */ initTools: function initTools(data) { - var _this2 = this; + var _this3 = this; var h = this.$createElement; if (!data) return; @@ -6572,7 +6701,7 @@ var isInitTool = false; name: 'uploadFile', title: "文件上传", click: function click() { - return _this2.selectFile("*"); + return _this3.selectFile("*"); }, render: function render(menu) { return h("i", { @@ -6583,7 +6712,7 @@ var isInitTool = false; name: 'uploadImage', title: "图片上传", click: function click() { - return _this2.selectFile("image/*"); + return _this3.selectFile("image/*"); }, render: function render(menu) { return h("i", { @@ -6628,7 +6757,7 @@ var isInitTool = false; this._saveLastRange(); }, _renderEmojiTabs: function _renderEmojiTabs() { - var _this3 = this; + var _this4 = this; var h = this.$createElement; @@ -6642,7 +6771,7 @@ var isInitTool = false; "class": "lemon-editor__emoji-item", "on": { "click": function click() { - return _this3._handleSelectEmoji(item); + return _this4._handleSelectEmoji(item); } } }); @@ -6712,12 +6841,36 @@ var isInitTool = false; var clipboardData = e.clipboardData || window.clipboardData; var text = clipboardData.getData("Text"); - if (window.clipboardData) { - this.$refs.textarea.innerHTML = text; + if (text) { + if (window.clipboardData) { + this.$refs.textarea.innerHTML = text; + } else { + exec(text, "insertText"); + } } else { - exec(text, "insertText"); + var _this$_getClipboardBl = this._getClipboardBlob(clipboardData), + blob = _this$_getClipboardBl.blob, + blobUrl = _this$_getClipboardBl.blobUrl; + + this.clipboardBlob = blob; + this.clipboardUrl = blobUrl; } }, + _getClipboardBlob: function _getClipboardBlob(clipboard) { + var blob, blobUrl; + + for (var i = 0; i < clipboard.items.length; ++i) { + if (clipboard.items[i].kind == 'file' && clipboard.items[i].type.indexOf('image/') !== -1) { + blob = clipboard.items[i].getAsFile(); + blobUrl = (window.URL || window.webkitURL).createObjectURL(blob); + } + } + + return { + blob: blob, + blobUrl: blobUrl + }; + }, _handleKeyup: function _handleKeyup(e) { this._saveLastRange(); @@ -6735,7 +6888,7 @@ var isInitTool = false; // .replace(/
|

/g, "\r\n") // .replace(/<\/div>|<\/p>/g, "") // ); - return toEmojiName(this.$refs.textarea.innerHTML); + return this.IMUI.emojiImageToName(this.$refs.textarea.innerHTML); }, _checkSubmitDisabled: function _checkSubmitDisabled() { this.submitDisabled = !clearHtmlExcludeImg(this.$refs.textarea.innerHTML.trim()); @@ -6748,11 +6901,11 @@ var isInitTool = false; this._checkSubmitDisabled(); }, _handleChangeFile: function _handleChangeFile(e) { - var _this4 = this; + var _this5 = this; var fileInput = this.$refs.fileInput; Array.from(fileInput.files).forEach(function (file) { - _this4.$emit("upload", file); + _this5.$emit("upload", file); }); fileInput.value = ""; }, @@ -6764,7 +6917,7 @@ var isInitTool = false; this.$forceUpdate(); }, setValue: function setValue(val) { - this.$refs.textarea.innerHTML = val; + this.$refs.textarea.innerHTML = this.IMUI.emojiNameToImage(val); this._checkSubmitDisabled(); } @@ -6796,86 +6949,6 @@ var editor_component = normalizeComponent( ) /* harmony default export */ var editor = (editor_component.exports); -// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} -var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); -var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); - -// CONCATENATED MODULE: ./packages/directives/dropdown.js - - - -var dropdown_popover; - -var hidePopover = function hidePopover() { - if (dropdown_popover) dropdown_popover.style.display = 'none'; -}; - -var showPopover = function showPopover() { - if (dropdown_popover) dropdown_popover.style.display = 'block'; -}; - -document.addEventListener('click', function (e) { - hidePopover(); -}); -/* harmony default export */ var dropdown = ({ - hide: hidePopover, - bind: function bind(el, binding, vnode) { - el.addEventListener('contextmenu', function (e) { - if (isEmpty(binding.value) || !Array.isArray(binding.value)) return; - e.preventDefault(); - var component; - var visibleItems = []; - if (binding.modifiers.message) component = vnode.context;else if (binding.modifiers.contact) component = vnode.child; - - if (!dropdown_popover) { - dropdown_popover = document.createElement('div'); - dropdown_popover.className = 'lemon-dropdown'; - document.body.appendChild(dropdown_popover); - } - - dropdown_popover.innerHTML = binding.value.map(function (item) { - var visible; - - if (isFunction(item.visible)) { - visible = item.visible(component); - } else { - visible = item.visible === undefined ? true : item.visible; - } - - if (visible) { - visibleItems.push(item); - var icon = item.icon ? "") : ''; - return "

").concat(icon, "").concat(item.text, "
"); - } - - return ''; - }).join(""); - dropdown_popover.style.top = "".concat(e.pageY, "px"); - dropdown_popover.style.left = "".concat(e.pageX, "px"); - dropdown_popover.childNodes.forEach(function (node, index) { - var _visibleItems$index = visibleItems[index], - click = _visibleItems$index.click, - _render = _visibleItems$index.render; - node.addEventListener('click', function (e) { - e.stopPropagation(); - if (isFunction(click)) click(e, component, hidePopover); - }); - - if (isFunction(_render)) { - var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ - render: function render(h) { - return _render(h, component, hidePopover); - } - }); - var renderComponent = new ins().$mount(); - node.querySelector('span').innerHTML = renderComponent.$el.outerHTML; - } - }); - showPopover(); - }); - }, - inserted: function inserted(el, binding, vnode) {} -}); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/messages.vue?vue&type=script&lang=js& @@ -7007,7 +7080,7 @@ document.addEventListener('click', function (e) { switch (_context2.prev = _context2.next) { case 0: target = e.target; - dropdown.hide(); + contextmenu.hide(); if (!(target.scrollTop == 0 && this._loading == false && this._loadend == false)) { _context2.next = 8; @@ -7208,7 +7281,7 @@ var messages_component = normalizeComponent( "class": "lemon-message__content-flex" }, [h("div", { "directives": [{ - name: "dropdown", + name: "lemon-contextmenu", value: this.IMUI.contextmenu, modifiers: { "message": true @@ -7286,6 +7359,7 @@ var basic_component = normalizeComponent( + function textvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function textvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { textvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { textvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -7305,7 +7379,7 @@ function textvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < }, { "scopedSlots": { content: function content(props) { - var content = _this.IMUI.replaceEmojiName(props.content); + var content = _this.IMUI.emojiNameToImage(props.content); return h("span", helper_default()([{}, { "domProps": { @@ -7604,7 +7678,7 @@ var CONTACT_TYPE = ["many", "single"]; return "[图片]"; }, text: function text(message) { - return this.replaceEmojiName(clearHtml(message.content)); + return this.emojiNameToImage(clearHtml(message.content)); }, event: function event(message) { return '[通知]'; @@ -7701,6 +7775,7 @@ function () { + function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -7778,6 +7853,7 @@ var renderDrawerContent = function renderDrawerContent() {}; sendText: String, contextmenu: Array, contactContextmenu: Array, + avatarCricle: Boolean, user: { type: Object, default: function _default() { @@ -7789,6 +7865,7 @@ var renderDrawerContent = function renderDrawerContent() {}; this.CacheContactContainer = new memory_MemoryCache(); this.CacheMenuContainer = new memory_MemoryCache(); this.CacheMessageLoaded = new memory_MemoryCache(); + this.CacheDraft = new memory_MemoryCache(); return { drawerVisible: !this.hideDrawer, currentContactId: null, @@ -7905,6 +7982,8 @@ var renderDrawerContent = function renderDrawerContent() {}; if (scrollToBottom == true) { this.messageViewToBottom(); } + + this.CacheDraft.remove(message.toContactId); } else { updateContact.unread = '+1'; } @@ -7939,6 +8018,8 @@ var renderDrawerContent = function renderDrawerContent() {}; lastContent: _this4.lastContentRender(message), lastSendTime: message.sendTime }); + + _this4.CacheDraft.remove(message.toContactId); }); }, _handleUpload: function _handleUpload(file) { @@ -8083,14 +8164,14 @@ var renderDrawerContent = function renderDrawerContent() {}; _renderSidebarMessage: function _renderSidebarMessage() { var _this9 = this; - return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-message-top"]), this.lastMessages.map(function (contact) { + return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-message-top"], null, this), this.lastMessages.map(function (contact) { return _this9._renderContact({ contact: contact, timeFormat: _this9.contactTimeFormat }, function () { return _this9.changeContact(contact.id); }, _this9.$scopedSlots["sidebar-message"]); - })], DEFAULT_MENU_LASTMESSAGES); + })], DEFAULT_MENU_LASTMESSAGES, useScopedSlot(this.$scopedSlots["sidebar-message-fixedtop"], null, this)); }, _renderContact: function _renderContact(props, onClick, slot) { var _this10 = this; @@ -8114,7 +8195,7 @@ var renderDrawerContent = function renderDrawerContent() {}; "lemon-contact--active": this.currentContactId == props.contact.id }, "directives": [{ - name: "dropdown", + name: "lemon-contextmenu", value: this.contactContextmenu, modifiers: { "contact": true @@ -8136,7 +8217,7 @@ var renderDrawerContent = function renderDrawerContent() {}; var h = this.$createElement; var prevIndex; - return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-contact-top"]), this.contacts.map(function (contact) { + return this._renderSidebar([useScopedSlot(this.$scopedSlots["sidebar-contact-top"], null, this), this.contacts.map(function (contact) { if (!contact.index) return; contact.index = contact.index.replace(/\[[0-9]*\]/, ""); var node = [contact.index !== prevIndex && h("p", { @@ -8149,9 +8230,9 @@ var renderDrawerContent = function renderDrawerContent() {}; }, _this11.$scopedSlots["sidebar-contact"])]; prevIndex = contact.index; return node; - })], DEFAULT_MENU_CONTACTS); + })], DEFAULT_MENU_CONTACTS, useScopedSlot(this.$scopedSlots["sidebar-contact-fixedtop"], null, this)); }, - _renderSidebar: function _renderSidebar(children, name) { + _renderSidebar: function _renderSidebar(children, name, fixedtop) { var h = this.$createElement; return h("div", { "class": "lemon-sidebar", @@ -8162,7 +8243,11 @@ var renderDrawerContent = function renderDrawerContent() {}; "on": { "scroll": this._handleSidebarScroll } - }, [children]); + }, [h("div", { + "class": "lemon-sidebar__fixed-top" + }, [fixedtop]), h("div", { + "class": "lemon-sidebar__scroll" + }, [children])]); }, _renderDrawer: function _renderDrawer() { var h = this.$createElement; @@ -8275,14 +8360,13 @@ var renderDrawerContent = function renderDrawerContent() {}; return nodes; }, _handleSidebarScroll: function _handleSidebarScroll() { - dropdown.hide(); + contextmenu.hide(); }, _addContact: function _addContact(data, t) { var type = { 0: "unshift", 1: "push" - }[t]; //this.contacts[type](cloneDeep(data)); - + }[t]; this.contacts[type](data); }, _addMessage: function _addMessage(data, contactId, t) { @@ -8321,12 +8405,15 @@ var renderDrawerContent = function renderDrawerContent() {}; * @param {String} str 被替换的字符串 * @return {String} 替换后的字符串 */ - replaceEmojiName: function replaceEmojiName(str) { + emojiNameToImage: function emojiNameToImage(str) { return str.replace(/\[!(\w+)\]/gi, function (str, match) { var file = match; - return emojiMap[file] ? "") : "[!".concat(match, "]"); + return emojiMap[file] ? "") : "[!".concat(match, "]"); }); }, + emojiImageToName: function emojiImageToName(str) { + return str.replace(/]*>/gi, "[!$1]"); + }, updateCurrentMessages: function updateCurrentMessages() { if (!allMessages[this.currentContactId]) allMessages[this.currentContactId] = []; this.currentMessages = allMessages[this.currentContactId]; @@ -8349,48 +8436,79 @@ var renderDrawerContent = function renderDrawerContent() {}; regeneratorRuntime.mark(function _callee2(contactId, menuName) { var _this13 = this; + var h, prevCurrentContactId, editorValue, draft; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: + h = this.$createElement; + if (!menuName) { - _context2.next = 4; + _context2.next = 5; break; } this.changeMenu(menuName); - _context2.next = 6; + _context2.next = 7; break; - case 4: + case 5: if (!(this._changeContactLock || this.currentContactId == contactId)) { - _context2.next = 6; + _context2.next = 7; break; } return _context2.abrupt("return", false); - case 6: + case 7: + prevCurrentContactId = this.currentContactId; //保存上个聊天目标的草稿 + + if (prevCurrentContactId) { + editorValue = this.getEditorValue(); + + if (editorValue) { + this.CacheDraft.set(prevCurrentContactId, editorValue); + this.updateContact({ + id: prevCurrentContactId, + lastContent: [h("span", { + "style": "color:red;" + }, ["[\u8349\u7A3F]"]), h("span", helper_default()([{}, { + "domProps": { + innerHTML: this.lastContentRender({ + type: 'text', + content: editorValue + }) + } + }]))] + }); + this.setEditorValue(''); + } + } + this.currentContactId = contactId; if (this.currentContactId) { - _context2.next = 9; + _context2.next = 12; break; } return _context2.abrupt("return", false); - case 9: + case 12: this.$emit("change-contact", this.currentContact, this); if (!isFunction(this.currentContact.renderContainer)) { - _context2.next = 12; + _context2.next = 15; break; } return _context2.abrupt("return"); - case 12: + case 15: + //填充草稿内容 + draft = this.CacheDraft.get(contactId) || ""; + if (draft) this.setEditorValue(draft); + if (this.CacheMessageLoaded.has(contactId)) { this.$refs.messages.loaded(); } else { @@ -8411,7 +8529,7 @@ var renderDrawerContent = function renderDrawerContent() {}; }, 0); } - case 14: + case 19: case "end": return _context2.stop(); } @@ -8620,6 +8738,8 @@ var renderDrawerContent = function renderDrawerContent() {}; var index = this.findContactIndexById(id); if (index === -1) return false; this.contacts.splice(index, 1); + this.CacheDraft.remove(id); + this.CacheMessageLoaded.remove(id); return true; }, @@ -8695,7 +8815,7 @@ var renderDrawerContent = function renderDrawerContent() {}; return this.currentMessages; }, setEditorValue: function setEditorValue(val) { - this.$refs.editor.setValue(this.replaceEmojiName(val)); + this.$refs.editor.setValue(this.emojiNameToImage(val)); }, getEditorValue: function getEditorValue() { return this.$refs.editor.getFormatValue(); @@ -8753,7 +8873,7 @@ var common = __webpack_require__("6a2b"); // CONCATENATED MODULE: ./packages/directives/index.js -external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('dropdown', dropdown); +external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('LemonContextmenu', contextmenu); // CONCATENATED MODULE: ./packages/index.js @@ -8774,7 +8894,7 @@ external_commonjs_vue_commonjs2_vue_root_Vue_default.a.directive('dropdown', dro var version = "1.4.2"; -var packages_components = [components, components_contact, messages, editor, avatar, badge, components_button, popover, tabs, basic, message_text, message_image, file, message_event]; +var packages_components = [components, components_contact, messages, editor, avatar, badge, components_button, components_popover, tabs, basic, message_text, message_image, file, message_event]; var install = function install(Vue) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; diff --git a/dist/index.umd.min.js b/dist/index.umd.min.js index 93d0186..defdf38 100644 --- a/dist/index.umd.min.js +++ b/dist/index.umd.min.js @@ -1 +1 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),c=n("32e9"),a=n("84f2"),s=n("41a0"),u=n("7f20"),f=n("38fd"),l=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,y,b,x){s(n,e,g);var _,w,S,O=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",j=y==v,E=!1,M=t.prototype,k=M[l]||M[h]||y&&M[y],T=k||O(y),I=y?j?O("entries"):T:void 0,L="Array"==e&&M.entries||k;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,C,!0),r||"function"==typeof S[l]||c(S,l,m))),j&&k&&k.name!==v&&(E=!0,T=function(){return k.call(this)}),r&&!x||!d&&!E&&M[l]||c(M,l,T),a[e]=T,a[C]=m,y)if(_={values:j?T:O(v),keys:b?T:O(p),entries:I},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||E),e,_);return _}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,c,a=String(i(e)),s=r(n),u=a.length;return s<0||s>=u?t?"":void 0:(o=a.charCodeAt(s),o<55296||o>56319||s+1===u||(c=a.charCodeAt(s+1))<56320||c>57343?t?a.charAt(s):o:t?a.slice(s,s+2):c-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"04f4":function(t,e,n){"use strict";var r=n("26f7"),i=n.n(r);i.a},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),c=n("9def"),a=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,f=4==t,l=6==t,d=5==t||l,h=e||a;return function(e,a,p){for(var v,m,g=o(e),y=i(g),b=r(a,p,3),x=c(y.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in y)&&(v=y[_],m=b(v,_,g),t))if(n)w[_]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:w.push(v)}else if(f)return!1;return l?-1:u||f?f:w}}},"0af2":function(t,e,n){},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0e15":function(t,e,n){"use strict";var r=n("9768"),i=n.n(r);i.a},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1021:function(t,e,n){},"107a":function(t,e,n){},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},1173:function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),c=n("6a99"),a=n("69a8"),s=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=o(t),e=c(e,!0),s)try{return u(t,e)}catch(n){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,c=o(e),a=c.length,s=0;while(a>s)r.f(t,n=c[s++],e[n]);return t}},"15cf":function(t,e,n){},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},1663:function(t,e,n){"use strict";var r=n("e86c"),i=n.n(r);i.a},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isArray:n("9003")})},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1c4c":function(t,e,n){"use strict";var r=n("9b43"),i=n("5ca1"),o=n("4bf8"),c=n("1fa8"),a=n("33a4"),s=n("9def"),u=n("f1ae"),f=n("27ee");i(i.S+i.F*!n("5cc5")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,l,d=o(t),h="function"==typeof this?this:Array,p=arguments.length,v=p>1?arguments[1]:void 0,m=void 0!==v,g=0,y=f(d);if(m&&(v=r(v,p>2?arguments[2]:void 0,2)),void 0==y||h==Array&&a(y))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,m?v(d[g],g):d[g]);else for(l=y.call(d),n=new h;!(i=l.next()).done;g++)u(n,g,m?c(l,v,[i.value,g],!0):i.value);return n.length=g,n}})},"1e45":function(t,e,n){"use strict";var r=n("83d7"),i=n.n(r);i.a},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"1fa8":function(t,e,n){var r=n("cb7c");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(c){var o=t["return"];throw void 0!==o&&r(o.call(t)),c}}},"20d6":function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(6),o="findIndex",c=!0;o in[]&&Array(1)[o](function(){c=!1}),r(r.P+r.F*c,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},"20fd":function(t,e,n){"use strict";var r=n("d9f6"),i=n("aebd");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),c=n("be13"),a=n("2b4c"),s=n("520a"),u=a("species"),f=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=a(t),h=!o(function(){var e={};return e[d]=function(){return 7},7!=""[t](e)}),p=h?!o(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[d](""),!e}):void 0;if(!h||!p||"replace"===t&&!f||"split"===t&&!l){var v=/./[d],m=n(c,d,""[t],function(t,e,n,r,i){return e.exec===s?h&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=m[0],y=m[1];r(String.prototype,t,g),i(RegExp.prototype,d,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=c(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},"241e":function(t,e,n){var r=n("25eb");t.exports=function(t){return Object(r(t))}},"24c5":function(t,e,n){"use strict";var r,i,o,c,a=n("b8e3"),s=n("e53d"),u=n("d864"),f=n("40c3"),l=n("63b6"),d=n("f772"),h=n("79aa"),p=n("1173"),v=n("a22a"),m=n("f201"),g=n("4178").set,y=n("aba2")(),b=n("656e"),x=n("4439"),_=n("bc13"),w=n("cd78"),S="Promise",O=s.TypeError,C=s.process,j=C&&C.versions,E=j&&j.v8||"",M=s[S],k="process"==f(C),T=function(){},I=i=b.f,L=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[n("5168")("species")]=function(t){t(T,T)};return(k||"function"==typeof PromiseRejectionEvent)&&t.then(T)instanceof e&&0!==E.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(r){}}(),P=function(t){var e;return!(!d(t)||"function"!=typeof(e=t.then))&&e},A=function(t,e){if(!t._n){t._n=!0;var n=t._c;y(function(){var r=t._v,i=1==t._s,o=0,c=function(e){var n,o,c,a=i?e.ok:e.fail,s=e.resolve,u=e.reject,f=e.domain;try{a?(i||(2==t._h&&R(t),t._h=1),!0===a?n=r:(f&&f.enter(),n=a(r),f&&(f.exit(),c=!0)),n===e.promise?u(O("Promise-chain cycle")):(o=P(n))?o.call(n,s,u):s(n)):u(r)}catch(l){f&&!c&&f.exit(),u(l)}};while(n.length>o)c(n[o++]);t._c=[],t._n=!1,e&&!t._h&&$(t)})}},$=function(t){g.call(s,function(){var e,n,r,i=t._v,o=F(t);if(o&&(e=x(function(){k?C.emit("unhandledRejection",i,t):(n=s.onunhandledrejection)?n({promise:t,reason:i}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",i)}),t._h=k||F(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},F=function(t){return 1!==t._h&&0===(t._a||t._c).length},R=function(t){g.call(s,function(){var e;k?C.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),A(e,!0))},N=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw O("Promise can't be resolved itself");(e=P(t))?y(function(){var r={_w:n,_d:!1};try{e.call(t,u(N,r,1),u(D,r,1))}catch(i){D.call(r,i)}}):(n._v=t,n._s=1,A(n,!1))}catch(r){D.call({_w:n,_d:!1},r)}}};L||(M=function(t){p(this,M,S,"_h"),h(t),r.call(this);try{t(u(N,this,1),u(D,this,1))}catch(e){D.call(this,e)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("5c95")(M.prototype,{then:function(t,e){var n=I(m(this,M));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=k?C.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&A(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=u(N,t,1),this.reject=u(D,t,1)},b.f=I=function(t){return t===M||t===c?new o(t):i(t)}),l(l.G+l.W+l.F*!L,{Promise:M}),n("45f2")(M,S),n("4c95")(S),c=n("584a")[S],l(l.S+l.F*!L,S,{reject:function(t){var e=I(this),n=e.reject;return n(t),e.promise}}),l(l.S+l.F*(a||!L),S,{resolve:function(t){return w(a&&this===c?M:this,t)}}),l(l.S+l.F*!(L&&n("4ee1")(function(t){M.all(t)["catch"](T)})),S,{all:function(t){var e=this,n=I(e),r=n.resolve,i=n.reject,o=x(function(){var n=[],o=0,c=1;v(t,!1,function(t){var a=o++,s=!1;n.push(void 0),c++,e.resolve(t).then(function(t){s||(s=!0,n[a]=t,--c||r(n))},i)}),--c||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=I(e),r=n.reject,i=x(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},"25eb":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},2638:function(t,e,n){"use strict";function r(){return r=Object.assign||function(t){for(var e,n=1;n";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+c+"document.F=Object"+i+"/script"+c),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[s]=r(t),n=new a,a[s]=null,n[c]=t):n=u(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,c="function"==typeof o,a=t.exports=function(t){return r[t]||(r[t]=c&&o[t]||(c?o:i)("Symbol."+t))};a.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},"2fdb":function(t,e,n){"use strict";var r=n("5ca1"),i=n("d2c8"),o="includes";r(r.P+r.F*n("5147")(o),"String",{includes:function(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},3024:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},"30f1":function(t,e,n){"use strict";var r=n("b8e3"),i=n("63b6"),o=n("9138"),c=n("35e8"),a=n("481b"),s=n("8f60"),u=n("45f2"),f=n("53e2"),l=n("5168")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,y,b,x){s(n,e,g);var _,w,S,O=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",j=y==v,E=!1,M=t.prototype,k=M[l]||M[h]||y&&M[y],T=k||O(y),I=y?j?O("entries"):T:void 0,L="Array"==e&&M.entries||k;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,C,!0),r||"function"==typeof S[l]||c(S,l,m))),j&&k&&k.name!==v&&(E=!0,T=function(){return k.call(this)}),r&&!x||!d&&!E&&M[l]||c(M,l,T),a[e]=T,a[C]=m,y)if(_={values:j?T:O(v),keys:b?T:O(p),entries:I},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||E),e,_);return _}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"32fc":function(t,e,n){var r=n("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,e,n){var r=n("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"33a4":function(t,e,n){var r=n("84f2"),i=n("2b4c")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3423:function(t,e,n){"use strict";var r=n("107a"),i=n.n(r);i.a},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"36c3":function(t,e,n){var r=n("335c"),i=n("25eb");t.exports=function(t){return r(i(t))}},3702:function(t,e,n){var r=n("481b"),i=n("5168")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3846:function(t,e,n){n("9e1e")&&"g"!=/./g.flags&&n("86cc").f(RegExp.prototype,"flags",{configurable:!0,get:n("0bfb")})},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),c=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},"3a38":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"3b2b":function(t,e,n){var r=n("7726"),i=n("5dbc"),o=n("86cc").f,c=n("9093").f,a=n("aae3"),s=n("0bfb"),u=r.RegExp,f=u,l=u.prototype,d=/a/g,h=/a/g,p=new u(d)!==d;if(n("9e1e")&&(!p||n("79e5")(function(){return h[n("2b4c")("match")]=!1,u(d)!=d||u(h)==h||"/a/i"!=u(d,"i")}))){u=function(t,e){var n=this instanceof u,r=a(t),o=void 0===e;return!n&&r&&t.constructor===u&&o?t:i(p?new f(r&&!o?t.source:t,e):f((r=t instanceof u)?t.source:t,r&&o?s.call(t):e),n?this:l,u)};for(var v=function(t){t in u||o(u,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},m=c(f),g=0;m.length>g;)v(m[g++]);l.constructor=u,u.prototype=l,n("2aba")(r,"RegExp",u)}n("7a56")("RegExp")},"3c11":function(t,e,n){"use strict";var r=n("63b6"),i=n("584a"),o=n("e53d"),c=n("f201"),a=n("cd78");r(r.P+r.R,"Promise",{finally:function(t){var e=c(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return a(e,t()).then(function(){return n})}:t,n?function(n){return a(e,t()).then(function(){throw n})}:t)}})},"40c3":function(t,e,n){var r=n("6b4c"),i=n("5168")("toStringTag"),o="Arguments"==r(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=c(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},4178:function(t,e,n){var r,i,o,c=n("d864"),a=n("3024"),s=n("32fc"),u=n("1ec9"),f=n("e53d"),l=f.process,d=f.setImmediate,h=f.clearImmediate,p=f.MessageChannel,v=f.Dispatch,m=0,g={},y="onreadystatechange",b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},x=function(t){b.call(t.data)};d&&h||(d=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return g[++m]=function(){a("function"==typeof t?t:Function(t),e)},r(m),m},h=function(t){delete g[t]},"process"==n("6b4c")(l)?r=function(t){l.nextTick(c(b,t,1))}:v&&v.now?r=function(t){v.now(c(b,t,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=x,r=c(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",x,!1)):r=y in u("script")?function(t){s.appendChild(u("script"))[y]=function(){s.removeChild(this),b.call(t)}}:function(t){setTimeout(c(b,t,1),0)}),t.exports={set:d,clear:h}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),c={};n("32e9")(c,n("2b4c")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(c,{next:i(1,n)}),o(t,e+" Iterator")}},"436f":function(t,e,n){"use strict";var r=n("0af2"),i=n.n(r);i.a},"43fc":function(t,e,n){"use strict";var r=n("63b6"),i=n("656e"),o=n("4439");r(r.S,"Promise",{try:function(t){var e=i.f(this),n=o(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},4439:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",function(){return function(t){return i(r(t))}})},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"45f2":function(t,e,n){var r=n("d9f6").f,i=n("07e3"),o=n("5168")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},"481b":function(t,e){t.exports={}},"49c2":function(t,e,n){"use strict";var r=n("acce"),i=n.n(r);i.a},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},"4c95":function(t,e,n){"use strict";var r=n("e53d"),i=n("584a"),o=n("d9f6"),c=n("8e60"),a=n("5168")("species");t.exports=function(t){var e="function"==typeof i[t]?i[t]:r[t];c&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},"4d21":function(t,e,n){"use strict";var r=n("917b"),i=n.n(r);i.a},"4ee1":function(t,e,n){var r=n("5168")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(c){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(c){}return n}},"504c":function(t,e,n){var r=n("9e1e"),i=n("0d58"),o=n("6821"),c=n("52a7").f;t.exports=function(t){return function(e){var n,a=o(e),s=i(a),u=s.length,f=0,l=[];while(u>f)n=s[f++],r&&!c.call(a,n)||l.push(t?[n,a[n]]:a[n]);return l}}},"50ed":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},5147:function(t,e,n){var r=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},5168:function(t,e,n){var r=n("dbdb")("wks"),i=n("62a0"),o=n("e53d").Symbol,c="function"==typeof o,a=t.exports=function(t){return r[t]||(r[t]=c&&o[t]||(c?o:i)("Symbol."+t))};a.store=r},"520a":function(t,e,n){"use strict";var r=n("0bfb"),i=RegExp.prototype.exec,o=String.prototype.replace,c=i,a="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[a]||0!==e[a]}(),u=void 0!==/()??/.exec("")[1],f=s||u;f&&(c=function(t){var e,n,c,f,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",r.call(l))),s&&(e=l[a]),c=i.call(l,t),s&&c&&(l[a]=l.global?c.index+c[0].length:e),u&&c&&c.length>1&&o.call(c[0],n,function(){for(f=1;f1?arguments[1]:void 0,m=void 0!==v,g=0,y=f(d);if(m&&(v=r(v,p>2?arguments[2]:void 0,2)),void 0==y||h==Array&&a(y))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,m?v(d[g],g):d[g]);else for(l=y.call(d),n=new h;!(i=l.next()).done;g++)u(n,g,m?c(l,v,[i.value,g],!0):i.value);return n.length=g,n}})},"54a1":function(t,e,n){n("6c1c"),n("1654"),t.exports=n("95d5")},5537:function(t,e,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",c=i[o]||(i[o]={});(t.exports=function(t,e){return c[t]||(c[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,e,n){var r=n("dbdb")("keys"),i=n("62a0");t.exports=function(t){return r[t]||(r[t]=i(t))}},"55dd":function(t,e,n){"use strict";var r=n("5ca1"),i=n("d8e8"),o=n("4bf8"),c=n("79e5"),a=[].sort,s=[1,2,3];r(r.P+r.F*(c(function(){s.sort(void 0)})||!c(function(){s.sort(null)})||!n("2f21")(a)),"Array",{sort:function(t){return void 0===t?a.call(o(this)):a.call(o(this),i(t))}})},"584a":function(t,e){var n=t.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},"5b4e":function(t,e,n){var r=n("36c3"),i=n("b447"),o=n("0fc9");t.exports=function(t){return function(e,n,c){var a,s=r(e),u=i(s.length),f=o(c,u);if(t&&n!=n){while(u>f)if(a=s[f++],a!=a)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},"5c95":function(t,e,n){var r=n("35e8");t.exports=function(t,e,n){for(var i in e)n&&t[i]?t[i]=e[i]:r(t,i,e[i]);return t}},"5ca1":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("32e9"),c=n("2aba"),a=n("9b43"),s="prototype",u=function(t,e,n){var f,l,d,h,p=t&u.F,v=t&u.G,m=t&u.S,g=t&u.P,y=t&u.B,b=v?r:m?r[e]||(r[e]={}):(r[e]||{})[s],x=v?i:i[e]||(i[e]={}),_=x[s]||(x[s]={});for(f in v&&(n=e),n)l=!p&&b&&void 0!==b[f],d=(l?b:n)[f],h=y&&l?a(d,r):g&&"function"==typeof d?a(Function.call,d):d,b&&c(b,f,d,t&u.U),x[f]!=d&&o(x,f,h),g&&_[f]!=d&&(_[f]=d)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},"5cc5":function(t,e,n){var r=n("2b4c")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(c){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(c){}return n}},"5dbc":function(t,e,n){var r=n("d3f4"),i=n("8b97").set;t.exports=function(t,e,n){var o,c=e.constructor;return c!==n&&"function"==typeof c&&(o=c.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},"5df3":function(t,e,n){"use strict";var r=n("02f4")(!0);n("01f9")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},"5eda":function(t,e,n){var r=n("5ca1"),i=n("8378"),o=n("79e5");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],c={};c[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",c)}},"5f1b":function(t,e,n){"use strict";var r=n("23c6"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"613b":function(t,e,n){var r=n("5537")("keys"),i=n("ca5a");t.exports=function(t){return r[t]||(r[t]=i(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},"63b6":function(t,e,n){var r=n("e53d"),i=n("584a"),o=n("d864"),c=n("35e8"),a=n("07e3"),s="prototype",u=function(t,e,n){var f,l,d,h=t&u.F,p=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,y=t&u.W,b=p?i:i[e]||(i[e]={}),x=b[s],_=p?r:v?r[e]:(r[e]||{})[s];for(f in p&&(n=e),n)l=!h&&_&&void 0!==_[f],l&&a(b,f)||(d=l?_[f]:n[f],b[f]=p&&"function"!=typeof _[f]?n[f]:g&&l?o(d,r):y&&_[f]==d?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(d):m&&"function"==typeof d?o(Function.call,d):d,m&&((b.virtual||(b.virtual={}))[f]=d,t&u.R&&x&&!x[f]&&c(x,f,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},"656e":function(t,e,n){"use strict";var r=n("79aa");function i(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new i(t)}},6762:function(t,e,n){"use strict";var r=n("5ca1"),i=n("c366")(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")("includes")},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"696e":function(t,e,n){n("c207"),n("1654"),n("6c1c"),n("24c5"),n("3c11"),n("43fc"),t.exports=n("584a").Promise},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a2b":function(t,e,n){},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"6b54":function(t,e,n){"use strict";n("3846");var r=n("cb7c"),i=n("0bfb"),o=n("9e1e"),c="toString",a=/./[c],s=function(t){n("2aba")(RegExp.prototype,c,t,!0)};n("79e5")(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?s(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):a.name!=c&&s(function(){return a.call(this)})},"6c1c":function(t,e,n){n("c367");for(var r=n("e53d"),i=n("35e8"),o=n("481b"),c=n("5168")("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s=u?t?"":void 0:(o=a.charCodeAt(s),o<55296||o>56319||s+1===u||(c=a.charCodeAt(s+1))<56320||c>57343?t?a.charAt(s):o:t?a.slice(s,s+2):c-56320+(o-55296<<10)+65536)}}},7333:function(t,e,n){"use strict";var r=n("9e1e"),i=n("0d58"),o=n("2621"),c=n("52a7"),a=n("4bf8"),s=n("626a"),u=Object.assign;t.exports=!u||n("79e5")(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=r})?function(t,e){var n=a(t),u=arguments.length,f=1,l=o.f,d=c.f;while(u>f){var h,p=s(arguments[f++]),v=l?i(p).concat(l(p)):i(p),m=v.length,g=0;while(m>g)h=v[g++],r&&!d.call(p,h)||(n[h]=p[h])}return n}:u},7514:function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(5),o="find",c=!0;o in[]&&Array(1)[o](function(){c=!1}),r(r.P+r.F*c,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"774e":function(t,e,n){t.exports=n("d2d5")},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},7802:function(t,e,n){},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")(function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a})},"795b":function(t,e,n){t.exports=n("696e")},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7a56":function(t,e,n){"use strict";var r=n("7726"),i=n("86cc"),o=n("9e1e"),c=n("2b4c")("species");t.exports=function(t){var e=r[t];o&&e&&!e[c]&&i.f(e,c,{configurable:!0,get:function(){return this}})}},"7cd6":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"7e90":function(t,e,n){var r=n("d9f6"),i=n("e4ae"),o=n("c3a1");t.exports=n("8e60")?Object.defineProperties:function(t,e){i(t);var n,c=o(e),a=c.length,s=0;while(a>s)r.f(t,n=c[s++],e[n]);return t}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},"7f7f":function(t,e,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,c="name";c in i||n("9e1e")&&r(i,c,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},"820e":function(t,e,n){},8378:function(t,e){var n=t.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},"83d7":function(t,e,n){},8436:function(t,e){t.exports=function(){}},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},8615:function(t,e,n){var r=n("5ca1"),i=n("504c")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),c=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return c(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8bbf":function(e,n){e.exports=t},"8e60":function(t,e,n){t.exports=!n("294c")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"8e6e":function(t,e,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),c=n("11e9"),a=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),s=c.f,u=i(r),f={},l=0;while(u.length>l)n=s(r,e=u[l++]),void 0!==n&&a(f,e,n);return f}})},"8f60":function(t,e,n){"use strict";var r=n("a159"),i=n("aebd"),o=n("45f2"),c={};n("35e8")(c,n("5168")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(c,{next:i(1,n)}),o(t,e+" Iterator")}},9003:function(t,e,n){var r=n("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"909e":function(t,e,n){"use strict";var r=n("1021"),i=n.n(r);i.a},9138:function(t,e,n){t.exports=n("35e8")},"917b":function(t,e,n){},"95d5":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},"96cf":function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function s(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,o=Object.create(i.prototype),c=new M(r||[]);return o._invoke=O(t,n,c),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(r){return{type:"throw",arg:r}}}t.wrap=s;var f="suspendedStart",l="suspendedYield",d="executing",h="completed",p={};function v(){}function m(){}function g(){}var y={};y[o]=function(){return this};var b=Object.getPrototypeOf,x=b&&b(b(k([])));x&&x!==n&&r.call(x,o)&&(y=x);var _=g.prototype=v.prototype=Object.create(y);function w(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function S(t){function e(n,i,o,c){var a=u(t[n],t,i);if("throw"!==a.type){var s=a.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?Promise.resolve(f.__await).then(function(t){e("next",t,o,c)},function(t){e("throw",t,o,c)}):Promise.resolve(f).then(function(t){s.value=t,o(s)},function(t){return e("throw",t,o,c)})}c(a.arg)}var n;function i(t,r){function i(){return new Promise(function(n,i){e(t,r,n,i)})}return n=n?n.then(i,i):i()}this._invoke=i}function O(t,e,n){var r=f;return function(i,o){if(r===d)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw o;return T()}n.method=i,n.arg=o;while(1){var c=n.delegate;if(c){var a=C(c,n);if(a){if(a===p)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var s=u(t,e,n);if("normal"===s.type){if(r=n.done?h:l,s.arg===p)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r=h,n.method="throw",n.arg=s.arg)}}}function C(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator["return"]&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method))return p;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var i=u(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,p;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function k(t){if(t){var n=t[o];if(n)return n.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var i=-1,c=function n(){while(++i=0;--o){var c=this.tryEntries[o],a=c.completion;if("root"===c.tryLoc)return i("end");if(c.tryLoc<=this.prev){var s=r.call(c,"catchLoc"),u=r.call(c,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:k(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}(t.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},9768:function(t,e,n){},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),c=n("7726").Reflect;t.exports=c&&c.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b01":function(t,e,n){"use strict";var r=n("6da9"),i=n.n(r);i.a},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a159:function(t,e,n){var r=n("e4ae"),i=n("7e90"),o=n("1691"),c=n("5559")("IE_PROTO"),a=function(){},s="prototype",u=function(){var t,e=n("1ec9")("iframe"),r=o.length,i="<",c=">";e.style.display="none",n("32fc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+c+"document.F=Object"+i+"/script"+c),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[s]=r(t),n=new a,a[s]=null,n[c]=t):n=u(),void 0===e?n:i(n,e)}},a215:function(t,e,n){},a22a:function(t,e,n){var r=n("d864"),i=n("b0dc"),o=n("3702"),c=n("e4ae"),a=n("b447"),s=n("7cd6"),u={},f={};e=t.exports=function(t,e,n,l,d){var h,p,v,m,g=d?function(){return t}:s(t),y=r(n,l,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(o(g)){for(h=a(t.length);h>b;b++)if(m=e?y(c(p=t[b])[0],p[1]):y(t[b]),m===u||m===f)return m}else for(v=g.call(t);!(p=v.next()).done;)if(m=i(v,y,p.value,e),m===u||m===f)return m};e.BREAK=u,e.RETURN=f},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),c=n("4588"),a=n("0390"),s=n("5f1b"),u=Math.max,f=Math.min,l=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,function(t,e,n,v){return[function(r,i){var o=t(this),c=void 0==r?void 0:r[e];return void 0!==c?c.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var l=r(t),d=String(this),h="function"===typeof e;h||(e=String(e));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}var b=[];while(1){var x=s(l,d);if(null===x)break;if(b.push(x),!g)break;var _=String(x[0]);""===_&&(l.lastIndex=a(d,o(l.lastIndex),y))}for(var w="",S=0,O=0;O=S&&(w+=d.slice(S,j)+I,S=j+C.length)}return w+d.slice(S)}];function m(t,e,r,o,c,a){var s=r+t.length,u=o.length,f=h;return void 0!==c&&(c=i(c),f=d),n.call(a,f,function(n,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":a=c[i.slice(1,-1)];break;default:var f=+i;if(0===f)return n;if(f>u){var d=l(f/10);return 0===d?n:d<=u?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}a=o[f-1]}return void 0===a?"":a})}})},a745:function(t,e,n){t.exports=n("f410")},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),c=n("fdef"),a="["+c+"]",s="​…",u=RegExp("^"+a+a+"*"),f=RegExp(a+a+"*$"),l=function(t,e,n){var i={},a=o(function(){return!!c[t]()||s[t]()!=s}),u=i[t]=a?e(d):c[t];n&&(i[n]=u),r(r.P+r.F*a,"String",i)},d=l.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},aae3:function(t,e,n){var r=n("d3f4"),i=n("2d95"),o=n("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},aba2:function(t,e,n){var r=n("e53d"),i=n("4178").set,o=r.MutationObserver||r.WebKitMutationObserver,c=r.process,a=r.Promise,s="process"==n("6b4c")(c);t.exports=function(){var t,e,n,u=function(){var r,i;s&&(r=c.domain)&&r.exit();while(t){i=t.fn,t=t.next;try{i()}catch(o){throw t?n():e=void 0,o}}e=void 0,r&&r.enter()};if(s)n=function(){c.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var f=a.resolve(void 0);n=function(){f.then(u)}}else n=function(){i.call(r,u)};else{var l=!0,d=document.createTextNode("");new o(u).observe(d,{characterData:!0}),n=function(){d.data=l=!l}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),c=n("7726"),a=n("32e9"),s=n("84f2"),u=n("2b4c"),f=u("iterator"),l=u("toStringTag"),d=s.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(h),v=0;v0?i(r(t),9007199254740991):0}},b8e3:function(t,e){t.exports=!0},bc13:function(t,e,n){var r=n("e53d"),i=r.navigator;t.exports=i&&i.userAgent||""},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c207:function(t,e){},c366:function(t,e,n){var r=n("6821"),i=n("9def"),o=n("77f1");t.exports=function(t){return function(e,n,c){var a,s=r(e),u=i(s.length),f=o(c,u);if(t&&n!=n){while(u>f)if(a=s[f++],a!=a)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},c367:function(t,e,n){"use strict";var r=n("8436"),i=n("50ed"),o=n("481b"),c=n("36c3");t.exports=n("30f1")(Array,"Array",function(t,e){this._t=c(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,e,n){var r=n("e6f3"),i=n("1691");t.exports=Object.keys||function(t){return r(t,i)}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),c=n("5dbc"),a=n("6a99"),s=n("79e5"),u=n("9093").f,f=n("11e9").f,l=n("86cc").f,d=n("aa77").trim,h="Number",p=r[h],v=p,m=p.prototype,g=o(n("2aeb")(m))==h,y="trim"in String.prototype,b=function(t){var e=a(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var c,s=e.slice(2),u=0,f=s.length;ui)return NaN;return parseInt(s,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(g?s(function(){m.valueOf.call(n)}):o(n)!=h)?c(new v(b(e)),n,p):b(e)};for(var x,_=n("9e1e")?u(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)i(v,x=_[w])&&!i(p,x)&&l(p,x,f(v,x));p.prototype=m,m.constructor=p,n("2aba")(r,h,p)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},c8bb:function(t,e,n){t.exports=n("54a1")},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),c=n("6821");t.exports=n("01f9")(Array,"Array",function(t,e){this._t=c(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},cd1c:function(t,e,n){var r=n("e853");t.exports=function(t,e){return new(r(t))(e)}},cd78:function(t,e,n){var r=n("e4ae"),i=n("f772"),o=n("656e");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t),c=n.resolve;return c(e),n.promise}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),c=n("613b")("IE_PROTO");t.exports=function(t,e){var n,a=i(t),s=0,u=[];for(n in a)n!=c&&r(a,n)&&u.push(n);while(e.length>s)r(a,n=e[s++])&&(~o(u,n)||u.push(n));return u}},cfab:function(t,e,n){"use strict";var r=n("15cf"),i=n.n(r);i.a},d2c8:function(t,e,n){var r=n("aae3"),i=n("be13");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},d2d5:function(t,e,n){n("1654"),n("549b"),t.exports=n("584a").Array.from},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),c=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return c(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},dbdb:function(t,e,n){var r=n("584a"),i=n("e53d"),o="__core-js_shared__",c=i[o]||(i[o]={});(t.exports=function(t,e){return c[t]||(c[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dbdc:function(t,e,n){"use strict";var r=n("7802"),i=n.n(r);i.a},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e6f3:function(t,e,n){var r=n("07e3"),i=n("36c3"),o=n("5b4e")(!1),c=n("5559")("IE_PROTO");t.exports=function(t,e){var n,a=i(t),s=0,u=[];for(n in a)n!=c&&r(a,n)&&u.push(n);while(e.length>s)r(a,n=e[s++])&&(~o(u,n)||u.push(n));return u}},e853:function(t,e,n){var r=n("d3f4"),i=n("1169"),o=n("2b4c")("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&(e=e[o],null===e&&(e=void 0))),void 0===e?Array:e}},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var r=n("a215"),i=n.n(r);i.a},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f201:function(t,e,n){var r=n("e4ae"),i=n("79aa"),o=n("5168")("species");t.exports=function(t,e){var n,c=r(t).constructor;return void 0===c||void 0==(n=r(c)[o])?e:i(n)}},f410:function(t,e,n){n("1af6"),t.exports=n("584a").Array.isArray},f559:function(t,e,n){"use strict";var r=n("5ca1"),i=n("9def"),o=n("d2c8"),c="startsWith",a=""[c];r(r.P+r.F*n("5147")(c),"String",{startsWith:function(t){var e=o(this,t,c),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("ac6a");var i,o,c={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.$slots["tab-pane"].map(function(i){var o=i.data.attrs,c=o.tab,a=o.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==a}]},[i])),r.push(e("div",{class:["lemon-tabs-nav__item",t.active==a&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(a)}}},[c]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[r])])},methods:{_handleNavClick:function(t){this.active=t}}},a=c;n("3423");function s(t,e,n,r,i,o,c,a){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),c?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(c)},u._ssrRegister=s):i&&(s=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var f=u.render;u.render=function(t,e){return s.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,s):[s]}return{exports:t,options:u}}var u=s(a,i,o,!1,null,null,null),f=u.exports,l=(n("96cf"),n("795b")),d=n.n(l);function h(t,e,n,r,i,o,c){try{var a=t[o](c),s=a.value}catch(u){return void n(u)}a.done?e(s):d.a.resolve(s).then(r,i)}function p(t){return function(){var e=this,n=arguments;return new d.a(function(r,i){var o=t.apply(e,n);function c(t){h(o,r,i,c,a,"next",t)}function a(t){h(o,r,i,c,a,"throw",t)}c(void 0)})}}n("cadf"),n("456d"),n("6762"),n("2fdb");var v,m,g,y,b,x,_,w,S=[],O=function(){return S.forEach(function(t){return t()})},C={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},j={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(C).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),S.push(this.close)},mounted:function(){C[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"lemon-slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__title"}),t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=p(regeneratorRuntime.mark(function t(e){var n,r;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,r=this.$refs.popover,this.popoverStyle={top:"-".concat(r.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-r.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){O(),this.visible=!0},close:function(){this.visible=!1}}},E=j,M=(n("0e15"),s(E,v,m,!1,null,null,null)),k=M.exports,T={name:"LemonButton",props:{disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:"lemon-button",attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},I=T,L=(n("1e45"),s(I,g,y,!1,null,null,null)),P=L.exports,A=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),$=A,F=(n("dbdc"),s($,b,x,!1,null,null,null)),R=F.exports,D={name:"LemonAvatar",props:{src:String,icon:{type:String,default:"lemon-icon-people"},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:"lemon-avatar",on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},N=D,V=(n("04f4"),s(N,_,w,!1,null,null,null)),U=V.exports,B=n("2638"),G=n.n(B);n("3b2b"),n("8615"),n("6b54");function H(t){return"[object Object]"===Object.prototype.toString.call(t)}function z(t){return"string"==typeof t}function K(t){return(new Date).getTime()-t<864e5}function W(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!H(t)||0!=Object.values(t).length))}function Y(t){return t&&"function"===typeof t}n("8e6e");var q=n("85f2"),X=n.n(q);function Z(t,e,n){return e in t?X()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("a481");function J(t,e,n){return t?t(n):e}function Q(t){return t<10?"0".concat(t):t}function tt(t){var e,n=new Date(t),r=new Date,i=function(t){return t.getFullYear()},o=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},c=i(n),a=i(r);return e=c!==a?"y年m月d日 h:i":"".concat(c,"-").concat(o(n))==="".concat(a,"-").concat(o(r))?"h:i":"m月d日 h:i",et(t,e)}function et(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),Q((t.getMonth()+1).toString()),Q(t.getDate().toString()),Q(t.getHours().toString()),Q(t.getMinutes().toString()),Q(t.getSeconds().toString())],r="ymdhis",i=0;i/gi,"")}function it(t){return t.replace(/<(?!img).*?>/gi,"")}function ot(t){return t.replace(/]*>/gi,"[!$1]")}function ct(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,r=parseFloat(t);n=Math.floor(Math.log(r)/Math.log(1024));var i=r/Math.pow(1024,n);return i=parseFloat(i.toFixed(2)),i+e[n]}function at(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var st,ut,ft={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return et(t,K(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[J(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[z(e.lastContent)?t("span",G()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},lt=ft,dt=(n("909e"),s(lt,st,ut,!1,null,null,null)),ht=dt.exports;n("5df3"),n("1c4c");function pt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function vt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},_t=window.getSelection(),wt=[],St={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return{submitDisabled:!0,proxyTools:[],accept:""}},created:function(){this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}])},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.proxyTools.forEach(function(i){var o=i.name,c=i.title,a=i.render,s=i.click,u=i.isRight;s=s||new Function;var f,l=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":u}];f="emoji"==o?0==wt.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:l,attrs:{title:c}},[a()])]):e("div",{class:l,on:{click:s},attrs:{title:c}},[a()]),u?r.push(f):n.push(f)}),e("div",{class:"lemon-editor"},[e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[r])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[J(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{initTools:function(t){var e=this,n=this.$createElement;if(t){var r=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],i=[];if(Array.isArray(t)){var o={emoji:0,uploadFile:1,uploadImage:2},c=Object.keys(o);i=t.map(function(t){return c.includes(t.name)?vt({},r[o[t.name]],{},t):t})}else i=r;this.proxyTools=i}},_saveLastRange:function(){mt=_t.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),mt&&(_t.removeAllRanges(),_t.addRange(mt))},_handleClick:function(){this._saveLastRange()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(wt[0].label){var r=wt.map(function(t,r){return e("div",{slot:"tab-pane",attrs:{index:r,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[r])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(wt)])},_handleSelectEmoji:function(t){this._focusLastRange(),xt('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=p(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData||window.clipboardData,n=e.getData("Text");window.clipboardData?this.$refs.textarea.innerHTML=n:xt(n,"insertText")},_handleKeyup:function(t){this._saveLastRange(),this._checkSubmitDisabled()},_handleKeydown:function(t){0==this.submitDisabled&&this.sendKey(t)&&this._handleSend()},getFormatValue:function(){return ot(this.$refs.textarea.innerHTML)},_checkSubmitDisabled:function(){this.submitDisabled=!it(this.$refs.textarea.innerHTML.trim())},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){wt=t,this.$forceUpdate()},setValue:function(t){this.$refs.textarea.innerHTML=t,this._checkSubmitDisabled()}}},Ot=St,Ct=(n("49c2"),s(Ot,gt,yt,!1,null,null,null)),jt=Ct.exports,Et=n("8bbf"),Mt=n.n(Et),kt=function(){bt&&(bt.style.display="none")},Tt=function(){bt&&(bt.style.display="block")};document.addEventListener("click",function(t){kt()});var It,Lt,Pt,At,$t={hide:kt,bind:function(t,e,n){t.addEventListener("contextmenu",function(t){if(!W(e.value)&&Array.isArray(e.value)){var r;t.preventDefault();var i=[];e.modifiers.message?r=n.context:e.modifiers.contact&&(r=n.child),bt||(bt=document.createElement("div"),bt.className="lemon-dropdown",document.body.appendChild(bt)),bt.innerHTML=e.value.map(function(t){var e;if(e=Y(t.visible)?t.visible(r):void 0===t.visible||t.visible,e){i.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""}).join(""),bt.style.top="".concat(t.pageY,"px"),bt.style.left="".concat(t.pageX,"px"),bt.childNodes.forEach(function(t,e){var n=i[e],o=n.click,c=n.render;if(t.addEventListener("click",function(t){t.stopPropagation(),Y(o)&&o(t,r,kt)}),Y(c)){var a=Mt.a.extend({render:function(t){return c(t,r,kt)}}),s=(new a).$mount();t.querySelector("span").innerHTML=s.$el.outerHTML}}),Tt()}})},inserted:function(t,e,n){}},Ft={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return tt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,r){var i,o=[],c="lemon-message-".concat(n.type),a=t.messages[r-1];return a&&t.msecRange&&n.sendTime-a.sendTime>t.msecRange&&o.push(e("lemon-message-event",G()([{},{attrs:{message:{id:"__time__",type:"event",content:tt(n.sendTime)}}}]))),i="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},o.push(e(c,G()([{ref:"message",refInFor:!0},{attrs:i}]))),o})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=p(regeneratorRuntime.mark(function t(e){var n,r,i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,$t.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:r=n.scrollHeight,this.$emit("reach-top",function(){var t=p(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,i.$nextTick();case 2:n.scrollTop=n.scrollHeight-r,i._loading=!1,i._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=p(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Rt=Ft,Dt=(n("436f"),s(Rt,It,Lt,!1,null,null,null)),Nt=Dt.exports,Vt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,r=n.fromUser,i=n.status,o=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(i),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:r.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[r.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(o)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"dropdown",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[J(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[J(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},Ut=Vt,Bt=(n("fbd1"),s(Ut,Pt,At,!1,null,null,null)),Gt=Bt.exports;function Ht(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function zt(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===Be[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?1==e&&this.messageViewToBottom():n.unread="+1",this.updateContact(n)}},_emitSend:function(t,e,n){var r=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),r.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime})})},_handleUpload:function(t){var e,n=this,r=["image/gif","image/jpeg","image/png"];e=r.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var i=this._createMessage(e);this.appendMessage(i,!0),this._emitSend(i,function(){n.updateContact({id:i.toContactId,lastContent:n.lastContentRender(i),lastSendTime:i.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,r),1==r&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(r)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],r=[];return this.menus.forEach(function(i){var o=i.name,c=i.title,a=i.unread,s=i.render,u=i.click,f=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==o}],on:{click:function(){nt(u,function(){o&&t.changeMenu(o)})}},attrs:{title:c}},[e("lemon-badge",{attrs:{count:a}},[s(i)])]);!0===i.isBottom?r.push(f):n.push(f)}),{top:n,bottom:r}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([J(this.$scopedSlots["sidebar-message-top"]),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],Te)},_renderContact:function(t,e,n){var r=this,i=this.$createElement,o=t.contact,c=o.click,a=o.renderContainer,s=o.id,u=function(){nt(c,function(){e(),r._customContainerReady(a,r.CacheContactContainer,s)})};return i("lemon-contact",G()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"dropdown",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:u},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([J(this.$scopedSlots["sidebar-contact-top"]),this.contacts.map(function(r){if(r.index){r.index=r.index.replace(/\[[0-9]*\]/,"");var i=[r.index!==t&&n("p",{class:"lemon-sidebar__label"},[r.index]),e._renderContact({contact:r,simple:!0},function(){e.changeContact(r.id)},e.$scopedSlots["sidebar-contact"])];return t=r.index,i}})],Ie)},_renderSidebar:function(t,e){var n=this.$createElement;return n("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[t])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[He(),J(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],r="lemon-container",i=this.currentContact,o=!0;for(var c in this.CacheContactContainer.get()){var a=i.id==c&&this.currentIsDefSidebar;o=!a,n.push(e("div",{class:r,directives:[{name:"show",value:a}]},[this.CacheContactContainer.get(c)]))}for(var s in this.CacheMenuContainer.get())n.push(e("div",{class:r,directives:[{name:"show",value:this.activeSidebar==s&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(s)]));return n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsMessages()&&o&&i.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[J(this.$scopedSlots["message-title"],i.displayName,i)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:r,directives:[{name:"show",value:!i.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsContacts()&&o&&i.id}]},[J(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:i.avatar,size:90}}),e("h4",[i.displayName]),e("lemon-button",{on:{click:function(){W(i.lastContent)&&t.updateContact({id:i.id,lastContent:" "}),t.changeContact(i.id,Te)}}},["发送消息"])]),i)])),n},_handleSidebarScroll:function(){$t.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var r,i={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),Be[e]=Be[e]||[],(r=Be[e])[i].apply(r,ke(t))},setLastContentRender:function(t,e){Pe[t]=e},lastContentRender:function(t){return Y(Pe[t.type])?Pe[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},replaceEmojiName:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Ge[n]?''):"[!".concat(e,"]")})},updateCurrentMessages:function(){Be[this.currentContactId]||(Be[this.currentContactId]=[]),this.currentMessages=Be[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=p(regeneratorRuntime.mark(function t(e,n){var r=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!n){t.next=4;break}this.changeMenu(n),t.next=6;break;case 4:if(!this._changeContactLock&&this.currentContactId!=e){t.next=6;break}return t.abrupt("return",!1);case 6:if(this.currentContactId=e,this.currentContactId){t.next=9;break}return t.abrupt("return",!1);case 9:if(this.$emit("change-contact",this.currentContact,this),!Y(this.currentContact.renderContainer)){t.next=12;break}return t.abrupt("return");case 12:this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Be[e]?setTimeout(function(){r.updateCurrentMessages(),r.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return r.messageViewToBottom()}));case 14:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=Be[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return Be[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){Y(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach(function(t){var n;(n=e).push.apply(n,ke(t.children))}):e=t,e.forEach(function(t){var e=t.name,n=t.src;return Ge[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,r=[{name:Te,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Ie,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],i=[];if(Array.isArray(t)){var o={messages:0,contacts:1},c=Object.keys(o);i=t.map(function(t){return c.includes(t.name)?Ne({},r[o[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else i=r;this.menus=i},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},appendContact:function(t){return W(t.id)||W(t.displayName)?(console.error("id | displayName cant be empty"),!1):!!this.hasContact(t.id)||(this.contacts.push(Object.assign(Z({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:""},"lastSendTime",""),t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var r=t.unread;z(r)&&(0!==r.indexOf("+")&&0!==r.indexOf("-")||(t.unread=parseInt(r)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ne({},this.contacts[n],{},t))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in Be){var n=Be[e].find(function(e){var n=e.id;return n==t});if(n)return n}},findContact:function(t){return this.getContacts().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},setEditorValue:function(t){this.$refs.editor.setValue(this.replaceEmojiName(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?Be[t]:Be)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){He=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ke=ze,We=(n("9b01"),s(Ke,Ve,Ue,!1,null,null,null)),Ye=We.exports;n("6a2b");Mt.a.directive("dropdown",$t);var qe="1.4.2",Xe=[Ye,ht,Nt,jt,U,R,P,k,f,Gt,Zt,oe,ve,be],Ze=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Xe.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&Ze(window.Vue);var Je={version:qe,install:Ze};e["default"]=Je},fbd1:function(t,e,n){"use strict";var r=n("820e"),i=n.n(r);i.a},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})}); \ No newline at end of file +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),c=n("84f2"),s=n("41a0"),u=n("7f20"),f=n("38fd"),l=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,S,C=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==v,I=!1,M=t.prototype,T=M[l]||M[h]||b&&M[b],k=T||C(b),E=b?j?C("entries"):k:void 0,L="Array"==e&&M.entries||T;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,O,!0),r||"function"==typeof S[l]||a(S,l,m))),j&&T&&T.name!==v&&(I=!0,k=function(){return T.call(this)}),r&&!x||!d&&!I&&M[l]||a(M,l,k),c[e]=k,c[O]=m,b)if(_={values:j?k:C(v),keys:y?k:C(p),entries:E},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||I),e,_);return _}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,c=String(i(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"04f4":function(t,e,n){"use strict";var r=n("26f7"),i=n.n(r);i.a},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),c=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,f=4==t,l=6==t,d=5==t||l,h=e||c;return function(e,c,p){for(var v,m,g=o(e),b=i(g),y=r(c,p,3),x=a(b.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in b)&&(v=b[_],m=y(v,_,g),t))if(n)w[_]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:w.push(v)}else if(f)return!1;return l?-1:u||f?f:w}}},"0af2":function(t,e,n){},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0e15":function(t,e,n){"use strict";var r=n("9768"),i=n.n(r);i.a},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1021:function(t,e,n){},"107a":function(t,e,n){},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},1173:function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),c=n("69a8"),s=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=o(t),e=a(e,!0),s)try{return u(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},"15cf":function(t,e,n){},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},1663:function(t,e,n){"use strict";var r=n("e86c"),i=n.n(r);i.a},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isArray:n("9003")})},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1c4c":function(t,e,n){"use strict";var r=n("9b43"),i=n("5ca1"),o=n("4bf8"),a=n("1fa8"),c=n("33a4"),s=n("9def"),u=n("f1ae"),f=n("27ee");i(i.S+i.F*!n("5cc5")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,l,d=o(t),h="function"==typeof this?this:Array,p=arguments.length,v=p>1?arguments[1]:void 0,m=void 0!==v,g=0,b=f(d);if(m&&(v=r(v,p>2?arguments[2]:void 0,2)),void 0==b||h==Array&&c(b))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,m?v(d[g],g):d[g]);else for(l=b.call(d),n=new h;!(i=l.next()).done;g++)u(n,g,m?a(l,v,[i.value,g],!0):i.value);return n.length=g,n}})},"1e45":function(t,e,n){"use strict";var r=n("83d7"),i=n.n(r);i.a},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"1fa8":function(t,e,n){var r=n("cb7c");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},"20d6":function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(6),o="findIndex",a=!0;o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},"20fd":function(t,e,n){"use strict";var r=n("d9f6"),i=n("aebd");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),c=n("2b4c"),s=n("520a"),u=c("species"),f=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=c(t),h=!o(function(){var e={};return e[d]=function(){return 7},7!=""[t](e)}),p=h?!o(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[d](""),!e}):void 0;if(!h||!p||"replace"===t&&!f||"split"===t&&!l){var v=/./[d],m=n(a,d,""[t],function(t,e,n,r,i){return e.exec===s?h&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=m[0],b=m[1];r(String.prototype,t,g),i(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(c=r(e))&&"function"==typeof e.callee?"Arguments":c}},"241e":function(t,e,n){var r=n("25eb");t.exports=function(t){return Object(r(t))}},"24c5":function(t,e,n){"use strict";var r,i,o,a,c=n("b8e3"),s=n("e53d"),u=n("d864"),f=n("40c3"),l=n("63b6"),d=n("f772"),h=n("79aa"),p=n("1173"),v=n("a22a"),m=n("f201"),g=n("4178").set,b=n("aba2")(),y=n("656e"),x=n("4439"),_=n("bc13"),w=n("cd78"),S="Promise",C=s.TypeError,O=s.process,j=O&&O.versions,I=j&&j.v8||"",M=s[S],T="process"==f(O),k=function(){},E=i=y.f,L=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[n("5168")("species")]=function(t){t(k,k)};return(T||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e&&0!==I.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(r){}}(),P=function(t){var e;return!(!d(t)||"function"!=typeof(e=t.then))&&e},A=function(t,e){if(!t._n){t._n=!0;var n=t._c;b(function(){var r=t._v,i=1==t._s,o=0,a=function(e){var n,o,a,c=i?e.ok:e.fail,s=e.resolve,u=e.reject,f=e.domain;try{c?(i||(2==t._h&&F(t),t._h=1),!0===c?n=r:(f&&f.enter(),n=c(r),f&&(f.exit(),a=!0)),n===e.promise?u(C("Promise-chain cycle")):(o=P(n))?o.call(n,s,u):s(n)):u(r)}catch(l){f&&!a&&f.exit(),u(l)}};while(n.length>o)a(n[o++]);t._c=[],t._n=!1,e&&!t._h&&$(t)})}},$=function(t){g.call(s,function(){var e,n,r,i=t._v,o=R(t);if(o&&(e=x(function(){T?O.emit("unhandledRejection",i,t):(n=s.onunhandledrejection)?n({promise:t,reason:i}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",i)}),t._h=T||R(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},F=function(t){g.call(s,function(){var e;T?O.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),A(e,!0))},N=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw C("Promise can't be resolved itself");(e=P(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,u(N,r,1),u(D,r,1))}catch(i){D.call(r,i)}}):(n._v=t,n._s=1,A(n,!1))}catch(r){D.call({_w:n,_d:!1},r)}}};L||(M=function(t){p(this,M,S,"_h"),h(t),r.call(this);try{t(u(N,this,1),u(D,this,1))}catch(e){D.call(this,e)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("5c95")(M.prototype,{then:function(t,e){var n=E(m(this,M));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&A(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=u(N,t,1),this.reject=u(D,t,1)},y.f=E=function(t){return t===M||t===a?new o(t):i(t)}),l(l.G+l.W+l.F*!L,{Promise:M}),n("45f2")(M,S),n("4c95")(S),a=n("584a")[S],l(l.S+l.F*!L,S,{reject:function(t){var e=E(this),n=e.reject;return n(t),e.promise}}),l(l.S+l.F*(c||!L),S,{resolve:function(t){return w(c&&this===a?M:this,t)}}),l(l.S+l.F*!(L&&n("4ee1")(function(t){M.all(t)["catch"](k)})),S,{all:function(t){var e=this,n=E(e),r=n.resolve,i=n.reject,o=x(function(){var n=[],o=0,a=1;v(t,!1,function(t){var c=o++,s=!1;n.push(void 0),a++,e.resolve(t).then(function(t){s||(s=!0,n[c]=t,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=E(e),r=n.reject,i=x(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},"25eb":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},2638:function(t,e,n){"use strict";function r(){return r=Object.assign||function(t){for(var e,n=1;n";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(c[s]=r(t),n=new c,c[s]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,c=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};c.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},"2fdb":function(t,e,n){"use strict";var r=n("5ca1"),i=n("d2c8"),o="includes";r(r.P+r.F*n("5147")(o),"String",{includes:function(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},3024:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},"30f1":function(t,e,n){"use strict";var r=n("b8e3"),i=n("63b6"),o=n("9138"),a=n("35e8"),c=n("481b"),s=n("8f60"),u=n("45f2"),f=n("53e2"),l=n("5168")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,S,C=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==v,I=!1,M=t.prototype,T=M[l]||M[h]||b&&M[b],k=T||C(b),E=b?j?C("entries"):k:void 0,L="Array"==e&&M.entries||T;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,O,!0),r||"function"==typeof S[l]||a(S,l,m))),j&&T&&T.name!==v&&(I=!0,k=function(){return T.call(this)}),r&&!x||!d&&!I&&M[l]||a(M,l,k),c[e]=k,c[O]=m,b)if(_={values:j?k:C(v),keys:y?k:C(p),entries:E},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||I),e,_);return _}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"32fc":function(t,e,n){var r=n("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,e,n){var r=n("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"33a4":function(t,e,n){var r=n("84f2"),i=n("2b4c")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3423:function(t,e,n){"use strict";var r=n("107a"),i=n.n(r);i.a},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"36c3":function(t,e,n){var r=n("335c"),i=n("25eb");t.exports=function(t){return r(i(t))}},3702:function(t,e,n){var r=n("481b"),i=n("5168")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3846:function(t,e,n){n("9e1e")&&"g"!=/./g.flags&&n("86cc").f(RegExp.prototype,"flags",{configurable:!0,get:n("0bfb")})},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"3a38":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"3b2b":function(t,e,n){var r=n("7726"),i=n("5dbc"),o=n("86cc").f,a=n("9093").f,c=n("aae3"),s=n("0bfb"),u=r.RegExp,f=u,l=u.prototype,d=/a/g,h=/a/g,p=new u(d)!==d;if(n("9e1e")&&(!p||n("79e5")(function(){return h[n("2b4c")("match")]=!1,u(d)!=d||u(h)==h||"/a/i"!=u(d,"i")}))){u=function(t,e){var n=this instanceof u,r=c(t),o=void 0===e;return!n&&r&&t.constructor===u&&o?t:i(p?new f(r&&!o?t.source:t,e):f((r=t instanceof u)?t.source:t,r&&o?s.call(t):e),n?this:l,u)};for(var v=function(t){t in u||o(u,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},m=a(f),g=0;m.length>g;)v(m[g++]);l.constructor=u,u.prototype=l,n("2aba")(r,"RegExp",u)}n("7a56")("RegExp")},"3c11":function(t,e,n){"use strict";var r=n("63b6"),i=n("584a"),o=n("e53d"),a=n("f201"),c=n("cd78");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return c(e,t()).then(function(){return n})}:t,n?function(n){return c(e,t()).then(function(){throw n})}:t)}})},"40c3":function(t,e,n){var r=n("6b4c"),i=n("5168")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(c=r(e))&&"function"==typeof e.callee?"Arguments":c}},4178:function(t,e,n){var r,i,o,a=n("d864"),c=n("3024"),s=n("32fc"),u=n("1ec9"),f=n("e53d"),l=f.process,d=f.setImmediate,h=f.clearImmediate,p=f.MessageChannel,v=f.Dispatch,m=0,g={},b="onreadystatechange",y=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},x=function(t){y.call(t.data)};d&&h||(d=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return g[++m]=function(){c("function"==typeof t?t:Function(t),e)},r(m),m},h=function(t){delete g[t]},"process"==n("6b4c")(l)?r=function(t){l.nextTick(a(y,t,1))}:v&&v.now?r=function(t){v.now(a(y,t,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=x,r=a(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",x,!1)):r=b in u("script")?function(t){s.appendChild(u("script"))[b]=function(){s.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),t.exports={set:d,clear:h}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"436f":function(t,e,n){"use strict";var r=n("0af2"),i=n.n(r);i.a},"43fc":function(t,e,n){"use strict";var r=n("63b6"),i=n("656e"),o=n("4439");r(r.S,"Promise",{try:function(t){var e=i.f(this),n=o(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},4439:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",function(){return function(t){return i(r(t))}})},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"45f2":function(t,e,n){var r=n("d9f6").f,i=n("07e3"),o=n("5168")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},"481b":function(t,e){t.exports={}},"49c2":function(t,e,n){"use strict";var r=n("acce"),i=n.n(r);i.a},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},"4c95":function(t,e,n){"use strict";var r=n("e53d"),i=n("584a"),o=n("d9f6"),a=n("8e60"),c=n("5168")("species");t.exports=function(t){var e="function"==typeof i[t]?i[t]:r[t];a&&e&&!e[c]&&o.f(e,c,{configurable:!0,get:function(){return this}})}},"4d21":function(t,e,n){"use strict";var r=n("917b"),i=n.n(r);i.a},"4ee1":function(t,e,n){var r=n("5168")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],c=o[r]();c.next=function(){return{done:n=!0}},o[r]=function(){return c},t(o)}catch(a){}return n}},"504c":function(t,e,n){var r=n("9e1e"),i=n("0d58"),o=n("6821"),a=n("52a7").f;t.exports=function(t){return function(e){var n,c=o(e),s=i(c),u=s.length,f=0,l=[];while(u>f)n=s[f++],r&&!a.call(c,n)||l.push(t?[n,c[n]]:c[n]);return l}}},"50ed":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},5147:function(t,e,n){var r=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},5168:function(t,e,n){var r=n("dbdb")("wks"),i=n("62a0"),o=n("e53d").Symbol,a="function"==typeof o,c=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};c.store=r},"520a":function(t,e,n){"use strict";var r=n("0bfb"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,c="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[c]||0!==e[c]}(),u=void 0!==/()??/.exec("")[1],f=s||u;f&&(a=function(t){var e,n,a,f,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",r.call(l))),s&&(e=l[c]),a=i.call(l,t),s&&a&&(l[c]=l.global?a.index+a[0].length:e),u&&a&&a.length>1&&o.call(a[0],n,function(){for(f=1;f1?arguments[1]:void 0,m=void 0!==v,g=0,b=f(d);if(m&&(v=r(v,p>2?arguments[2]:void 0,2)),void 0==b||h==Array&&c(b))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,m?v(d[g],g):d[g]);else for(l=b.call(d),n=new h;!(i=l.next()).done;g++)u(n,g,m?a(l,v,[i.value,g],!0):i.value);return n.length=g,n}})},"54a1":function(t,e,n){n("6c1c"),n("1654"),t.exports=n("95d5")},5537:function(t,e,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,e,n){var r=n("dbdb")("keys"),i=n("62a0");t.exports=function(t){return r[t]||(r[t]=i(t))}},"55dd":function(t,e,n){"use strict";var r=n("5ca1"),i=n("d8e8"),o=n("4bf8"),a=n("79e5"),c=[].sort,s=[1,2,3];r(r.P+r.F*(a(function(){s.sort(void 0)})||!a(function(){s.sort(null)})||!n("2f21")(c)),"Array",{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},"584a":function(t,e){var n=t.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},"5b4e":function(t,e,n){var r=n("36c3"),i=n("b447"),o=n("0fc9");t.exports=function(t){return function(e,n,a){var c,s=r(e),u=i(s.length),f=o(a,u);if(t&&n!=n){while(u>f)if(c=s[f++],c!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},"5c95":function(t,e,n){var r=n("35e8");t.exports=function(t,e,n){for(var i in e)n&&t[i]?t[i]=e[i]:r(t,i,e[i]);return t}},"5ca1":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("32e9"),a=n("2aba"),c=n("9b43"),s="prototype",u=function(t,e,n){var f,l,d,h,p=t&u.F,v=t&u.G,m=t&u.S,g=t&u.P,b=t&u.B,y=v?r:m?r[e]||(r[e]={}):(r[e]||{})[s],x=v?i:i[e]||(i[e]={}),_=x[s]||(x[s]={});for(f in v&&(n=e),n)l=!p&&y&&void 0!==y[f],d=(l?y:n)[f],h=b&&l?c(d,r):g&&"function"==typeof d?c(Function.call,d):d,y&&a(y,f,d,t&u.U),x[f]!=d&&o(x,f,h),g&&_[f]!=d&&(_[f]=d)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},"5cc5":function(t,e,n){var r=n("2b4c")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],c=o[r]();c.next=function(){return{done:n=!0}},o[r]=function(){return c},t(o)}catch(a){}return n}},"5dbc":function(t,e,n){var r=n("d3f4"),i=n("8b97").set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},"5df3":function(t,e,n){"use strict";var r=n("02f4")(!0);n("01f9")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},"5eda":function(t,e,n){var r=n("5ca1"),i=n("8378"),o=n("79e5");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},"5f1b":function(t,e,n){"use strict";var r=n("23c6"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"613b":function(t,e,n){var r=n("5537")("keys"),i=n("ca5a");t.exports=function(t){return r[t]||(r[t]=i(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},"63b6":function(t,e,n){var r=n("e53d"),i=n("584a"),o=n("d864"),a=n("35e8"),c=n("07e3"),s="prototype",u=function(t,e,n){var f,l,d,h=t&u.F,p=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,b=t&u.W,y=p?i:i[e]||(i[e]={}),x=y[s],_=p?r:v?r[e]:(r[e]||{})[s];for(f in p&&(n=e),n)l=!h&&_&&void 0!==_[f],l&&c(y,f)||(d=l?_[f]:n[f],y[f]=p&&"function"!=typeof _[f]?n[f]:g&&l?o(d,r):b&&_[f]==d?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(d):m&&"function"==typeof d?o(Function.call,d):d,m&&((y.virtual||(y.virtual={}))[f]=d,t&u.R&&x&&!x[f]&&a(x,f,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},"656e":function(t,e,n){"use strict";var r=n("79aa");function i(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new i(t)}},6762:function(t,e,n){"use strict";var r=n("5ca1"),i=n("c366")(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")("includes")},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"696e":function(t,e,n){n("c207"),n("1654"),n("6c1c"),n("24c5"),n("3c11"),n("43fc"),t.exports=n("584a").Promise},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a2b":function(t,e,n){},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"6b54":function(t,e,n){"use strict";n("3846");var r=n("cb7c"),i=n("0bfb"),o=n("9e1e"),a="toString",c=/./[a],s=function(t){n("2aba")(RegExp.prototype,a,t,!0)};n("79e5")(function(){return"/a/b"!=c.call({source:"a",flags:"b"})})?s(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):c.name!=a&&s(function(){return c.call(this)})},"6c1c":function(t,e,n){n("c367");for(var r=n("e53d"),i=n("35e8"),o=n("481b"),a=n("5168")("toStringTag"),c="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},7333:function(t,e,n){"use strict";var r=n("9e1e"),i=n("0d58"),o=n("2621"),a=n("52a7"),c=n("4bf8"),s=n("626a"),u=Object.assign;t.exports=!u||n("79e5")(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=r})?function(t,e){var n=c(t),u=arguments.length,f=1,l=o.f,d=a.f;while(u>f){var h,p=s(arguments[f++]),v=l?i(p).concat(l(p)):i(p),m=v.length,g=0;while(m>g)h=v[g++],r&&!d.call(p,h)||(n[h]=p[h])}return n}:u},7514:function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(5),o="find",a=!0;o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"774e":function(t,e,n){t.exports=n("d2d5")},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},7802:function(t,e,n){},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")(function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a})},"795b":function(t,e,n){t.exports=n("696e")},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7a56":function(t,e,n){"use strict";var r=n("7726"),i=n("86cc"),o=n("9e1e"),a=n("2b4c")("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},"7cd6":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"7e90":function(t,e,n){var r=n("d9f6"),i=n("e4ae"),o=n("c3a1");t.exports=n("8e60")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},"7f7f":function(t,e,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},"820e":function(t,e,n){},8378:function(t,e){var n=t.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},"83d7":function(t,e,n){},8436:function(t,e){t.exports=function(){}},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},8615:function(t,e,n){var r=n("5ca1"),i=n("504c")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8bbf":function(e,n){e.exports=t},"8e60":function(t,e,n){t.exports=!n("294c")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"8e6e":function(t,e,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),c=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),s=a.f,u=i(r),f={},l=0;while(u.length>l)n=s(r,e=u[l++]),void 0!==n&&c(f,e,n);return f}})},"8f60":function(t,e,n){"use strict";var r=n("a159"),i=n("aebd"),o=n("45f2"),a={};n("35e8")(a,n("5168")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},9003:function(t,e,n){var r=n("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"909e":function(t,e,n){"use strict";var r=n("1021"),i=n.n(r);i.a},9138:function(t,e,n){t.exports=n("35e8")},"917b":function(t,e,n){},"95d5":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},"96cf":function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,o=Object.create(i.prototype),a=new M(r||[]);return o._invoke=C(t,n,a),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(r){return{type:"throw",arg:r}}}t.wrap=s;var f="suspendedStart",l="suspendedYield",d="executing",h="completed",p={};function v(){}function m(){}function g(){}var b={};b[o]=function(){return this};var y=Object.getPrototypeOf,x=y&&y(y(T([])));x&&x!==n&&r.call(x,o)&&(b=x);var _=g.prototype=v.prototype=Object.create(b);function w(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function S(t){function e(n,i,o,a){var c=u(t[n],t,i);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"===typeof f&&r.call(f,"__await")?Promise.resolve(f.__await).then(function(t){e("next",t,o,a)},function(t){e("throw",t,o,a)}):Promise.resolve(f).then(function(t){s.value=t,o(s)},function(t){return e("throw",t,o,a)})}a(c.arg)}var n;function i(t,r){function i(){return new Promise(function(n,i){e(t,r,n,i)})}return n=n?n.then(i,i):i()}this._invoke=i}function C(t,e,n){var r=f;return function(i,o){if(r===d)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw o;return k()}n.method=i,n.arg=o;while(1){var a=n.delegate;if(a){var c=O(a,n);if(c){if(c===p)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var s=u(t,e,n);if("normal"===s.type){if(r=n.done?h:l,s.arg===p)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r=h,n.method="throw",n.arg=s.arg)}}}function O(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator["return"]&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method))return p;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var i=u(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,p;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function T(t){if(t){var n=t[o];if(n)return n.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){while(++i=0;--o){var a=this.tryEntries[o],c=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),I(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;I(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}(t.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},9768:function(t,e,n){},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b01":function(t,e,n){"use strict";var r=n("6da9"),i=n.n(r);i.a},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a159:function(t,e,n){var r=n("e4ae"),i=n("7e90"),o=n("1691"),a=n("5559")("IE_PROTO"),c=function(){},s="prototype",u=function(){var t,e=n("1ec9")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("32fc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(c[s]=r(t),n=new c,c[s]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},a215:function(t,e,n){},a22a:function(t,e,n){var r=n("d864"),i=n("b0dc"),o=n("3702"),a=n("e4ae"),c=n("b447"),s=n("7cd6"),u={},f={};e=t.exports=function(t,e,n,l,d){var h,p,v,m,g=d?function(){return t}:s(t),b=r(n,l,e?2:1),y=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(o(g)){for(h=c(t.length);h>y;y++)if(m=e?b(a(p=t[y])[0],p[1]):b(t[y]),m===u||m===f)return m}else for(v=g.call(t);!(p=v.next()).done;)if(m=i(v,b,p.value,e),m===u||m===f)return m};e.BREAK=u,e.RETURN=f},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),c=n("0390"),s=n("5f1b"),u=Math.max,f=Math.min,l=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var l=r(t),d=String(this),h="function"===typeof e;h||(e=String(e));var g=l.global;if(g){var b=l.unicode;l.lastIndex=0}var y=[];while(1){var x=s(l,d);if(null===x)break;if(y.push(x),!g)break;var _=String(x[0]);""===_&&(l.lastIndex=c(d,o(l.lastIndex),b))}for(var w="",S=0,C=0;C=S&&(w+=d.slice(S,j)+E,S=j+O.length)}return w+d.slice(S)}];function m(t,e,r,o,a,c){var s=r+t.length,u=o.length,f=h;return void 0!==a&&(a=i(a),f=d),n.call(c,f,function(n,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":c=a[i.slice(1,-1)];break;default:var f=+i;if(0===f)return n;if(f>u){var d=l(f/10);return 0===d?n:d<=u?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}c=o[f-1]}return void 0===c?"":c})}})},a745:function(t,e,n){t.exports=n("f410")},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),c="["+a+"]",s="​…",u=RegExp("^"+c+c+"*"),f=RegExp(c+c+"*$"),l=function(t,e,n){var i={},c=o(function(){return!!a[t]()||s[t]()!=s}),u=i[t]=c?e(d):a[t];n&&(i[n]=u),r(r.P+r.F*c,"String",i)},d=l.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},aae3:function(t,e,n){var r=n("d3f4"),i=n("2d95"),o=n("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},aba2:function(t,e,n){var r=n("e53d"),i=n("4178").set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,c=r.Promise,s="process"==n("6b4c")(a);t.exports=function(){var t,e,n,u=function(){var r,i;s&&(r=a.domain)&&r.exit();while(t){i=t.fn,t=t.next;try{i()}catch(o){throw t?n():e=void 0,o}}e=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(c&&c.resolve){var f=c.resolve(void 0);n=function(){f.then(u)}}else n=function(){i.call(r,u)};else{var l=!0,d=document.createTextNode("");new o(u).observe(d,{characterData:!0}),n=function(){d.data=l=!l}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),c=n("32e9"),s=n("84f2"),u=n("2b4c"),f=u("iterator"),l=u("toStringTag"),d=s.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(h),v=0;v0?i(r(t),9007199254740991):0}},b8e3:function(t,e){t.exports=!0},bc13:function(t,e,n){var r=n("e53d"),i=r.navigator;t.exports=i&&i.userAgent||""},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c207:function(t,e){},c366:function(t,e,n){var r=n("6821"),i=n("9def"),o=n("77f1");t.exports=function(t){return function(e,n,a){var c,s=r(e),u=i(s.length),f=o(a,u);if(t&&n!=n){while(u>f)if(c=s[f++],c!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},c367:function(t,e,n){"use strict";var r=n("8436"),i=n("50ed"),o=n("481b"),a=n("36c3");t.exports=n("30f1")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,e,n){var r=n("e6f3"),i=n("1691");t.exports=Object.keys||function(t){return r(t,i)}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),c=n("6a99"),s=n("79e5"),u=n("9093").f,f=n("11e9").f,l=n("86cc").f,d=n("aa77").trim,h="Number",p=r[h],v=p,m=p.prototype,g=o(n("2aeb")(m))==h,b="trim"in String.prototype,y=function(t){var e=c(t,!1);if("string"==typeof e&&e.length>2){e=b?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,s=e.slice(2),u=0,f=s.length;ui)return NaN;return parseInt(s,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(g?s(function(){m.valueOf.call(n)}):o(n)!=h)?a(new v(y(e)),n,p):y(e)};for(var x,_=n("9e1e")?u(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)i(v,x=_[w])&&!i(p,x)&&l(p,x,f(v,x));p.prototype=m,m.constructor=p,n("2aba")(r,h,p)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},c8bb:function(t,e,n){t.exports=n("54a1")},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},cd1c:function(t,e,n){var r=n("e853");t.exports=function(t,e){return new(r(t))(e)}},cd78:function(t,e,n){var r=n("e4ae"),i=n("f772"),o=n("656e");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t),a=n.resolve;return a(e),n.promise}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,c=i(t),s=0,u=[];for(n in c)n!=a&&r(c,n)&&u.push(n);while(e.length>s)r(c,n=e[s++])&&(~o(u,n)||u.push(n));return u}},cfab:function(t,e,n){"use strict";var r=n("15cf"),i=n.n(r);i.a},d2c8:function(t,e,n){var r=n("aae3"),i=n("be13");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},d2d5:function(t,e,n){n("1654"),n("549b"),t.exports=n("584a").Array.from},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},dbdb:function(t,e,n){var r=n("584a"),i=n("e53d"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dbdc:function(t,e,n){"use strict";var r=n("7802"),i=n.n(r);i.a},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e6f3:function(t,e,n){var r=n("07e3"),i=n("36c3"),o=n("5b4e")(!1),a=n("5559")("IE_PROTO");t.exports=function(t,e){var n,c=i(t),s=0,u=[];for(n in c)n!=a&&r(c,n)&&u.push(n);while(e.length>s)r(c,n=e[s++])&&(~o(u,n)||u.push(n));return u}},e853:function(t,e,n){var r=n("d3f4"),i=n("1169"),o=n("2b4c")("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&(e=e[o],null===e&&(e=void 0))),void 0===e?Array:e}},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var r=n("a215"),i=n.n(r);i.a},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f201:function(t,e,n){var r=n("e4ae"),i=n("79aa"),o=n("5168")("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[o])?e:i(n)}},f410:function(t,e,n){n("1af6"),t.exports=n("584a").Array.isArray},f559:function(t,e,n){"use strict";var r=n("5ca1"),i=n("9def"),o=n("d2c8"),a="startsWith",c=""[a];r(r.P+r.F*n("5147")(a),"String",{startsWith:function(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return c?c.call(e,r,n):e.slice(n,n+r.length)===r}})},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("ac6a");var i,o,a={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.$slots["tab-pane"].map(function(i){var o=i.data.attrs,a=o.tab,c=o.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==c}]},[i])),r.push(e("div",{class:["lemon-tabs-nav__item",t.active==c&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(c)}}},[a]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[r])])},methods:{_handleNavClick:function(t){this.active=t}}},c=a;n("3423");function s(t,e,n,r,i,o,a,c){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):i&&(s=c?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var f=u.render;u.render=function(t,e){return s.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,s):[s]}return{exports:t,options:u}}var u=s(c,i,o,!1,null,null,null),f=u.exports,l=(n("96cf"),n("795b")),d=n.n(l);function h(t,e,n,r,i,o,a){try{var c=t[o](a),s=c.value}catch(u){return void n(u)}c.done?e(s):d.a.resolve(s).then(r,i)}function p(t){return function(){var e=this,n=arguments;return new d.a(function(r,i){var o=t.apply(e,n);function a(t){h(o,r,i,a,c,"next",t)}function c(t){h(o,r,i,a,c,"throw",t)}a(void 0)})}}n("cadf"),n("456d"),n("6762"),n("2fdb");var v,m=n("8bbf"),g=n.n(m);n("3b2b"),n("8615"),n("6b54");function b(t){return"[object Object]"===Object.prototype.toString.call(t)}function y(t){return"string"==typeof t}function x(t){return(new Date).getTime()-t<864e5}function _(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!b(t)||0!=Object.values(t).length))}function w(t){return t&&"function"===typeof t}var S=function(){v&&(v.style.display="none")},C=function(){v&&(v.style.display="block")};document.addEventListener("click",function(t){S()});var O,j,I,M,T,k,E,L,P={hide:S,bind:function(t,e,n){t.addEventListener("contextmenu",function(t){if(!_(e.value)&&Array.isArray(e.value)){var r;t.preventDefault(),N.methods.closeAll();var i=[];e.modifiers.message?r=n.context:e.modifiers.contact&&(r=n.child),v||(v=document.createElement("div"),v.className="lemon-contextmenu",document.body.appendChild(v)),v.innerHTML=e.value.map(function(t){var e;if(e=w(t.visible)?t.visible(r):void 0===t.visible||t.visible,e){i.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""}).join(""),v.style.top="".concat(t.pageY,"px"),v.style.left="".concat(t.pageX,"px"),v.childNodes.forEach(function(t,e){var n=i[e],o=n.click,a=n.render;if(t.addEventListener("click",function(t){t.stopPropagation(),w(o)&&o(t,r,S)}),w(a)){var c=g.a.extend({render:function(t){return a(t,r,S)}}),s=(new c).$mount();t.querySelector("span").innerHTML=s.$el.outerHTML}}),C()}})},inserted:function(t,e,n){}},A=[],$={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),P.hide(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},R={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys($).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),A.push(this.close)},mounted:function(){$[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"lemon-slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=p(regeneratorRuntime.mark(function t(e){var n,r;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,r=this.$refs.popover,this.popoverStyle={top:"-".concat(r.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-r.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){this.closeAll(),this.visible=!0},closeAll:function(){A.forEach(function(t){return t()})},close:function(){this.visible=!1}}},F=R,D=(n("0e15"),s(F,O,j,!1,null,null,null)),N=D.exports,U={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},B=U,V=(n("1e45"),s(B,I,M,!1,null,null,null)),G=V.exports,H=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),z=H,K=(n("dbdc"),s(z,T,k,!1,null,null,null)),W=K.exports,Y={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:["lemon-avatar",{"lemon-avatar--circle":this.circle}],on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},q=Y,X=(n("04f4"),s(q,E,L,!1,null,null,null)),Z=X.exports,J=n("2638"),Q=n.n(J),tt=(n("8e6e"),n("85f2")),et=n.n(tt);function nt(t,e,n){return e in t?et()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("a481");function rt(t,e,n){return t?t(n):e}function it(t){return t<10?"0".concat(t):t}function ot(t){var e,n=new Date(t),r=new Date,i=function(t){return t.getFullYear()},o=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},a=i(n),c=i(r);return e=a!==c?"y年m月d日 h:i":"".concat(a,"-").concat(o(n))==="".concat(c,"-").concat(o(r))?"h:i":"m月d日 h:i",at(t,e)}function at(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),it((t.getMonth()+1).toString()),it(t.getDate().toString()),it(t.getHours().toString()),it(t.getMinutes().toString()),it(t.getSeconds().toString())],r="ymdhis",i=0;i/gi,"")}function ut(t){return t.replace(/<(?!img).*?>/gi,"")}function ft(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,r=parseFloat(t);n=Math.floor(Math.log(r)/Math.log(1024));var i=r/Math.pow(1024,n);return i=parseFloat(i.toFixed(2)),i+e[n]}function lt(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var dt,ht,pt={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return at(t,x(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[rt(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[y(e.lastContent)?t("span",Q()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},vt=pt,mt=(n("909e"),s(vt,dt,ht,!1,null,null,null)),gt=mt.exports;n("5df3"),n("1c4c");function bt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function yt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},Mt=window.getSelection(),Tt=[],kt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",function(){t.closeClipboardImage()})},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.proxyTools.forEach(function(i){var o=i.name,a=i.title,c=i.render,s=i.click,u=i.isRight;s=s||new Function;var f,l=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":u}];f="emoji"==o?0==Tt.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:l,attrs:{title:a}},[c()])]):e("div",{class:l,on:{click:s},attrs:{title:a}},[c()]),u?r.push(f):n.push(f)}),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[r])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[rt(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},initTools:function(t){var e=this,n=this.$createElement;if(t){var r=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],i=[];if(Array.isArray(t)){var o={emoji:0,uploadFile:1,uploadImage:2},a=Object.keys(o);i=t.map(function(t){return a.includes(t.name)?yt({},r[o[t.name]],{},t):t})}else i=r;this.proxyTools=i}},_saveLastRange:function(){xt=Mt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),xt&&(Mt.removeAllRanges(),Mt.addRange(xt))},_handleClick:function(){this._saveLastRange()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(Tt[0].label){var r=Tt.map(function(t,r){return e("div",{slot:"tab-pane",attrs:{index:r,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[r])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Tt)])},_handleSelectEmoji:function(t){this._focusLastRange(),It('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=p(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:It(n,"insertText");else{var r=this._getClipboardBlob(e),i=r.blob,o=r.blobUrl;this.clipboardBlob=i,this.clipboardUrl=o}},_getClipboardBlob:function(t){for(var e,n,r=0;rt.msecRange&&o.push(e("lemon-message-event",Q()([{},{attrs:{message:{id:"__time__",type:"event",content:ot(n.sendTime)}}}]))),i="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},o.push(e(a,Q()([{ref:"message",refInFor:!0},{attrs:i}]))),o})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=p(regeneratorRuntime.mark(function t(e){var n,r,i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,P.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:r=n.scrollHeight,this.$emit("reach-top",function(){var t=p(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,i.$nextTick();case 2:n.scrollTop=n.scrollHeight-r,i._loading=!1,i._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=p(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},$t=At,Rt=(n("436f"),s($t,St,Ct,!1,null,null,null)),Ft=Rt.exports,Dt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,r=n.fromUser,i=n.status,o=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(i),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:r.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[r.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(o)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[rt(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[rt(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},Nt=Dt,Ut=(n("fbd1"),s(Nt,Ot,jt,!1,null,null,null)),Bt=Ut.exports;function Vt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function Gt(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===Ue[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(n)}},_emitSend:function(t,e,n){var r=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),r.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)})},_handleUpload:function(t){var e,n=this,r=["image/gif","image/jpeg","image/png"];e=r.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var i=this._createMessage(e);this.appendMessage(i,!0),this._emitSend(i,function(){n.updateContact({id:i.toContactId,lastContent:n.lastContentRender(i),lastSendTime:i.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,r),1==r&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(r)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],r=[];return this.menus.forEach(function(i){var o=i.name,a=i.title,c=i.unread,s=i.render,u=i.click,f=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==o}],on:{click:function(){ct(u,function(){o&&t.changeMenu(o)})}},attrs:{title:a}},[e("lemon-badge",{attrs:{count:c}},[s(i)])]);!0===i.isBottom?r.push(f):n.push(f)}),{top:n,bottom:r}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([rt(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],Me,rt(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var r=this,i=this.$createElement,o=t.contact,a=o.click,c=o.renderContainer,s=o.id,u=function(){ct(a,function(){e(),r._customContainerReady(c,r.CacheContactContainer,s)})};return i("lemon-contact",Q()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:u},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([rt(this.$scopedSlots["sidebar-contact-top"],null,this),this.contacts.map(function(r){if(r.index){r.index=r.index.replace(/\[[0-9]*\]/,"");var i=[r.index!==t&&n("p",{class:"lemon-sidebar__label"},[r.index]),e._renderContact({contact:r,simple:!0},function(){e.changeContact(r.id)},e.$scopedSlots["sidebar-contact"])];return t=r.index,i}})],Te,rt(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var r=this.$createElement;return r("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[r("div",{class:"lemon-sidebar__fixed-top"},[n]),r("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Ve(),rt(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],r="lemon-container",i=this.currentContact,o=!0;for(var a in this.CacheContactContainer.get()){var c=i.id==a&&this.currentIsDefSidebar;o=!c,n.push(e("div",{class:r,directives:[{name:"show",value:c}]},[this.CacheContactContainer.get(a)]))}for(var s in this.CacheMenuContainer.get())n.push(e("div",{class:r,directives:[{name:"show",value:this.activeSidebar==s&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(s)]));return n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsMessages()&&o&&i.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[rt(this.$scopedSlots["message-title"],i.displayName,i)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:r,directives:[{name:"show",value:!i.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsContacts()&&o&&i.id}]},[rt(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:i.avatar,size:90}}),e("h4",[i.displayName]),e("lemon-button",{on:{click:function(){_(i.lastContent)&&t.updateContact({id:i.id,lastContent:" "}),t.changeContact(i.id,Me)}}},["发送消息"])]),i)])),n},_handleSidebarScroll:function(){P.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var r,i={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),Ue[e]=Ue[e]||[],(r=Ue[e])[i].apply(r,Ie(t))},setLastContentRender:function(t,e){Ee[t]=e},lastContentRender:function(t){return w(Ee[t.type])?Ee[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Be[n]?''):"[!".concat(e,"]")})},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){Ue[this.currentContactId]||(Ue[this.currentContactId]=[]),this.currentMessages=Ue[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=p(regeneratorRuntime.mark(function t(e,n){var r,i,o,a,c=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(r=this.$createElement,!n){t.next=5;break}this.changeMenu(n),t.next=7;break;case 5:if(!this._changeContactLock&&this.currentContactId!=e){t.next=7;break}return t.abrupt("return",!1);case 7:if(i=this.currentContactId,i&&(o=this.getEditorValue(),o&&(this.CacheDraft.set(i,o),this.updateContact({id:i,lastContent:[r("span",{style:"color:red;"},["[草稿]"]),r("span",Q()([{},{domProps:{innerHTML:this.lastContentRender({type:"text",content:o})}}]))]}),this.setEditorValue(""))),this.currentContactId=e,this.currentContactId){t.next=12;break}return t.abrupt("return",!1);case 12:if(this.$emit("change-contact",this.currentContact,this),!w(this.currentContact.renderContainer)){t.next=15;break}return t.abrupt("return");case 15:a=this.CacheDraft.get(e)||"",a&&this.setEditorValue(a),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Ue[e]?setTimeout(function(){c.updateCurrentMessages(),c.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return c.messageViewToBottom()}));case 19:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=Ue[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return Ue[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){w(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach(function(t){var n;(n=e).push.apply(n,Ie(t.children))}):e=t,e.forEach(function(t){var e=t.name,n=t.src;return Be[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,r=[{name:Me,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Te,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],i=[];if(Array.isArray(t)){var o={messages:0,contacts:1},a=Object.keys(o);i=t.map(function(t){return a.includes(t.name)?Fe({},r[o[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else i=r;this.menus=i},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},appendContact:function(t){return _(t.id)||_(t.displayName)?(console.error("id | displayName cant be empty"),!1):!!this.hasContact(t.id)||(this.contacts.push(Object.assign(nt({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:""},"lastSendTime",""),t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var r=t.unread;y(r)&&(0!==r.indexOf("+")&&0!==r.indexOf("-")||(t.unread=parseInt(r)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Fe({},this.contacts[n],{},t))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in Ue){var n=Ue[e].find(function(e){var n=e.id;return n==t});if(n)return n}},findContact:function(t){return this.getContacts().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},setEditorValue:function(t){this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?Ue[t]:Ue)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Ve=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},He=Ge,ze=(n("9b01"),s(He,De,Ne,!1,null,null,null)),Ke=ze.exports;n("6a2b");g.a.directive("LemonContextmenu",P);var We="1.4.2",Ye=[Ke,gt,Ft,Pt,Z,W,G,N,f,Bt,qt,re,he,ge],qe=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Ye.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&qe(window.Vue);var Xe={version:We,install:qe};e["default"]=Xe},fbd1:function(t,e,n){"use strict";var r=n("820e"),i=n.n(r);i.a},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})}); \ No newline at end of file diff --git a/examples/App.vue b/examples/App.vue index 3fc4580..51435e5 100644 --- a/examples/App.vue +++ b/examples/App.vue @@ -11,7 +11,7 @@
QQ交流群:1081773406

-
1.如何创建自定义消息?
+
1.如何创建消息?
2.如何对接后端接口?
@@ -49,7 +49,7 @@ 发送 event 消息 删除最近一条消息 修改消息 - 发送自定义消息 + 发送消息
修改联系人信息 切换导航显示 @@ -96,7 +96,7 @@ + +
@@ -128,6 +134,7 @@ :user="user" ref="SimpleIMUI" width="340px" + :avatar-cricle="true" simple @pull-messages="handlePullMessages" @message-click="handleMessageClick" @@ -363,6 +370,13 @@ default + + avatarCricle + 使用圆形头像 + Boolean + false + + sendText 发送消息按钮的文字 @@ -722,13 +736,23 @@ sidebar-message-top - 左侧最新消息列表的顶部 - - + 左侧最新消息列表的顶部,会随列表滚动 + instance sidebar-contact-top - 左侧联系人列表的顶部 - - + 左侧联系人列表的顶部,会随列表滚动 + instance + + + sidebar-message-fixedtop + 固定在左侧最新消息列表的顶部 + instance + + + sidebar-contact-fixedtop + 固定在左侧联系人列表的顶部 + instance contact-info @@ -776,9 +800,9 @@ -
如何创建自定义消息?
+
如何创建消息?
-

Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。
要创建自定义消息首先要确定新消息的 Message 结构。

+

Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。
要创建消息首先要确定新消息的 Message 结构。

 {
   //值为 voice,用于解析的组件 name 必须为 lemonMessageVoice
@@ -1092,6 +1116,10 @@ export default {
   },
   mounted() {
 
+    
+
+
+
     const contactData1 = {
       id: "contact-1",
       displayName: "工作协作群",
diff --git a/examples/dist/css/index.da20b752.css b/examples/dist/css/index.da20b752.css
new file mode 100644
index 0000000..0710f9d
--- /dev/null
+++ b/examples/dist/css/index.da20b752.css
@@ -0,0 +1 @@
+.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{font-family:Microsoft YaHei;background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;left:230px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper,.imui-center .lemon-wrapper--drawer-show .lemon-drawer{-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}input#switch[type=checkbox]{height:0;width:0;display:none}label#switch-label{cursor:pointer;text-indent:-9999px;width:34px;height:20px;background:#aaa;display:block;border-radius:100px;position:relative}label#switch-label:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:20px;-webkit-transition:.3s;transition:.3s}input#switch:checked+label{background:#0fd547}input#switch:checked+label:after{left:calc(100% - 2px);-webkit-transform:translateX(-100%);transform:translateX(-100%)}label#switch-label:active:after{width:20px}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button--color-default:hover:not([disabled]){border-color:#666;color:#333}.lemon-button--color-default:active{background-color:#ddd}.lemon-button--color-default[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-button--color-grey{background:#e1e1e1;border-color:#e1e1e1;color:#666}.lemon-button--color-grey:hover:not([disabled]){border-color:#bbb}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar--circle{border-radius:50%}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;height:18px;line-height:18px;margin-top:1px!important}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px;position:relative;top:-1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__clipboard-image{position:absolute;top:0;left:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#f4f4f4;z-index:1}.lemon-editor__clipboard-image img{max-height:66%;max-width:80%;background:#e9e9e9;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;border-radius:4px;margin-bottom:10px;border:3px dashed #ddd!important;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-editor__clipboard-image .clipboard-popover-title{font-size:14px;color:#333}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content-flex,.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__content-after{display:block;width:48px;height:36px;padding-left:6px;-webkit-box-flex:0;-ms-flex:none;flex:none;font-size:12px;color:#aaa;overflow:hidden;visibility:hidden}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message__status .lemon-icon-loading,.lemon-message__status .lemon-icon-prompt{display:none}.lemon-message--status-failed .lemon-icon-prompt,.lemon-message--status-going .lemon-icon-loading{display:inline-block}.lemon-message--status-succeed .lemon-message__content-after{visibility:visible}.lemon-message--reverse,.lemon-message--reverse .lemon-message__content-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__content-after{padding-right:6px;padding-left:0;text-align:right}.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:26px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-family:Microsoft YaHei;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-sidebar__scroll{overflow-y:auto}.lemon-sidebar__scroll::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar__scroll::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar__scroll::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar__scroll::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemon-contextmenu{border-radius:4px;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:6px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;min-width:120px}.lemon-contextmenu__item{font-size:14px;line-height:16px;padding:10px 15px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#333}.lemon-contextmenu__item>span{display:inline-block;-webkit-box-flex:0;-ms-flex:none;flex:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contextmenu__item:hover{background:#f3f3f3;color:#000}.lemon-contextmenu__item:active{background:#e9e9e9}.lemon-contextmenu__icon{font-size:16px;margin-right:4px}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(data:font/woff;base64,d09GRgABAAAAAAkoAAsAAAAADfwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8qUo8Y21hcAAAAYAAAAClAAACNh3rDoZnbHlmAAACKAAABK8AAAaY5qHpBGhlYWQAAAbYAAAALwAAADYWBoAkaGhlYQAABwgAAAAcAAAAJAfeA4xobXR4AAAHJAAAAA8AAAAsLAAAAGxvY2EAAAc0AAAAGAAAABgH9gmmbWF4cAAAB0wAAAAfAAAAIAEaAF9uYW1lAAAHbAAAAUUAAAJtPlT+fXBvc3QAAAi0AAAAcwAAAKJTcQpreJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeGb/wYm7438AQw9zA0AAUZgTJAQDm+gxieJzlkrERwjAMRb+JYyBHQROarEDHFpmJARiFil2yQO6SQsoEac2XRUeYgO97vtMvJN+3ANQAKnIlEQgvBJiedEPxKzTFj7izvuBMJ8lNZlkla6udDjrqtPQ5A7/8DQX2+j7mJ+xxwJFzd5wV7Y0hbfb4L53K/fhUjaXt2E/J7DA9yOowR0h2mCi0dZgttHOsjw4O84aOjm2FTo5txtI7qN/ZbEV0AAAAeJxlVN+PE1UUvufezsy2nU47s9PpzLCdbaftFLbQQNudsu5uu/iDZrtGVkSpimQNhqSGNagxRvHHmoASjULwhTXRYDDRR142MTFEeSPwQGJissTE8DcYQzRui+dOWSjStOfeO/e70/Pd7zuHACF3brNPWZSUCQFPUiANesqBaag4oCvglmGyVixDCdzBnkMrDVorU0pkmQkjgsxCL6x2Oqtr5zuRUJSxWFgQmt1zF851mziwCMhMpqHYiCAEmM75F2ORkBDGc2xxgOFQQgl+2Fl6lYwSCzPJFj38SzGp6kY1W/En1ZrHsmo1lWXH+6tvMdZXNE2htzD6veOX34ZD9LnjVFN6l/hz+COm9UuUvEGIELz3O3qNxIlBsmSCVPnb///myXpqC0wWvTjwn5oVGlDzXFE36hVDF12v5rOPN/6KqWqMyRgrveZHn/++/qso/vaJKLxHr/RuFCqVdqVSkBMJM5Gg19RY7wcOp52Y2rtU+Op7CN0hL/0jCL0LovglfHYDOLxdeZPDzQThOvTYfsZIg+vgSiDq42DUoYFCUF3ENWZRB7+6CzOKD3ab4Nc83FICWXwORjLR9pV2/1/G8pIIgtV4orHLts3+9cwzs2kYiSpxPbJOaUES153mgUz/b8u2q83HmjZM5vJ5+lOr1d9gI7QgCCCYtr0Lz1v9687ssw6MRPR0ZJ1JDDfXxw82wMHTzb3NimXhabfzcoeQ0F0/RYhDimQnmUI2ZVoCEd0jiUndSCUdSFUDgzWg7tcEfrn8kqsPTdirzvKZRbo4v/eY4xg6GNqpbZ0y3Xdm2cn0rmqmmTPNb3DIm+bXarCiVmt5Fsad5VZ7sfz8tlNqCnRj5lhr/tt3OOrBb5DrBrtAb5EoSZEcaWOuOS465oYXWxyeV3nkjtSN0TIU/bpfn8THXg5pcUY48PLAyuGmanIdVla4Fx8MX9ybjUmv79NiWZS6/Ej7FQr5zEJXNNJUyhl0xs4zGINftDHEaSuDYW4w9FdCE6oyWp7qTrRtlx5Z6JZalrqVhSesk0LSylgfpEpk0/crjATctqMOewkpYOZ46UG6DDPGCS7LMOpxeVwP61zhFNBKvleo+LNBEWDRG9nhBSWn1xhbOz2IF2+GQjcvBtGWLcmYPzhvSJYpiuNH3z06Lkn9HzlbTQNlMM7dO3l6jV7ePIqxPyeKcqFUKshizJJr09O1qL2gKUv8xh4InBr2izt/BtoVyf5NZrOAgysOGpWxqUl1UxMUrOBXfGQ5Cx5SxEkg332obgS4BmBlsdfE5Se9Et6w97hlGFvdA+9LRhpY3qYzRk6i6d7PNaqxaAxkhUIoEdm9AGp8ZyusGpqtAYDtpoq32TbVempHd+EIHU+bM5nujraZKIfCJfNDM2MlhZNm6Wk1Htequ4+y7RIVRqKwMHXAKmnxnBB2Rw8pWkIOKdaeZCRKgh6xwZaQs8erClvVJue7LERJfMiF5VCrns9vydDDrdZh6qaL7vTUsM3SQOhYIiKZe7wTCEDYia2PpsIRzbzvKLNE2JCfdJLB/+dtEZsnVmqS3avYIVPRzMCwmYHsypBPYC7o0oTH/tIARpeGrED+A5fLJqoAeJxjYGRgYADiDSn35sXz23xl4GZhAIGbxfNEEfT/TywMzNxALgcDE0gUADiNCkwAeJxjYGRgYG7438AQw8IAAkCSkQEVcAMARxECdHicY2FgYGAhEgMABEwALQAAAAAAAEQAcADEASgBfgHsAlwC1gMUA0x4nGNgZGBg4GYIZmBlAAEmIOYCQgaG/2A+AwASAQF6AHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG2IQRbCIBDF5ldpFbrwIp7JhzJFdOjwKN7fWl2aVRLq6Iul/zh02GEPgx4DDjjCwmGkQdSHNMd+UglcTco+svWt+ds989zGzMuyrvOURE4+hLr2VfV5+QzDWR/Jxqqvsg1XWIvwz6vm0jYnegMvzicdAA==) format("woff")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"}
\ No newline at end of file
diff --git a/examples/dist/css/index.fed1a091.css b/examples/dist/css/index.fed1a091.css
deleted file mode 100644
index 6f6fa0f..0000000
--- a/examples/dist/css/index.fed1a091.css
+++ /dev/null
@@ -1 +0,0 @@
-.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{font-family:Microsoft YaHei;background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;left:230px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper,.imui-center .lemon-wrapper--drawer-show .lemon-drawer{-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}input#switch[type=checkbox]{height:0;width:0;display:none}label#switch-label{cursor:pointer;text-indent:-9999px;width:34px;height:20px;background:#aaa;display:block;border-radius:100px;position:relative}label#switch-label:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:20px;-webkit-transition:.3s;transition:.3s}input#switch:checked+label{background:#0fd547}input#switch:checked+label:after{left:calc(100% - 2px);-webkit-transform:translateX(-100%);transform:translateX(-100%)}label#switch-label:active:after{width:20px}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button:hover:not([disabled]){border-color:#666;color:#333}.lemon-button:active{background-color:#ddd}.lemon-button[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;padding-top:3px;height:14px;line-height:14px}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:top;margin:0 1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content-flex,.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__content-after{display:block;width:48px;height:36px;padding-left:6px;-webkit-box-flex:0;-ms-flex:none;flex:none;font-size:12px;color:#aaa;overflow:hidden;visibility:hidden}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message__status .lemon-icon-loading,.lemon-message__status .lemon-icon-prompt{display:none}.lemon-message--status-failed .lemon-icon-prompt,.lemon-message--status-going .lemon-icon-loading{display:inline-block}.lemon-message--status-succeed .lemon-message__content-after{visibility:visible}.lemon-message--reverse,.lemon-message--reverse .lemon-message__content-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__content-after{padding-right:6px;padding-left:0;text-align:right}.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:26px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-family:Microsoft YaHei;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;overflow-y:auto}.lemon-sidebar::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemon-dropdown{font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.lemon-dropdown__item{font-size:12px;line-height:14px;padding:8px 10px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#444}.lemon-dropdown__item>span{display:inline-block;-webkit-box-flex:0;-ms-flex:none;flex:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-dropdown__item:hover{background:#f3f3f3;color:#000}.lemon-dropdown__item:active{background:#e9e9e9}.lemon-dropdown__icon{font-size:16px;margin-right:4px}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(data:font/woff;base64,d09GRgABAAAAAAkoAAsAAAAADfwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8qUo8Y21hcAAAAYAAAAClAAACNh3rDoZnbHlmAAACKAAABK8AAAaY5qHpBGhlYWQAAAbYAAAALwAAADYWBoAkaGhlYQAABwgAAAAcAAAAJAfeA4xobXR4AAAHJAAAAA8AAAAsLAAAAGxvY2EAAAc0AAAAGAAAABgH9gmmbWF4cAAAB0wAAAAfAAAAIAEaAF9uYW1lAAAHbAAAAUUAAAJtPlT+fXBvc3QAAAi0AAAAcwAAAKJTcQpreJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeGb/wYm7438AQw9zA0AAUZgTJAQDm+gxieJzlkrERwjAMRb+JYyBHQROarEDHFpmJARiFil2yQO6SQsoEac2XRUeYgO97vtMvJN+3ANQAKnIlEQgvBJiedEPxKzTFj7izvuBMJ8lNZlkla6udDjrqtPQ5A7/8DQX2+j7mJ+xxwJFzd5wV7Y0hbfb4L53K/fhUjaXt2E/J7DA9yOowR0h2mCi0dZgttHOsjw4O84aOjm2FTo5txtI7qN/ZbEV0AAAAeJxlVN+PE1UUvufezsy2nU47s9PpzLCdbaftFLbQQNudsu5uu/iDZrtGVkSpimQNhqSGNagxRvHHmoASjULwhTXRYDDRR142MTFEeSPwQGJissTE8DcYQzRui+dOWSjStOfeO/e70/Pd7zuHACF3brNPWZSUCQFPUiANesqBaag4oCvglmGyVixDCdzBnkMrDVorU0pkmQkjgsxCL6x2Oqtr5zuRUJSxWFgQmt1zF851mziwCMhMpqHYiCAEmM75F2ORkBDGc2xxgOFQQgl+2Fl6lYwSCzPJFj38SzGp6kY1W/En1ZrHsmo1lWXH+6tvMdZXNE2htzD6veOX34ZD9LnjVFN6l/hz+COm9UuUvEGIELz3O3qNxIlBsmSCVPnb///myXpqC0wWvTjwn5oVGlDzXFE36hVDF12v5rOPN/6KqWqMyRgrveZHn/++/qso/vaJKLxHr/RuFCqVdqVSkBMJM5Gg19RY7wcOp52Y2rtU+Op7CN0hL/0jCL0LovglfHYDOLxdeZPDzQThOvTYfsZIg+vgSiDq42DUoYFCUF3ENWZRB7+6CzOKD3ab4Nc83FICWXwORjLR9pV2/1/G8pIIgtV4orHLts3+9cwzs2kYiSpxPbJOaUES153mgUz/b8u2q83HmjZM5vJ5+lOr1d9gI7QgCCCYtr0Lz1v9687ssw6MRPR0ZJ1JDDfXxw82wMHTzb3NimXhabfzcoeQ0F0/RYhDimQnmUI2ZVoCEd0jiUndSCUdSFUDgzWg7tcEfrn8kqsPTdirzvKZRbo4v/eY4xg6GNqpbZ0y3Xdm2cn0rmqmmTPNb3DIm+bXarCiVmt5Fsad5VZ7sfz8tlNqCnRj5lhr/tt3OOrBb5DrBrtAb5EoSZEcaWOuOS465oYXWxyeV3nkjtSN0TIU/bpfn8THXg5pcUY48PLAyuGmanIdVla4Fx8MX9ybjUmv79NiWZS6/Ej7FQr5zEJXNNJUyhl0xs4zGINftDHEaSuDYW4w9FdCE6oyWp7qTrRtlx5Z6JZalrqVhSesk0LSylgfpEpk0/crjATctqMOewkpYOZ46UG6DDPGCS7LMOpxeVwP61zhFNBKvleo+LNBEWDRG9nhBSWn1xhbOz2IF2+GQjcvBtGWLcmYPzhvSJYpiuNH3z06Lkn9HzlbTQNlMM7dO3l6jV7ePIqxPyeKcqFUKshizJJr09O1qL2gKUv8xh4InBr2izt/BtoVyf5NZrOAgysOGpWxqUl1UxMUrOBXfGQ5Cx5SxEkg332obgS4BmBlsdfE5Se9Et6w97hlGFvdA+9LRhpY3qYzRk6i6d7PNaqxaAxkhUIoEdm9AGp8ZyusGpqtAYDtpoq32TbVempHd+EIHU+bM5nujraZKIfCJfNDM2MlhZNm6Wk1Htequ4+y7RIVRqKwMHXAKmnxnBB2Rw8pWkIOKdaeZCRKgh6xwZaQs8erClvVJue7LERJfMiF5VCrns9vydDDrdZh6qaL7vTUsM3SQOhYIiKZe7wTCEDYia2PpsIRzbzvKLNE2JCfdJLB/+dtEZsnVmqS3avYIVPRzMCwmYHsypBPYC7o0oTH/tIARpeGrED+A5fLJqoAeJxjYGRgYADiDSn35sXz23xl4GZhAIGbxfNEEfT/TywMzNxALgcDE0gUADiNCkwAeJxjYGRgYG7438AQw8IAAkCSkQEVcAMARxECdHicY2FgYGAhEgMABEwALQAAAAAAAEQAcADEASgBfgHsAlwC1gMUA0x4nGNgZGBg4GYIZmBlAAEmIOYCQgaG/2A+AwASAQF6AHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG2IQRbCIBDF5ldpFbrwIp7JhzJFdOjwKN7fWl2aVRLq6Iul/zh02GEPgx4DDjjCwmGkQdSHNMd+UglcTco+svWt+ds989zGzMuyrvOURE4+hLr2VfV5+QzDWR/Jxqqvsg1XWIvwz6vm0jYnegMvzicdAA==) format("woff")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"}
\ No newline at end of file
diff --git a/examples/dist/index.html b/examples/dist/index.html
index 52ccf11..dfcc526 100644
--- a/examples/dist/index.html
+++ b/examples/dist/index.html
@@ -1 +1 @@
-Lemon IMUI
\ No newline at end of file +Lemon IMUI
\ No newline at end of file diff --git a/examples/dist/js/index.4318ecd4.js b/examples/dist/js/index.4318ecd4.js deleted file mode 100644 index 85c7e7b..0000000 --- a/examples/dist/js/index.4318ecd4.js +++ /dev/null @@ -1 +0,0 @@ -(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=e[2],u=0,m=[];u {\n return [语音]\n})\n")]),n("p",[t._v("最后一步,注册组件,必须使用全局注册的方式。")]),n("pre",[t._v("import Vue from 'vue';\nimport LemonMessageVoice from './lemon-message-voice';\nVue.component(LemonMessageVoice.name,LemonMessageVoice);\n")]),n("p",[t._v("如果还有不明白的,可以到 examples/App.vue 查看示例代码")])]),n("div",{staticClass:"title",attrs:{id:"help2"}},[t._v("如何对接后端接口?")]),n("p",[t._v("1.初始化用户的信息")]),n("pre",{domProps:{textContent:t._s("data(){\n return {\n user:{id:1:displayName:'June',avatar:''}\n }\n}")}}),n("pre",{domProps:{textContent:t._s("")}}),n("p",[t._v("2.初始化联系人数据")]),n("pre",{domProps:{textContent:t._s("mounted(){\n const { IMUI } = this.$refs;\n //初始化表情包。\n IMUI.initEmoji(...);\n //从后端请求联系人数据,包装成下面的样子\n const contacts = [{\n id: 2,\n displayName: '丽安娜',\n avatar:'',\n index: 'L',\n unread: 0,\n //最近一条消息的内容,如果值为空,不会出现在“聊天”列表里面。\n //lastContentRender 函数会将 file 消息转换为 '[文件]', image 消息转换为 '[图片]',对 text 会将文字里的表情标识替换为img标签,\n lastContent: IMUI.lastContentRender({type:'text',content:'你在干嘛呢?'})\n //最近一条消息的发送时间\n lastSendTime: 1566047865417,\n }];\n IMUI.initContacts(contacts);\n}")}}),n("p",[t._v("3.拉取消息列表")]),n("p",[t._v("现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听 pull-messages 事件。")]),n("pre",{domProps:{textContent:t._s("")}}),n("pre",{domProps:{textContent:t._s("methods:{\n handlePullMessages(contact, next) {\n //从后端请求消息数据,包装成下面的样子\n const messages = [{\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '你什么才能对接完?',\n toContactId: contact.id,\n fromUser:this.user\n }]\n //将第二个参数设为true,表示已到末尾,聊天窗口顶部会显示“暂无更多消息”,不然会一直转圈。\n next(messages,true);\n },\n}")}}),n("p",[t._v("4.发送消息")]),n("p",[t._v("现在在消息框发送新消息会一直转圈,这时需要监听 send 事件。")]),n("pre",{domProps:{textContent:t._s("methods:{\n handleSend(message, next, file) {\n ... 调用你的消息发送业务接口\n\n //执行到next消息会停止转圈,如果接口调用失败,可以修改消息的状态 next({status:'failed'});\n next();\n },\n}")}}),n("p",[t._v("5.接收消息")]),n("pre",{domProps:{textContent:t._s("mounted(){\n\nWebSocket.onmessage = function(event) {\n //将接收到的数据包装成下面的样子\n const data = {\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '马上就对接完了!',\n toContactId: 2,\n fromUser:{\n //如果 id == this.user.id消息会显示在右侧,否则在左侧\n id:2,\n displayName:'丽安娜',\n avatar:'',\n }\n };\n IMUI.appendMessage(data);\n};\n \n}")}})])},a=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"link"},[n("span",[t._v("源码下载  ")]),n("a",{attrs:{target:"_blank",href:"https://github.com/fanjyy/lemon-imui"}},[t._v("Github")]),n("a",{attrs:{target:"_blank",href:"https://gitee.com/june000/lemon-im"}},[t._v("Gitee")]),n("a",{attrs:{target:"_blank",href:"https://qm.qq.com/cgi-bin/qm/qr?k=xzUa9CPYQ5KCNQ86h7ep4Z3TtkqJxRZE&jump_from=webapi"}},[t._v("QQ交流群:1081773406")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help1"}},[t._v("1.如何创建自定义消息?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help2"}},[t._v("2.如何对接后端接口?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("displayName")]),n("td",[t._v("名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("avatar")]),n("td",[t._v("头像")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("index")]),n("td",[t._v("通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("unread")]),n("td",[t._v("未读消息数")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的时间戳,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastContent")]),n("td",[t._v("最近一条消息的内容")]),n("td",[t._v("String | Vnode")]),n("td"),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("status")]),n("td",[t._v("消息发送的状态:going | failed | succeed")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("type")]),n("td",[t._v("消息类型:file | image | text | event")]),n("td",[t._v("String | Vnode")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("sendTime")]),n("td",[t._v("消息发送时间,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("content")]),n("td",[t._v("消息内容,如果type=file,此属性表示文件的URL地址")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fileSize")]),n("td",[t._v("文件大小")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("fileName")]),n("td",[t._v("文件名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("toContactId")]),n("td",[t._v("接收消息的联系人ID")]),n("td",[t._v("String | Number")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fromUser")]),n("td",[t._v("消息发送人的信息")]),n("td",[t._v("Object")]),n("td",[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("名称")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("text")]),n("td",{attrs:{width:"350"}},[t._v("显示文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("color")]),n("td",{attrs:{width:"350"}},[t._v("颜色")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("icon")]),n("td",{attrs:{width:"350"}},[t._v("图标 class")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("click")]),n("td",{attrs:{width:"350"}},[t._v("点击事件,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("visible")]),n("td",{attrs:{width:"350"}},[t._v("是否显示的判断函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(instance)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("render")]),n("td",{attrs:{width:"350"}},[t._v("负责样式的渲染函数,使用render的时候text属性会失去作用,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("user")]),n("td",{attrs:{width:"350"}},[t._v("用户信息")]),n("td",{attrs:{width:"150"}},[t._v("Object")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("width")]),n("td",{attrs:{width:"350"}},[t._v("宽度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("850px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("height")]),n("td",{attrs:{width:"350"}},[t._v("高度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("580px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("theme")]),n("td",{attrs:{width:"350"}},[t._v("主题")]),n("td",{attrs:{width:"150"}},[t._v("default | blue")]),n("td",{attrs:{width:"100"}},[t._v("default")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendText")]),n("td",{attrs:{width:"350"}},[t._v("发送消息按钮的文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("发送消息")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendKey")]),n("td",{attrs:{width:"350"}},[t._v("快捷发送键检查函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(event)=>Boolean")]),n("td",{attrs:{width:"100"}}),n("td",[t._v("(e)=>e.keyCode == 13 && e.ctrlKey")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("simple")]),n("td",{attrs:{width:"350"}},[t._v("精简模式")]),n("td",{attrs:{width:"150"}},[t._v("Boolean")]),n("td",{attrs:{width:"100"}},[t._v("false")]),n("td",[t._v("精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用 changeContact 切换到聊天视图。")])]),n("tr",[n("td",[t._v("messageTimeFormat")]),n("td",[t._v("消息列表时间格式化函数")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactTimeFormat")]),n("td",[t._v("联系人时间格式化规则")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("hideDrawer")]),n("td",[t._v("是否隐藏抽屉")]),n("td",[t._v("Boolean")]),n("td",[t._v("true")]),n("td")]),n("tr",[n("td",[t._v("hideMenuAvatar")]),n("td",[t._v("是否隐藏导航头像")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMenu")]),n("td",[t._v("是否隐藏左侧导航")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageName")]),n("td",[t._v("是否隐藏聊天窗口内的联系人名字")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageTime")]),n("td",[t._v("是否隐藏聊天窗口内的消息发送时间")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("contextmenu")]),n("td",[t._v("聊天消息右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactContextmenu")]),n("td",[t._v("联系人右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("initMenus")]),n("td",{attrs:{width:"350"}},[t._v("初始化导航")]),n("td",{attrs:{width:"150"}},[t._v("Function([Object])")]),n("td",{attrs:{width:"100"}},[t._v('[ {\n name: "messages"\n },\n {\n name: "contacts"\n }]')]),n("td",[t._v(' {\n name: "custom2",\n title: "自定义按钮2",\n unread: 0,\n click: () => {\n alert("拦截导航点击事件");\n },\n render: menu => {\n return \'...\';\n },\n isBottom: true\n }')])]),n("tr",[n("td",[t._v("initContacts")]),n("td",[t._v("初始化联系人")]),n("td",[t._v("Function([Contact])")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("initEditorTools")]),n("td",[t._v("初始化工具栏")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("[{name:'emoji'},{name:'uploadFile'},{name:'uploadImage'}]")]),n("td",[t._v("[{\n name:\"test2\",\n isRight:true,\n title:'上传 Excel',\n click:()=>{\n alert('点击')\n },\n render:()=>{\n return '...'\n }\n }]")])]),n("tr",[n("td",[t._v("initEmoji")]),n("td",[t._v("初始化表情数据")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("-")]),n("td",[n("div",[t._v("\n 有分类:[{\n label: '默认表情',\n children: [\n {\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }\n ]\n }]\n ")]),n("div",[t._v("\n 无分类:[{\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("新增一条消息, 如果当前焦点在该联系人的聊天窗口,设置 scrollToBottom=true 添加之后自动定位到消息窗口底部")]),n("td",[t._v("Function(Message,scrollToBottom=false)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeMessage")]),n("td",[t._v("删除聊天消息")]),n("td",[t._v("Function(Message.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateMessage")]),n("td",[t._v("修改消息,根据 Message.id 查找聊天消息并覆盖传入的值(toContactId会被忽略)")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("appendContact")]),n("td",[t._v("添加联系人")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeContact")]),n("td",[t._v("删除联系人")]),n("td",[t._v("Function(Contact.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateContact")]),n("td",[t._v("修改联系人,根据 Contact.id 查找联系人并覆盖传入的值")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getMessages")]),n("td",[t._v("返回所有本地消息,传入 Contact.id 则只返回与该联系人的消息")]),n("td",[t._v("Function(Contact.id)=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentContact")]),n("td",[t._v("返回当前聊天窗口的联系人信息")]),n("td",[t._v("Function()=>Contact")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentMessages")]),n("td",[t._v("返回当前聊天窗口的所有消息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getContacts")]),n("td",[t._v("返回所有本地联系人")]),n("td",[t._v("Function()=>[Contact]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("openDrawer")]),n("td",[t._v("打开联系人右侧抽屉,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeDrawer")]),n("td",[t._v("切换右侧抽屉显示/隐藏,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("closeDrawer")]),n("td",[t._v("关闭抽屉")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeMenu")]),n("td",[t._v("切换左侧导航")]),n("td",[t._v("Function(Menu.name)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeContact")]),n("td",[t._v("切换聊天窗口")]),n("td",[t._v("Function(Contact.id,instance)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("messageViewToBottom")]),n("td",[t._v("将当前聊天窗口滚动到底部")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setLastContentRender")]),n("td",[t._v("设置左侧联系人最新消息的渲染函数")]),n("td",[t._v("Function(Message.type, (Message)=>vnode)")]),n("td",[t._v("-")]),n("td",[t._v("\n setLastContentRender('image', message => {\n return "),n("span",[t._v("[最新图片]")]),t._v("\n })\n ")])]),n("tr",[n("td",[t._v("lastContentRender")]),n("td",[t._v("用来生成 Message.lastContent 需要的vnode结构。")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setEditorValue")]),n("td",[t._v("设置编辑框内容")]),n("td",[t._v("Function(string)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getEditorValue")]),n("td",[t._v("获取编辑框内容")]),n("td",[t._v("Function()=>string")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("插槽名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("cover")]),n("td",{attrs:{width:"350"}},[t._v("初始化时的封面")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("editor-footer")]),n("td",{attrs:{width:"350"}},[t._v("消息输入框底部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-title")]),n("td",{attrs:{width:"350"}},[t._v("消息列表的标题")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-after")]),n("td",{attrs:{width:"350"}},[t._v("每条消息的尾部")]),n("td",{attrs:{width:"150"}},[t._v("Message")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("contact-info")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人详细页")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("事件名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-menu")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航选项卡切换的时候会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Menu.name")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("menu-avatar-click")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航内的头像被点击时回触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-contact")]),n("td",{attrs:{width:"350"}},[t._v("当左侧联系人点击时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("pull-messages")]),n("td",{attrs:{width:"350"}},[t._v("当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact,next([Message],isEnd),instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-click")]),n("td",{attrs:{width:"350"}},[t._v("点击聊天窗口中的消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("event,key,Message,instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("send")]),n("td",{attrs:{width:"350"}},[t._v("当发送新消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建自定义消息首先要确定新消息的 Message 结构。")])}],r=(n("8e6e"),n("ac6a"),n("456d"),n("2638")),o=n.n(r),c=n("bd86");n("6b54"),n("7f7f");function d(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function l(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:P(),status:"succeed",type:"text",sendTime:E(),content:D(),toContactId:t,fromUser:e}},F={name:"app",data:function(){var t=this,e=this.$createElement;return{theme:"default",contactContextmenu:[{text:"删除该聊天",click:function(t,e,n){var i=e.IMUI,s=e.contact;i.updateContact({id:s.id,lastContent:null}),i.currentContactId==s.id&&i.changeContact(null),n()}},{text:"设置备注和标签"},{text:"投诉"},{icon:"lemon-icon-message",render:function(t,e,n){return t("div",{style:"display:flex;justify-content:space-between;align-items:center;width:130px"},[t("span",["加入黑名单"]),t("span",[t("input",{attrs:{type:"checkbox",id:"switch"}}),t("label",{attrs:{id:"switch-label",for:"switch"}},["Toggle"])])])}},{click:function(t,e,n){var i=e.IMUI,s=e.contact;i.removeContact(s.id),i.currentContactId==s.id&&i.changeContact(null),n()},color:"red",text:"删除好友"}],contextmenu:[{click:function(t,n,i){var s=n.IMUI,a=n.message,r={id:P(),type:"event",content:e("span",["你撤回了一条消息 ",e("span",{directives:[{name:"show",value:"text"==a.type}],style:"color:#333;cursor:pointer",attrs:{content:a.content},on:{click:function(t){s.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])]),toContactId:a.toContactId,sendTime:E()};s.removeMessage(a.id),s.appendMessage(r,!0),i()},visible:function(e){return e.message.fromUser.id==t.user.id},text:"撤回消息"},{visible:function(e){return e.message.fromUser.id!=t.user.id},text:"举报"},{text:"转发"},{visible:function(t){return"text"==t.message.type},text:"复制文字"},{visible:function(t){return"image"==t.message.type},text:"下载图片"},{visible:function(t){return"file"==t.message.type},text:"下载文件"},{click:function(t,e,n){var i=e.IMUI,s=e.message;i.removeMessage(s.id),n()},icon:"lemon-icon-folder",color:"red",text:"删除"}],tip:$,packageData:_,hideMenuAvatar:!1,hideMenu:!1,hideMessageName:!1,hideMessageTime:!0,user:{id:"1",displayName:"June",avatar:""}}},mounted:function(){var t=this.$createElement,e={id:"contact-1",displayName:"工作协作群",avatar:"http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg",index:"[1]群组",unread:0,lastSendTime:1566047865417,lastContent:"2"},n={id:"contact-2",displayName:"自定义内容",avatar:"http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg",click:function(t){t()},renderContainer:function(){return t("h1",{style:"text-indent:20px"},["自定义页面"])},lastSendTime:1345209465e3,lastContent:"12312",unread:2},i={id:"contact-3",displayName:"铁牛",avatar:"http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg",index:"T",unread:32,lastSendTime:3,lastContent:"你好123"},s={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},a=this.$refs.IMUI;setTimeout(function(){console.log(a.hasContact("cont1act-3"))},2e3),a.setLastContentRender("event",function(t){return"[有人邀请你加入群组]"});var r=[x({},e),x({},n),x({},i)];a.initContacts(r),a.initMenus([{name:"messages"},{name:"contacts"},{name:"custom1",title:"自定义按钮1",unread:0,render:function(e){return t("i",{class:"lemon-icon-attah"})},renderContainer:function(){return t("div",{class:"article"},[t("ul",[t("li",{class:"article-item"},[t("h2",["人民日报谈网红带货:产品真的值得买吗?"])]),t("li",{class:"article-item"},["甘肃夏河县发生5.7级地震 暂未接到人员伤亡报告"]),t("li",{class:"article-item"},["北方多地风力仍强沙尘相伴,东北内蒙古等地迎雨雪"]),t("li",{class:"article-item"},["英货车案:越南警方采集疑死者家属DNA作比对"]),t("li",{class:"article-item"},["知名连锁咖啡店的蛋糕吃出活虫 曝光内幕太震惊"])]),t("lemon-contact",o()([{},{props:{contact:e}},{style:"margin:20px"}])),t("lemon-contact",o()([{},{props:{contact:i}},{style:"margin:20px"}]))])},isBottom:!0},{name:"custom2",title:"自定义按钮2",unread:0,click:function(){alert("拦截导航点击事件")},render:function(e){return t("i",{class:"lemon-icon-group"})},isBottom:!0}]),a.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){a.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){a.initEditorTools([{name:"uploadFile"},{name:"emoji"}])},render:function(){return t("span",["重制工具栏"])}},{name:"test2",isRight:!0,title:"上传 Excel",click:function(){alert("点击了 ··· ")},render:function(){return t("b",["···"])}}]);var c=[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]}];a.initEmoji(c),a.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var d=this.$refs.SimpleIMUI;e.id="11",d.initContacts([e]),d.initEmoji(c),d.changeContact(e.id);var l=this.$refs.SlotIMUI;i.id="333",l.initContacts([s,i]),l.initEmoji(c)},methods:{changeTheme:function(){this.theme="default"==this.theme?"blue":"default"},scrollToTop:function(){document.body.scrollIntoView()},handleMenuAvatarClick:function(){console.log("Event:menu-avatar-click")},handleMessageClick:function(t,e,n,i){console.log("点击了消息",t,e,n),"status"==e&&(i.updateMessage({id:n.id,status:"going",content:"正在重新发送消息..."}),setTimeout(function(){i.updateMessage({id:n.id,status:"succeed",content:"发送成功"})},2e3))},changeMenuAvatarVisible:function(){this.hideMenuAvatar=!this.hideMenuAvatar},changeMenuVisible:function(){this.hideMenu=!this.hideMenu},changeMessageNameVisible:function(){this.hideMessageName=!this.hideMessageName},changeMessageTimeVisible:function(){this.hideMessageTime=!this.hideMessageTime},removeMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1].id;e.length>0&&t.removeMessage(n)},updateMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1];if(e.length>0){var i={id:n.id,status:"succeed",type:"file",fileName:"被修改成文件了.txt",fileSize:"4200000"};"event"==n.type&&(i.fromUser=this.user),t.updateMessage(i),t.messageViewToBottom()}},appendCustomMessage:function(){var t=this.$refs.IMUI,e={id:P(),status:"succeed",type:"voice",sendTime:E(),content:"语音消息",params1:"1",params2:"2",toContactId:"contact-1",fromUser:this.user};t.appendMessage(e,!0)},appendMessage:function(){var t=this.$refs.IMUI,e=(t.currentContact,U("contact-3"));e.fromUser=x({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:P(),type:"event",content:t("span",["邀请你加入群聊 ",t("span",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:E()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact({id:"contact-3",unread:10,displayName:D(),lastSendTime:E(),lastContent:"修改昵称为随机字母"})},changeDrawer:function(t,e){var n=this.$createElement;e.changeDrawer(function(){return n("div",{class:"drawer-content"},[n("p",[n("b",["自定义抽屉"])]),n("p",[t.displayName])])})},handleChangeContact:function(t,e){console.log("Event:change-contact"),e.updateContact({id:t.id,unread:0}),e.closeDrawer()},handleSend:function(t,e,n){console.log(t,e,n),setTimeout(function(){e()},1e3)},handlePullMessages:function(t,e,n){var i=this,s={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout(function(){var t=[U(n.currentContactId,i.user),U(n.currentContactId,s),U(n.currentContactId,i.user),U(n.currentContactId,s),U(n.currentContactId,i.user),U(n.currentContactId,i.user),U(n.currentContactId,s),x({},U(n.currentContactId,i.user),{},{status:"failed"})],a=!1;n.getMessages(n.currentContactId).length+t.length>11&&(a=!0),e(t,a)},500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},L=F,N=(n("9c9b"),Object(v["a"])(L,s,a,!1,null,null,null)),R=N.exports,V={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.$slots["tab-pane"].map(function(s){var a=s.data.attrs,r=a.tab,o=a.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[s])),i.push(e("div",{class:["lemon-tabs-nav__item",t.active==o&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(o)}}},[r]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[i])])},methods:{_handleNavClick:function(t){this.active=t}}},B=V,A=(n("3423"),Object(v["a"])(B,w,C,!1,null,null,null)),z=A.exports,H=(n("96cf"),n("3b8d")),q=(n("6762"),n("2fdb"),[]),K=function(){return q.forEach(function(t){return t()})},W={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},J={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(W).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),q.push(this.close)},mounted:function(){W[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"lemon-slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__title"}),t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,i;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,i=this.$refs.popover,this.popoverStyle={top:"-".concat(i.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-i.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){K(),this.visible=!0},close:function(){this.visible=!1}}},Y=J,Q=(n("0e15"),Object(v["a"])(Y,y,M,!1,null,null,null)),G=Q.exports,Z={name:"LemonButton",props:{disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:"lemon-button",attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},X=Z,tt=(n("1e45"),Object(v["a"])(X,j,I,!1,null,null,null)),et=tt.exports,nt=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),it=nt,st=(n("dbdc"),Object(v["a"])(it,k,O,!1,null,null,null)),at=st.exports,rt={name:"LemonAvatar",props:{src:String,icon:{type:String,default:"lemon-icon-people"},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:"lemon-avatar",on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},ot=rt,ct=(n("04f4"),Object(v["a"])(ot,S,T,!1,null,null,null)),dt=ct.exports;n("3b2b"),n("8615");function lt(t){return"[object Object]"===Object.prototype.toString.call(t)}function ut(t){return"string"==typeof t}function mt(t){return(new Date).getTime()-t<864e5}function ht(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!lt(t)||0!=Object.values(t).length))}function ft(t){return t&&"function"===typeof t}n("a481");function vt(t,e,n){return t?t(n):e}function pt(t){return t<10?"0".concat(t):t}function gt(t){var e,n=new Date(t),i=new Date,s=function(t){return t.getFullYear()},a=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=s(n),o=s(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(a(n))==="".concat(o,"-").concat(a(i))?"h:i":"m月d日 h:i",_t(t,e)}function _t(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),pt((t.getMonth()+1).toString()),pt(t.getDate().toString()),pt(t.getHours().toString()),pt(t.getMinutes().toString()),pt(t.getSeconds().toString())],i="ymdhis",s=0;s/gi,"")}function wt(t){return t.replace(/<(?!img).*?>/gi,"")}function Ct(t){return t.replace(/]*>/gi,"[!$1]")}function yt(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,i=parseFloat(t);n=Math.floor(Math.log(i)/Math.log(1024));var s=i/Math.pow(1024,n);return s=parseFloat(s.toFixed(2)),s+e[n]}function Mt(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var jt,It,kt={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return _t(t,mt(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[vt(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[ut(e.lastContent)?t("span",o()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},Ot=kt,St=(n("909e"),Object(v["a"])(Ot,jt,It,!1,null,null,null)),Tt=St.exports;n("5df3"),n("1c4c");function $t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function Et(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},Nt=window.getSelection(),Rt=[],Vt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return{submitDisabled:!0,proxyTools:[],accept:""}},created:function(){this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}])},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.proxyTools.forEach(function(s){var a=s.name,r=s.title,o=s.render,c=s.click,d=s.isRight;c=c||new Function;var l,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":d}];l="emoji"==a?0==Rt.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:u,attrs:{title:r}},[o()])]):e("div",{class:u,on:{click:c},attrs:{title:r}},[o()]),d?i.push(l):n.push(l)}),e("div",{class:"lemon-editor"},[e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[i])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[vt(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{initTools:function(t){var e=this,n=this.$createElement;if(t){var i=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],s=[];if(Array.isArray(t)){var a={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(a);s=t.map(function(t){return r.includes(t.name)?Et({},i[a[t.name]],{},t):t})}else s=i;this.proxyTools=s}},_saveLastRange:function(){Pt=Nt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Pt&&(Nt.removeAllRanges(),Nt.addRange(Pt))},_handleClick:function(){this._saveLastRange()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(Rt[0].label){var i=Rt.map(function(t,i){return e("div",{slot:"tab-pane",attrs:{index:i,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[i])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Rt)])},_handleSelectEmoji:function(t){this._focusLastRange(),Lt('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData||window.clipboardData,n=e.getData("Text");window.clipboardData?this.$refs.textarea.innerHTML=n:Lt(n,"insertText")},_handleKeyup:function(t){this._saveLastRange(),this._checkSubmitDisabled()},_handleKeydown:function(t){0==this.submitDisabled&&this.sendKey(t)&&this._handleSend()},getFormatValue:function(){return Ct(this.$refs.textarea.innerHTML)},_checkSubmitDisabled:function(){this.submitDisabled=!wt(this.$refs.textarea.innerHTML.trim())},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){Rt=t,this.$forceUpdate()},setValue:function(t){this.$refs.textarea.innerHTML=t,this._checkSubmitDisabled()}}},Bt=Vt,At=(n("49c2"),Object(v["a"])(Bt,Dt,Ut,!1,null,null,null)),zt=At.exports,Ht=function(){Ft&&(Ft.style.display="none")},qt=function(){Ft&&(Ft.style.display="block")};document.addEventListener("click",function(t){Ht()});var Kt,Wt,Jt,Yt,Qt={hide:Ht,bind:function(t,e,n){t.addEventListener("contextmenu",function(t){if(!ht(e.value)&&Array.isArray(e.value)){var s;t.preventDefault();var a=[];e.modifiers.message?s=n.context:e.modifiers.contact&&(s=n.child),Ft||(Ft=document.createElement("div"),Ft.className="lemon-dropdown",document.body.appendChild(Ft)),Ft.innerHTML=e.value.map(function(t){var e;if(e=ft(t.visible)?t.visible(s):void 0===t.visible||t.visible,e){a.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""}).join(""),Ft.style.top="".concat(t.pageY,"px"),Ft.style.left="".concat(t.pageX,"px"),Ft.childNodes.forEach(function(t,e){var n=a[e],r=n.click,o=n.render;if(t.addEventListener("click",function(t){t.stopPropagation(),ft(r)&&r(t,s,Ht)}),ft(o)){var c=i["a"].extend({render:function(t){return o(t,s,Ht)}}),d=(new c).$mount();t.querySelector("span").innerHTML=d.$el.outerHTML}}),qt()}})},inserted:function(t,e,n){}},Gt={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return gt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,i){var s,a=[],r="lemon-message-".concat(n.type),c=t.messages[i-1];return c&&t.msecRange&&n.sendTime-c.sendTime>t.msecRange&&a.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:gt(n.sendTime)}}}]))),s="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},a.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:s}]))),a})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,i,s=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,Qt.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:i=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,s.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,s._loading=!1,s._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Zt=Gt,Xt=(n("436f"),Object(v["a"])(Zt,Kt,Wt,!1,null,null,null)),te=Xt.exports,ee={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,i=n.fromUser,s=n.status,a=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(s),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:i.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[i.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(a)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"dropdown",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[vt(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[vt(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},ne=ee,ie=(n("fbd1"),Object(v["a"])(ne,Jt,Yt,!1,null,null,null)),se=ie.exports;function ae(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function re(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===We[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?1==e&&this.messageViewToBottom():n.unread="+1",this.updateContact(n)}},_emitSend:function(t,e,n){var i=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),i.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime})})},_handleUpload:function(t){var e,n=this,i=["image/gif","image/jpeg","image/png"];e=i.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var s=this._createMessage(e);this.appendMessage(s,!0),this._emitSend(s,function(){n.updateContact({id:s.toContactId,lastContent:n.lastContentRender(s),lastSendTime:s.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,i),1==i&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(i)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],i=[];return this.menus.forEach(function(s){var a=s.name,r=s.title,o=s.unread,c=s.render,d=s.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==a}],on:{click:function(){bt(d,function(){a&&t.changeMenu(a)})}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(s)])]);!0===s.isBottom?i.push(l):n.push(l)}),{top:n,bottom:i}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([vt(this.$scopedSlots["sidebar-message-top"]),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],Fe)},_renderContact:function(t,e,n){var i=this,s=this.$createElement,a=t.contact,r=a.click,c=a.renderContainer,d=a.id,l=function(){bt(r,function(){e(),i._customContainerReady(c,i.CacheContactContainer,d)})};return s("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"dropdown",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:l},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([vt(this.$scopedSlots["sidebar-contact-top"]),this.contacts.map(function(i){if(i.index){i.index=i.index.replace(/\[[0-9]*\]/,"");var s=[i.index!==t&&n("p",{class:"lemon-sidebar__label"},[i.index]),e._renderContact({contact:i,simple:!0},function(){e.changeContact(i.id)},e.$scopedSlots["sidebar-contact"])];return t=i.index,s}})],Le)},_renderSidebar:function(t,e){var n=this.$createElement;return n("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[t])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Ye(),vt(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],i="lemon-container",s=this.currentContact,a=!0;for(var r in this.CacheContactContainer.get()){var o=s.id==r&&this.currentIsDefSidebar;a=!o,n.push(e("div",{class:i,directives:[{name:"show",value:o}]},[this.CacheContactContainer.get(r)]))}for(var c in this.CacheMenuContainer.get())n.push(e("div",{class:i,directives:[{name:"show",value:this.activeSidebar==c&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(c)]));return n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsMessages()&&a&&s.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[vt(this.$scopedSlots["message-title"],s.displayName,s)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!s.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&a&&s.id}]},[vt(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:s.avatar,size:90}}),e("h4",[s.displayName]),e("lemon-button",{on:{click:function(){ht(s.lastContent)&&t.updateContact({id:s.id,lastContent:" "}),t.changeContact(s.id,Fe)}}},["发送消息"])]),s)])),n},_handleSidebarScroll:function(){Qt.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,s={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),We[e]=We[e]||[],(i=We[e])[s].apply(i,Object(Ue["a"])(t))},setLastContentRender:function(t,e){Re[t]=e},lastContentRender:function(t){return ft(Re[t.type])?Re[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},replaceEmojiName:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Je[n]?''):"[!".concat(e,"]")})},updateCurrentMessages:function(){We[this.currentContactId]||(We[this.currentContactId]=[]),this.currentMessages=We[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e,n){var i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!n){t.next=4;break}this.changeMenu(n),t.next=6;break;case 4:if(!this._changeContactLock&&this.currentContactId!=e){t.next=6;break}return t.abrupt("return",!1);case 6:if(this.currentContactId=e,this.currentContactId){t.next=9;break}return t.abrupt("return",!1);case 9:if(this.$emit("change-contact",this.currentContact,this),!ft(this.currentContact.renderContainer)){t.next=12;break}return t.abrupt("return");case 12:this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),We[e]?setTimeout(function(){i.updateCurrentMessages(),i.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return i.messageViewToBottom()}));case 14:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=We[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return We[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){ft(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach(function(t){var n;(n=e).push.apply(n,Object(Ue["a"])(t.children))}):e=t,e.forEach(function(t){var e=t.name,n=t.src;return Je[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,i=[{name:Fe,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Le,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],s=[];if(Array.isArray(t)){var a={messages:0,contacts:1},r=Object.keys(a);s=t.map(function(t){return r.includes(t.name)?He({},i[a[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else s=i;this.menus=s},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},appendContact:function(t){return ht(t.id)||ht(t.displayName)?(console.error("id | displayName cant be empty"),!1):!!this.hasContact(t.id)||(this.contacts.push(Object.assign(Object(c["a"])({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:""},"lastSendTime",""),t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var i=t.unread;ut(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(t.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,He({},this.contacts[n],{},t))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in We){var n=We[e].find(function(e){var n=e.id;return n==t});if(n)return n}},findContact:function(t){return this.getContacts().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},setEditorValue:function(t){this.$refs.editor.setValue(this.replaceEmojiName(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?We[t]:We)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Ye=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ge=Qe,Ze=(n("9b01"),Object(v["a"])(Ge,qe,Ke,!1,null,null,null)),Xe=Ze.exports;n("6a2b");i["a"].directive("dropdown",Qt);var tn="1.4.2",en=[Xe,Tt,te,zt,dt,at,et,G,z,se,me,xe,Te,De],nn=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];en.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&nn(window.Vue);var sn={version:tn,install:nn};i["a"].use(sn),i["a"].config.productionTip=!1,new i["a"]({render:function(t){return t(R)}}).$mount("#app")},cfab:function(t,e,n){"use strict";var i=n("15cf"),s=n.n(i);s.a},dbdc:function(t,e,n){"use strict";var i=n("7802"),s=n.n(i);s.a},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var i=n("a215"),s=n.n(i);s.a},fbd1:function(t,e,n){"use strict";var i=n("820e"),s=n.n(i);s.a}}); \ No newline at end of file diff --git a/examples/dist/js/index.f43bda32.js b/examples/dist/js/index.f43bda32.js new file mode 100644 index 0000000..f4857c1 --- /dev/null +++ b/examples/dist/js/index.f43bda32.js @@ -0,0 +1 @@ +(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=e[2],u=0,m=[];u {\n return [语音]\n})\n")]),n("p",[t._v("最后一步,注册组件,必须使用全局注册的方式。")]),n("pre",[t._v("import Vue from 'vue';\nimport LemonMessageVoice from './lemon-message-voice';\nVue.component(LemonMessageVoice.name,LemonMessageVoice);\n")]),n("p",[t._v("如果还有不明白的,可以到 examples/App.vue 查看示例代码")])]),n("div",{staticClass:"title",attrs:{id:"help2"}},[t._v("如何对接后端接口?")]),n("p",[t._v("1.初始化用户的信息")]),n("pre",{domProps:{textContent:t._s("data(){\n return {\n user:{id:1:displayName:'June',avatar:''}\n }\n}")}}),n("pre",{domProps:{textContent:t._s("")}}),n("p",[t._v("2.初始化联系人数据")]),n("pre",{domProps:{textContent:t._s("mounted(){\n const { IMUI } = this.$refs;\n //初始化表情包。\n IMUI.initEmoji(...);\n //从后端请求联系人数据,包装成下面的样子\n const contacts = [{\n id: 2,\n displayName: '丽安娜',\n avatar:'',\n index: 'L',\n unread: 0,\n //最近一条消息的内容,如果值为空,不会出现在“聊天”列表里面。\n //lastContentRender 函数会将 file 消息转换为 '[文件]', image 消息转换为 '[图片]',对 text 会将文字里的表情标识替换为img标签,\n lastContent: IMUI.lastContentRender({type:'text',content:'你在干嘛呢?'})\n //最近一条消息的发送时间\n lastSendTime: 1566047865417,\n }];\n IMUI.initContacts(contacts);\n}")}}),n("p",[t._v("3.拉取消息列表")]),n("p",[t._v("现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听 pull-messages 事件。")]),n("pre",{domProps:{textContent:t._s("")}}),n("pre",{domProps:{textContent:t._s("methods:{\n handlePullMessages(contact, next) {\n //从后端请求消息数据,包装成下面的样子\n const messages = [{\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '你什么才能对接完?',\n toContactId: contact.id,\n fromUser:this.user\n }]\n //将第二个参数设为true,表示已到末尾,聊天窗口顶部会显示“暂无更多消息”,不然会一直转圈。\n next(messages,true);\n },\n}")}}),n("p",[t._v("4.发送消息")]),n("p",[t._v("现在在消息框发送新消息会一直转圈,这时需要监听 send 事件。")]),n("pre",{domProps:{textContent:t._s("methods:{\n handleSend(message, next, file) {\n ... 调用你的消息发送业务接口\n\n //执行到next消息会停止转圈,如果接口调用失败,可以修改消息的状态 next({status:'failed'});\n next();\n },\n}")}}),n("p",[t._v("5.接收消息")]),n("pre",{domProps:{textContent:t._s("mounted(){\n\nWebSocket.onmessage = function(event) {\n //将接收到的数据包装成下面的样子\n const data = {\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '马上就对接完了!',\n toContactId: 2,\n fromUser:{\n //如果 id == this.user.id消息会显示在右侧,否则在左侧\n id:2,\n displayName:'丽安娜',\n avatar:'',\n }\n };\n IMUI.appendMessage(data);\n};\n \n}")}})])},s=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"link"},[n("span",[t._v("源码下载  ")]),n("a",{attrs:{target:"_blank",href:"https://github.com/fanjyy/lemon-imui"}},[t._v("Github")]),n("a",{attrs:{target:"_blank",href:"https://gitee.com/june000/lemon-im"}},[t._v("Gitee")]),n("a",{attrs:{target:"_blank",href:"https://qm.qq.com/cgi-bin/qm/qr?k=xzUa9CPYQ5KCNQ86h7ep4Z3TtkqJxRZE&jump_from=webapi"}},[t._v("QQ交流群:1081773406")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help1"}},[t._v("1.如何创建消息?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help2"}},[t._v("2.如何对接后端接口?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("displayName")]),n("td",[t._v("名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("avatar")]),n("td",[t._v("头像")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("index")]),n("td",[t._v("通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("unread")]),n("td",[t._v("未读消息数")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的时间戳,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastContent")]),n("td",[t._v("最近一条消息的内容")]),n("td",[t._v("String | Vnode")]),n("td"),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("status")]),n("td",[t._v("消息发送的状态:going | failed | succeed")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("type")]),n("td",[t._v("消息类型:file | image | text | event")]),n("td",[t._v("String | Vnode")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("sendTime")]),n("td",[t._v("消息发送时间,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("content")]),n("td",[t._v("消息内容,如果type=file,此属性表示文件的URL地址")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fileSize")]),n("td",[t._v("文件大小")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("fileName")]),n("td",[t._v("文件名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("toContactId")]),n("td",[t._v("接收消息的联系人ID")]),n("td",[t._v("String | Number")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fromUser")]),n("td",[t._v("消息发送人的信息")]),n("td",[t._v("Object")]),n("td",[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("名称")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("text")]),n("td",{attrs:{width:"350"}},[t._v("显示文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("color")]),n("td",{attrs:{width:"350"}},[t._v("颜色")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("icon")]),n("td",{attrs:{width:"350"}},[t._v("图标 class")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("click")]),n("td",{attrs:{width:"350"}},[t._v("点击事件,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("visible")]),n("td",{attrs:{width:"350"}},[t._v("是否显示的判断函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(instance)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("render")]),n("td",{attrs:{width:"350"}},[t._v("负责样式的渲染函数,使用render的时候text属性会失去作用,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("user")]),n("td",{attrs:{width:"350"}},[t._v("用户信息")]),n("td",{attrs:{width:"150"}},[t._v("Object")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("width")]),n("td",{attrs:{width:"350"}},[t._v("宽度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("850px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("height")]),n("td",{attrs:{width:"350"}},[t._v("高度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("580px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("theme")]),n("td",{attrs:{width:"350"}},[t._v("主题")]),n("td",{attrs:{width:"150"}},[t._v("default | blue")]),n("td",{attrs:{width:"100"}},[t._v("default")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("avatarCricle")]),n("td",{attrs:{width:"350"}},[t._v("使用圆形头像")]),n("td",{attrs:{width:"150"}},[t._v("Boolean")]),n("td",{attrs:{width:"100"}},[t._v("false")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendText")]),n("td",{attrs:{width:"350"}},[t._v("发送消息按钮的文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("发送消息")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendKey")]),n("td",{attrs:{width:"350"}},[t._v("快捷发送键检查函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(event)=>Boolean")]),n("td",{attrs:{width:"100"}}),n("td",[t._v("(e)=>e.keyCode == 13 && e.ctrlKey")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("simple")]),n("td",{attrs:{width:"350"}},[t._v("精简模式")]),n("td",{attrs:{width:"150"}},[t._v("Boolean")]),n("td",{attrs:{width:"100"}},[t._v("false")]),n("td",[t._v("精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用 changeContact 切换到聊天视图。")])]),n("tr",[n("td",[t._v("messageTimeFormat")]),n("td",[t._v("消息列表时间格式化函数")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactTimeFormat")]),n("td",[t._v("联系人时间格式化规则")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("hideDrawer")]),n("td",[t._v("是否隐藏抽屉")]),n("td",[t._v("Boolean")]),n("td",[t._v("true")]),n("td")]),n("tr",[n("td",[t._v("hideMenuAvatar")]),n("td",[t._v("是否隐藏导航头像")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMenu")]),n("td",[t._v("是否隐藏左侧导航")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageName")]),n("td",[t._v("是否隐藏聊天窗口内的联系人名字")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageTime")]),n("td",[t._v("是否隐藏聊天窗口内的消息发送时间")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("contextmenu")]),n("td",[t._v("聊天消息右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactContextmenu")]),n("td",[t._v("联系人右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("initMenus")]),n("td",{attrs:{width:"350"}},[t._v("初始化导航")]),n("td",{attrs:{width:"150"}},[t._v("Function([Object])")]),n("td",{attrs:{width:"100"}},[t._v('[ {\n name: "messages"\n },\n {\n name: "contacts"\n }]')]),n("td",[t._v(' {\n name: "custom2",\n title: "自定义按钮2",\n unread: 0,\n click: () => {\n alert("拦截导航点击事件");\n },\n render: menu => {\n return \'...\';\n },\n isBottom: true\n }')])]),n("tr",[n("td",[t._v("initContacts")]),n("td",[t._v("初始化联系人")]),n("td",[t._v("Function([Contact])")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("initEditorTools")]),n("td",[t._v("初始化工具栏")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("[{name:'emoji'},{name:'uploadFile'},{name:'uploadImage'}]")]),n("td",[t._v("[{\n name:\"test2\",\n isRight:true,\n title:'上传 Excel',\n click:()=>{\n alert('点击')\n },\n render:()=>{\n return '...'\n }\n }]")])]),n("tr",[n("td",[t._v("initEmoji")]),n("td",[t._v("初始化表情数据")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("-")]),n("td",[n("div",[t._v("\n 有分类:[{\n label: '默认表情',\n children: [\n {\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }\n ]\n }]\n ")]),n("div",[t._v("\n 无分类:[{\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("新增一条消息, 如果当前焦点在该联系人的聊天窗口,设置 scrollToBottom=true 添加之后自动定位到消息窗口底部")]),n("td",[t._v("Function(Message,scrollToBottom=false)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeMessage")]),n("td",[t._v("删除聊天消息")]),n("td",[t._v("Function(Message.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateMessage")]),n("td",[t._v("修改消息,根据 Message.id 查找聊天消息并覆盖传入的值(toContactId会被忽略)")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("appendContact")]),n("td",[t._v("添加联系人")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeContact")]),n("td",[t._v("删除联系人")]),n("td",[t._v("Function(Contact.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateContact")]),n("td",[t._v("修改联系人,根据 Contact.id 查找联系人并覆盖传入的值")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getMessages")]),n("td",[t._v("返回所有本地消息,传入 Contact.id 则只返回与该联系人的消息")]),n("td",[t._v("Function(Contact.id)=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentContact")]),n("td",[t._v("返回当前聊天窗口的联系人信息")]),n("td",[t._v("Function()=>Contact")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentMessages")]),n("td",[t._v("返回当前聊天窗口的所有消息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getContacts")]),n("td",[t._v("返回所有本地联系人")]),n("td",[t._v("Function()=>[Contact]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("openDrawer")]),n("td",[t._v("打开联系人右侧抽屉,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeDrawer")]),n("td",[t._v("切换右侧抽屉显示/隐藏,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("closeDrawer")]),n("td",[t._v("关闭抽屉")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeMenu")]),n("td",[t._v("切换左侧导航")]),n("td",[t._v("Function(Menu.name)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeContact")]),n("td",[t._v("切换聊天窗口")]),n("td",[t._v("Function(Contact.id,instance)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("messageViewToBottom")]),n("td",[t._v("将当前聊天窗口滚动到底部")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setLastContentRender")]),n("td",[t._v("设置左侧联系人最新消息的渲染函数")]),n("td",[t._v("Function(Message.type, (Message)=>vnode)")]),n("td",[t._v("-")]),n("td",[t._v("\n setLastContentRender('image', message => {\n return "),n("span",[t._v("[最新图片]")]),t._v("\n })\n ")])]),n("tr",[n("td",[t._v("lastContentRender")]),n("td",[t._v("用来生成 Message.lastContent 需要的vnode结构。")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setEditorValue")]),n("td",[t._v("设置编辑框内容")]),n("td",[t._v("Function(string)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getEditorValue")]),n("td",[t._v("获取编辑框内容")]),n("td",[t._v("Function()=>string")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("插槽名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("cover")]),n("td",{attrs:{width:"350"}},[t._v("初始化时的封面")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("editor-footer")]),n("td",{attrs:{width:"350"}},[t._v("消息输入框底部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-title")]),n("td",{attrs:{width:"350"}},[t._v("消息列表的标题")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-after")]),n("td",{attrs:{width:"350"}},[t._v("每条消息的尾部")]),n("td",{attrs:{width:"150"}},[t._v("Message")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表的顶部,会随列表滚动")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表的顶部,会随列表滚动")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("contact-info")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人详细页")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("事件名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-menu")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航选项卡切换的时候会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Menu.name")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("menu-avatar-click")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航内的头像被点击时回触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-contact")]),n("td",{attrs:{width:"350"}},[t._v("当左侧联系人点击时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("pull-messages")]),n("td",{attrs:{width:"350"}},[t._v("当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact,next([Message],isEnd),instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-click")]),n("td",{attrs:{width:"350"}},[t._v("点击聊天窗口中的消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("event,key,Message,instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("send")]),n("td",{attrs:{width:"350"}},[t._v("当发送新消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建消息首先要确定新消息的 Message 结构。")])}],r=(n("8e6e"),n("ac6a"),n("456d"),n("2638")),o=n.n(r),c=n("bd86");n("6b54"),n("7f7f");function d(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function l(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:I(),status:"succeed",type:"text",sendTime:j(),content:k(),toContactId:t,fromUser:e}},O={name:"app",data:function(){var t=this,e=this.$createElement;return{theme:"default",contactContextmenu:[{text:"删除该聊天",click:function(t,e,n){var i=e.IMUI,a=e.contact;i.updateContact({id:a.id,lastContent:null}),i.currentContactId==a.id&&i.changeContact(null),n()}},{text:"设置备注和标签"},{text:"投诉"},{icon:"lemon-icon-message",render:function(t,e,n){return t("div",{style:"display:flex;justify-content:space-between;align-items:center;width:130px"},[t("span",["加入黑名单"]),t("span",[t("input",{attrs:{type:"checkbox",id:"switch"}}),t("label",{attrs:{id:"switch-label",for:"switch"}},["Toggle"])])])}},{click:function(t,e,n){var i=e.IMUI,a=e.contact;i.removeContact(a.id),i.currentContactId==a.id&&i.changeContact(null),n()},color:"red",text:"删除好友"}],contextmenu:[{click:function(t,n,i){var a=n.IMUI,s=n.message,r={id:I(),type:"event",content:e("span",["你撤回了一条消息 ",e("span",{directives:[{name:"show",value:"text"==s.type}],style:"color:#333;cursor:pointer",attrs:{content:s.content},on:{click:function(t){a.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])]),toContactId:s.toContactId,sendTime:j()};a.removeMessage(s.id),a.appendMessage(r,!0),i()},visible:function(e){return e.message.fromUser.id==t.user.id},text:"撤回消息"},{visible:function(e){return e.message.fromUser.id!=t.user.id},text:"举报"},{text:"转发"},{visible:function(t){return"text"==t.message.type},text:"复制文字"},{visible:function(t){return"image"==t.message.type},text:"下载图片"},{visible:function(t){return"file"==t.message.type},text:"下载文件"},{click:function(t,e,n){var i=e.IMUI,a=e.message;i.removeMessage(a.id),n()},icon:"lemon-icon-folder",color:"red",text:"删除"}],tip:M,packageData:_,hideMenuAvatar:!1,hideMenu:!1,hideMessageName:!1,hideMessageTime:!0,user:{id:"1",displayName:"June",avatar:""}}},mounted:function(){var t=this.$createElement,e={id:"contact-1",displayName:"工作协作群",avatar:"http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg",index:"[1]群组",unread:0,lastSendTime:1566047865417,lastContent:"2"},n={id:"contact-2",displayName:"自定义内容",avatar:"http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg",click:function(t){t()},renderContainer:function(){return t("h1",{style:"text-indent:20px"},["自定义页面"])},lastSendTime:1345209465e3,lastContent:"12312",unread:2},i={id:"contact-3",displayName:"铁牛",avatar:"http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg",index:"T",unread:32,lastSendTime:3,lastContent:"你好123"},a={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},s=this.$refs.IMUI;setTimeout(function(){console.log(s.hasContact("cont1act-3"))},2e3),s.setLastContentRender("event",function(t){return"[有人邀请你加入群组]"});var r=[x({},e),x({},n),x({},i)];s.initContacts(r),s.initMenus([{name:"messages"},{name:"contacts"},{name:"custom1",title:"自定义按钮1",unread:0,render:function(e){return t("i",{class:"lemon-icon-attah"})},renderContainer:function(){return t("div",{class:"article"},[t("ul",[t("li",{class:"article-item"},[t("h2",["人民日报谈网红带货:产品真的值得买吗?"])]),t("li",{class:"article-item"},["甘肃夏河县发生5.7级地震 暂未接到人员伤亡报告"]),t("li",{class:"article-item"},["北方多地风力仍强沙尘相伴,东北内蒙古等地迎雨雪"]),t("li",{class:"article-item"},["英货车案:越南警方采集疑死者家属DNA作比对"]),t("li",{class:"article-item"},["知名连锁咖啡店的蛋糕吃出活虫 曝光内幕太震惊"])]),t("lemon-contact",o()([{},{props:{contact:e}},{style:"margin:20px"}])),t("lemon-contact",o()([{},{props:{contact:i}},{style:"margin:20px"}]))])},isBottom:!0},{name:"custom2",title:"自定义按钮2",unread:0,click:function(){alert("拦截导航点击事件")},render:function(e){return t("i",{class:"lemon-icon-group"})},isBottom:!0}]),s.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){s.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){s.initEditorTools([{name:"uploadFile"},{name:"emoji"}])},render:function(){return t("span",["重制工具栏"])}},{name:"test2",isRight:!0,title:"上传 Excel",click:function(){alert("点击了 ··· ")},render:function(){return t("b",["···"])}}]);var c=[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]}];s.initEmoji(c),s.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var d=this.$refs.SimpleIMUI;e.id="11",d.initContacts([e]),d.initEmoji(c),d.changeContact(e.id);var l=this.$refs.SlotIMUI;i.id="333",l.initContacts([a,i]),l.initEmoji(c)},methods:{changeTheme:function(){this.theme="default"==this.theme?"blue":"default"},scrollToTop:function(){document.body.scrollIntoView()},handleMenuAvatarClick:function(){console.log("Event:menu-avatar-click")},handleMessageClick:function(t,e,n,i){console.log("点击了消息",t,e,n),"status"==e&&(i.updateMessage({id:n.id,status:"going",content:"正在重新发送消息..."}),setTimeout(function(){i.updateMessage({id:n.id,status:"succeed",content:"发送成功"})},2e3))},changeMenuAvatarVisible:function(){this.hideMenuAvatar=!this.hideMenuAvatar},changeMenuVisible:function(){this.hideMenu=!this.hideMenu},changeMessageNameVisible:function(){this.hideMessageName=!this.hideMessageName},changeMessageTimeVisible:function(){this.hideMessageTime=!this.hideMessageTime},removeMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1].id;e.length>0&&t.removeMessage(n)},updateMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1];if(e.length>0){var i={id:n.id,status:"succeed",type:"file",fileName:"被修改成文件了.txt",fileSize:"4200000"};"event"==n.type&&(i.fromUser=this.user),t.updateMessage(i),t.messageViewToBottom()}},appendCustomMessage:function(){var t=this.$refs.IMUI,e={id:I(),status:"succeed",type:"voice",sendTime:j(),content:"语音消息",params1:"1",params2:"2",toContactId:"contact-1",fromUser:this.user};t.appendMessage(e,!0)},appendMessage:function(){var t=this.$refs.IMUI,e=(t.currentContact,S("contact-3"));e.fromUser=x({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:I(),type:"event",content:t("span",["邀请你加入群聊 ",t("span",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:j()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact({id:"contact-3",unread:10,displayName:k(),lastSendTime:j(),lastContent:"修改昵称为随机字母"})},changeDrawer:function(t,e){var n=this.$createElement;e.changeDrawer(function(){return n("div",{class:"drawer-content"},[n("p",[n("b",["自定义抽屉"])]),n("p",[t.displayName])])})},handleChangeContact:function(t,e){console.log("Event:change-contact"),e.updateContact({id:t.id,unread:0}),e.closeDrawer()},handleSend:function(t,e,n){console.log(t,e,n),setTimeout(function(){e()},1e3)},handlePullMessages:function(t,e,n){var i=this,a={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout(function(){var t=[S(n.currentContactId,i.user),S(n.currentContactId,a),S(n.currentContactId,i.user),S(n.currentContactId,a),S(n.currentContactId,i.user),S(n.currentContactId,i.user),S(n.currentContactId,a),x({},S(n.currentContactId,i.user),{},{status:"failed"})],s=!1;n.getMessages(n.currentContactId).length+t.length>11&&(s=!0),e(t,s)},500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},T=O,$=(n("9c9b"),Object(v["a"])(T,a,s,!1,null,null,null)),E=$.exports,U={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.$slots["tab-pane"].map(function(a){var s=a.data.attrs,r=s.tab,o=s.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[a])),i.push(e("div",{class:["lemon-tabs-nav__item",t.active==o&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(o)}}},[r]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[i])])},methods:{_handleNavClick:function(t){this.active=t}}},D=U,P=(n("3423"),Object(v["a"])(D,w,C,!1,null,null,null)),F=P.exports,L=(n("96cf"),n("3b8d"));n("6762"),n("2fdb"),n("3b2b"),n("8615");function N(t){return"[object Object]"===Object.prototype.toString.call(t)}function R(t){return"string"==typeof t}function B(t){return(new Date).getTime()-t<864e5}function V(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!N(t)||0!=Object.values(t).length))}function A(t){return t&&"function"===typeof t}var z=function(){y&&(y.style.display="none")},H=function(){y&&(y.style.display="block")};document.addEventListener("click",function(t){z()});var q,K,W,J,Y,Q,G,Z,X={hide:z,bind:function(t,e,n){t.addEventListener("contextmenu",function(t){if(!V(e.value)&&Array.isArray(e.value)){var a;t.preventDefault(),st.methods.closeAll();var s=[];e.modifiers.message?a=n.context:e.modifiers.contact&&(a=n.child),y||(y=document.createElement("div"),y.className="lemon-contextmenu",document.body.appendChild(y)),y.innerHTML=e.value.map(function(t){var e;if(e=A(t.visible)?t.visible(a):void 0===t.visible||t.visible,e){s.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""}).join(""),y.style.top="".concat(t.pageY,"px"),y.style.left="".concat(t.pageX,"px"),y.childNodes.forEach(function(t,e){var n=s[e],r=n.click,o=n.render;if(t.addEventListener("click",function(t){t.stopPropagation(),A(r)&&r(t,a,z)}),A(o)){var c=i["a"].extend({render:function(t){return o(t,a,z)}}),d=(new c).$mount();t.querySelector("span").innerHTML=d.$el.outerHTML}}),H()}})},inserted:function(t,e,n){}},tt=[],et={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),X.hide(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},nt={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(et).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),tt.push(this.close)},mounted:function(){et[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"lemon-slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e){var n,i;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,i=this.$refs.popover,this.popoverStyle={top:"-".concat(i.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-i.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){this.closeAll(),this.visible=!0},closeAll:function(){tt.forEach(function(t){return t()})},close:function(){this.visible=!1}}},it=nt,at=(n("0e15"),Object(v["a"])(it,q,K,!1,null,null,null)),st=at.exports,rt={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},ot=rt,ct=(n("1e45"),Object(v["a"])(ot,W,J,!1,null,null,null)),dt=ct.exports,lt=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),ut=lt,mt=(n("dbdc"),Object(v["a"])(ut,Y,Q,!1,null,null,null)),ht=mt.exports,ft={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:["lemon-avatar",{"lemon-avatar--circle":this.circle}],on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},vt=ft,pt=(n("04f4"),Object(v["a"])(vt,G,Z,!1,null,null,null)),gt=pt.exports;n("a481");function _t(t,e,n){return t?t(n):e}function bt(t){return t<10?"0".concat(t):t}function xt(t){var e,n=new Date(t),i=new Date,a=function(t){return t.getFullYear()},s=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=a(n),o=a(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(s(n))==="".concat(o,"-").concat(s(i))?"h:i":"m月d日 h:i",wt(t,e)}function wt(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),bt((t.getMonth()+1).toString()),bt(t.getDate().toString()),bt(t.getHours().toString()),bt(t.getMinutes().toString()),bt(t.getSeconds().toString())],i="ymdhis",a=0;a/gi,"")}function Mt(t){return t.replace(/<(?!img).*?>/gi,"")}function jt(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,i=parseFloat(t);n=Math.floor(Math.log(i)/Math.log(1024));var a=i/Math.pow(1024,n);return a=parseFloat(a.toFixed(2)),a+e[n]}function It(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var kt,St,Ot={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return wt(t,B(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[_t(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[R(e.lastContent)?t("span",o()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},Tt=Ot,$t=(n("909e"),Object(v["a"])(Tt,kt,St,!1,null,null,null)),Et=$t.exports;n("5df3"),n("1c4c");function Ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function Dt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},zt=window.getSelection(),Ht=[],qt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",function(){t.closeClipboardImage()})},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.proxyTools.forEach(function(a){var s=a.name,r=a.title,o=a.render,c=a.click,d=a.isRight;c=c||new Function;var l,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":d}];l="emoji"==s?0==Ht.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:u,attrs:{title:r}},[o()])]):e("div",{class:u,on:{click:c},attrs:{title:r}},[o()]),d?i.push(l):n.push(l)}),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[i])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[_t(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},initTools:function(t){var e=this,n=this.$createElement;if(t){var i=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],a=[];if(Array.isArray(t)){var s={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?Dt({},i[s[t.name]],{},t):t})}else a=i;this.proxyTools=a}},_saveLastRange:function(){Pt=zt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Pt&&(zt.removeAllRanges(),zt.addRange(Pt))},_handleClick:function(){this._saveLastRange()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(Ht[0].label){var i=Ht.map(function(t,i){return e("div",{slot:"tab-pane",attrs:{index:i,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[i])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Ht)])},_handleSelectEmoji:function(t){this._focusLastRange(),At('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:At(n,"insertText");else{var i=this._getClipboardBlob(e),a=i.blob,s=i.blobUrl;this.clipboardBlob=a,this.clipboardUrl=s}},_getClipboardBlob:function(t){for(var e,n,i=0;it.msecRange&&s.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:xt(n.sendTime)}}}]))),a="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},s.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:a}]))),s})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e){var n,i,a=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,X.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:i=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,a.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,a._loading=!1,a._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Qt=Yt,Gt=(n("436f"),Object(v["a"])(Qt,Nt,Rt,!1,null,null,null)),Zt=Gt.exports,Xt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,i=n.fromUser,a=n.status,s=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(a),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:i.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[i.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(s)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[_t(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[_t(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},te=Xt,ee=(n("fbd1"),Object(v["a"])(te,Bt,Vt,!1,null,null,null)),ne=ee.exports;function ie(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function ae(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===qe[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(n)}},_emitSend:function(t,e,n){var i=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),i.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)})},_handleUpload:function(t){var e,n=this,i=["image/gif","image/jpeg","image/png"];e=i.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var a=this._createMessage(e);this.appendMessage(a,!0),this._emitSend(a,function(){n.updateContact({id:a.toContactId,lastContent:n.lastContentRender(a),lastSendTime:a.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,i),1==i&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(i)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],i=[];return this.menus.forEach(function(a){var s=a.name,r=a.title,o=a.unread,c=a.render,d=a.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==s}],on:{click:function(){Ct(d,function(){s&&t.changeMenu(s)})}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(a)])]);!0===a.isBottom?i.push(l):n.push(l)}),{top:n,bottom:i}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([_t(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],De,_t(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var i=this,a=this.$createElement,s=t.contact,r=s.click,c=s.renderContainer,d=s.id,l=function(){Ct(r,function(){e(),i._customContainerReady(c,i.CacheContactContainer,d)})};return a("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:l},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([_t(this.$scopedSlots["sidebar-contact-top"],null,this),this.contacts.map(function(i){if(i.index){i.index=i.index.replace(/\[[0-9]*\]/,"");var a=[i.index!==t&&n("p",{class:"lemon-sidebar__label"},[i.index]),e._renderContact({contact:i,simple:!0},function(){e.changeContact(i.id)},e.$scopedSlots["sidebar-contact"])];return t=i.index,a}})],Pe,_t(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var i=this.$createElement;return i("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[i("div",{class:"lemon-sidebar__fixed-top"},[n]),i("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[We(),_t(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],i="lemon-container",a=this.currentContact,s=!0;for(var r in this.CacheContactContainer.get()){var o=a.id==r&&this.currentIsDefSidebar;s=!o,n.push(e("div",{class:i,directives:[{name:"show",value:o}]},[this.CacheContactContainer.get(r)]))}for(var c in this.CacheMenuContainer.get())n.push(e("div",{class:i,directives:[{name:"show",value:this.activeSidebar==c&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(c)]));return n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsMessages()&&s&&a.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[_t(this.$scopedSlots["message-title"],a.displayName,a)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!a.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&s&&a.id}]},[_t(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:a.avatar,size:90}}),e("h4",[a.displayName]),e("lemon-button",{on:{click:function(){V(a.lastContent)&&t.updateContact({id:a.id,lastContent:" "}),t.changeContact(a.id,De)}}},["发送消息"])]),a)])),n},_handleSidebarScroll:function(){X.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,a={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),qe[e]=qe[e]||[],(i=qe[e])[a].apply(i,Object(Ue["a"])(t))},setLastContentRender:function(t,e){Le[t]=e},lastContentRender:function(t){return A(Le[t.type])?Le[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Ke[n]?''):"[!".concat(e,"]")})},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){qe[this.currentContactId]||(qe[this.currentContactId]=[]),this.currentMessages=qe[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e,n){var i,a,s,r,c=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(i=this.$createElement,!n){t.next=5;break}this.changeMenu(n),t.next=7;break;case 5:if(!this._changeContactLock&&this.currentContactId!=e){t.next=7;break}return t.abrupt("return",!1);case 7:if(a=this.currentContactId,a&&(s=this.getEditorValue(),s&&(this.CacheDraft.set(a,s),this.updateContact({id:a,lastContent:[i("span",{style:"color:red;"},["[草稿]"]),i("span",o()([{},{domProps:{innerHTML:this.lastContentRender({type:"text",content:s})}}]))]}),this.setEditorValue(""))),this.currentContactId=e,this.currentContactId){t.next=12;break}return t.abrupt("return",!1);case 12:if(this.$emit("change-contact",this.currentContact,this),!A(this.currentContact.renderContainer)){t.next=15;break}return t.abrupt("return");case 15:r=this.CacheDraft.get(e)||"",r&&this.setEditorValue(r),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),qe[e]?setTimeout(function(){c.updateCurrentMessages(),c.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return c.messageViewToBottom()}));case 19:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=qe[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return qe[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){A(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach(function(t){var n;(n=e).push.apply(n,Object(Ue["a"])(t.children))}):e=t,e.forEach(function(t){var e=t.name,n=t.src;return Ke[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,i=[{name:De,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Pe,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],a=[];if(Array.isArray(t)){var s={messages:0,contacts:1},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?Ae({},i[s[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else a=i;this.menus=a},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},appendContact:function(t){return V(t.id)||V(t.displayName)?(console.error("id | displayName cant be empty"),!1):!!this.hasContact(t.id)||(this.contacts.push(Object.assign(Object(c["a"])({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:""},"lastSendTime",""),t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var i=t.unread;R(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(t.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ae({},this.contacts[n],{},t))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in qe){var n=qe[e].find(function(e){var n=e.id;return n==t});if(n)return n}},findContact:function(t){return this.getContacts().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},setEditorValue:function(t){this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?qe[t]:qe)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){We=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ye=Je,Qe=(n("9b01"),Object(v["a"])(Ye,ze,He,!1,null,null,null)),Ge=Qe.exports;n("6a2b");i["a"].directive("LemonContextmenu",X);var Ze="1.4.2",Xe=[Ge,Et,Zt,Jt,gt,ht,dt,st,F,ne,le,_e,Se,Ee],tn=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Xe.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&tn(window.Vue);var en={version:Ze,install:tn};i["a"].use(en),i["a"].config.productionTip=!1,new i["a"]({render:function(t){return t(E)}}).$mount("#app")},cfab:function(t,e,n){"use strict";var i=n("15cf"),a=n.n(i);a.a},dbdc:function(t,e,n){"use strict";var i=n("7802"),a=n.n(i);a.a},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var i=n("a215"),a=n.n(i);a.a},fbd1:function(t,e,n){"use strict";var i=n("820e"),a=n.n(i);a.a}}); \ No newline at end of file diff --git a/package.json b/package.json index e5fce13..6409bc3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lemon-imui", - "version": "1.5.0", + "version": "1.6.0", "main": "dist/index.umd.min.js", "description": "基于 VUE2.0 的 IM 聊天组件", "homepage": "https://github.com/fanjyy/lemon-imui", diff --git a/packages/components/avatar.vue b/packages/components/avatar.vue index cb25f84..aa087a0 100644 --- a/packages/components/avatar.vue +++ b/packages/components/avatar.vue @@ -1,12 +1,19 @@