ele-admin-plus 1.2.2-beta.2 → 1.2.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/es/ele-check-card/index.js +2 -2
  2. package/es/ele-check-card/types.d.ts +2 -0
  3. package/es/ele-config-provider/components/receiver-view.js +16 -14
  4. package/es/ele-dropdown/components/pro-dropdown.d.ts +3 -3
  5. package/es/ele-dropdown/index.d.ts +5 -5
  6. package/es/ele-dropdown/index.js +1 -1
  7. package/es/ele-dropdown/props.d.ts +6 -6
  8. package/es/ele-dropdown/props.js +2 -2
  9. package/es/ele-ellipsis/index.d.ts +2 -9
  10. package/es/ele-ellipsis/props.d.ts +1 -4
  11. package/es/ele-file-list/index.js +1 -1
  12. package/es/ele-printer/util.js +17 -12
  13. package/es/ele-pro-table/components/table-tools.js +1 -1
  14. package/es/ele-segmented/index.d.ts +3 -3
  15. package/es/ele-segmented/index.js +1 -1
  16. package/es/ele-segmented/props.d.ts +2 -2
  17. package/es/ele-segmented/props.js +2 -2
  18. package/es/ele-tab-wrap/components/tab-dropdown.js +1 -1
  19. package/es/ele-table/style/css-var.scss +4 -0
  20. package/es/ele-table/style/index.scss +7 -4
  21. package/es/ele-tabs/index.js +1 -1
  22. package/es/ele-tabs/style/index.scss +0 -1
  23. package/es/ele-text/index.d.ts +2 -9
  24. package/es/ele-text/index.js +1 -1
  25. package/es/ele-text/props.d.ts +1 -4
  26. package/es/ele-text/props.js +1 -4
  27. package/es/ele-upload-list/components/list-item.js +4 -1
  28. package/es/ele-upload-list/index.d.ts +2 -0
  29. package/es/ele-upload-list/index.js +22 -16
  30. package/es/ele-upload-list/props.d.ts +4 -2
  31. package/es/ele-upload-list/props.js +3 -1
  32. package/es/ele-upload-list/style/index.scss +2 -1
  33. package/es/ele-upload-list/types.d.ts +7 -0
  34. package/es/icons/InsertColumnOutlined.d.ts +2 -0
  35. package/es/icons/InsertColumnOutlined.js +35 -0
  36. package/es/icons/InsertRowOutlined.d.ts +2 -0
  37. package/es/icons/InsertRowOutlined.js +35 -0
  38. package/es/icons/PlusSquareDashOutlined.d.ts +2 -0
  39. package/es/icons/PlusSquareDashOutlined.js +29 -0
  40. package/es/icons/RecoverOutlined.d.ts +2 -0
  41. package/es/icons/RecoverOutlined.js +30 -0
  42. package/es/icons/RollbackOutlined.d.ts +2 -0
  43. package/es/icons/RollbackOutlined.js +30 -0
  44. package/es/icons/SizeCompactOutlined.js +5 -11
  45. package/es/icons/SizeMiddleOutlined.js +5 -11
  46. package/es/icons/SizeSlackOutlined.js +4 -4
  47. package/es/icons/index.d.ts +5 -0
  48. package/es/icons/index.js +116 -106
  49. package/es/utils/core.d.ts +1 -1
  50. package/es/utils/core.js +13 -6
  51. package/es/utils/hook.d.ts +0 -12
  52. package/es/utils/hook.js +1 -42
  53. package/lib/ele-check-card/index.cjs +2 -2
  54. package/lib/ele-check-card/types.d.ts +2 -0
  55. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  56. package/lib/ele-dropdown/components/pro-dropdown.d.ts +3 -3
  57. package/lib/ele-dropdown/index.cjs +1 -1
  58. package/lib/ele-dropdown/index.d.ts +5 -5
  59. package/lib/ele-dropdown/props.cjs +2 -2
  60. package/lib/ele-dropdown/props.d.ts +6 -6
  61. package/lib/ele-ellipsis/index.d.ts +2 -9
  62. package/lib/ele-ellipsis/props.d.ts +1 -4
  63. package/lib/ele-file-list/index.cjs +1 -1
  64. package/lib/ele-printer/util.cjs +17 -12
  65. package/lib/ele-pro-table/components/table-tools.cjs +1 -1
  66. package/lib/ele-segmented/index.cjs +1 -1
  67. package/lib/ele-segmented/index.d.ts +3 -3
  68. package/lib/ele-segmented/props.cjs +2 -2
  69. package/lib/ele-segmented/props.d.ts +2 -2
  70. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +1 -1
  71. package/lib/ele-table/style/css-var.scss +4 -0
  72. package/lib/ele-table/style/index.scss +7 -4
  73. package/lib/ele-tabs/index.cjs +1 -1
  74. package/lib/ele-tabs/style/index.scss +0 -1
  75. package/lib/ele-text/index.cjs +1 -1
  76. package/lib/ele-text/index.d.ts +2 -9
  77. package/lib/ele-text/props.cjs +1 -4
  78. package/lib/ele-text/props.d.ts +1 -4
  79. package/lib/ele-upload-list/components/list-item.cjs +4 -1
  80. package/lib/ele-upload-list/index.cjs +22 -16
  81. package/lib/ele-upload-list/index.d.ts +2 -0
  82. package/lib/ele-upload-list/props.cjs +3 -1
  83. package/lib/ele-upload-list/props.d.ts +4 -2
  84. package/lib/ele-upload-list/style/index.scss +2 -1
  85. package/lib/ele-upload-list/types.d.ts +7 -0
  86. package/lib/icons/InsertColumnOutlined.cjs +34 -0
  87. package/lib/icons/InsertColumnOutlined.d.ts +2 -0
  88. package/lib/icons/InsertRowOutlined.cjs +34 -0
  89. package/lib/icons/InsertRowOutlined.d.ts +2 -0
  90. package/lib/icons/PlusSquareDashOutlined.cjs +28 -0
  91. package/lib/icons/PlusSquareDashOutlined.d.ts +2 -0
  92. package/lib/icons/RecoverOutlined.cjs +29 -0
  93. package/lib/icons/RecoverOutlined.d.ts +2 -0
  94. package/lib/icons/RollbackOutlined.cjs +29 -0
  95. package/lib/icons/RollbackOutlined.d.ts +2 -0
  96. package/lib/icons/SizeCompactOutlined.cjs +4 -10
  97. package/lib/icons/SizeMiddleOutlined.cjs +4 -10
  98. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  99. package/lib/icons/index.cjs +10 -0
  100. package/lib/icons/index.d.ts +5 -0
  101. package/lib/utils/core.cjs +13 -6
  102. package/lib/utils/core.d.ts +1 -1
  103. package/lib/utils/hook.cjs +0 -41
  104. package/lib/utils/hook.d.ts +0 -12
  105. package/package.json +1 -1
