vxe-pc-ui 1.8.13 → 1.9.0

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 (130) hide show
  1. package/es/alert/index.js +10 -0
  2. package/es/alert/src/alert.js +103 -0
  3. package/es/alert/style.css +129 -0
  4. package/es/alert/style.min.css +1 -0
  5. package/es/components.js +3 -0
  6. package/es/drawer/src/drawer.js +3 -1
  7. package/es/drawer/style.css +3 -2
  8. package/es/drawer/style.min.css +1 -1
  9. package/es/icon/style.css +1 -1
  10. package/es/image/src/image.js +14 -3
  11. package/es/image/src/preview.js +217 -47
  12. package/es/image/src/util.js +1 -2
  13. package/es/image-preview/style.css +6 -4
  14. package/es/image-preview/style.min.css +1 -1
  15. package/es/modal/src/modal.js +3 -1
  16. package/es/modal/style.css +3 -1
  17. package/es/modal/style.min.css +1 -1
  18. package/es/style.css +1 -1
  19. package/es/style.min.css +1 -1
  20. package/es/tag/style.css +6 -6
  21. package/es/tag/style.min.css +1 -1
  22. package/es/tips/style.css +10 -9
  23. package/es/tips/style.min.css +1 -1
  24. package/es/ui/index.js +14 -3
  25. package/es/vxe-alert/index.js +3 -0
  26. package/es/vxe-alert/style.css +129 -0
  27. package/es/vxe-alert/style.min.css +1 -0
  28. package/es/vxe-drawer/style.css +3 -2
  29. package/es/vxe-drawer/style.min.css +1 -1
  30. package/es/vxe-image-preview/style.css +6 -4
  31. package/es/vxe-image-preview/style.min.css +1 -1
  32. package/es/vxe-modal/style.css +3 -1
  33. package/es/vxe-modal/style.min.css +1 -1
  34. package/es/vxe-tag/style.css +6 -6
  35. package/es/vxe-tag/style.min.css +1 -1
  36. package/es/vxe-tips/style.css +10 -9
  37. package/es/vxe-tips/style.min.css +1 -1
  38. package/lib/alert/index.js +17 -0
  39. package/lib/alert/index.min.js +1 -0
  40. package/lib/alert/src/alert.js +101 -0
  41. package/lib/alert/src/alert.min.js +1 -0
  42. package/lib/alert/style/index.js +1 -0
  43. package/lib/alert/style/style.css +129 -0
  44. package/lib/alert/style/style.min.css +1 -0
  45. package/lib/components.js +13 -1
  46. package/lib/components.min.js +1 -1
  47. package/lib/drawer/src/drawer.js +6 -0
  48. package/lib/drawer/src/drawer.min.js +1 -1
  49. package/lib/drawer/style/style.css +3 -2
  50. package/lib/drawer/style/style.min.css +1 -1
  51. package/lib/icon/style/style.css +1 -1
  52. package/lib/icon/style/style.min.css +1 -1
  53. package/lib/image/src/image.js +16 -3
  54. package/lib/image/src/image.min.js +1 -1
  55. package/lib/image/src/preview.js +195 -28
  56. package/lib/image/src/preview.min.js +1 -1
  57. package/lib/image/src/util.js +0 -2
  58. package/lib/image/src/util.min.js +1 -1
  59. package/lib/image-preview/style/style.css +6 -4
  60. package/lib/image-preview/style/style.min.css +1 -1
  61. package/lib/index.umd.js +756 -399
  62. package/lib/index.umd.min.js +1 -1
  63. package/lib/modal/src/modal.js +6 -0
  64. package/lib/modal/src/modal.min.js +1 -1
  65. package/lib/modal/style/style.css +3 -1
  66. package/lib/modal/style/style.min.css +1 -1
  67. package/lib/style.css +1 -1
  68. package/lib/style.min.css +1 -1
  69. package/lib/tag/style/style.css +6 -6
  70. package/lib/tag/style/style.min.css +1 -1
  71. package/lib/tips/style/style.css +10 -9
  72. package/lib/tips/style/style.min.css +1 -1
  73. package/lib/ui/index.js +14 -3
  74. package/lib/ui/index.min.js +1 -1
  75. package/lib/vxe-alert/index.js +22 -0
  76. package/lib/vxe-alert/index.min.js +1 -0
  77. package/lib/vxe-alert/style/index.js +1 -0
  78. package/lib/vxe-alert/style/style.css +129 -0
  79. package/lib/vxe-alert/style/style.min.css +1 -0
  80. package/lib/vxe-drawer/style/style.css +3 -2
  81. package/lib/vxe-drawer/style/style.min.css +1 -1
  82. package/lib/vxe-image-preview/style/style.css +6 -4
  83. package/lib/vxe-image-preview/style/style.min.css +1 -1
  84. package/lib/vxe-modal/style/style.css +3 -1
  85. package/lib/vxe-modal/style/style.min.css +1 -1
  86. package/lib/vxe-tag/style/style.css +6 -6
  87. package/lib/vxe-tag/style/style.min.css +1 -1
  88. package/lib/vxe-tips/style/style.css +10 -9
  89. package/lib/vxe-tips/style/style.min.css +1 -1
  90. package/package.json +2 -2
  91. package/packages/alert/index.ts +14 -0
  92. package/packages/alert/src/alert.ts +123 -0
  93. package/packages/components.ts +3 -0
  94. package/packages/drawer/src/drawer.ts +3 -1
  95. package/packages/image/src/image.ts +15 -3
  96. package/packages/image/src/preview.ts +212 -46
  97. package/packages/image/src/util.ts +1 -2
  98. package/packages/modal/src/modal.ts +3 -1
  99. package/packages/tips/src/tips.ts +3 -2
  100. package/packages/ui/index.ts +14 -2
  101. package/styles/all.scss +1 -0
  102. package/styles/components/alert.scss +99 -0
  103. package/styles/components/drawer.scss +9 -7
  104. package/styles/components/image-preview.scss +7 -4
  105. package/styles/components/modal.scss +5 -1
  106. package/styles/components/tag.scss +6 -6
  107. package/styles/components/tips.scss +10 -9
  108. package/styles/theme/base.scss +0 -53
  109. package/styles/theme/dark.scss +46 -12
  110. package/styles/theme/light.scss +46 -12
  111. package/types/all.d.ts +3 -0
  112. package/types/components/alert.d.ts +85 -0
  113. package/types/components/drawer.d.ts +2 -0
  114. package/types/components/image-preview.d.ts +6 -1
  115. package/types/components/image.d.ts +0 -1
  116. package/types/components/modal.d.ts +2 -0
  117. package/types/ui/global-config.d.ts +5 -1
  118. package/types/ui/global-icon.d.ts +7 -0
  119. /package/es/icon/style/{iconfont.1717233455609.ttf → iconfont.1717313412020.ttf} +0 -0
  120. /package/es/icon/style/{iconfont.1717233455609.woff → iconfont.1717313412020.woff} +0 -0
  121. /package/es/icon/style/{iconfont.1717233455609.woff2 → iconfont.1717313412020.woff2} +0 -0
  122. /package/es/{iconfont.1717233455609.ttf → iconfont.1717313412020.ttf} +0 -0
  123. /package/es/{iconfont.1717233455609.woff → iconfont.1717313412020.woff} +0 -0
  124. /package/es/{iconfont.1717233455609.woff2 → iconfont.1717313412020.woff2} +0 -0
  125. /package/lib/icon/style/{iconfont.1717233455609.ttf → iconfont.1717313412020.ttf} +0 -0
  126. /package/lib/icon/style/{iconfont.1717233455609.woff → iconfont.1717313412020.woff} +0 -0
  127. /package/lib/icon/style/{iconfont.1717233455609.woff2 → iconfont.1717313412020.woff2} +0 -0
  128. /package/lib/{iconfont.1717233455609.ttf → iconfont.1717313412020.ttf} +0 -0
  129. /package/lib/{iconfont.1717233455609.woff → iconfont.1717313412020.woff} +0 -0
  130. /package/lib/{iconfont.1717233455609.woff2 → iconfont.1717313412020.woff2} +0 -0
