ele-admin-plus 1.2.2-beta.1 → 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 (123) hide show
  1. package/es/ele-app/components/form-item-rest.js +3 -3
  2. package/es/ele-check-card/index.js +2 -2
  3. package/es/ele-check-card/types.d.ts +2 -0
  4. package/es/ele-config-provider/components/receiver-view.js +16 -14
  5. package/es/ele-cropper/components/cropper-tools.js +1 -1
  6. package/es/ele-cropper/style/index.scss +10 -1
  7. package/es/ele-dropdown/components/pro-dropdown.d.ts +3 -3
  8. package/es/ele-dropdown/index.d.ts +5 -5
  9. package/es/ele-dropdown/index.js +1 -1
  10. package/es/ele-dropdown/props.d.ts +6 -6
  11. package/es/ele-dropdown/props.js +2 -2
  12. package/es/ele-ellipsis/index.d.ts +2 -9
  13. package/es/ele-ellipsis/props.d.ts +1 -4
  14. package/es/ele-file-list/index.js +1 -1
  15. package/es/ele-menus/components/item-title.js +4 -3
  16. package/es/ele-menus/types.d.ts +2 -0
  17. package/es/ele-printer/util.js +17 -12
  18. package/es/ele-pro-table/components/table-tools.js +1 -1
  19. package/es/ele-segmented/index.d.ts +3 -3
  20. package/es/ele-segmented/index.js +1 -1
  21. package/es/ele-segmented/props.d.ts +2 -2
  22. package/es/ele-segmented/props.js +2 -2
  23. package/es/ele-split-panel/index.d.ts +2 -0
  24. package/es/ele-split-panel/index.js +8 -8
  25. package/es/ele-split-panel/props.d.ts +3 -1
  26. package/es/ele-split-panel/props.js +3 -1
  27. package/es/ele-tab-wrap/components/tab-dropdown.js +1 -1
  28. package/es/ele-table/style/css-var.scss +4 -0
  29. package/es/ele-table/style/index.scss +7 -4
  30. package/es/ele-tabs/index.js +1 -1
  31. package/es/ele-tabs/style/index.scss +1 -3
  32. package/es/ele-text/index.d.ts +2 -9
  33. package/es/ele-text/index.js +1 -1
  34. package/es/ele-text/props.d.ts +1 -4
  35. package/es/ele-text/props.js +1 -4
  36. package/es/ele-upload-list/components/list-item.js +4 -1
  37. package/es/ele-upload-list/index.d.ts +2 -0
  38. package/es/ele-upload-list/index.js +22 -16
  39. package/es/ele-upload-list/props.d.ts +4 -2
  40. package/es/ele-upload-list/props.js +3 -1
  41. package/es/ele-upload-list/style/index.scss +2 -1
  42. package/es/ele-upload-list/types.d.ts +7 -0
  43. package/es/icons/InsertColumnOutlined.d.ts +2 -0
  44. package/es/icons/InsertColumnOutlined.js +35 -0
  45. package/es/icons/InsertRowOutlined.d.ts +2 -0
  46. package/es/icons/InsertRowOutlined.js +35 -0
  47. package/es/icons/PlusSquareDashOutlined.d.ts +2 -0
  48. package/es/icons/PlusSquareDashOutlined.js +29 -0
  49. package/es/icons/RecoverOutlined.d.ts +2 -0
  50. package/es/icons/RecoverOutlined.js +30 -0
  51. package/es/icons/RollbackOutlined.d.ts +2 -0
  52. package/es/icons/RollbackOutlined.js +30 -0
  53. package/es/icons/SizeCompactOutlined.js +5 -11
  54. package/es/icons/SizeMiddleOutlined.js +5 -11
  55. package/es/icons/SizeSlackOutlined.js +4 -4
  56. package/es/icons/index.d.ts +5 -0
  57. package/es/icons/index.js +116 -106
  58. package/es/utils/core.d.ts +1 -1
  59. package/es/utils/core.js +13 -6
  60. package/es/utils/hook.d.ts +4 -0
  61. package/es/utils/hook.js +16 -3
  62. package/lib/ele-app/components/form-item-rest.cjs +2 -2
  63. package/lib/ele-check-card/index.cjs +2 -2
  64. package/lib/ele-check-card/types.d.ts +2 -0
  65. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  66. package/lib/ele-cropper/components/cropper-tools.cjs +1 -1
  67. package/lib/ele-cropper/style/index.scss +10 -1
  68. package/lib/ele-dropdown/components/pro-dropdown.d.ts +3 -3
  69. package/lib/ele-dropdown/index.cjs +1 -1
  70. package/lib/ele-dropdown/index.d.ts +5 -5
  71. package/lib/ele-dropdown/props.cjs +2 -2
  72. package/lib/ele-dropdown/props.d.ts +6 -6
  73. package/lib/ele-ellipsis/index.d.ts +2 -9
  74. package/lib/ele-ellipsis/props.d.ts +1 -4
  75. package/lib/ele-file-list/index.cjs +1 -1
  76. package/lib/ele-menus/components/item-title.cjs +4 -3
  77. package/lib/ele-menus/types.d.ts +2 -0
  78. package/lib/ele-printer/util.cjs +17 -12
  79. package/lib/ele-pro-table/components/table-tools.cjs +1 -1
  80. package/lib/ele-segmented/index.cjs +1 -1
  81. package/lib/ele-segmented/index.d.ts +3 -3
  82. package/lib/ele-segmented/props.cjs +2 -2
  83. package/lib/ele-segmented/props.d.ts +2 -2
  84. package/lib/ele-split-panel/index.cjs +8 -8
  85. package/lib/ele-split-panel/index.d.ts +2 -0
  86. package/lib/ele-split-panel/props.cjs +3 -1
  87. package/lib/ele-split-panel/props.d.ts +3 -1
  88. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +1 -1
  89. package/lib/ele-table/style/css-var.scss +4 -0
  90. package/lib/ele-table/style/index.scss +7 -4
  91. package/lib/ele-tabs/index.cjs +1 -1
  92. package/lib/ele-tabs/style/index.scss +1 -3
  93. package/lib/ele-text/index.cjs +1 -1
  94. package/lib/ele-text/index.d.ts +2 -9
  95. package/lib/ele-text/props.cjs +1 -4
  96. package/lib/ele-text/props.d.ts +1 -4
  97. package/lib/ele-upload-list/components/list-item.cjs +4 -1
  98. package/lib/ele-upload-list/index.cjs +22 -16
  99. package/lib/ele-upload-list/index.d.ts +2 -0
  100. package/lib/ele-upload-list/props.cjs +3 -1
  101. package/lib/ele-upload-list/props.d.ts +4 -2
  102. package/lib/ele-upload-list/style/index.scss +2 -1
  103. package/lib/ele-upload-list/types.d.ts +7 -0
  104. package/lib/icons/InsertColumnOutlined.cjs +34 -0
  105. package/lib/icons/InsertColumnOutlined.d.ts +2 -0
  106. package/lib/icons/InsertRowOutlined.cjs +34 -0
  107. package/lib/icons/InsertRowOutlined.d.ts +2 -0
  108. package/lib/icons/PlusSquareDashOutlined.cjs +28 -0
  109. package/lib/icons/PlusSquareDashOutlined.d.ts +2 -0
  110. package/lib/icons/RecoverOutlined.cjs +29 -0
  111. package/lib/icons/RecoverOutlined.d.ts +2 -0
  112. package/lib/icons/RollbackOutlined.cjs +29 -0
  113. package/lib/icons/RollbackOutlined.d.ts +2 -0
  114. package/lib/icons/SizeCompactOutlined.cjs +4 -10
  115. package/lib/icons/SizeMiddleOutlined.cjs +4 -10
  116. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  117. package/lib/icons/index.cjs +10 -0
  118. package/lib/icons/index.d.ts +5 -0
  119. package/lib/utils/core.cjs +13 -6
  120. package/lib/utils/core.d.ts +1 -1
  121. package/lib/utils/hook.cjs +15 -2
  122. package/lib/utils/hook.d.ts +4 -0
  123. package/package.json +1 -1