@@ -66,7 +66,7 @@ function getPrintFrame() {
66
66
  elem.focus();
67
67
  return elem;
68
68
  }
69
- function doPrintOnFrame(opt, printId) {
69
+ function doPrintOnFrame(opt, printId, timeout) {
70
70
  var _a;
71
71
  const pFrame = getPrintFrame();
72
72
  const pWin = pFrame.contentWindow;
@@ -99,8 +99,10 @@ function doPrintOnFrame(opt, printId) {
99
99
  if(${opt.title == null ? 0 : 1}) {
100
100
  document.title = '${opt.title}';
101
101
  }
102
- window.print(${printOption});
103
- window.parent.postMessage('elePrintDone_${printId}', '*');
102
+ ${"setTimeout(() => {"}
103
+ window.print(${printOption});
104
+ window.parent.postMessage('elePrintDone_${printId}', '*');
105
+ ${"}, " + timeout + ");"}
104
106
  };
105
107
  <\/script>
106
108
  `;
@@ -113,10 +115,11 @@ function doPrintOnFrame(opt, printId) {
113
115
  function usePrinter(done) {
114
116
  printIdNum++;
115
117
  const printId = printIdNum;
116
- const [startPrintTimer] = hook.useTimer(500);
118
+ const printTimeout = 500;
119
+ const [startPrintTimer] = hook.useTimer(printTimeout);
117
120
  const doPrint = (option, target) => {
118
121
  if (target === "_iframe") {
119
- doPrintOnFrame(option, printId);
122
+ doPrintOnFrame(option, printId, printTimeout);
120
123
  return;
121
124
  }
122
125
  const $html = document.querySelector("html");
@@ -134,14 +137,16 @@ function usePrinter(done) {
134
137
  if (option.title != null && option.title !== "") {
135
138
  document.title = option.title;
136
139
  }
137
- window.print(option.options);
138
140
  startPrintTimer(() => {
139
- $html.classList.remove(printingClass);
140
- document.body.removeChild(elem);
141
- if (option.title != null) {
142
- document.title = title;
143
- }
144
- done && done();
141
+ window.print(option.options);
142
+ startPrintTimer(() => {
143
+ $html.classList.remove(printingClass);
144
+ document.body.removeChild(elem);
145
+ if (option.title != null) {
146
+ document.title = title;
147
+ }
148
+ done && done();
149
+ });
145
150
  });
146
151
  };
147
152
  const handleMessage = (e) => {
@@ -307,7 +307,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
307
307
  vue.createVNode(_component_EleDropdown, {
308
308
  trigger: "click",
309
309
  placement: "bottom",
310
- formValidate: false,
310
+ validateEvent: false,
311
311
  popperClass: "ele-tool-size-popper",
312
312
  modelValue: _ctx.size,
313
313
  items: _ctx.sizeDropdownItems,
@@ -17,7 +17,7 @@ const _sfc_main = vue.defineComponent({
17
17
  const handleUpdateModelValue = (value) => {
18
18
  if (props2.modelValue !== value) {
19
19
  emit("update:modelValue", value);
20
- if (props2.formValidate) {
20
+ if (props2.validateEvent) {
21
21
  validateChange();
22
22
  }
23
23
  emit("change", value);
@@ -9,7 +9,7 @@ declare const _default: import('vue').DefineComponent<{
9
9
  required: boolean;
10
10
  };
11
11
  size: import('vue').PropType<import('./types').SegmentedSize>;
12
- formValidate: {
12
+ validateEvent: {
13
13
  type: BooleanConstructor;
14
14
  default: boolean;
15
15
  };
@@ -30,7 +30,7 @@ declare const _default: import('vue').DefineComponent<{
30
30
  required: boolean;
31
31
  };
32
32
  size: import('vue').PropType<import('./types').SegmentedSize>;
33
- formValidate: {
33
+ validateEvent: {
34
34
  type: BooleanConstructor;
35
35
  default: boolean;
36
36
  };
@@ -39,7 +39,7 @@ declare const _default: import('vue').DefineComponent<{
39
39
  onChange?: ((_active: string | number) => any) | undefined;
40
40
  }, {
41
41
  disabled: boolean;
42
+ validateEvent: boolean;
42
43
  block: boolean;
43
- formValidate: boolean;
44
44
  }, {}>;
45
45
  export default _default;
@@ -14,8 +14,8 @@ const segmentedProps = {
14
14
  },
15
15
  /** 尺寸 */
16
16
  size: String,
17
- /** 是否支持表单验证 */
18
- formValidate: {
17
+ /** 是否触发表单验证 */
18
+ validateEvent: {
19
19
  type: Boolean,
20
20
  default: true
21
21
  }
@@ -18,8 +18,8 @@ export declare const segmentedProps: {
18
18
  };
19
19
  /** 尺寸 */
20
20
  size: PropType<SegmentedSize>;
21
- /** 是否支持表单验证 */
22
- formValidate: {
21
+ /** 是否触发表单验证 */
22
+ validateEvent: {
23
23
  type: BooleanConstructor;
24
24
  default: boolean;
25
25
  };
@@ -59,7 +59,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
59
59
  popperOptions: {
60
60
  modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
61
61
  },
62
- formValidate: false
62
+ validateEvent: false
63
63
  }, _ctx.dropdownProps || {}, {
64
64
  ref: "dropdownRef",
65
65
  items: _ctx.items,
@@ -12,6 +12,7 @@
12
12
  & > thead > tr:first-child > th:first-child,
13
13
  & > thead > tr:first-child > td:first-child,
14
14
  &.is-border:not(.has-header) > tr:first-child > td:first-child,
15
+ &.is-border:not(.has-header) > tr:first-child > th:first-child,
15
16
  &.is-border:not(.has-header) > tbody > tr:first-child > td:first-child {
16
17
  border-top-left-radius: $radius;
17
18
  }
@@ -19,17 +20,20 @@
19
20
  & > thead > tr:first-child > th:last-child,
20
21
  & > thead > tr:first-child > td:last-child,
21
22
  &.is-border:not(.has-header) > tr:first-child > td:last-child,
23
+ &.is-border:not(.has-header) > tr:first-child > th:last-child,
22
24
  &.is-border:not(.has-header) > tbody > tr:first-child > td:last-child {
23
25
  border-top-right-radius: $radius;
24
26
  }
25
27
 
26
28
  &.is-border:not(.has-footer) > tr:last-child > td:first-child,
29
+ &.is-border:not(.has-footer) > tr:last-child > th:first-child,
27
30
  &.is-border:not(.has-footer) > tbody > tr:last-child > td:first-child,
28
31
  & > tfoot > tr:last-child > td:first-child {
29
32
  border-bottom-left-radius: $radius;
30
33
  }
31
34
 
32
35
  &.is-border:not(.has-footer) > tr:last-child > td:last-child,
36
+ &.is-border:not(.has-footer) > tr:last-child > th:last-child,
33
37
  &.is-border:not(.has-footer) > tbody > tr:last-child > td:last-child,
34
38
  & > tfoot > tr:last-child > td:last-child {
35
39
  border-bottom-right-radius: $radius;
@@ -9,6 +9,9 @@
9
9
  width: 100%;
10
10
  border-spacing: 0;
11
11
  border-collapse: separate;
12
+ border-width: 0;
13
+ border-style: solid;
14
+ border-color: eleVar('table', 'border-color');
12
15
 
13
16
  /* 单元格样式 */
14
17
  & > tr,
@@ -159,8 +162,8 @@
159
162
 
160
163
  /* 全边框 */
161
164
  &.is-border {
162
- border-top: 1px solid eleVar('table', 'border-color');
163
- border-left: 1px solid eleVar('table', 'border-color');
165
+ border-top-width: 1px;
166
+ border-left-width: 1px;
164
167
 
165
168
  & > tr,
166
169
  & > thead > tr,
@@ -174,7 +177,7 @@
174
177
  }
175
178
 
176
179
  &:not(.has-header) {
177
- border-top: 1px solid eleVar('table', 'border-color');
180
+ border-top-width: 1px;
178
181
  }
179
182
 
180
183
  /* 表格内组件样式优化 */
@@ -187,7 +190,7 @@
187
190
  word-break: break-all;
188
191
 
189
192
  &.is-border {
190
- border-right: 2px solid eleVar('table', 'border-color');
193
+ border-right-width: 2px;
191
194
 
192
195
  & > tr,
193
196
  & > thead > tr,
@@ -437,7 +437,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
437
437
  key: 0,
438
438
  triggerKeys: [],
439
439
  persistent: false,
440
- formValidate: false,
440
+ validateEvent: false,
441
441
  placement: "bottom-start",
442
442
  popperClass: "ele-tab-popup",
443
443
  popperOptions: {
@@ -727,7 +727,6 @@
727
727
 
728
728
  &.sortable-chosen {
729
729
  background: elVar('bg-color');
730
- cursor: move;
731
730
  }
732
731
  }
733
732
 
@@ -16,7 +16,7 @@ const _export_sfc = (sfc, props2) => {
16
16
  };
17
17
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
18
18
  const _component_ElIcon = vue.resolveComponent("ElIcon");
19
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tag), {
19
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tag || "div"), {
20
20
  class: vue.normalizeClass([
21
21
  "ele-text",
22
22
  { "is-heading": _ctx.type === "heading" },
@@ -1,8 +1,5 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
- tag: {
3
- type: StringConstructor;
4
- default: string;
5
- };
2
+ tag: StringConstructor;
6
3
  type: import('vue').PropType<import('./types').TextType>;
7
4
  size: import('vue').PropType<import('./types').TextSize>;
8
5
  deleted: BooleanConstructor;
@@ -13,10 +10,7 @@ declare const _default: import('vue').DefineComponent<{
13
10
  iconProps: import('vue').PropType<import('../ele-app/el').ElIconProps>;
14
11
  iconStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
15
12
  }, unknown, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
16
- tag: {
17
- type: StringConstructor;
18
- default: string;
19
- };
13
+ tag: StringConstructor;
20
14
  type: import('vue').PropType<import('./types').TextType>;
21
15
  size: import('vue').PropType<import('./types').TextSize>;
22
16
  deleted: BooleanConstructor;
@@ -27,7 +21,6 @@ declare const _default: import('vue').DefineComponent<{
27
21
  iconProps: import('vue').PropType<import('../ele-app/el').ElIconProps>;
28
22
  iconStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
29
23
  }>>, {
30
- tag: string;
31
24
  underline: boolean;
32
25
  deleted: boolean;
33
26
  strong: boolean;
@@ -2,10 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const textProps = {
4
4
  /** 渲染标签 */
5
- tag: {
6
- type: String,
7
- default: "div"
8
- },
5
+ tag: String,
9
6
  /** 类型 */
10
7
  type: String,
11
8
  /** 文字大小 */
@@ -8,10 +8,7 @@ import { TextType, TextSize, TextIcon } from './types';
8
8
  */
9
9
  export declare const textProps: {
10
10
  /** 渲染标签 */
11
- tag: {
12
- type: StringConstructor;
13
- default: string;
14
- };
11
+ tag: StringConstructor;
15
12
  /** 类型 */
16
13
  type: PropType<TextType>;
17
14
  /** 文字大小 */
@@ -52,6 +52,9 @@ const _sfc_main = vue.defineComponent({
52
52
  setup(props, { emit }) {
53
53
  const imageUrl = vue.computed(() => {
54
54
  var _a;
55
+ if (props.item.thumbnail && props.item.thumbnail !== true) {
56
+ return props.item.thumbnail;
57
+ }
55
58
  if (props.item.url) {
56
59
  return props.item.url;
57
60
  }
@@ -144,7 +147,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
144
147
  item: _ctx.item,
145
148
  imageUrl: _ctx.imageUrl
146
149
  }, () => [
147
- _ctx.listType === "file" || !_ctx.imageUrl ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
150
+ _ctx.listType === "file" || _ctx.item.thumbnail === false || !_ctx.imageUrl ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
148
151
  vue.createVNode(_component_ElIcon, { class: "ele-upload-thumbnail-icon" }, {
149
152
  default: vue.withCtx(() => [
150
153
  vue.createVNode(_component_FileOutlined)
@@ -57,11 +57,14 @@ const _sfc_main = vue.defineComponent({
57
57
  }
58
58
  };
59
59
  const previewItem = (item) => {
60
+ if (props2.beforePreview && props2.beforePreview(item) === false) {
61
+ return;
62
+ }
60
63
  if (props2.modelValue != null) {
61
64
  const data = [];
62
65
  props2.modelValue.forEach((d) => {
63
66
  const url = getItemImageUrl(d);
64
- if (url) {
67
+ if (url && d.thumbnail !== false) {
65
68
  data.push({ item: d, url });
66
69
  }
67
70
  });
@@ -178,7 +181,8 @@ const _export_sfc = (sfc, props2) => {
178
181
  }
179
182
  return target;
180
183
  };
181
- const _hoisted_1 = ["accept"];
184
+ const _hoisted_1 = { class: "ele-upload-hidden" };
185
+ const _hoisted_2 = ["accept"];
182
186
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
183
187
  const _component_ListItem = vue.resolveComponent("ListItem");
184
188
  const _component_PlusOutlined = vue.resolveComponent("PlusOutlined");
@@ -264,20 +268,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
264
268
  _: 3
265
269
  }, 8, ["drag", "accept", "multiple", "disabled", "beforeUpload"])
266
270
  ], 4)) : vue.createCommentVNode("", true),
267
- _ctx.tools ? (vue.openBlock(), vue.createElementBlock("input", {
268
- key: 1,
269
- ref: "uploadInputRef",
270
- type: "file",
271
- accept: _ctx.accept,
272
- class: "ele-upload-input",
273
- onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleInputChange && _ctx.handleInputChange(...args))
274
- }, null, 40, _hoisted_1)) : vue.createCommentVNode("", true),
275
- vue.createVNode(_component_EleImageViewer, vue.mergeProps({ infinite: false }, _ctx.previewProps || {}, {
276
- modelValue: _ctx.previewVisible,
277
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.previewVisible = $event),
278
- urlList: _ctx.previewImages,
279
- initialIndex: _ctx.previewCurrentIndex
280
- }), null, 16, ["modelValue", "urlList", "initialIndex"])
271
+ vue.createElementVNode("div", _hoisted_1, [
272
+ _ctx.tools ? (vue.openBlock(), vue.createElementBlock("input", {
273
+ key: 0,
274
+ ref: "uploadInputRef",
275
+ type: "file",
276
+ accept: _ctx.accept,
277
+ class: "ele-upload-input",
278
+ onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleInputChange && _ctx.handleInputChange(...args))
279
+ }, null, 40, _hoisted_2)) : vue.createCommentVNode("", true),
280
+ vue.createVNode(_component_EleImageViewer, vue.mergeProps({ infinite: false }, _ctx.previewProps || {}, {
281
+ modelValue: _ctx.previewVisible,
282
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.previewVisible = $event),
283
+ urlList: _ctx.previewImages,
284
+ initialIndex: _ctx.previewCurrentIndex
285
+ }), null, 16, ["modelValue", "urlList", "initialIndex"])
286
+ ])
281
287
  ]),
282
288
  _: 3
283
289
  }, 16, ["class", "modelValue", "onUpdate:modelValue"]);
@@ -31,6 +31,7 @@ declare const _default: import('vue').DefineComponent<{
31
31
  listType: import('vue').PropType<import('./types').ListType>;
32
32
  beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
33
33
  beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
34
+ beforePreview: import('vue').PropType<import('./types').BeforePreview>;
34
35
  locale: import('vue').PropType<Partial<UploadLocale>>;
35
36
  }, {
36
37
  ownSlots: string[];
@@ -103,6 +104,7 @@ declare const _default: import('vue').DefineComponent<{
103
104
  listType: import('vue').PropType<import('./types').ListType>;
104
105
  beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
105
106
  beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
107
+ beforePreview: import('vue').PropType<import('./types').BeforePreview>;
106
108
  locale: import('vue').PropType<Partial<UploadLocale>>;
107
109
  }>> & {
108
110
  "onUpdate:modelValue"?: ((_value: UploadItem[]) => any) | undefined;
@@ -7,7 +7,7 @@ const uploadListProps = {
7
7
  readonly: Boolean,
8
8
  /** 是否禁用 */
9
9
  disabled: Boolean,
10
- /** 是否支持点击预览 */
10
+ /** 是否支持点击预览打开图片预览组件 */
11
11
  preview: {
12
12
  type: Boolean,
13
13
  default: true
@@ -49,6 +49,8 @@ const uploadListProps = {
49
49
  beforeUploadClick: Function,
50
50
  /** 修改按钮点击前的钩子 */
51
51
  beforeItemEdit: Function,
52
+ /** 预览按钮点击前的钩子 */
53
+ beforePreview: Function,
52
54
  /** 国际化 */
53
55
  locale: Object
54
56
  };
@@ -2,7 +2,7 @@ import { PropType, ExtractPropTypes } from 'vue';
2
2
  import { StyleValue } from '../ele-app/types';
3
3
  import { ElProgressProps, ElImageProps } from '../ele-app/el';
4
4
  import { EleImageViewerProps } from '../ele-app/plus';
5
- import { UploadItem, UploadLocale, EditUploadResult, ListType, BeforeUploadClick, BeforeItemEdit } from './types';
5
+ import { UploadItem, UploadLocale, EditUploadResult, ListType, BeforeUploadClick, BeforeItemEdit, BeforePreview } from './types';
6
6
 
7
7
  /**
8
8
  * 属性
@@ -14,7 +14,7 @@ export declare const uploadListProps: {
14
14
  readonly: BooleanConstructor;
15
15
  /** 是否禁用 */
16
16
  disabled: BooleanConstructor;
17
- /** 是否支持点击预览 */
17
+ /** 是否支持点击预览打开图片预览组件 */
18
18
  preview: {
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
@@ -56,6 +56,8 @@ export declare const uploadListProps: {
56
56
  beforeUploadClick: PropType<BeforeUploadClick>;
57
57
  /** 修改按钮点击前的钩子 */
58
58
  beforeItemEdit: PropType<BeforeItemEdit>;
59
+ /** 预览按钮点击前的钩子 */
60
+ beforePreview: PropType<BeforePreview>;
59
61
  /** 国际化 */
60
62
  locale: PropType<Partial<UploadLocale>>;
61
63
  };
@@ -282,7 +282,8 @@
282
282
  }
283
283
 
284
284
  /* 修改时的文件选择输入框 */
285
- .ele-upload-input {
285
+ .ele-upload-input,
286
+ .ele-upload-hidden {
286
287
  display: none;
287
288
  }
288
289
 
@@ -16,6 +16,8 @@ export interface UploadItem extends Record<keyof any, any> {
16
16
  file?: File;
17
17
  /** 是否只读 */
18
18
  readonly?: boolean;
19
+ /** 是否显示缩略图 */
20
+ thumbnail?: boolean | string;
19
21
  }
20
22
 
21
23
  /**
@@ -38,6 +40,11 @@ export type BeforeUploadClick = (e: MouseEvent) => boolean | undefined | void;
38
40
  */
39
41
  export type BeforeItemEdit = (item: UploadItem) => boolean | undefined | void;
40
42
 
43
+ /**
44
+ * 预览前的钩子
45
+ */
46
+ export type BeforePreview = (item: UploadItem) => boolean | undefined | void;
47
+
41
48
  /**
42
49
  * 图片文件预读地址
43
50
  */
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = vue.defineComponent({
4
+ name: "InsertColumnOutlined"
5
+ });
6
+ const _export_sfc = (sfc, props) => {
7
+ const target = sfc.__vccOpts || sfc;
8
+ for (const [key, val] of props) {
9
+ target[key] = val;
10
+ }
11
+ return target;
12
+ };
13
+ const _hoisted_1 = {
14
+ viewBox: "0 0 48 48",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "4",
18
+ "stroke-linejoin": "round"
19
+ };
20
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M44 3V41H36V3Z" }, null, -1);
21
+ const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 3V41H4V3Z" }, null, -1);
22
+ const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M28 22V46H20V22Z" }, null, -1);
23
+ const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M18 9L24 16L30 9M24 16V0" }, null, -1);
24
+ const _hoisted_6 = [
25
+ _hoisted_2,
26
+ _hoisted_3,
27
+ _hoisted_4,
28
+ _hoisted_5
29
+ ];
30
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
31
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_6);
32
+ }
33
+ const InsertColumnOutlined = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
34
+ module.exports = InsertColumnOutlined;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = vue.defineComponent({
4
+ name: "InsertRowOutlined"
5
+ });
6
+ const _export_sfc = (sfc, props) => {
7
+ const target = sfc.__vccOpts || sfc;
8
+ for (const [key, val] of props) {
9
+ target[key] = val;
10
+ }
11
+ return target;
12
+ };
13
+ const _hoisted_1 = {
14
+ viewBox: "0 0 48 48",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "4",
18
+ "stroke-linejoin": "round"
19
+ };
20
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M3 4H41V12H3Z" }, null, -1);
21
+ const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M3 36H41V44H3Z" }, null, -1);
22
+ const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M22 20H46V28H22Z" }, null, -1);
23
+ const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M9 30L16 24L9 18M16 24H0" }, null, -1);
24
+ const _hoisted_6 = [
25
+ _hoisted_2,
26
+ _hoisted_3,
27
+ _hoisted_4,
28
+ _hoisted_5
29
+ ];
30
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
31
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_6);
32
+ }
33
+ const InsertRowOutlined = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
34
+ module.exports = InsertRowOutlined;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = vue.defineComponent({
4
+ name: "PlusSquareDashOutlined"
5
+ });
6
+ const _export_sfc = (sfc, props) => {
7
+ const target = sfc.__vccOpts || sfc;
8
+ for (const [key, val] of props) {
9
+ target[key] = val;
10
+ }
11
+ return target;
12
+ };
13
+ const _hoisted_1 = {
14
+ viewBox: "0 0 48 48",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "4",
18
+ "stroke-linejoin": "round"
19
+ };
20
+ const _hoisted_2 = /* @__PURE__ */ vue.createStaticVNode('<path d="M24 13V34M13 24H35" stroke-linecap="round"></path><path d="M19 2H29"></path><path d="M19 46H29"></path><path d="M2 19V29"></path><path d="M46 19V29"></path><path d="M11 2H2V11"></path><path d="M11 46H2V37"></path><path d="M37 46H46V37"></path><path d="M37 2H46V11"></path>', 9);
21
+ const _hoisted_11 = [
22
+ _hoisted_2
23
+ ];
24
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
25
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_11);
26
+ }
27
+ const PlusSquareDashOutlined = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
28
+ module.exports = PlusSquareDashOutlined;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = vue.defineComponent({
4
+ name: "RecoverOutlined"
5
+ });
6
+ const _export_sfc = (sfc, props) => {
7
+ const target = sfc.__vccOpts || sfc;
8
+ for (const [key, val] of props) {
9
+ target[key] = val;
10
+ }
11
+ return target;
12
+ };
13
+ const _hoisted_1 = {
14
+ viewBox: "0 0 48 48",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "4",
18
+ "stroke-linecap": "round",
19
+ "stroke-linejoin": "round"
20
+ };
21
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M32 8L44 20L32 32M4 44V35C4 26 10 20 19 20H44" }, null, -1);
22
+ const _hoisted_3 = [
23
+ _hoisted_2
24
+ ];
25
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
26
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_3);
27
+ }
28
+ const RecoverOutlined = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
29
+ module.exports = RecoverOutlined;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = vue.defineComponent({
4
+ name: "RollbackOutlined"
5
+ });
6
+ const _export_sfc = (sfc, props) => {
7
+ const target = sfc.__vccOpts || sfc;
8
+ for (const [key, val] of props) {
9
+ target[key] = val;
10
+ }
11
+ return target;
12
+ };
13
+ const _hoisted_1 = {
14
+ viewBox: "0 0 48 48",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "4",
18
+ "stroke-linecap": "round",
19
+ "stroke-linejoin": "round"
20
+ };
21
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M16 8L4 20L16 32M44 44V35C44 26 38 20 29 20H4" }, null, -1);
22
+ const _hoisted_3 = [
23
+ _hoisted_2
24
+ ];
25
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
26
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_3);
27
+ }
28
+ const RollbackOutlined = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
29
+ module.exports = RollbackOutlined;