@fmdevui/fm-dev 1.0.18 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
- /*! fm-dev v1.0.18 */
2
- import { defineComponent, reactive, computed, watch, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, createTextVNode, toDisplayString as toDisplayString$1, withDirectives, createElementBlock, Fragment, renderList, vShow, ref, onMounted, nextTick, normalizeStyle, createCommentVNode, normalizeClass, withModifiers, resolveDynamicComponent, effectScope, shallowRef, isRef as isRef$1, getCurrentInstance, h, inject, onUnmounted, Text, markRaw, toRaw as toRaw$1, hasInjectionContext, unref, isReactive as isReactive$1, toRef, getCurrentScope, onScopeDispose, toRefs, resolveDirective } from 'vue';
1
+ /*! fm-dev v1.0.19 */
2
+ import { defineComponent, reactive, computed, watch, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, createTextVNode, toDisplayString as toDisplayString$1, withDirectives, createElementBlock, Fragment, renderList, vShow, ref, onMounted, nextTick, normalizeStyle, createCommentVNode, normalizeClass, withModifiers, resolveDynamicComponent, effectScope, getCurrentInstance, shallowRef, isRef as isRef$1, inject, onUnmounted, h, Text, markRaw, toRaw as toRaw$1, hasInjectionContext, isReactive as isReactive$1, toRef, unref, getCurrentScope, onScopeDispose, toRefs, resolveDirective } from 'vue';
3
+ import { ElMessage, dayjs } from 'element-plus';
3
4
  import crypto from 'crypto';
4
5
  import require$$0 from 'url';
5
6
  import require$$1 from 'http';
@@ -8,7 +9,6 @@ import util from 'util';
8
9
  import stream, { Readable } from 'stream';
9
10
  import require$$4 from 'assert';
10
11
  import zlib from 'zlib';
11
- import { ElMessage, dayjs } from 'element-plus';
12
12
 
13
13
  const _hoisted_1$3 = { class: "fm-transfer-panel" };
14
14
  const _hoisted_2$2 = { class: "fm-transfer-panel__header" };
@@ -30178,7 +30178,7 @@ function basename(filename, ext) {
30178
30178
  return baseNameWithExt.substring(0, extIndex);
30179
30179
  }
30180
30180
  }
30181
- var deepClone = (0, import_rfdc.default)({ circles: true });
30181
+ var deepClone$1 = (0, import_rfdc.default)({ circles: true });
30182
30182
 