@@ -53,7 +53,7 @@ const _hoisted_1 = {
53
53
  key: 0,
54
54
  class: "ele-menu-title"
55
55
  };
56
- const _hoisted_2 = ["href"];
56
+ const _hoisted_2 = ["href", "target"];
57
57
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
58
58
  const _component_ElIcon = vue.resolveComponent("ElIcon");
59
59
  const _component_ElBadge = vue.resolveComponent("ElBadge");
@@ -90,15 +90,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
90
90
  _ctx.isExternalLink(_ctx.item.path) ? (vue.openBlock(), vue.createElementBlock("a", {
91
91
  key: 0,
92
92
  href: _ctx.item.path,
93
- target: "_blank",
93
+ target: _ctx.item.pathTarget || "_blank",
94
94
  class: "ele-menu-link",
95
95
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
96
96
  }, ["stop"]))
97
97
  }, null, 8, _hoisted_2)) : _ctx.item.path ? (vue.openBlock(), vue.createBlock(_component_RouterLink, {
98
98
  key: 1,
99
99
  to: _ctx.item.path,
100
+ target: _ctx.item.pathTarget,
100
101
  class: "ele-menu-link"
101
- }, null, 8, ["to"])) : vue.createCommentVNode("", true)
102
+ }, null, 8, ["to", "target"])) : vue.createCommentVNode("", true)
102
103
  ], 64)) : vue.createCommentVNode("", true)
103
104
  ], 32)
104
105
  ], 64);