@@ -1,12 +1,20 @@
1
- import { defineComponent, h, provide, reactive, computed, watch, onMounted, onUnmounted } from 'vue';
2
- import { VxeUI, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS } from '@vxe-ui/core';
1
+ import { defineComponent, h, provide, reactive, computed, watch, onMounted, onUnmounted, createCommentVNode } from 'vue';
2
+ import { VxeUI, getConfig, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS } from '@vxe-ui/core';
3
3
  import XEUtils from 'xe-utils';
4
+ import { getDomNode } from '../..//ui/src/dom';
4
5
  export default defineComponent({
5
6
  name: 'VxeImagePreview',
6
7
  props: {
7
8
  modelValue: Number,
8
- url: String,
9
- urlList: Array
9
+ urlList: Array,
10
+ urlField: {
11
+ type: String,
12
+ default: () => getConfig().imagePreview.urlField
13
+ },
14
+ marginSize: {
15
+ type: String,
16
+ default: () => getConfig().imagePreview.marginSize
17
+ }
10
18
  },
11
19
  emits: [
12
20
  'update:modelValue',
@@ -17,33 +25,76 @@ export default defineComponent({
17
25
  const { emit } = context;
18
26
  const xID = XEUtils.uniqueId();
19
27
  const reactData = reactive({
20
- activeIndex: props.modelValue,
28
+ activeIndex: props.modelValue || 0,
29
+ targetHeight: 0,
30
+ targetWidth: 0,
21
31
  offsetPct11: false,
22
32
  offsetScale: 0,
23
33
  offsetRotate: 0,
24
34
  offsetLeft: 0,
25
35
  offsetTop: 0
26
36
  });
37
+ const computeUrlProp = computed(() => {
38
+ return props.urlField || 'url';
39
+ });
40
+ const computeMarginSize = computed(() => {
41
+ return XEUtils.toNumber(props.marginSize || 0) || 16;
42
+ });
27
43
  const computeImgList = computed(() => {
28
- const { url, urlList } = props;
29
- let list = [];
44
+ const { urlList } = props;
45
+ const urlProp = computeUrlProp.value;
30
46
  if (urlList && urlList.length) {
31
- list = urlList;
32
- }
33
- else if (url) {
34
- list = [url];
47
+ return urlList.map(item => {
48
+ if (XEUtils.isString(item)) {
49
+ return item;
50
+ }
51
+ if (item[urlProp]) {
52
+ return item[urlProp];
53
+ }
54
+ return '';
55
+ });
35
56
  }
36
- return list;
57
+ return [];
37
58
  });
38
59
  const computeImgTransform = computed(() => {
39
- const { offsetScale, offsetRotate } = reactData;
60
+ let { offsetScale, offsetRotate, offsetLeft, offsetTop } = reactData;
40
61
  const stys = [];
41
- if (offsetScale) {
42
- stys.push(`scale(${1 + offsetScale})`);
62
+ let targetScale = 1;
63
+ if (targetScale) {
64
+ targetScale = 1 + offsetScale;
65
+ stys.push(`scale(${targetScale})`);
43
66
  }
44
67
  if (offsetRotate) {
45
68
  stys.push(`rotate(${offsetRotate}deg)`);
46
69
  }
70
+ if (offsetLeft || offsetTop) {
71
+ // 缩放与位移
72
+ offsetLeft /= targetScale;
73
+ offsetTop /= targetScale;
74
+ let targetOffsetLeft = offsetLeft;
75
+ let targetOffsetTop = offsetTop;
76
+ if (offsetRotate) {
77
+ // 转向与位移
78
+ switch (offsetRotate % 360) {
79
+ case 90:
80
+ case -270:
81
+ targetOffsetLeft = offsetTop;
82
+ targetOffsetTop = -offsetLeft;
83
+ break;
84
+ case 180:
85
+ case -180:
86
+ targetOffsetLeft = -offsetLeft;
87
+ targetOffsetTop = -offsetTop;
88
+ break;
89
+ case 270:
90
+ case -90:
91
+ targetOffsetLeft = -offsetTop;
92
+ targetOffsetTop = offsetLeft;
93
+ break;
94
+ }
95
+ }
96
+ stys.push(`translate(${targetOffsetLeft}px, ${targetOffsetTop}px)`);
97
+ }
47
98
  return stys.length ? stys.join(' ') : '';
48
99
  });
49
100
  const computeMaps = {
@@ -70,19 +121,46 @@ export default defineComponent({
70
121
  };
71
122
  const imagePreviewPrivateMethods = {};
72
123
  const resetStyle = () => {
73
- reactData.offsetPct11 = false;
74
- reactData.offsetScale = 0;
75
- reactData.offsetRotate = 0;
76
- reactData.offsetTop = 0;
77
- reactData.offsetLeft = 0;
124
+ Object.assign(reactData, {
125
+ targetHeight: 0,
126
+ targetWidth: 0,
127
+ offsetPct11: false,
128
+ offsetScale: 0,
129
+ offsetRotate: 0,
130
+ offsetLeft: 0,
131
+ offsetTop: 0
132
+ });
78
133
  };
79
134
  const handleZoom = (isAdd) => {
80
135
  const { offsetScale } = reactData;
136
+ let stepNum = 0.02;
137
+ console.log(offsetScale);
138
+ if (offsetScale >= -0.6) {
139
+ stepNum = 0.04;
140
+ if (offsetScale >= -0.4) {
141
+ stepNum = 0.07;
142
+ if (offsetScale >= 0) {
143
+ stepNum = 0.1;
144
+ if (offsetScale >= 3) {
145
+ stepNum = 0.2;
146
+ if (offsetScale >= 8) {
147
+ stepNum = 0.3;
148
+ if (offsetScale >= 18) {
149
+ stepNum = 0.4;
150
+ if (offsetScale >= 38) {
151
+ stepNum = 0.5;
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+ }
81
159
  if (isAdd) {
82
- reactData.offsetScale = Number(Math.min(10, offsetScale + 0.1).toFixed(2));
160
+ reactData.offsetScale = Number(Math.min(50, offsetScale + stepNum).toFixed(2));
83
161
  }
84
162
  else {
85
- reactData.offsetScale = Number(Math.max(-0.6, offsetScale - 0.1).toFixed(2));
163
+ reactData.offsetScale = Number(Math.max(-0.9, offsetScale - stepNum).toFixed(2));
86
164
  }
87
165
  };
88
166
  const handleChange = (isNext) => {
@@ -104,6 +182,7 @@ export default defineComponent({
104
182
  activeIndex--;
105
183
  }
106
184
  }
185
+ resetStyle();
107
186
  reactData.activeIndex = activeIndex;
108
187
  emitModel(activeIndex);
109
188
  };
@@ -118,6 +197,7 @@ export default defineComponent({
118
197
  reactData.offsetRotate = offsetRotate;
119
198
  };
120
199
  const handlePct11 = () => {
200
+ resetStyle();
121
201
  reactData.offsetPct11 = true;
122
202
  };
123
203
  const handlePrintImg = () => {
@@ -161,14 +241,96 @@ export default defineComponent({
161
241
  }
162
242
  }
163
243
  };
244
+ const wheelEvent = (evnt) => {
245
+ const delta = evnt.deltaY;
246
+ if (delta > 0) {
247
+ handleZoom(false);
248
+ }
249
+ else if (delta < 0) {
250
+ handleZoom(true);
251
+ }
252
+ };
253
+ const moveEvent = (evnt) => {
254
+ const { offsetTop, offsetLeft } = reactData;
255
+ evnt.preventDefault();
256
+ const domMousemove = document.onmousemove;
257
+ const domMouseup = document.onmouseup;
258
+ const startX = evnt.pageX;
259
+ const startY = evnt.pageY;
260
+ const marginSize = computeMarginSize.value;
261
+ document.onmousemove = et => {
262
+ const { pageX, pageY } = et;
263
+ const { visibleHeight, visibleWidth } = getDomNode();
264
+ et.preventDefault();
265
+ console.log(et.pageX);
266
+ // 限制边界值
267
+ if (pageX > marginSize && pageY > marginSize && pageX < (visibleWidth - marginSize) && pageY < (visibleHeight - marginSize)) {
268
+ reactData.offsetLeft = offsetLeft + pageX - startX;
269
+ reactData.offsetTop = offsetTop + pageY - startY;
270
+ }
271
+ };
272
+ document.onmouseup = () => {
273
+ document.onmousemove = domMousemove;
274
+ document.onmouseup = domMouseup;
275
+ };
276
+ };
164
277
  const handleGlobalKeydownEvent = (evnt) => {
278
+ const hasCtrlKey = evnt.ctrlKey;
279
+ const hasShiftKey = evnt.shiftKey;
280
+ const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
281
+ const isDownArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
165
282
  const isLeftArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_LEFT);
166
283
  const isRightArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_RIGHT);
167
- if (isLeftArrow) {
168
- handleChange(false);
284
+ const isR = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.R);
285
+ const isP = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.P);
286
+ if (isUpArrow) {
287
+ evnt.preventDefault();
288
+ if (hasShiftKey) {
289
+ reactData.offsetTop -= 1;
290
+ }
291
+ else {
292
+ handleZoom(true);
293
+ }
294
+ }
295
+ else if (isDownArrow) {
296
+ evnt.preventDefault();
297
+ if (hasShiftKey) {
298
+ reactData.offsetTop += 1;
299
+ }
300
+ else {
301
+ handleZoom(false);
302
+ }
303
+ }
304
+ else if (isLeftArrow) {
305
+ evnt.preventDefault();
306
+ if (hasShiftKey) {
307
+ reactData.offsetLeft -= 1;
308
+ }
309
+ else {
310
+ handleChange(false);
311
+ }
169
312
  }
170
313
  else if (isRightArrow) {
171
- handleChange(true);
314
+ evnt.preventDefault();
315
+ if (hasShiftKey) {
316
+ reactData.offsetLeft += 1;
317
+ }
318
+ else {
319
+ handleChange(true);
320
+ }
321
+ }
322
+ else if (isR && hasCtrlKey) {
323
+ evnt.preventDefault();
324
+ if (hasShiftKey) {
325
+ handleRotateImg(false);
326
+ }
327
+ else {
328
+ handleRotateImg(true);
329
+ }
330
+ }
331
+ else if (isP && hasCtrlKey) {
332
+ evnt.preventDefault();
333
+ handlePrintImg();
172
334
  }
173
335
  };
174
336
  Object.assign($xeImagePreview, imagePreviewMethods, imagePreviewPrivateMethods);
@@ -189,7 +351,10 @@ export default defineComponent({
189
351
  ? {
190
352
  transform: imgTransform
191
353
  }
192
- : null
354
+ : null,
355
+ onMousedown(evnt) {
356
+ moveEvent(evnt);
357
+ }
193
358
  });
194
359
  }));
195
360
  };
@@ -226,26 +391,30 @@ export default defineComponent({
226
391
  class: 'vxe-image-preview--close-bg'
227
392
  })
228
393
  ]),
229
- h('div', {
230
- class: 'vxe-image-preview--previous-btn',
231
- onClick() {
232
- handleChange(false);
233
- }
234
- }, [
235
- h('i', {
236
- class: getIcon().IMAGE_PREVIEW_PREVIOUS
237
- })
238
- ]),
239
- h('div', {
240
- class: 'vxe-image-preview--next-btn',
241
- onClick() {
242
- handleChange(true);
243
- }
244
- }, [
245
- h('i', {
246
- class: getIcon().IMAGE_PREVIEW_NEXT
247
- })
248
- ]),
394
+ imgList.length > 1
395
+ ? h('div', {
396
+ class: 'vxe-image-preview--previous-btn',
397
+ onClick() {
398
+ handleChange(false);
399
+ }
400
+ }, [
401
+ h('i', {
402
+ class: getIcon().IMAGE_PREVIEW_PREVIOUS
403
+ })
404
+ ])
405
+ : createCommentVNode(),
406
+ imgList.length > 1
407
+ ? h('div', {
408
+ class: 'vxe-image-preview--next-btn',
409
+ onClick() {
410
+ handleChange(true);
411
+ }
412
+ }, [
413
+ h('i', {
414
+ class: getIcon().IMAGE_PREVIEW_NEXT
415
+ })
416
+ ])
417
+ : createCommentVNode(),
249
418
  h('div', {
250
419
  class: 'vxe-image-preview--operation-wrapper'
251
420
  }, [
@@ -267,7 +436,8 @@ export default defineComponent({
267
436
  return h('div', {
268
437
  class: ['vxe-image-preview', {
269
438
  'is--pct11': offsetPct11
270
- }]
439
+ }],
440
+ onWheel: wheelEvent
271
441
  }, [
272
442
  renderImgWrapper(),
273
443
  renderBtnWrapper()
@@ -5,7 +5,7 @@ import XEUtils from 'xe-utils';
5
5
  export const openPreviewImage = (options) => {
6
6
  if (VxeUI.modal) {
7
7
  const opts = Object.assign({}, options);
8
- const { url, urlList, activeIndex } = opts;
8
+ const { urlList, activeIndex } = opts;
9
9
  const modalId = XEUtils.uniqueId('image-preview');
10
10
  VxeUI.modal.open({
11
11
  id: modalId,
@@ -21,7 +21,6 @@ export const openPreviewImage = (options) => {
21
21
  return h(VxeImagePreviewComponent, {
22
22
  modelValue: activeIndex,
23
23
  urlList,
24
- url,
25
24
  onClose() {
26
25
  VxeUI.modal.close(modalId);
27
26
  }
@@ -21,7 +21,6 @@
21
21
  .vxe-image-preview--img-item {
22
22
  display: none;
23
23
  cursor: grabbing;
24
- transition: transform 0.3s ease-in-out;
25
24
  }
26
25
  .vxe-image-preview--img-item.is--active {
27
26
  display: block;
@@ -80,7 +79,7 @@
80
79
  justify-content: center;
81
80
  top: 50%;
82
81
  border-radius: 50%;
83
- font-size: 2em;
82
+ font-size: 1.6em;
84
83
  padding: 0.5em;
85
84
  transform: translateY(-50%);
86
85
  background-color: rgba(0, 0, 0, 0.8);
@@ -120,12 +119,13 @@
120
119
  display: flex;
121
120
  flex-direction: row;
122
121
  align-items: center;
122
+ justify-content: center;
123
123
  font-size: 1.2em;
124
- padding: 0 0.5em;
124
+ min-width: 2.5em;
125
125
  }
126
126
 
127
127
  .vxe-image-preview--operation-btn {
128
- font-size: 2em;
128
+ font-size: 1.6em;
129
129
  padding: 0.5em;
130
130
  cursor: pointer;
131
131
  transition: all 0.1s ease-in-out;
@@ -144,7 +144,9 @@
144
144
  user-select: none;
145
145
  }
146
146
  .vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--box {
147
+ border: 0;
147
148
  background-color: rgba(0, 0, 0, 0.1);
149
+ box-shadow: none;
148
150
  }
149
151
  .vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--content {
150
152
  padding: 0;
@@ -1 +1 @@
1
- .vxe-image-preview{position:relative;width:100%;height:100%;overflow:hidden}.vxe-image-preview:not(.is--pct11) .vxe-image-preview--img-item{max-width:100%;max-height:100%}.vxe-image-preview--img-list{display:flex;width:100%;height:100%;flex-direction:row;align-items:center;justify-content:center}.vxe-image-preview--img-item{display:none;cursor:grabbing;transition:transform .3s ease-in-out}.vxe-image-preview--img-item.is--active{display:block}.vxe-image-preview--close-btn{top:0;right:0;z-index:99;padding:1em;font-size:1.5em;transform:scale(1);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out}.vxe-image-preview--close-bg{position:absolute;top:-7em;right:-12em;z-index:99;width:30em;height:10em;background-color:rgba(0,0,0,.8);color:var(--vxe-ui-status-error-color);transform:rotate(45deg);cursor:pointer;z-index:88;transition:all .2s ease-in-out}.vxe-image-preview--close-wrapper:hover .vxe-image-preview--close-btn{top:.2em;right:.2em;transform:scale(1.2);color:var(--vxe-ui-status-error-color)}.vxe-image-preview--close-wrapper:hover .vxe-image-preview--close-bg{top:-5em}.vxe-image-preview--close-btn,.vxe-image-preview--next-btn,.vxe-image-preview--operation-wrapper,.vxe-image-preview--previous-btn{position:absolute;z-index:99}.vxe-image-preview--next-btn,.vxe-image-preview--previous-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;top:50%;border-radius:50%;font-size:2em;padding:.5em;transform:translateY(-50%);background-color:rgba(0,0,0,.8);cursor:pointer;transition:all .1s ease-in-out}.vxe-image-preview--next-btn:hover,.vxe-image-preview--previous-btn:hover{color:var(--vxe-ui-font-primary-color);transform:translateY(-50%) scale(1.2)}.vxe-image-preview--next-btn:active,.vxe-image-preview--previous-btn:active{transform:translateY(-50%) scale(1.1)}.vxe-image-preview--previous-btn{left:1vw}.vxe-image-preview--next-btn{right:1vw}.vxe-image-preview--operation-wrapper{display:flex;flex-direction:row;bottom:3vh;left:50%;transform:translateX(-50%);padding:0 1.5em;border-radius:3em;background-color:rgba(0,0,0,.8)}.vxe-image-preview--operation-active-count{display:flex;flex-direction:row;align-items:center;font-size:1.2em;padding:0 .5em}.vxe-image-preview--operation-btn{font-size:2em;padding:.5em;cursor:pointer;transition:all .1s ease-in-out}.vxe-image-preview--operation-btn:hover{color:var(--vxe-ui-font-primary-color);transform:scale(1.2)}.vxe-image-preview--operation-btn:active{transform:scale(1.1)}.vxe-image-preview-popup-wrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--box{background-color:rgba(0,0,0,.1)}.vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--content{padding:0}
1
+ .vxe-image-preview{position:relative;width:100%;height:100%;overflow:hidden}.vxe-image-preview:not(.is--pct11) .vxe-image-preview--img-item{max-width:100%;max-height:100%}.vxe-image-preview--img-list{display:flex;width:100%;height:100%;flex-direction:row;align-items:center;justify-content:center}.vxe-image-preview--img-item{display:none;cursor:grabbing}.vxe-image-preview--img-item.is--active{display:block}.vxe-image-preview--close-btn{top:0;right:0;z-index:99;padding:1em;font-size:1.5em;transform:scale(1);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out}.vxe-image-preview--close-bg{position:absolute;top:-7em;right:-12em;z-index:99;width:30em;height:10em;background-color:rgba(0,0,0,.8);color:var(--vxe-ui-status-error-color);transform:rotate(45deg);cursor:pointer;z-index:88;transition:all .2s ease-in-out}.vxe-image-preview--close-wrapper:hover .vxe-image-preview--close-btn{top:.2em;right:.2em;transform:scale(1.2);color:var(--vxe-ui-status-error-color)}.vxe-image-preview--close-wrapper:hover .vxe-image-preview--close-bg{top:-5em}.vxe-image-preview--close-btn,.vxe-image-preview--next-btn,.vxe-image-preview--operation-wrapper,.vxe-image-preview--previous-btn{position:absolute;z-index:99}.vxe-image-preview--next-btn,.vxe-image-preview--previous-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;top:50%;border-radius:50%;font-size:1.6em;padding:.5em;transform:translateY(-50%);background-color:rgba(0,0,0,.8);cursor:pointer;transition:all .1s ease-in-out}.vxe-image-preview--next-btn:hover,.vxe-image-preview--previous-btn:hover{color:var(--vxe-ui-font-primary-color);transform:translateY(-50%) scale(1.2)}.vxe-image-preview--next-btn:active,.vxe-image-preview--previous-btn:active{transform:translateY(-50%) scale(1.1)}.vxe-image-preview--previous-btn{left:1vw}.vxe-image-preview--next-btn{right:1vw}.vxe-image-preview--operation-wrapper{display:flex;flex-direction:row;bottom:3vh;left:50%;transform:translateX(-50%);padding:0 1.5em;border-radius:3em;background-color:rgba(0,0,0,.8)}.vxe-image-preview--operation-active-count{display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:1.2em;min-width:2.5em}.vxe-image-preview--operation-btn{font-size:1.6em;padding:.5em;cursor:pointer;transition:all .1s ease-in-out}.vxe-image-preview--operation-btn:hover{color:var(--vxe-ui-font-primary-color);transform:scale(1.2)}.vxe-image-preview--operation-btn:active{transform:scale(1.1)}.vxe-image-preview-popup-wrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--box{border:0;background-color:rgba(0,0,0,.1);box-shadow:none}.vxe-image-preview-popup-wrapper.vxe-modal--wrapper.type--modal .vxe-modal--content{padding:0}
@@ -53,6 +53,7 @@ export default defineComponent({
53
53
  transfer: { type: Boolean, default: () => getConfig().modal.transfer },
54
54
  storage: { type: Boolean, default: () => getConfig().modal.storage },
55
55
  storageKey: { type: String, default: () => getConfig().modal.storageKey },
56
+ padding: { type: Boolean, default: () => getConfig().modal.padding },
56
57
  animat: { type: Boolean, default: () => getConfig().modal.animat },
57
58
  size: { type: String, default: () => getConfig().modal.size || getConfig().size },
58
59
  beforeHideMethod: { type: Function, default: () => getConfig().modal.beforeHideMethod },
@@ -804,7 +805,7 @@ export default defineComponent({
804
805
  return footVNs;
805
806
  };
806
807
  const renderVN = () => {
807
- const { className, type, animat, loading, status, lockScroll, lockView, mask, resize } = props;
808
+ const { className, type, animat, loading, status, lockScroll, padding, lockView, mask, resize } = props;
808
809
  const { inited, zoomLocat, modalTop, contentVisible, visible } = reactData;
809
810
  const vSize = computeSize.value;
810
811
  return h(Teleport, {
@@ -816,6 +817,7 @@ export default defineComponent({
816
817
  class: ['vxe-modal--wrapper', `type--${type}`, className || '', {
817
818
  [`size--${vSize}`]: vSize,
818
819
  [`status--${status}`]: status,
820
+ 'is--padding': padding,
819
821
  'is--animat': animat,
820
822
  'lock--scroll': lockScroll,
821
823
  'lock--view': lockView,
@@ -164,6 +164,9 @@
164
164
  .vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper {
165
165
  color: var(--vxe-ui-font-disabled-color);
166
166
  }
167
+ .vxe-modal--wrapper.is--padding .vxe-modal--content {
168
+ padding: 0.8em 1em;
169
+ }
167
170
  .vxe-modal--wrapper .vxe-modal--status-wrapper {
168
171
  flex-shrink: 0;
169
172
  display: flex;
@@ -171,7 +174,6 @@
171
174
  }
172
175
  .vxe-modal--wrapper .vxe-modal--content {
173
176
  flex-grow: 1;
174
- padding: 0.8em 1em;
175
177
  white-space: pre-line;
176
178
  }
177
179
  .vxe-modal--wrapper .vxe-modal--header,
@@ -1 +1 @@
1
- .vxe-modal--wrapper{display:none;position:fixed;top:0;left:0;line-height:1.5;width:calc(100% + 18px);height:calc(100% + 18px);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);transition:top .4s ease-in-out}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible.type--message .vxe-modal--box{opacity:1;transform:translateY(0)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper.is--loading .vxe-modal--footer,.vxe-modal--wrapper.is--loading .vxe-modal--header{position:relative;border-bottom-color:var(--vxe-ui-loading-background-color)}.vxe-modal--wrapper.is--loading .vxe-modal--footer:before,.vxe-modal--wrapper.is--loading .vxe-modal--header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper:not(.type--message).lock--scroll{overflow:hidden}.vxe-modal--wrapper:not(.type--message):not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:rgba(0,0,0,0)}.vxe-modal--wrapper.is--animat.is--mask:before{transition:background-color .2s ease-in-out}.vxe-modal--wrapper.is--animat.type--message .vxe-modal--box:not(.is--drag){transition:all .4s ease-out}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message{text-align:center}.vxe-modal--wrapper.type--message .vxe-modal--box{display:inline-block;padding:2px 0;margin-top:0;width:auto;box-shadow:0 0 8px 0 rgba(0,0,0,.1);opacity:0;transform:translateY(-100%)}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content{max-width:800px;float:left}.vxe-modal--wrapper.type--message .vxe-modal--status-wrapper{font-size:1.4em;padding-left:10px}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:flex;flex-direction:column;position:fixed;left:50%;top:0;box-shadow:var(--vxe-ui-base-popup-box-shadow)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--status-wrapper,.vxe-modal--wrapper.type--confirm .vxe-modal--status-wrapper{font-size:1.6em;padding-left:10px}.vxe-modal--wrapper .vxe-modal--box{visibility:hidden;width:420px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);text-align:left;pointer-events:auto;opacity:0}.vxe-modal--wrapper .vxe-modal--box.is--drag{cursor:move}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body{overflow:hidden}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content{overflow:hidden}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:var(--vxe-ui-status-info-color)}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:var(--vxe-ui-status-warning-color)}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:var(--vxe-ui-status-success-color)}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:var(--vxe-ui-status-danger-color)}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:var(--vxe-ui-font-disabled-color)}.vxe-modal--wrapper .vxe-modal--status-wrapper{flex-shrink:0;display:flex;align-items:center}.vxe-modal--wrapper .vxe-modal--content{flex-grow:1;padding:.8em 1em;white-space:pre-line}.vxe-modal--wrapper .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--footer,.vxe-modal--wrapper .vxe-modal--header{position:relative}.vxe-modal--wrapper .vxe-modal--body{display:flex;flex-grow:1}.vxe-modal--wrapper .vxe-modal--header{display:flex;flex-direction:row;flex-shrink:0;font-size:1.1em;font-weight:700;border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-modal-header-background-color);border-radius:var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-modal--wrapper .vxe-modal--header.is--draggable .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper .vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--wrapper .vxe-modal--header-title{flex-grow:1;padding:.6em 0 .6em 1em}.vxe-modal--wrapper .vxe-modal--header-right{flex-shrink:0;padding:.6em 1em .6em 0}.vxe-modal--wrapper .vxe-modal--close-btn,.vxe-modal--wrapper .vxe-modal--zoom-btn{cursor:pointer;margin-left:.6em}.vxe-modal--wrapper .vxe-modal--close-btn:hover,.vxe-modal--wrapper .vxe-modal--zoom-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-modal--wrapper .vxe-modal--footer{flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--wrapper.is--maximize .vxe-modal--box .vxe-modal--header{cursor:default}.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .selb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sest-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .st-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swst-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wl-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize,.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.vxe-modal--wrapper .vxe-modal--resize .wl-resize{left:-5px}.vxe-modal--wrapper .vxe-modal--resize .wr-resize{right:-5px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{width:10px;height:10px;z-index:101}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{top:-8px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{bottom:-8px}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{left:-8px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize{right:-8px}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.vxe-modal--wrapper .vxe-modal--resize .st-resize{top:-5px}.vxe-modal--wrapper .vxe-modal--resize .sb-resize{bottom:-5px}.vxe-modal--wrapper{font-size:var(--vxe-ui-font-size-default)}.vxe-modal--wrapper.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-modal--wrapper.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-modal--wrapper.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-modal--wrapper{display:none;position:fixed;top:0;left:0;line-height:1.5;width:calc(100% + 18px);height:calc(100% + 18px);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);transition:top .4s ease-in-out}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible.type--message .vxe-modal--box{opacity:1;transform:translateY(0)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper.is--loading .vxe-modal--footer,.vxe-modal--wrapper.is--loading .vxe-modal--header{position:relative;border-bottom-color:var(--vxe-ui-loading-background-color)}.vxe-modal--wrapper.is--loading .vxe-modal--footer:before,.vxe-modal--wrapper.is--loading .vxe-modal--header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper:not(.type--message).lock--scroll{overflow:hidden}.vxe-modal--wrapper:not(.type--message):not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:rgba(0,0,0,0)}.vxe-modal--wrapper.is--animat.is--mask:before{transition:background-color .2s ease-in-out}.vxe-modal--wrapper.is--animat.type--message .vxe-modal--box:not(.is--drag){transition:all .4s ease-out}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message{text-align:center}.vxe-modal--wrapper.type--message .vxe-modal--box{display:inline-block;padding:2px 0;margin-top:0;width:auto;box-shadow:0 0 8px 0 rgba(0,0,0,.1);opacity:0;transform:translateY(-100%)}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content{max-width:800px;float:left}.vxe-modal--wrapper.type--message .vxe-modal--status-wrapper{font-size:1.4em;padding-left:10px}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:flex;flex-direction:column;position:fixed;left:50%;top:0;box-shadow:var(--vxe-ui-base-popup-box-shadow)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--status-wrapper,.vxe-modal--wrapper.type--confirm .vxe-modal--status-wrapper{font-size:1.6em;padding-left:10px}.vxe-modal--wrapper .vxe-modal--box{visibility:hidden;width:420px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);text-align:left;pointer-events:auto;opacity:0}.vxe-modal--wrapper .vxe-modal--box.is--drag{cursor:move}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body{overflow:hidden}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content{overflow:hidden}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:var(--vxe-ui-status-info-color)}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:var(--vxe-ui-status-warning-color)}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:var(--vxe-ui-status-success-color)}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:var(--vxe-ui-status-danger-color)}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:var(--vxe-ui-font-disabled-color)}.vxe-modal--wrapper.is--padding .vxe-modal--content{padding:.8em 1em}.vxe-modal--wrapper .vxe-modal--status-wrapper{flex-shrink:0;display:flex;align-items:center}.vxe-modal--wrapper .vxe-modal--content{flex-grow:1;white-space:pre-line}.vxe-modal--wrapper .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--footer,.vxe-modal--wrapper .vxe-modal--header{position:relative}.vxe-modal--wrapper .vxe-modal--body{display:flex;flex-grow:1}.vxe-modal--wrapper .vxe-modal--header{display:flex;flex-direction:row;flex-shrink:0;font-size:1.1em;font-weight:700;border-bottom:1px solid var(--vxe-ui-input-border-color);background-color:var(--vxe-ui-modal-header-background-color);border-radius:var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-modal--wrapper .vxe-modal--header.is--draggable .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper .vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--wrapper .vxe-modal--header-title{flex-grow:1;padding:.6em 0 .6em 1em}.vxe-modal--wrapper .vxe-modal--header-right{flex-shrink:0;padding:.6em 1em .6em 0}.vxe-modal--wrapper .vxe-modal--close-btn,.vxe-modal--wrapper .vxe-modal--zoom-btn{cursor:pointer;margin-left:.6em}.vxe-modal--wrapper .vxe-modal--close-btn:hover,.vxe-modal--wrapper .vxe-modal--zoom-btn:hover{color:var(--vxe-ui-font-primary-color)}.vxe-modal--wrapper .vxe-modal--footer{flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--wrapper.is--maximize .vxe-modal--box .vxe-modal--header{cursor:default}.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .selb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sest-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .st-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swst-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wl-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize,.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.vxe-modal--wrapper .vxe-modal--resize .wl-resize{left:-5px}.vxe-modal--wrapper .vxe-modal--resize .wr-resize{right:-5px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{width:10px;height:10px;z-index:101}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{top:-8px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{bottom:-8px}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{left:-8px}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize{right:-8px}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.vxe-modal--wrapper .vxe-modal--resize .st-resize{top:-5px}.vxe-modal--wrapper .vxe-modal--resize .sb-resize{bottom:-5px}.vxe-modal--wrapper{font-size:var(--vxe-ui-font-size-default)}.vxe-modal--wrapper.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-modal--wrapper.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-modal--wrapper.size--mini{font-size:var(--vxe-ui-font-size-mini)}