vue-element-ui-x 0.1.7-beta → 0.1.9-beta

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.
@@ -199,7 +199,7 @@ function normalizeComponent(
199
199
  // ESM COMPAT FLAG
200
200
  __webpack_require__.r(__webpack_exports__);
201
201
 
202
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=template&id=4f88f26a&scoped=true
202
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=template&id=4c699dac&scoped=true
203
203
  var render = function render() {
204
204
  var _vm = this,
205
205
  _c = _vm._self._c;
@@ -220,12 +220,10 @@ var render = function render() {
220
220
  attrs: {
221
221
  action: _vm.uploadAction,
222
222
  "http-request": _vm.customUpload,
223
- "show-file-list": false
224
- },
225
- on: {
226
- change: _vm.handleUploadChange,
227
- success: _vm.handleUploadSuccess,
228
- error: _vm.handleUploadError
223
+ "show-file-list": false,
224
+ "on-change": _vm.handleUploadChange,
225
+ "on-success": _vm.handleUploadSuccess,
226
+ "on-error": _vm.handleUploadError
229
227
  }
230
228
  }, "el-upload", _vm.$attrs, false), [_c("i", {
231
229
  staticClass: "el-icon-plus uploader-icon"
@@ -295,12 +293,10 @@ var render = function render() {
295
293
  attrs: {
296
294
  action: _vm.uploadAction,
297
295
  "http-request": _vm.customUpload,
298
- "show-file-list": false
299
- },
300
- on: {
301
- change: _vm.handleUploadChange,
302
- success: _vm.handleUploadSuccess,
303
- error: _vm.handleUploadError
296
+ "show-file-list": false,
297
+ "on-change": _vm.handleUploadChange,
298
+ "on-success": _vm.handleUploadSuccess,
299
+ "on-error": _vm.handleUploadError
304
300
  }
305
301
  }, "el-upload", _vm.$attrs, false), [_c("i", {
306
302
  staticClass: "el-icon-plus uploader-icon"
@@ -354,7 +350,7 @@ var render = function render() {
354
350
  var staticRenderFns = [];
355
351
  render._withStripped = true;
356
352
 
357
- // CONCATENATED MODULE: ./src/components/Attachments/src/main.vue?vue&type=template&id=4f88f26a&scoped=true
353
+ // CONCATENATED MODULE: ./src/components/Attachments/src/main.vue?vue&type=template&id=4c699dac&scoped=true
358
354
 
359
355
  // EXTERNAL MODULE: ./src/components/FilesCard/index.js + 58 modules
360
356
  var FilesCard = __webpack_require__(27);
@@ -540,7 +536,7 @@ var FilesCard = __webpack_require__(27);
540
536
  const {
541
537
  file
542
538
  } = options;
543
- this.$emit('uploadChange', {
539
+ this.$emit('upload-change', {
544
540
  file
545
541
  }, [file]);
546
542
 
@@ -553,13 +549,13 @@ var FilesCard = __webpack_require__(27);
553
549
  return Promise.resolve();
554
550
  },
555
551
  handleUploadChange(file, fileList) {
556
- this.$emit('uploadChange', file, fileList);
552
+ this.$emit('upload-change', file, fileList);
557
553
  },
558
554
  handleUploadSuccess(response, file, fileList) {
559
- this.$emit('uploadSuccess', response, file, fileList);
555
+ this.$emit('upload-success', response, file, fileList);
560
556
  },
561
557
  handleUploadError(error, file, fileList) {
562
- this.$emit('uploadError', error, file, fileList);
558
+ this.$emit('upload-error', error, file, fileList);
563
559
  },
564
560
  getTargetElement() {
565
561
  if (!this.dragTarget) return this.$refs.wrapperRef;
@@ -710,10 +706,10 @@ var FilesCard = __webpack_require__(27);
710
706
  var injectStylesIntoStyleTag = __webpack_require__(3);
711
707
  var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
712
708
 
713
- // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4f88f26a&prod&lang=scss&scoped=true
714
- var mainvue_type_style_index_0_id_4f88f26a_prod_lang_scss_scoped_true = __webpack_require__(85);
709
+ // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4c699dac&prod&lang=scss&scoped=true
710
+ var mainvue_type_style_index_0_id_4c699dac_prod_lang_scss_scoped_true = __webpack_require__(85);
715
711
 
716
- // CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4f88f26a&prod&lang=scss&scoped=true
712
+ // CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4c699dac&prod&lang=scss&scoped=true
717
713
 
718
714
 
719
715
 
@@ -722,12 +718,12 @@ var options = {};
722
718
  options.insert = "head";
723
719
  options.singleton = false;
724
720
 
725
- var update = injectStylesIntoStyleTag_default()(mainvue_type_style_index_0_id_4f88f26a_prod_lang_scss_scoped_true["a" /* default */], options);
721
+ var update = injectStylesIntoStyleTag_default()(mainvue_type_style_index_0_id_4c699dac_prod_lang_scss_scoped_true["a" /* default */], options);
726
722
 
727
723
 
728
724
 
729
- /* harmony default export */ var src_mainvue_type_style_index_0_id_4f88f26a_prod_lang_scss_scoped_true = (mainvue_type_style_index_0_id_4f88f26a_prod_lang_scss_scoped_true["a" /* default */].locals || {});
730
- // CONCATENATED MODULE: ./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4f88f26a&prod&lang=scss&scoped=true
725
+ /* harmony default export */ var src_mainvue_type_style_index_0_id_4c699dac_prod_lang_scss_scoped_true = (mainvue_type_style_index_0_id_4c699dac_prod_lang_scss_scoped_true["a" /* default */].locals || {});
726
+ // CONCATENATED MODULE: ./src/components/Attachments/src/main.vue?vue&type=style&index=0&id=4c699dac&prod&lang=scss&scoped=true
731
727
 
732
728
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
733
729
  var componentNormalizer = __webpack_require__(0);
@@ -747,7 +743,7 @@ var component = Object(componentNormalizer["a" /* default */])(
747
743
  staticRenderFns,
748
744
  false,
749
745
  null,
750
- "4f88f26a",
746
+ "4c699dac",
751
747
  null
752
748
 
753
749
  )
@@ -847,7 +843,7 @@ module.exports = function (cssWithMappingToString) {
847
843
 
848
844
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
849
845
  // Module
850
- ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-10b2c201]{width:fit-content;padding:12px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;border-radius:8px;position:relative;background:rgba(0,0,0,.06);max-width:var(--elx-files-card-max-width)}.el-x-filescard .el-x-filescard-progress[data-v-10b2c201]{position:absolute;top:0;left:0;bottom:0;background:rgba(0,0,0,.08);border-radius:8px;transition:width .2s ease}.el-x-filescard .el-x-filescard-delete-icon[data-v-10b2c201]{position:absolute;top:-8px;right:-6px;cursor:pointer;color:rgba(0,0,0,.4);display:none}.el-x-filescard .el-x-filescard-delete-icon[data-v-10b2c201]:hover{color:#ff4d4f}.el-x-filescard:hover .el-x-filescard-delete-icon[data-v-10b2c201]{display:block}.el-x-filescard-square[data-v-10b2c201]{padding:0;margin:0}.el-x-filescard-icon[data-v-10b2c201]{flex:none;font-size:var(--elx-files-card-icon-size)}.el-x-filescard-img[data-v-10b2c201]{flex:none;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);border-radius:8px;object-fit:cover}.el-x-filescard-content[data-v-10b2c201]{flex:auto;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.el-x-filescard-content .el-x-filescard-name[data-v-10b2c201]{display:flex;flex-wrap:nowrap;max-width:100%;font-size:14px}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-prefix[data-v-10b2c201]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-suffix[data-v-10b2c201]{flex:none}.el-x-filescard-content .el-x-filescard-description[data-v-10b2c201]{flex:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(0,0,0,.4);font-size:12px}.el-x-filescard-content .el-x-filescard-description-error[data-v-10b2c201]{color:#ff4d4f}.image-preview-container[data-v-10b2c201]{position:relative;padding:0px;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);display:inline-block;border-radius:8px;overflow:hidden;transition:all .3s}.image-preview-container .preview-mask[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;opacity:0;background:rgba(0,0,0,.65);color:#fff;font-size:10px;transition:opacity .3s}.image-preview-container .preview-mask .el-icon-view[data-v-10b2c201]{font-size:10px;margin-right:2px;display:flex;align-items:center;height:100%;margin-top:2px}.image-preview-container .preview-mask[data-v-10b2c201]:hover{opacity:1;transition:opacity .3s;cursor:pointer}.image-preview-container-square .preview-mask[data-v-10b2c201]{font-size:14px}.image-preview-container-square .preview-mask .el-icon-view[data-v-10b2c201]{font-size:12px}.preview-mask-loading[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.65);color:#fff;transition:all .3s}.preview-mask-loading .circle-progress[data-v-10b2c201]{width:100% !important;height:100% !important;display:flex;justify-content:center;align-items:center}.preview-mask-loading .circle-progress .el-progress-circle[data-v-10b2c201]{width:calc(100% - 12px) !important;height:calc(100% - 12px) !important}.preview-mask-loading .circle-progress .el-progress-circle svg>path[data-v-10b2c201]:nth-child(1){stroke:hsla(0,0%,100%,.2);stroke-width:8px}.preview-mask-loading .circle-progress .el-progress__text[data-v-10b2c201]{color:#fff;font-size:14px}.preview-mask-error[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.5);font-size:12px;transition:all .3s;color:#ff4d4f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-image-viewer__progress[data-v-10b2c201]{display:none}.fade-enter-active[data-v-10b2c201],.fade-leave-active[data-v-10b2c201]{transition:opacity .3s}.fade-enter-from[data-v-10b2c201],.fade-leave-to[data-v-10b2c201]{opacity:0}", ""]);
846
+ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-28b3b638]{width:fit-content;padding:12px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;border-radius:8px;position:relative;background:rgba(0,0,0,.06);max-width:var(--elx-files-card-max-width)}.el-x-filescard .el-x-filescard-progress[data-v-28b3b638]{position:absolute;top:0;left:0;bottom:0;background:rgba(0,0,0,.08);border-radius:8px;transition:width .2s ease}.el-x-filescard .el-x-filescard-delete-icon[data-v-28b3b638]{position:absolute;top:-8px;right:-6px;cursor:pointer;color:rgba(0,0,0,.4);display:none}.el-x-filescard .el-x-filescard-delete-icon[data-v-28b3b638]:hover{color:#ff4d4f}.el-x-filescard:hover .el-x-filescard-delete-icon[data-v-28b3b638]{display:block}.el-x-filescard-square[data-v-28b3b638]{padding:0;margin:0}.el-x-filescard-icon[data-v-28b3b638]{flex:none;font-size:var(--elx-files-card-icon-size)}.el-x-filescard-img[data-v-28b3b638]{flex:none;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);border-radius:8px;object-fit:cover}.el-x-filescard-content[data-v-28b3b638]{flex:auto;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.el-x-filescard-content .el-x-filescard-name[data-v-28b3b638]{display:flex;flex-wrap:nowrap;max-width:100%;font-size:14px}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-prefix[data-v-28b3b638]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-suffix[data-v-28b3b638]{flex:none}.el-x-filescard-content .el-x-filescard-description[data-v-28b3b638]{flex:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(0,0,0,.4);font-size:12px}.el-x-filescard-content .el-x-filescard-description-error[data-v-28b3b638]{color:#ff4d4f}.image-preview-container[data-v-28b3b638]{position:relative;padding:0px;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);display:inline-block;border-radius:8px;overflow:hidden;transition:all .3s}.image-preview-container .preview-mask[data-v-28b3b638]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;opacity:0;background:rgba(0,0,0,.65);color:#fff;font-size:10px;transition:opacity .3s}.image-preview-container .preview-mask .el-icon-view[data-v-28b3b638]{font-size:10px;margin-right:2px;display:flex;align-items:center;height:100%;margin-top:2px}.image-preview-container .preview-mask[data-v-28b3b638]:hover{opacity:1;transition:opacity .3s;cursor:pointer}.image-preview-container-square .preview-mask[data-v-28b3b638]{font-size:14px}.image-preview-container-square .preview-mask .el-icon-view[data-v-28b3b638]{font-size:12px}.preview-mask-loading[data-v-28b3b638]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.65);color:#fff;transition:all .3s}.preview-mask-loading .circle-progress[data-v-28b3b638]{width:100% !important;height:100% !important;display:flex;justify-content:center;align-items:center}.preview-mask-loading .circle-progress .el-progress-circle[data-v-28b3b638]{width:calc(100% - 12px) !important;height:calc(100% - 12px) !important}.preview-mask-loading .circle-progress .el-progress-circle svg>path[data-v-28b3b638]:nth-child(1){stroke:hsla(0,0%,100%,.2);stroke-width:8px}.preview-mask-loading .circle-progress .el-progress__text[data-v-28b3b638]{color:#fff;font-size:14px}.preview-mask-error[data-v-28b3b638]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.5);font-size:12px;transition:all .3s;color:#ff4d4f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-image-viewer__progress[data-v-28b3b638]{display:none}.fade-enter-active[data-v-28b3b638],.fade-leave-active[data-v-28b3b638]{transition:opacity .3s}.fade-enter-from[data-v-28b3b638],.fade-leave-to[data-v-28b3b638]{opacity:0}", ""]);
851
847
  // Exports
852
848
  /* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
853
849
 
@@ -861,7 +857,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-10b2c201]{width:
861
857
  // ESM COMPAT FLAG
862
858
  __webpack_require__.r(__webpack_exports__);
863
859
 
864
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=template&id=10b2c201&scoped=true
860
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=template&id=28b3b638&scoped=true
865
861
  var render = function render() {
866
862
  var _vm = this,
867
863
  _c = _vm._self._c;
@@ -918,13 +914,11 @@ var render = function render() {
918
914
  staticClass: "el-x-filescard-img",
919
915
  attrs: {
920
916
  src: _vm._previewImgUrl,
921
- "preview-src-list": _vm.imgPreview ? [_vm._previewImgUrl] : [],
922
- fit: "cover",
923
- "show-progress": false,
924
- "hide-on-click-modal": ""
917
+ "preview-src-list": _vm._previewImgUrl ? [_vm._previewImgUrl] : [],
918
+ fit: "cover"
925
919
  },
926
920
  on: {
927
- show: function ($event) {
921
+ click: function ($event) {
928
922
  return _vm.handlePreviewAction("self");
929
923
  }
930
924
  }
@@ -1030,8 +1024,201 @@ var render = function render() {
1030
1024
  var staticRenderFns = [];
1031
1025
  render._withStripped = true;
1032
1026
 
1033
- // CONCATENATED MODULE: ./src/components/FilesCard/src/main.vue?vue&type=template&id=10b2c201&scoped=true
1027
+ // CONCATENATED MODULE: ./src/components/FilesCard/src/main.vue?vue&type=template&id=28b3b638&scoped=true
1028
+
1029
+ // CONCATENATED MODULE: ./src/utils/index.js
1030
+ /**
1031
+ * 判断文件类型是否为图片
1032
+ * @param {string} type 文件类型
1033
+ * @returns {boolean} 是否为图片类型
1034
+ */
1035
+ const isImageFileType = type => type.indexOf('image/') === 0;
1036
+ const MEASURE_SIZE = 200;
1037
+
1038
+ /**
1039
+ * 预览图片文件并生成预览URL
1040
+ * @param {File|Blob} file 图片文件对象
1041
+ * @returns {Promise<string>} 返回图片预览URL的Promise
1042
+ */
1043
+ function previewImage(file) {
1044
+ return new Promise(resolve => {
1045
+ if (!file || !file.type || !isImageFileType(file.type)) {
1046
+ resolve('');
1047
+ return;
1048
+ }
1049
+ const img = new Image();
1050
+ img.onload = () => {
1051
+ const {
1052
+ width,
1053
+ height
1054
+ } = img;
1055
+ const ratio = width / height;
1056
+ const MEASURE_SIZE_WIDTH = ratio > 1 ? MEASURE_SIZE : MEASURE_SIZE * ratio;
1057
+ const MEASURE_SIZE_HEIGHT = ratio > 1 ? MEASURE_SIZE / ratio : MEASURE_SIZE;
1058
+ const canvas = document.createElement('canvas');
1059
+ canvas.width = MEASURE_SIZE_WIDTH;
1060
+ canvas.height = MEASURE_SIZE_HEIGHT;
1061
+ canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE_WIDTH}px; height: ${MEASURE_SIZE_HEIGHT}px; z-index: 9999; display: none;`;
1062
+ document.body.appendChild(canvas);
1063
+ const ctx = canvas.getContext('2d');
1064
+ ctx.drawImage(img, 0, 0, MEASURE_SIZE_WIDTH, MEASURE_SIZE_HEIGHT);
1065
+ const dataURL = canvas.toDataURL();
1066
+ document.body.removeChild(canvas);
1067
+ window.URL.revokeObjectURL(img.src);
1068
+ resolve(dataURL);
1069
+ };
1070
+ img.crossOrigin = 'anonymous';
1071
+ if (file.type.startsWith('image/svg+xml')) {
1072
+ const reader = new FileReader();
1073
+ reader.onload = () => {
1074
+ if (reader.result && typeof reader.result === 'string') {
1075
+ img.src = reader.result;
1076
+ }
1077
+ };
1078
+ reader.readAsDataURL(file);
1079
+ } else if (file.type.startsWith('image/gif')) {
1080
+ const reader = new FileReader();
1081
+ reader.onload = () => {
1082
+ if (reader.result) {
1083
+ resolve(reader.result);
1084
+ }
1085
+ };
1086
+ reader.readAsDataURL(file);
1087
+ } else {
1088
+ img.src = window.URL.createObjectURL(file);
1089
+ }
1090
+ });
1091
+ }
1034
1092
 
1093
+ /**
1094
+ * 根据文件后缀名获取文件类型
1095
+ * @param {string} fileExtension 文件后缀名
1096
+ * @returns {{lowerCase: string, upperCase: string}} 返回文件类型对象
1097
+ */
1098
+ function getFileType(fileExtension) {
1099
+ // 去除后缀名开头的点,并转换为小写
1100
+ const cleanExtension = fileExtension.replace('.', '').toLowerCase();
1101
+ if (!cleanExtension) {
1102
+ return {
1103
+ lowerCase: 'unknown',
1104
+ upperCase: 'Unknown'
1105
+ };
1106
+ }
1107
+ const imageExtensions = ['png', 'jpg', 'jpeg', 'gif', 'bmp', 'svg', 'webp'];
1108
+ const wordExtensions = ['doc', 'docx'];
1109
+ const excelExtensions = ['xls', 'xlsx'];
1110
+ const pptExtensions = ['ppt', 'pptx'];
1111
+ const audioExtensions = ['mp3', 'wav', 'ogg', 'flac'];
1112
+ const videoExtensions = ['mp4', 'avi', 'mov', 'mkv'];
1113
+ const codeExtensions = ['js', 'ts', 'html', 'css', 'py', 'java', 'c', 'cpp', 'json', 'php'];
1114
+ const databaseExtensions = ['sql', 'db', 'sqlite'];
1115
+ const zipExtensions = ['zip', 'rar', '7z'];
1116
+ const markExtensions = ['md', 'mdx'];
1117
+ if (imageExtensions.includes(cleanExtension)) {
1118
+ return {
1119
+ lowerCase: 'image',
1120
+ upperCase: 'Image'
1121
+ };
1122
+ }
1123
+ if (wordExtensions.includes(cleanExtension)) {
1124
+ return {
1125
+ lowerCase: 'word',
1126
+ upperCase: 'Word'
1127
+ };
1128
+ }
1129
+ if (excelExtensions.includes(cleanExtension)) {
1130
+ return {
1131
+ lowerCase: 'excel',
1132
+ upperCase: 'Excel'
1133
+ };
1134
+ }
1135
+ if (pptExtensions.includes(cleanExtension)) {
1136
+ return {
1137
+ lowerCase: 'ppt',
1138
+ upperCase: 'Ppt'
1139
+ };
1140
+ }
1141
+ if (cleanExtension === 'pdf') {
1142
+ return {
1143
+ lowerCase: 'pdf',
1144
+ upperCase: 'Pdf'
1145
+ };
1146
+ }
1147
+ if (cleanExtension === 'txt') {
1148
+ return {
1149
+ lowerCase: 'txt',
1150
+ upperCase: 'Txt'
1151
+ };
1152
+ }
1153
+ if (markExtensions.includes(cleanExtension)) {
1154
+ return {
1155
+ lowerCase: 'mark',
1156
+ upperCase: 'Markdown'
1157
+ };
1158
+ }
1159
+ if (audioExtensions.includes(cleanExtension)) {
1160
+ return {
1161
+ lowerCase: 'audio',
1162
+ upperCase: 'Audio'
1163
+ };
1164
+ }
1165
+ if (videoExtensions.includes(cleanExtension)) {
1166
+ return {
1167
+ lowerCase: 'video',
1168
+ upperCase: 'Video'
1169
+ };
1170
+ }
1171
+ if (codeExtensions.includes(cleanExtension)) {
1172
+ return {
1173
+ lowerCase: 'code',
1174
+ upperCase: 'Code'
1175
+ };
1176
+ }
1177
+ if (databaseExtensions.includes(cleanExtension)) {
1178
+ return {
1179
+ lowerCase: 'database',
1180
+ upperCase: 'Database'
1181
+ };
1182
+ }
1183
+ if (cleanExtension === 'lnk') {
1184
+ return {
1185
+ lowerCase: 'link',
1186
+ upperCase: 'Link'
1187
+ };
1188
+ }
1189
+ if (zipExtensions.includes(cleanExtension)) {
1190
+ return {
1191
+ lowerCase: 'zip',
1192
+ upperCase: 'Zip'
1193
+ };
1194
+ }
1195
+ if (cleanExtension === 'obj' || cleanExtension === 'fbx' || cleanExtension === 'glb') {
1196
+ return {
1197
+ lowerCase: 'three',
1198
+ upperCase: '3D'
1199
+ };
1200
+ }
1201
+ return {
1202
+ lowerCase: 'file',
1203
+ upperCase: 'File'
1204
+ };
1205
+ }
1206
+
1207
+ /**
1208
+ * 获取文件大小
1209
+ * @param {number} size 文件大小
1210
+ * @returns {string} 返回文件大小
1211
+ */
1212
+ function getSize(size) {
1213
+ let retSize = size;
1214
+ const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'];
1215
+ let unitIndex = 0;
1216
+ while (retSize >= 1024 && unitIndex < units.length - 1) {
1217
+ retSize /= 1024;
1218
+ unitIndex++;
1219
+ }
1220
+ return `${retSize.toFixed(0)} ${units[unitIndex]}`;
1221
+ }
1035
1222
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/fileSvg/audio.vue?vue&type=template&id=70981d96
1036
1223
  var audiovue_type_template_id_70981d96_render = function render() {
1037
1224
  var _vm = this,
@@ -2270,199 +2457,6 @@ const colorMap = {
2270
2457
  file: '#FFC757',
2271
2458
  unknown: '#6E9DA4'
2272
2459
  };
2273
- // CONCATENATED MODULE: ./src/utils/index.js
2274
- /**
2275
- * 判断文件类型是否为图片
2276
- * @param {string} type 文件类型
2277
- * @returns {boolean} 是否为图片类型
2278
- */
2279
- const isImageFileType = type => type.indexOf('image/') === 0;
2280
- const MEASURE_SIZE = 200;
2281
-
2282
- /**
2283
- * 预览图片文件并生成预览URL
2284
- * @param {File|Blob} file 图片文件对象
2285
- * @returns {Promise<string>} 返回图片预览URL的Promise
2286
- */
2287
- function previewImage(file) {
2288
- return new Promise(resolve => {
2289
- if (!file || !file.type || !isImageFileType(file.type)) {
2290
- resolve('');
2291
- return;
2292
- }
2293
- const img = new Image();
2294
- img.onload = () => {
2295
- const {
2296
- width,
2297
- height
2298
- } = img;
2299
- const ratio = width / height;
2300
- const MEASURE_SIZE_WIDTH = ratio > 1 ? MEASURE_SIZE : MEASURE_SIZE * ratio;
2301
- const MEASURE_SIZE_HEIGHT = ratio > 1 ? MEASURE_SIZE / ratio : MEASURE_SIZE;
2302
- const canvas = document.createElement('canvas');
2303
- canvas.width = MEASURE_SIZE_WIDTH;
2304
- canvas.height = MEASURE_SIZE_HEIGHT;
2305
- canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE_WIDTH}px; height: ${MEASURE_SIZE_HEIGHT}px; z-index: 9999; display: none;`;
2306
- document.body.appendChild(canvas);
2307
- const ctx = canvas.getContext('2d');
2308
- ctx.drawImage(img, 0, 0, MEASURE_SIZE_WIDTH, MEASURE_SIZE_HEIGHT);
2309
- const dataURL = canvas.toDataURL();
2310
- document.body.removeChild(canvas);
2311
- window.URL.revokeObjectURL(img.src);
2312
- resolve(dataURL);
2313
- };
2314
- img.crossOrigin = 'anonymous';
2315
- if (file.type.startsWith('image/svg+xml')) {
2316
- const reader = new FileReader();
2317
- reader.onload = () => {
2318
- if (reader.result && typeof reader.result === 'string') {
2319
- img.src = reader.result;
2320
- }
2321
- };
2322
- reader.readAsDataURL(file);
2323
- } else if (file.type.startsWith('image/gif')) {
2324
- const reader = new FileReader();
2325
- reader.onload = () => {
2326
- if (reader.result) {
2327
- resolve(reader.result);
2328
- }
2329
- };
2330
- reader.readAsDataURL(file);
2331
- } else {
2332
- img.src = window.URL.createObjectURL(file);
2333
- }
2334
- });
2335
- }
2336
-
2337
- /**
2338
- * 根据文件后缀名获取文件类型
2339
- * @param {string} fileExtension 文件后缀名
2340
- * @returns {{lowerCase: string, upperCase: string}} 返回文件类型对象
2341
- */
2342
- function getFileType(fileExtension) {
2343
- // 去除后缀名开头的点,并转换为小写
2344
- const cleanExtension = fileExtension.replace('.', '').toLowerCase();
2345
- if (!cleanExtension) {
2346
- return {
2347
- lowerCase: 'unknown',
2348
- upperCase: 'Unknown'
2349
- };
2350
- }
2351
- const imageExtensions = ['png', 'jpg', 'jpeg', 'gif', 'bmp', 'svg', 'webp'];
2352
- const wordExtensions = ['doc', 'docx'];
2353
- const excelExtensions = ['xls', 'xlsx'];
2354
- const pptExtensions = ['ppt', 'pptx'];
2355
- const audioExtensions = ['mp3', 'wav', 'ogg', 'flac'];
2356
- const videoExtensions = ['mp4', 'avi', 'mov', 'mkv'];
2357
- const codeExtensions = ['js', 'ts', 'html', 'css', 'py', 'java', 'c', 'cpp', 'json', 'php'];
2358
- const databaseExtensions = ['sql', 'db', 'sqlite'];
2359
- const zipExtensions = ['zip', 'rar', '7z'];
2360
- const markExtensions = ['md', 'mdx'];
2361
- if (imageExtensions.includes(cleanExtension)) {
2362
- return {
2363
- lowerCase: 'image',
2364
- upperCase: 'Image'
2365
- };
2366
- }
2367
- if (wordExtensions.includes(cleanExtension)) {
2368
- return {
2369
- lowerCase: 'word',
2370
- upperCase: 'Word'
2371
- };
2372
- }
2373
- if (excelExtensions.includes(cleanExtension)) {
2374
- return {
2375
- lowerCase: 'excel',
2376
- upperCase: 'Excel'
2377
- };
2378
- }
2379
- if (pptExtensions.includes(cleanExtension)) {
2380
- return {
2381
- lowerCase: 'ppt',
2382
- upperCase: 'Ppt'
2383
- };
2384
- }
2385
- if (cleanExtension === 'pdf') {
2386
- return {
2387
- lowerCase: 'pdf',
2388
- upperCase: 'Pdf'
2389
- };
2390
- }
2391
- if (cleanExtension === 'txt') {
2392
- return {
2393
- lowerCase: 'txt',
2394
- upperCase: 'Txt'
2395
- };
2396
- }
2397
- if (markExtensions.includes(cleanExtension)) {
2398
- return {
2399
- lowerCase: 'mark',
2400
- upperCase: 'Markdown'
2401
- };
2402
- }
2403
- if (audioExtensions.includes(cleanExtension)) {
2404
- return {
2405
- lowerCase: 'audio',
2406
- upperCase: 'Audio'
2407
- };
2408
- }
2409
- if (videoExtensions.includes(cleanExtension)) {
2410
- return {
2411
- lowerCase: 'video',
2412
- upperCase: 'Video'
2413
- };
2414
- }
2415
- if (codeExtensions.includes(cleanExtension)) {
2416
- return {
2417
- lowerCase: 'code',
2418
- upperCase: 'Code'
2419
- };
2420
- }
2421
- if (databaseExtensions.includes(cleanExtension)) {
2422
- return {
2423
- lowerCase: 'database',
2424
- upperCase: 'Database'
2425
- };
2426
- }
2427
- if (cleanExtension === 'lnk') {
2428
- return {
2429
- lowerCase: 'link',
2430
- upperCase: 'Link'
2431
- };
2432
- }
2433
- if (zipExtensions.includes(cleanExtension)) {
2434
- return {
2435
- lowerCase: 'zip',
2436
- upperCase: 'Zip'
2437
- };
2438
- }
2439
- if (cleanExtension === 'obj' || cleanExtension === 'fbx' || cleanExtension === 'glb') {
2440
- return {
2441
- lowerCase: 'three',
2442
- upperCase: '3D'
2443
- };
2444
- }
2445
- return {
2446
- lowerCase: 'file',
2447
- upperCase: 'File'
2448
- };
2449
- }
2450
-
2451
- /**
2452
- * 获取文件大小
2453
- * @param {number} size 文件大小
2454
- * @returns {string} 返回文件大小
2455
- */
2456
- function getSize(size) {
2457
- let retSize = size;
2458
- const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'];
2459
- let unitIndex = 0;
2460
- while (retSize >= 1024 && unitIndex < units.length - 1) {
2461
- retSize /= 1024;
2462
- unitIndex++;
2463
- }
2464
- return `${retSize.toFixed(0)} ${units[unitIndex]}`;
2465
- }
2466
2460
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=script&lang=js
2467
2461
 
2468
2462
 
@@ -2666,12 +2660,10 @@ function getSize(size) {
2666
2660
  },
2667
2661
  handlePreviewAction(type) {
2668
2662
  if (this.imgPreview && this.$refs.imgRef && this._previewImgUrl && type === 'mask') {
2669
- console.log(this.$refs.imgRef);
2670
2663
  this.$refs.imgRef.clickHandler();
2671
- // this.$refs.imgRef.showPreview()
2672
2664
  }
2673
2665
  if (type === 'self') {
2674
- this.$emit('imagePreview', {
2666
+ this.$emit('image-preview', {
2675
2667
  ...this.propsData
2676
2668
  });
2677
2669
  }
@@ -2699,10 +2691,10 @@ function getSize(size) {
2699
2691
  var injectStylesIntoStyleTag = __webpack_require__(3);
2700
2692
  var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
2701
2693
 
2702
- // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=10b2c201&prod&lang=scss&scoped=true
2703
- var mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true = __webpack_require__(25);
2694
+ // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=28b3b638&prod&lang=scss&scoped=true
2695
+ var mainvue_type_style_index_0_id_28b3b638_prod_lang_scss_scoped_true = __webpack_require__(25);
2704
2696
 
2705
- // CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=10b2c201&prod&lang=scss&scoped=true
2697
+ // CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=28b3b638&prod&lang=scss&scoped=true
2706
2698
 
2707
2699
 
2708
2700
 
@@ -2711,12 +2703,12 @@ var options = {};
2711
2703
  options.insert = "head";
2712
2704
  options.singleton = false;
2713
2705
 
2714
- var update = injectStylesIntoStyleTag_default()(mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true["a" /* default */], options);
2706
+ var update = injectStylesIntoStyleTag_default()(mainvue_type_style_index_0_id_28b3b638_prod_lang_scss_scoped_true["a" /* default */], options);
2715
2707
 
2716
2708
 
2717
2709
 
2718
- /* harmony default export */ var src_mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true = (mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true["a" /* default */].locals || {});
2719
- // CONCATENATED MODULE: ./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=10b2c201&prod&lang=scss&scoped=true
2710
+ /* harmony default export */ var src_mainvue_type_style_index_0_id_28b3b638_prod_lang_scss_scoped_true = (mainvue_type_style_index_0_id_28b3b638_prod_lang_scss_scoped_true["a" /* default */].locals || {});
2711
+ // CONCATENATED MODULE: ./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=28b3b638&prod&lang=scss&scoped=true
2720
2712
 
2721
2713
  // CONCATENATED MODULE: ./src/components/FilesCard/src/main.vue
2722
2714
 
@@ -2733,7 +2725,7 @@ var main_component = Object(componentNormalizer["a" /* default */])(
2733
2725
  staticRenderFns,
2734
2726
  false,
2735
2727
  null,
2736
- "10b2c201",
2728
+ "28b3b638",
2737
2729
  null
2738
2730
 
2739
2731
  )
@@ -3036,7 +3028,7 @@ module.exports = function (list, options) {
3036
3028
 
3037
3029
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
3038
3030
  // Module
3039
- ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-4f88f26a]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.card-motion-enter-active[data-v-4f88f26a],.card-motion-move[data-v-4f88f26a],.card-motion-leave-active[data-v-4f88f26a]{transition:all .3s ease;opacity:1;transform:translateX(0)}.card-motion-enter[data-v-4f88f26a],.card-motion-leave-to[data-v-4f88f26a]{opacity:0;transform:translateX(-100%)}.card-motion-leave-active[data-v-4f88f26a]{transform:translateX(100%);opacity:0}.el-x-attachments-file-card-wrap[data-v-4f88f26a]{display:flex;height:100%;align-items:center}.el-x-attachments-upload-placeholder[data-v-4f88f26a]{display:inline-block;width:fit-content;align-self:center;margin:6px}.el-x-attachments-card[data-v-4f88f26a]{display:inline-block;vertical-align:top}.el-x-attachments-card-item[data-v-4f88f26a]{margin:6px}.el-x-attachments-prev-btn[data-v-4f88f26a],.el-x-attachments-next-btn[data-v-4f88f26a]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(0,0,0,.3);color:#fff;border:none;padding:4px 0px;border-radius:3px;transition:background-color .3s ease}.el-x-attachments-prev-btn[data-v-4f88f26a]:hover,.el-x-attachments-next-btn[data-v-4f88f26a]:hover{background-color:rgba(0,0,0,.5)}.el-x-attachments-prev-btn[data-v-4f88f26a]:active,.el-x-attachments-next-btn[data-v-4f88f26a]:active{background-color:rgba(0,0,0,.7)}.el-x-attachments-prev-btn[data-v-4f88f26a]{left:8px;border-top-left-radius:0px;border-bottom-left-radius:0px}.el-x-attachments-next-btn[data-v-4f88f26a]{right:8px;border-top-right-radius:0px;border-bottom-right-radius:0px}.el-x-attachments-background[data-v-4f88f26a]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none}.el-x-attachments-background-start[data-v-4f88f26a]{position:absolute;top:0;left:0;bottom:0;width:50px;background:linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-background-end[data-v-4f88f26a]{position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to left, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-overflow-scrollX[data-v-4f88f26a]{height:100%;scrollbar-width:none}.el-x-attachments-overflow-scrollX[data-v-4f88f26a]::-webkit-scrollbar{display:none}.el-x-attachments-overflow-scrollY[data-v-4f88f26a]{width:100%;height:100%}.el-x-attachments-wrapper[data-v-4f88f26a]{position:relative;display:block}.el-x-attachments-upload-btn[data-v-4f88f26a]{display:flex}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload{border:1px dashed #dcdfe6;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1);box-sizing:border-box;text-align:center}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload:hover{border-color:#409eff}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload:hover .uploader-icon{color:#409eff}.el-x-attachments-upload-btn .uploader-icon[data-v-4f88f26a]{font-size:28px;color:#8c939d;text-align:center;width:var(--el-x-attachments-upload-icon-size);height:var(--el-x-attachments-upload-icon-size);line-height:var(--el-x-attachments-upload-icon-size)}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload-dragger{padding:0;width:auto !important;height:auto !important;background-color:rgba(0,0,0,0)}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload-dragger:hover .el-icon{color:#409eff}.el-x-attachments-drop-area[data-v-4f88f26a]{position:absolute !important;top:0 !important;left:0 !important;width:calc(100% - 4px) !important;height:calc(100% - 4px) !important;border-radius:15px !important;border:2px dashed #409eff !important;z-index:9999 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;background:rgba(225,225,225,.8) !important;backdrop-filter:blur(4px) !important;animation:dragAreaShow-4f88f26a .3s ease-in-out !important;pointer-events:none !important}.el-x-attachments-drop-area-icon[data-v-4f88f26a]{font-size:50px !important;color:#409eff !important;animation:bounce-4f88f26a 1s infinite alternate !important}.el-x-attachments-drop-area-text[data-v-4f88f26a]{font-size:16px !important;color:#409eff !important;margin-top:10px !important;text-align:center !important;width:100% !important;max-width:300px !important;font-weight:bold !important}@keyframes dragAreaShow-4f88f26a{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-4f88f26a{from{transform:translateY(0)}to{transform:translateY(-10px)}}", ""]);
3031
+ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-4c699dac]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.card-motion-enter-active[data-v-4c699dac],.card-motion-move[data-v-4c699dac],.card-motion-leave-active[data-v-4c699dac]{transition:all .3s ease;opacity:1;transform:translateX(0)}.card-motion-enter[data-v-4c699dac],.card-motion-leave-to[data-v-4c699dac]{opacity:0;transform:translateX(-100%)}.card-motion-leave-active[data-v-4c699dac]{transform:translateX(100%);opacity:0}.el-x-attachments-file-card-wrap[data-v-4c699dac]{display:flex;height:100%;align-items:center}.el-x-attachments-upload-placeholder[data-v-4c699dac]{display:inline-block;width:fit-content;align-self:center;margin:6px}.el-x-attachments-card[data-v-4c699dac]{display:inline-block;vertical-align:top}.el-x-attachments-card-item[data-v-4c699dac]{margin:6px}.el-x-attachments-prev-btn[data-v-4c699dac],.el-x-attachments-next-btn[data-v-4c699dac]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(0,0,0,.3);color:#fff;border:none;padding:4px 0px;border-radius:3px;transition:background-color .3s ease}.el-x-attachments-prev-btn[data-v-4c699dac]:hover,.el-x-attachments-next-btn[data-v-4c699dac]:hover{background-color:rgba(0,0,0,.5)}.el-x-attachments-prev-btn[data-v-4c699dac]:active,.el-x-attachments-next-btn[data-v-4c699dac]:active{background-color:rgba(0,0,0,.7)}.el-x-attachments-prev-btn[data-v-4c699dac]{left:8px;border-top-left-radius:0px;border-bottom-left-radius:0px}.el-x-attachments-next-btn[data-v-4c699dac]{right:8px;border-top-right-radius:0px;border-bottom-right-radius:0px}.el-x-attachments-background[data-v-4c699dac]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none}.el-x-attachments-background-start[data-v-4c699dac]{position:absolute;top:0;left:0;bottom:0;width:50px;background:linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-background-end[data-v-4c699dac]{position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to left, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-overflow-scrollX[data-v-4c699dac]{height:100%;scrollbar-width:none}.el-x-attachments-overflow-scrollX[data-v-4c699dac]::-webkit-scrollbar{display:none}.el-x-attachments-overflow-scrollY[data-v-4c699dac]{width:100%;height:100%}.el-x-attachments-wrapper[data-v-4c699dac]{position:relative;display:block}.el-x-attachments-upload-btn[data-v-4c699dac]{display:flex}.el-x-attachments-upload-btn[data-v-4c699dac] .el-upload{border:1px dashed #dcdfe6;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1);box-sizing:border-box;text-align:center}.el-x-attachments-upload-btn[data-v-4c699dac] .el-upload:hover{border-color:#409eff}.el-x-attachments-upload-btn[data-v-4c699dac] .el-upload:hover .uploader-icon{color:#409eff}.el-x-attachments-upload-btn .uploader-icon[data-v-4c699dac]{font-size:28px;color:#8c939d;text-align:center;width:var(--el-x-attachments-upload-icon-size);height:var(--el-x-attachments-upload-icon-size);line-height:var(--el-x-attachments-upload-icon-size)}.el-x-attachments-upload-btn[data-v-4c699dac] .el-upload-dragger{padding:0;width:auto !important;height:auto !important;background-color:rgba(0,0,0,0)}.el-x-attachments-upload-btn[data-v-4c699dac] .el-upload-dragger:hover .el-icon{color:#409eff}.el-x-attachments-drop-area[data-v-4c699dac]{position:absolute !important;top:0 !important;left:0 !important;width:calc(100% - 4px) !important;height:calc(100% - 4px) !important;border-radius:15px !important;border:2px dashed #409eff !important;z-index:9999 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;background:rgba(225,225,225,.8) !important;backdrop-filter:blur(4px) !important;animation:dragAreaShow-4c699dac .3s ease-in-out !important;pointer-events:none !important}.el-x-attachments-drop-area-icon[data-v-4c699dac]{font-size:50px !important;color:#409eff !important;animation:bounce-4c699dac 1s infinite alternate !important}.el-x-attachments-drop-area-text[data-v-4c699dac]{font-size:16px !important;color:#409eff !important;margin-top:10px !important;text-align:center !important;width:100% !important;max-width:300px !important;font-weight:bold !important}@keyframes dragAreaShow-4c699dac{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-4c699dac{from{transform:translateY(0)}to{transform:translateY(-10px)}}", ""]);
3040
3032
  // Exports
3041
3033
  /* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
3042
3034