30183
30183
  const DEBOUNCE_DEFAULTS = {
30184
30184
  trailing: true
@@ -33340,8 +33340,8 @@ function normalizeRouterInfo(appRecord, activeAppRecord2) {
33340
33340
  console.warn = () => {
33341
33341
  };
33342
33342
  target[ROUTER_INFO_KEY] = {
33343
- currentRoute: currentRoute ? deepClone(currentRoute) : {},
33344
- routes: deepClone(routes)
33343
+ currentRoute: currentRoute ? deepClone$1(currentRoute) : {},
33344
+ routes: deepClone$1(routes)
33345
33345
  };
33346
33346
  target[ROUTER_KEY] = router;
33347
33347
  console.warn = c;
@@ -36096,6 +36096,42 @@ id, setup, setupOptions) {
36096
36096
  return useStore;
36097
36097
  }
36098
36098
 
36099
+ /**
36100
+ * Creates an object of references with all the state, getters, and plugin-added
36101
+ * state properties of the store. Similar to `toRefs()` but specifically
36102
+ * designed for Pinia stores so methods and non reactive properties are
36103
+ * completely ignored.
36104
+ *
36105
+ * @param store - store to extract the refs from
36106
+ */
36107
+ function storeToRefs(store) {
36108
+ const rawStore = toRaw$1(store);
36109
+ const refs = {};
36110
+ for (const key in rawStore) {
36111
+ const value = rawStore[key];
36112
+ // There is no native method to check for a computed
36113
+ // https://github.com/vuejs/core/pull/4165
36114
+ if (value.effect) {
36115
+ // @ts-expect-error: too hard to type correctly
36116
+ refs[key] =
36117
+ // ...
36118
+ computed({
36119
+ get: () => store[key],
36120
+ set(value) {
36121
+ store[key] = value;
36122
+ },
36123
+ });
36124
+ }
36125
+ else if (isRef$1(value) || isReactive$1(value)) {
36126
+ // @ts-expect-error: the key is state or getter
36127
+ refs[key] =
36128
+ // ---
36129
+ toRef(store, key);
36130
+ }
36131
+ }
36132
+ return refs;
36133
+ }
36134
+
36099
36135
  const pinia = createPinia();
36100
36136
 
36101
36137
  const useKeepALiveNames = defineStore("keepALiveNames", {
@@ -52072,8 +52108,220 @@ const useVxeTable = (opt, extras) => {
52072
52108
  return extras ? merge(options, extras) : options;
52073
52109
  };
52074
52110
 
52111
+ /*!
52112
+ * vue-router v4.5.1
52113
+ * (c) 2025 Eduardo San Martin Morote
52114
+ * @license MIT
52115
+ */
52116
+
52117
+ var NavigationType;
52118
+ (function (NavigationType) {
52119
+ NavigationType["pop"] = "pop";
52120
+ NavigationType["push"] = "push";
52121
+ })(NavigationType || (NavigationType = {}));
52122
+ var NavigationDirection;
52123
+ (function (NavigationDirection) {
52124
+ NavigationDirection["back"] = "back";
52125
+ NavigationDirection["forward"] = "forward";
52126
+ NavigationDirection["unknown"] = "";
52127
+ })(NavigationDirection || (NavigationDirection = {}));
52128
+
52129
+ Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');
52130
+ /**
52131
+ * Enumeration with all possible types for navigation failures. Can be passed to
52132
+ * {@link isNavigationFailure} to check for specific failures.
52133
+ */
52134
+ var NavigationFailureType;
52135
+ (function (NavigationFailureType) {
52136
+ /**
52137
+ * An aborted navigation is a navigation that failed because a navigation
52138
+ * guard returned `false` or called `next(false)`
52139
+ */
52140
+ NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted";
52141
+ /**
52142
+ * A cancelled navigation is a navigation that failed because a more recent
52143
+ * navigation finished started (not necessarily finished).
52144
+ */
52145
+ NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled";
52146
+ /**
52147
+ * A duplicated navigation is a navigation that failed because it was
52148
+ * initiated while already being at the exact same location.
52149
+ */
52150
+ NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated";
52151
+ })(NavigationFailureType || (NavigationFailureType = {}));
52152
+
52153
+ /**
52154
+ * RouteRecord being rendered by the closest ancestor Router View. Used for
52155
+ * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View
52156
+ * Location Matched
52157
+ *
52158
+ * @internal
52159
+ */
52160
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');
52161
+ /**
52162
+ * Allows overriding the router view depth to control which component in
52163
+ * `matched` is rendered. rvd stands for Router View Depth
52164
+ *
52165
+ * @internal
52166
+ */
52167
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');
52168
+ /**
52169
+ * Allows overriding the router instance returned by `useRouter` in tests. r
52170
+ * stands for router
52171
+ *
52172
+ * @internal
52173
+ */
52174
+ const routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');
52175
+ /**
52176
+ * Allows overriding the current route returned by `useRoute` in tests. rl
52177
+ * stands for route location
52178
+ *
52179
+ * @internal
52180
+ */
52181
+ Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');
52182
+ /**
52183
+ * Allows overriding the current route used by router-view. Internally this is
52184
+ * used when the `route` prop is passed.
52185
+ *
52186
+ * @internal
52187
+ */
52188
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');
52189
+
52190
+ /**
52191
+ * Returns the router instance. Equivalent to using `$router` inside
52192
+ * templates.
52193
+ */
52194
+ function useRouter() {
52195
+ return inject(routerKey);
52196
+ }
52197
+
52198
+ function useTitle() {
52199
+ const stores = useThemeConfig(pinia);
52200
+ const { themeConfig } = storeToRefs(stores);
52201
+ const router = useRouter();
52202
+ nextTick(() => {
52203
+ let webTitle = "";
52204
+ let globalTitle = themeConfig.value.globalTitle;
52205
+ const { path, meta } = router.currentRoute.value;
52206
+ if (path === "/login") {
52207
+ webTitle = meta.title;
52208
+ } else {
52209
+ webTitle = setTagsViewNameI18n(router.currentRoute.value);
52210
+ }
52211
+ document.title = `${webTitle} - ${globalTitle}` || globalTitle;
52212
+ });
52213
+ }
52214
+ function setTagsViewNameI18n(item) {
52215
+ let tagsViewName = "";
52216
+ const { query, params, meta } = item;
52217
+ const i18n = useI18n();
52218
+ const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
52219
+ if (query?.tagsViewName || params?.tagsViewName) {
52220
+ if (pattern.test(query?.tagsViewName) || pattern.test(params?.tagsViewName)) {
52221
+ const urlTagsParams = query?.tagsViewName && JSON.parse(query?.tagsViewName) || params?.tagsViewName && JSON.parse(params?.tagsViewName);
52222
+ tagsViewName = urlTagsParams[i18n.locale.value];
52223
+ } else {
52224
+ tagsViewName = query?.tagsViewName || params?.tagsViewName;
52225
+ }
52226
+ } else {
52227
+ tagsViewName = i18n.t(`message.menu.${meta.title}`);
52228
+ }
52229
+ return tagsViewName;
52230
+ }
52231
+ const lazyImg = (el, arr) => {
52232
+ const io = new IntersectionObserver((res) => {
52233
+ res.forEach((v) => {
52234
+ if (v.isIntersecting) {
52235
+ const { img, key } = v.target.dataset;
52236
+ v.target.src = img;
52237
+ v.target.onload = () => {
52238
+ io.unobserve(v.target);
52239
+ arr[key]["loading"] = false;
52240
+ };
52241
+ }
52242
+ });
52243
+ });
52244
+ nextTick(() => {
52245
+ document.querySelectorAll(el).forEach((img) => io.observe(img));
52246
+ });
52247
+ };
52248
+ const globalComponentSize = () => {
52249
+ const stores = useThemeConfig(pinia);
52250
+ const { themeConfig } = storeToRefs(stores);
52251
+ return Local.get("themeConfig")?.globalComponentSize || themeConfig.value?.globalComponentSize;
52252
+ };
52253
+ function deepClone(obj) {
52254
+ let newObj;
52255
+ try {
52256
+ newObj = obj.push ? [] : {};
52257
+ } catch (error) {
52258
+ newObj = {};
52259
+ }
52260
+ for (let attr in obj) {
52261
+ if (obj[attr] && typeof obj[attr] === "object") {
52262
+ newObj[attr] = deepClone(obj[attr]);
52263
+ } else {
52264
+ newObj[attr] = obj[attr];
52265
+ }
52266
+ }
52267
+ return newObj;
52268
+ }
52269
+ function isMobile() {
52270
+ if (navigator.userAgent.match(/('phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone')/i)) {
52271
+ return true;
52272
+ } else {
52273
+ return false;
52274
+ }
52275
+ }
52276
+ function handleEmpty(list) {
52277
+ const arr = [];
52278
+ for (const i in list) {
52279
+ const d = [];
52280
+ for (const j in list[i]) {
52281
+ d.push(list[i][j]);
52282
+ }
52283
+ const leng = d.filter((item) => item === "").length;
52284
+ if (leng !== d.length) {
52285
+ arr.push(list[i]);
52286
+ }
52287
+ }
52288
+ return arr;
52289
+ }
52290
+ function handleOpenLink(val) {
52291
+ const { origin, pathname } = window.location;
52292
+ const router = useRouter();
52293
+ router.push(val.path);
52294
+ if (verifyUrl(val.meta?.isLink)) window.open(val.meta?.isLink);
52295
+ else window.open(`${origin}${pathname}#${val.meta?.isLink}`);
52296
+ }
52297
+
52298
+ const cssCdnUrlList = [
52299
+ // 调整为从本地引入,注释下面的 url
52300
+ // '//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css',
52301
+ // '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
52302
+ ];
52303
+ const jsCdnUrlList = [];
52304
+ function setCssCdn() {
52305
+ if (cssCdnUrlList.length <= 0) return false;
52306
+ cssCdnUrlList.map((v) => {
52307
+ let link = document.createElement("link");
52308
+ link.rel = "stylesheet";
52309
+ link.href = v;
52310
+ link.crossOrigin = "anonymous";
52311
+ document.getElementsByTagName("head")[0].appendChild(link);
52312
+ });
52313
+ }
52314
+ function setJsCdn() {
52315
+ if (jsCdnUrlList.length <= 0) return false;
52316
+ jsCdnUrlList.map((v) => {
52317
+ let link = document.createElement("script");
52318
+ link.src = v;
52319
+ document.body.appendChild(link);
52320
+ });
52321
+ }
52322
+
52075
52323
  const version = "1.0.0";
52076
52324
 
52077
52325
  const install = installer.install;
52078
52326
 
52079
- export { FmDragImg, FmLogin, FmNoticeBar, FmTransfer, Local, NextLoading, PUB, Session, Watermark, accessTokenKey, auth, authAll, auths, axiosInstance, base64ToFile, blobToFile, cancelAllRequest, cancelRequest, clearAccessTokens, clearTokens, clone, dataURLtoBlob, decryptJWT, installer as default, directive, downloadByBase64, downloadByData, downloadByOnlineUrl, downloadByUrl, downloadStreamFile, elSvg, feature, fileToBase64, formatAxis, formatDate, formatPast, getCountryCode, getFileName, getFileUrl, getJWTDate, getToken, getWeek, hAuth, hAuthAll, hAuths, i18n, install, isObjectValueEqual, iso_3166_1_CountryList, judgementIdCard, judgementSameArr, languageList, mergMessage, openWindow, pinia, refreshAccessTokenKey, removeDuplicate, request2, service, setupI18n, signatureByKSort, tansParams, urlToBase64, useBaseApi, useChangeColor, useDateTimeShortCust, useKeepALiveNames, useLoginApi, useRequestOldRoutes, useRoutesList, useSysApi, useTagsViewRoutes, useThemeConfig, useUserInfo, useVxeTable, verifiyNumberInteger, verifyAccount, verifyAndSpace, verifyCarNum, verifyCnAndSpace, verifyEmail, verifyEnAndSpace, verifyFullName, verifyIPAddress, verifyIdCard, verifyNumberCnUppercase, verifyNumberComma, verifyNumberIntegerAndFloat, verifyNumberPercentage, verifyNumberPercentageFloat, verifyPassword, verifyPasswordPowerful, verifyPasswordStrength, verifyPhone, verifyPostalCode, verifyTelPhone, verifyTextColor, verifyUrl, version };
52327
+ export { FmDragImg, FmLogin, FmNoticeBar, FmTransfer, Local, NextLoading, PUB, Session, Watermark, accessTokenKey, auth, authAll, auths, axiosInstance, base64ToFile, blobToFile, cancelAllRequest, cancelRequest, clearAccessTokens, clearTokens, clone, dataURLtoBlob, decryptJWT, deepClone, installer as default, directive, downloadByBase64, downloadByData, downloadByOnlineUrl, downloadByUrl, downloadStreamFile, elSvg, feature, fileToBase64, formatAxis, formatDate, formatPast, getCountryCode, getFileName, getFileUrl, getJWTDate, getToken, getWeek, globalComponentSize, hAuth, hAuthAll, hAuths, handleEmpty, handleOpenLink, i18n, install, isMobile, isObjectValueEqual, iso_3166_1_CountryList, judgementIdCard, judgementSameArr, languageList, lazyImg, mergMessage, openWindow, pinia, refreshAccessTokenKey, removeDuplicate, request2, service, setCssCdn, setJsCdn, setTagsViewNameI18n, setupI18n, signatureByKSort, tansParams, urlToBase64, useBaseApi, useChangeColor, useDateTimeShortCust, useKeepALiveNames, useLoginApi, useRequestOldRoutes, useRoutesList, useSysApi, useTagsViewRoutes, useThemeConfig, useTitle, useUserInfo, useVxeTable, verifiyNumberInteger, verifyAccount, verifyAndSpace, verifyCarNum, verifyCnAndSpace, verifyEmail, verifyEnAndSpace, verifyFullName, verifyIPAddress, verifyIdCard, verifyNumberCnUppercase, verifyNumberComma, verifyNumberIntegerAndFloat, verifyNumberPercentage, verifyNumberPercentageFloat, verifyPassword, verifyPasswordPowerful, verifyPasswordStrength, verifyPhone, verifyPostalCode, verifyTelPhone, verifyTextColor, verifyUrl, version };
package/lib/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { default as installer } from './defaults';
2
2
  import { App } from 'vue';
3
3
  export * from './core';
4
+ export * from './core/utils/other';
5
+ export * from './core/utils/emit';
6
+ export * from './core/utils/comm/setIconfont';
4
7
  export { version } from './version';
5
8
  export declare const install: (app: App) => void;
6
9
  export default installer;
package/lib/index.js CHANGED
@@ -4,6 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var defaults = require('./defaults.js');
6
6
  require('./packages/core/index.js');
7
+ var index$f = require('./packages/core/utils/other/index.js');
8
+ require('./packages/core/utils/emit/index.js');
9
+ var setIconfont = require('./packages/core/utils/comm/setIconfont.js');
7
10
  var version = require('./version.js');
8
11
  var index = require('./packages/core/ui/components/index.js');
9
12
  var index$1 = require('./packages/core/ui/components/svgIcon/index.js');
@@ -40,6 +43,16 @@ var useVxeTableOptionsHook = require('./packages/core/hook/useVxeTableOptionsHoo
40
43
  const install = defaults.default.install;
41
44
 
42
45
  exports.default = defaults.default;
46
+ exports.deepClone = index$f.deepClone;
47
+ exports.globalComponentSize = index$f.globalComponentSize;
48
+ exports.handleEmpty = index$f.handleEmpty;
49
+ exports.handleOpenLink = index$f.handleOpenLink;
50
+ exports.isMobile = index$f.isMobile;
51
+ exports.lazyImg = index$f.lazyImg;
52
+ exports.setTagsViewNameI18n = index$f.setTagsViewNameI18n;
53
+ exports.useTitle = index$f.useTitle;
54
+ exports.setCssCdn = setIconfont.setCssCdn;
55
+ exports.setJsCdn = setIconfont.setJsCdn;
43
56
  exports.version = version.version;
44
57
  exports.FmDragImg = index.FmDragImg;
45
58
  exports.FmNoticeBar = index.FmNoticeBar;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fmdevui/fm-dev",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "Page level components developed based on Element Plus.",
5
5
  "author": "fmdevui",
6
6
  "keywords": [
@@ -1,10 +1,10 @@
1
1
  [data-v-11ae0e31] .el-scrollbar{height:calc(100% - 50px)}
2
2
  .layout-navbars-container[data-v-f2e6c18a]{display:flex;flex-direction:column;height:100%;width:100%}
3
3
  [data-v-194b61e4] .el-input-group__append{background:var(--el-color-white);padding:0 15px}[data-v-194b61e4] .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset!important}[data-v-194b61e4] .el-input__inner{border-right-color:var(--el-border-color-extra-light);&:hover{border-color:var(--el-border-color-extra-light)}}
4
- [data-v-23b3f8c6] .el-breadcrumb__separator{color:var(--next-bg-topBarColor);opacity:.7}[data-v-23b3f8c6] .el-breadcrumb__inner a{color:var(--next-bg-topBarColor);font-weight:unset!important;&:hover{color:var(--el-color-primary)!important}}
5
4
  [data-v-f1b73dc9] #color-box{.el-dialog__body{padding:0!important}}
6
- [data-v-2056b616] .el-drawer__body{display:flex;flex-direction:column;height:100%;padding:5px}.full-table{&[data-v-2056b616]{flex:1}[data-v-2056b616] .el-card__body{display:flex;flex-direction:column;height:100%}}
7
5
  [data-v-04609759] .el-dialog__body{min-height:700px!important}
8
6
  .editor-container{overflow-y:hidden;.w-e-bar-item{.w-e-select-list{height:150px;z-index:10!important}}.w-e-toolbar{flex-wrap:wrap;z-index:4!important}.w-e-menu{z-index:auto!important;.w-e-droplist{z-index:2!important}}}
7
+ [data-v-23b3f8c6] .el-breadcrumb__separator{color:var(--next-bg-topBarColor);opacity:.7}[data-v-23b3f8c6] .el-breadcrumb__inner a{color:var(--next-bg-topBarColor);font-weight:unset!important;&:hover{color:var(--el-color-primary)!important}}
8
+ [data-v-2056b616] .el-drawer__body{display:flex;flex-direction:column;height:100%;padding:5px}.full-table{&[data-v-2056b616]{flex:1}[data-v-2056b616] .el-card__body{display:flex;flex-direction:column;height:100%}}
9
9
  :host,:root{--w-e-textarea-bg-color:#fff;--w-e-textarea-color:#333;--w-e-textarea-border-color:#ccc;--w-e-textarea-slight-border-color:#e8e8e8;--w-e-textarea-slight-color:#d4d4d4;--w-e-textarea-slight-bg-color:#f5f2f0;--w-e-textarea-selected-border-color:#b4d5ff;--w-e-textarea-handler-bg-color:#4290f7;--w-e-toolbar-color:#595959;--w-e-toolbar-bg-color:#fff;--w-e-toolbar-active-color:#333;--w-e-toolbar-active-bg-color:#f1f1f1;--w-e-toolbar-disabled-color:#999;--w-e-toolbar-border-color:#e8e8e8;--w-e-modal-button-bg-color:#fafafa;--w-e-modal-button-border-color:#d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;padding:5px 10px;text-align:center;top:40px;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after,.w-e-menu-tooltip-v5:before{opacity:0;position:absolute;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";top:30px}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal button,.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color)}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{background-color:var(--w-e-toolbar-bg-color);font-feature-settings:"tnum";font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px 3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px 3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px 3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px 4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [contenteditable=false] .w-e-image-container:hover,.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}
10
10
  .drag_verify[data-v-9e8c9ed2]{background-color:#e8e8e8;overflow:hidden;position:relative;text-align:center}.drag_verify .dv_handler[data-v-9e8c9ed2]{cursor:move;left:0;position:absolute;top:0}.drag_verify .dv_handler i[data-v-9e8c9ed2]{color:#666;font-size:16px;padding-left:0}.drag_verify .dv_handler .el-icon-circle-check[data-v-9e8c9ed2]{color:#6c6;margin-top:9px}.drag_verify .dv_progress_bar[data-v-9e8c9ed2]{height:34px;position:absolute;width:0}.drag_verify .dv_text[data-v-9e8c9ed2]{background:-webkit-gradient(linear,left top,right top,color-stop(0,var(--textColor)),color-stop(.4,var(--textColor)),color-stop(.5,#fff),color-stop(.6,var(--textColor)),color-stop(1,var(--textColor)));-webkit-background-clip:text;color:transparent;position:absolute;top:0;-moz-user-select:none;-webkit-user-select:none;user-select:none;-o-user-select:none;-ms-user-select:none;-webkit-text-fill-color:transparent;-webkit-text-size-adjust:none;animation:slidetounlock 3s infinite}.drag_verify .dv_text[data-v-9e8c9ed2] *{-webkit-text-fill-color:var(--textColor)}.goFirst[data-v-9e8c9ed2]{left:0!important;transition:left .5s}.goOrigin[data-v-9e8c9ed2]{transition:transform .5s}.goKeep[data-v-9e8c9ed2]{transition:left .2s}.goFirst2[data-v-9e8c9ed2]{transition:width .5s;width:0!important}.drag-verify-container[data-v-9e8c9ed2]{border-radius:50%;line-height:0;position:relative}.move-bar[data-v-9e8c9ed2]{position:absolute;z-index:100}.clip-bar[data-v-9e8c9ed2]{background:hsla(0,0%,100%,.8);position:absolute}.refresh[data-v-9e8c9ed2]{cursor:pointer;font-size:20px;position:absolute;right:5px;top:5px;z-index:200}.tips[data-v-9e8c9ed2]{bottom:25px;font-size:12px;height:20px;line-height:20px;position:absolute;text-align:center;width:100%;z-index:200}.tips.success[data-v-9e8c9ed2]{background:hsla(0,0%,100%,.6);color:green}.tips.danger[data-v-9e8c9ed2]{background:rgba(0,0,0,.6);color:#ff0}.check-img[data-v-9e8c9ed2]{border-radius:50%;width:100%}