@@ -28,6 +28,8 @@ export interface MenuItem
28
28
  iconStyle?: StyleValue;
29
29
  /** 菜单链接地址 */
30
30
  path?: string;
31
+ /** 菜单的打开位置 */
32
+ pathTarget?: string;
31
33
  /** 是否展示为分组菜单 */
32
34
  group?: boolean;
33
35
  /** 徽章 */
@@ -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
  };
@@ -123,11 +123,7 @@ const _export_sfc = (sfc, props2) => {
123
123
  }
124
124
  return target;
125
125
  };
126
- const _hoisted_1 = {
127
- ref: "wrapRef",
128
- class: "ele-split-panel-wrap"
129
- };
130
- const _hoisted_2 = { class: "ele-split-panel-space" };
126
+ const _hoisted_1 = { class: "ele-split-panel-space" };
131
127
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
132
128
  const _component_ArrowUp = vue.resolveComponent("ArrowUp");
133
129
  const _component_ArrowLeft = vue.resolveComponent("ArrowLeft");
@@ -150,7 +146,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
150
146
  })
151
147
  }, {
152
148
  default: vue.withCtx(() => [
153
- vue.createElementVNode("div", _hoisted_1, [
149
+ vue.createElementVNode("div", {
150
+ ref: "wrapRef",
151
+ class: "ele-split-panel-wrap",
152
+ style: vue.normalizeStyle(_ctx.customWrapStyle)
153
+ }, [
154
154
  vue.createElementVNode("div", {
155
155
  ref: "sideRef",
156
156
  class: "ele-split-panel-side",
@@ -158,14 +158,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
158
158
  }, [
159
159
  vue.renderSlot(_ctx.$slots, "default")
160
160
  ], 4),
161
- vue.createElementVNode("div", _hoisted_2, [
161
+ vue.createElementVNode("div", _hoisted_1, [
162
162
  _ctx.resizable ? (vue.openBlock(), vue.createElementBlock("div", {
163
163
  key: 0,
164
164
  class: "ele-split-resize-line",
165
165
  onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
166
166
  }, null, 32)) : vue.createCommentVNode("", true)
167
167
  ])
168
- ], 512),
168
+ ], 4),
169
169
  vue.createElementVNode("div", {
170
170
  class: "ele-split-panel-body",
171
171
  style: vue.normalizeStyle(_ctx.bodyStyle)
@@ -6,6 +6,7 @@ declare const _default: import('vue').DefineComponent<{
6
6
  maxSize: NumberConstructor;
7
7
  space: StringConstructor;
8
8
  customStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
9
+ customWrapStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
9
10
  bodyStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
10
11
  allowCollapse: BooleanConstructor;
11
12
  collapseStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
@@ -37,6 +38,7 @@ declare const _default: import('vue').DefineComponent<{
37
38
  maxSize: NumberConstructor;
38
39
  space: StringConstructor;
39
40
  customStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
41
+ customWrapStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
40
42
  bodyStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
41
43
  allowCollapse: BooleanConstructor;
42
44
  collapseStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
@@ -9,8 +9,10 @@ const splitPanelProps = {
9
9
  maxSize: Number,
10
10
  /** 间距 */
11
11
  space: String,
12
- /** 自定义样式 */
12
+ /** 自定义边栏样式 */
13
13
  customStyle: Object,
14
+ /** 自定义边栏容器样式 */
15
+ customWrapStyle: Object,
14
16
  /** 自定义内容样式 */
15
17
  bodyStyle: Object,
16
18
  /** 是否可折叠 */
@@ -13,8 +13,10 @@ export declare const splitPanelProps: {
13
13
  maxSize: NumberConstructor;
14
14
  /** 间距 */
15
15
  space: StringConstructor;
16
- /** 自定义样式 */
16
+ /** 自定义边栏样式 */
17
17
  customStyle: PropType<StyleValue>;
18
+ /** 自定义边栏容器样式 */
19
+ customWrapStyle: PropType<StyleValue>;
18
20
  /** 自定义内容样式 */
19
21
  bodyStyle: PropType<StyleValue>;
20
22
  /** 是否可折叠 */
@@ -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
 
@@ -1043,8 +1042,6 @@
1043
1042
  /* 内部表格高度铺满 */
1044
1043
  .ele-tabs.is-flex-table {
1045
1044
  flex: 1;
1046
- display: flex;
1047
- flex-direction: column;
1048
1045
  overflow: auto;
1049
1046
 
1050
1047
  & > .el-tabs__content {
@@ -1056,6 +1053,7 @@
1056
1053
  display: flex;
1057
1054
  flex-direction: column;
1058
1055
  box-sizing: border-box;
1056
+ overflow: auto;
1059
1057
 
1060
1058
  & > .ele-pro-table {
1061
1059
  flex: 1;
@@ -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;