@geelato/web-vue 2.57.1 → 2.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/arco-vue.js +872 -535
- package/dist/arco-vue.js.map +1 -1
- package/dist/arco-vue.min.js +1645 -1546
- package/dist/arco-vue.min.js.map +1 -1
- package/dist/arco.css +39 -8
- package/dist/arco.min.css +1 -1
- package/es/_components/picker/input-range.d.ts +2 -2
- package/es/_components/picker/input.d.ts +1 -1
- package/es/_components/virtual-list-v2/virtual-list.d.ts +3 -3
- package/es/_utils/array.d.ts +1 -1
- package/es/_utils/array.js +18 -1
- package/es/date-picker/index.d.ts +7 -7
- package/es/date-picker/panels/date/index.d.ts +2 -2
- package/es/date-picker/panels/week/index.d.ts +2 -2
- package/es/date-picker/picker-panel.d.ts +4 -4
- package/es/date-picker/picker.d.ts +5 -5
- package/es/date-picker/range-picker-panel.d.ts +4 -4
- package/es/date-picker/range-picker.d.ts +7 -7
- package/es/drawer/drawer.d.ts +24 -0
- package/es/drawer/drawer.js +61 -6
- package/es/drawer/index.d.ts +45 -0
- package/es/drawer/style/index.css +10 -0
- package/es/drawer/style/index.less +12 -0
- package/es/index.css +39 -8
- package/es/mention/index.d.ts +3 -3
- package/es/mention/mention.d.ts +1 -1
- package/es/menu/item.d.ts +1 -1
- package/es/menu/sub-menu-pop.d.ts +1 -1
- package/es/message/message.d.ts +1 -1
- package/es/modal/index.d.ts +33 -3
- package/es/modal/modal.d.ts +16 -1
- package/es/modal/modal.js +23 -6
- package/es/modal/modal.vue_vue_type_script_lang.js +26 -2
- package/es/modal/style/index.css +7 -1
- package/es/modal/style/index.less +8 -1
- package/es/pagination/index.d.ts +3 -3
- package/es/pagination/pagination.d.ts +1 -1
- package/es/table/context.d.ts +3 -0
- package/es/table/hooks/use-row-selection.js +5 -3
- package/es/table/interface.d.ts +1 -1
- package/es/table/style/index.css +22 -7
- package/es/table/style/index.less +25 -8
- package/es/table/table-operation-td.js +6 -6
- package/es/table/table-operation-th.js +19 -7
- package/es/table/table-td.js +2 -2
- package/es/table/table.js +165 -33
- package/es/table/utils.d.ts +1 -1
- package/es/table/utils.js +9 -5
- package/es/time-picker/index.d.ts +14 -14
- package/es/time-picker/panel.d.ts +2 -2
- package/es/time-picker/range-panel.d.ts +2 -2
- package/es/time-picker/time-picker.d.ts +7 -7
- package/es/tree/index.d.ts +6 -6
- package/es/tree/tree.d.ts +3 -3
- package/es/tree-select/index.d.ts +12 -12
- package/es/tree-select/panel.d.ts +6 -6
- package/es/tree-select/tree-select.d.ts +6 -6
- package/es/typography/index.d.ts +3 -3
- package/es/typography/title.d.ts +3 -3
- package/json/vetur-attributes.json +2491 -2491
- package/json/vetur-tags.json +889 -889
- package/json/web-types.json +4726 -4726
- package/lib/_utils/array.js +18 -1
- package/lib/drawer/drawer.js +63 -8
- package/lib/drawer/style/index.css +10 -0
- package/lib/drawer/style/index.less +12 -0
- package/lib/index.css +39 -8
- package/lib/modal/modal.js +23 -6
- package/lib/modal/modal.vue_vue_type_script_lang.js +36 -12
- package/lib/modal/style/index.css +7 -1
- package/lib/modal/style/index.less +8 -1
- package/lib/table/hooks/use-row-selection.js +5 -3
- package/lib/table/style/index.css +22 -7
- package/lib/table/style/index.less +25 -8
- package/lib/table/table-operation-td.js +6 -6
- package/lib/table/table-operation-th.js +19 -7
- package/lib/table/table-td.js +2 -2
- package/lib/table/table.js +164 -32
- package/lib/table/utils.js +9 -5
- package/package.json +25 -24
- package/LICENSE +0 -21
package/lib/_utils/array.js
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const union = (target, source, difference = false) => {
|
|
4
|
-
|
|
4
|
+
if (difference) {
|
|
5
|
+
const sourceSet = source instanceof Set ? source : new Set(source);
|
|
6
|
+
const result = [];
|
|
7
|
+
for (const item of target) {
|
|
8
|
+
if (!sourceSet.has(item)) {
|
|
9
|
+
result.push(item);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
const resultSet = /* @__PURE__ */ new Set();
|
|
15
|
+
for (const item of target) {
|
|
16
|
+
resultSet.add(item);
|
|
17
|
+
}
|
|
18
|
+
for (const item of source) {
|
|
19
|
+
resultSet.add(item);
|
|
20
|
+
}
|
|
21
|
+
return Array.from(resultSet);
|
|
5
22
|
};
|
|
6
23
|
const getReverse = (array) => {
|
|
7
24
|
const result = [];
|
package/lib/drawer/drawer.js
CHANGED
|
@@ -5,7 +5,9 @@ var clientOnly = require("../_components/client-only.js");
|
|
|
5
5
|
var index = require("../button/index.js");
|
|
6
6
|
var iconHover = require("../_components/icon-hover.js");
|
|
7
7
|
var index$1 = require("../icon/icon-close/index.js");
|
|
8
|
-
var index$2 = require("../
|
|
8
|
+
var index$2 = require("../icon/icon-fullscreen/index.js");
|
|
9
|
+
var index$3 = require("../icon/icon-fullscreen-exit/index.js");
|
|
10
|
+
var index$4 = require("../locale/index.js");
|
|
9
11
|
var useOverflow = require("../_hooks/use-overflow.js");
|
|
10
12
|
var dom = require("../_utils/dom.js");
|
|
11
13
|
var usePopupManager = require("../_hooks/use-popup-manager.js");
|
|
@@ -20,7 +22,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
20
22
|
ClientOnly: clientOnly,
|
|
21
23
|
ArcoButton: index["default"],
|
|
22
24
|
IconHover: iconHover,
|
|
23
|
-
IconClose: index$1
|
|
25
|
+
IconClose: index$1,
|
|
26
|
+
IconFullscreen: index$2,
|
|
27
|
+
IconFullscreenExit: index$3
|
|
24
28
|
},
|
|
25
29
|
inheritAttrs: false,
|
|
26
30
|
props: {
|
|
@@ -109,10 +113,19 @@ const _sfc_main = vue.defineComponent({
|
|
|
109
113
|
hideCancel: {
|
|
110
114
|
type: Boolean,
|
|
111
115
|
default: false
|
|
116
|
+
},
|
|
117
|
+
fullscreen: {
|
|
118
|
+
type: Boolean,
|
|
119
|
+
default: false
|
|
120
|
+
},
|
|
121
|
+
showFullscreen: {
|
|
122
|
+
type: Boolean,
|
|
123
|
+
default: false
|
|
112
124
|
}
|
|
113
125
|
},
|
|
114
126
|
emits: {
|
|
115
127
|
"update:visible": (visible) => true,
|
|
128
|
+
"update:fullscreen": (fullscreen) => true,
|
|
116
129
|
"ok": (e) => true,
|
|
117
130
|
"cancel": (e) => true,
|
|
118
131
|
"open": () => true,
|
|
@@ -123,12 +136,19 @@ const _sfc_main = vue.defineComponent({
|
|
|
123
136
|
setup(props, { emit }) {
|
|
124
137
|
const { popupContainer } = vue.toRefs(props);
|
|
125
138
|
const prefixCls = globalConfig.getPrefixCls("drawer");
|
|
126
|
-
const { t } = index$
|
|
139
|
+
const { t } = index$4.useI18n();
|
|
127
140
|
const _visible = vue.ref(props.defaultVisible);
|
|
141
|
+
const _fullscreen = vue.ref(props.fullscreen);
|
|
128
142
|
const computedVisible = vue.computed(() => {
|
|
129
143
|
var _a;
|
|
130
144
|
return (_a = props.visible) != null ? _a : _visible.value;
|
|
131
145
|
});
|
|
146
|
+
const mergedFullscreen = vue.computed(
|
|
147
|
+
() => {
|
|
148
|
+
var _a;
|
|
149
|
+
return (_a = props.fullscreen) != null ? _a : _fullscreen.value;
|
|
150
|
+
}
|
|
151
|
+
);
|
|
132
152
|
const _okLoading = vue.ref(false);
|
|
133
153
|
const mergedOkLoading = vue.computed(() => props.okLoading || _okLoading.value);
|
|
134
154
|
const { teleportContainer, containerRef } = useTeleportContainer.useTeleportContainer({
|
|
@@ -215,6 +235,11 @@ const _sfc_main = vue.defineComponent({
|
|
|
215
235
|
close();
|
|
216
236
|
}
|
|
217
237
|
};
|
|
238
|
+
const toggleFullscreen = () => {
|
|
239
|
+
const next = !mergedFullscreen.value;
|
|
240
|
+
_fullscreen.value = next;
|
|
241
|
+
emit("update:fullscreen", next);
|
|
242
|
+
};
|
|
218
243
|
const handleMask = (e) => {
|
|
219
244
|
if (props.maskClosable) {
|
|
220
245
|
handleCancel(e);
|
|
@@ -258,6 +283,14 @@ const _sfc_main = vue.defineComponent({
|
|
|
258
283
|
removeGlobalKeyDownListener();
|
|
259
284
|
}
|
|
260
285
|
});
|
|
286
|
+
vue.watch(
|
|
287
|
+
() => props.fullscreen,
|
|
288
|
+
(val) => {
|
|
289
|
+
if (_fullscreen.value !== val) {
|
|
290
|
+
_fullscreen.value = !!val;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
);
|
|
261
294
|
const style = vue.computed(() => {
|
|
262
295
|
var _a;
|
|
263
296
|
const style2 = {
|
|
@@ -285,13 +318,17 @@ const _sfc_main = vue.defineComponent({
|
|
|
285
318
|
handleClose,
|
|
286
319
|
handleMask,
|
|
287
320
|
isFixed,
|
|
288
|
-
teleportContainer
|
|
321
|
+
teleportContainer,
|
|
322
|
+
mergedFullscreen,
|
|
323
|
+
toggleFullscreen
|
|
289
324
|
};
|
|
290
325
|
}
|
|
291
326
|
});
|
|
292
327
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
293
|
-
const
|
|
328
|
+
const _component_icon_fullscreen = vue.resolveComponent("icon-fullscreen");
|
|
329
|
+
const _component_icon_fullscreen_exit = vue.resolveComponent("icon-fullscreen-exit");
|
|
294
330
|
const _component_icon_hover = vue.resolveComponent("icon-hover");
|
|
331
|
+
const _component_icon_close = vue.resolveComponent("icon-close");
|
|
295
332
|
const _component_arco_button = vue.resolveComponent("arco-button");
|
|
296
333
|
const _component_client_only = vue.resolveComponent("client-only");
|
|
297
334
|
return vue.openBlock(), vue.createBlock(_component_client_only, null, {
|
|
@@ -329,7 +366,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
329
366
|
}, {
|
|
330
367
|
default: vue.withCtx(() => [
|
|
331
368
|
vue.withDirectives(vue.createElementVNode("div", {
|
|
332
|
-
class: vue.normalizeClass(
|
|
369
|
+
class: vue.normalizeClass([
|
|
370
|
+
_ctx.prefixCls,
|
|
371
|
+
{ [`${_ctx.prefixCls}-fullscreen`]: _ctx.mergedFullscreen }
|
|
372
|
+
]),
|
|
333
373
|
style: vue.normalizeStyle(_ctx.style)
|
|
334
374
|
}, [
|
|
335
375
|
_ctx.header ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -345,13 +385,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
345
385
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
346
386
|
])
|
|
347
387
|
], 2)) : vue.createCommentVNode("v-if", true),
|
|
348
|
-
_ctx.
|
|
388
|
+
_ctx.showFullscreen ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
349
389
|
key: 1,
|
|
350
390
|
tabindex: "-1",
|
|
351
391
|
role: "button",
|
|
392
|
+
"aria-label": "Fullscreen",
|
|
393
|
+
class: vue.normalizeClass(`${_ctx.prefixCls}-fullscreen-btn`),
|
|
394
|
+
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.toggleFullscreen && _ctx.toggleFullscreen(...args))
|
|
395
|
+
}, [
|
|
396
|
+
vue.createVNode(_component_icon_hover, null, {
|
|
397
|
+
default: vue.withCtx(() => [
|
|
398
|
+
!_ctx.mergedFullscreen ? (vue.openBlock(), vue.createBlock(_component_icon_fullscreen, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_icon_fullscreen_exit, { key: 1 }))
|
|
399
|
+
]),
|
|
400
|
+
_: 1
|
|
401
|
+
})
|
|
402
|
+
], 2)) : vue.createCommentVNode("v-if", true),
|
|
403
|
+
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
404
|
+
key: 2,
|
|
405
|
+
tabindex: "-1",
|
|
406
|
+
role: "button",
|
|
352
407
|
"aria-label": "Close",
|
|
353
408
|
class: vue.normalizeClass(`${_ctx.prefixCls}-close-btn`),
|
|
354
|
-
onClick: _cache[
|
|
409
|
+
onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleCancel && _ctx.handleCancel(...args))
|
|
355
410
|
}, [
|
|
356
411
|
vue.createVNode(_component_icon_hover, null, {
|
|
357
412
|
default: vue.withCtx(() => [
|
|
@@ -64,6 +64,12 @@
|
|
|
64
64
|
font-size: 12px;
|
|
65
65
|
cursor: pointer;
|
|
66
66
|
}
|
|
67
|
+
.arco-drawer-header .arco-drawer-fullscreen-btn {
|
|
68
|
+
margin-left: 8px;
|
|
69
|
+
color: var(--color-text-1);
|
|
70
|
+
font-size: 12px;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
}
|
|
67
73
|
.arco-drawer-footer {
|
|
68
74
|
flex-shrink: 0;
|
|
69
75
|
box-sizing: border-box;
|
|
@@ -83,6 +89,10 @@
|
|
|
83
89
|
overflow: auto;
|
|
84
90
|
color: var(--color-text-1);
|
|
85
91
|
}
|
|
92
|
+
.arco-drawer-fullscreen {
|
|
93
|
+
width: 100% !important;
|
|
94
|
+
height: 100% !important;
|
|
95
|
+
}
|
|
86
96
|
.fade-drawer-enter-from,
|
|
87
97
|
.fade-drawer-appear-from {
|
|
88
98
|
opacity: 0;
|
|
@@ -54,6 +54,13 @@
|
|
|
54
54
|
font-size: @drawer-font-size-close-icon;
|
|
55
55
|
cursor: pointer;
|
|
56
56
|
}
|
|
57
|
+
|
|
58
|
+
.@{drawer-prefix-cls}-fullscreen-btn {
|
|
59
|
+
margin-left: 8px;
|
|
60
|
+
color: @drawer-color-header-text;
|
|
61
|
+
font-size: @drawer-font-size-close-icon;
|
|
62
|
+
cursor: pointer;
|
|
63
|
+
}
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
&-footer {
|
|
@@ -79,6 +86,11 @@
|
|
|
79
86
|
}
|
|
80
87
|
}
|
|
81
88
|
|
|
89
|
+
.@{drawer-prefix-cls}-fullscreen {
|
|
90
|
+
width: 100% !important;
|
|
91
|
+
height: 100% !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
82
94
|
.fade-drawer-enter-from,
|
|
83
95
|
.fade-drawer-appear-from {
|
|
84
96
|
opacity: 0;
|
package/lib/index.css
CHANGED
|
@@ -6169,6 +6169,12 @@ body[arco-theme='dark'] .arco-carousel-indicator-outer .arco-carousel-indicator-
|
|
|
6169
6169
|
font-size: 12px;
|
|
6170
6170
|
cursor: pointer;
|
|
6171
6171
|
}
|
|
6172
|
+
.arco-drawer-header .arco-drawer-fullscreen-btn {
|
|
6173
|
+
margin-left: 8px;
|
|
6174
|
+
color: var(--color-text-1);
|
|
6175
|
+
font-size: 12px;
|
|
6176
|
+
cursor: pointer;
|
|
6177
|
+
}
|
|
6172
6178
|
.arco-drawer-footer {
|
|
6173
6179
|
flex-shrink: 0;
|
|
6174
6180
|
box-sizing: border-box;
|
|
@@ -6188,6 +6194,10 @@ body[arco-theme='dark'] .arco-carousel-indicator-outer .arco-carousel-indicator-
|
|
|
6188
6194
|
overflow: auto;
|
|
6189
6195
|
color: var(--color-text-1);
|
|
6190
6196
|
}
|
|
6197
|
+
.arco-drawer-fullscreen {
|
|
6198
|
+
width: 100% !important;
|
|
6199
|
+
height: 100% !important;
|
|
6200
|
+
}
|
|
6191
6201
|
.fade-drawer-enter-from,
|
|
6192
6202
|
.fade-drawer-appear-from {
|
|
6193
6203
|
opacity: 0;
|
|
@@ -11140,7 +11150,13 @@ body[arco-theme='dark'] .arco-carousel-indicator-outer .arco-carousel-indicator-
|
|
|
11140
11150
|
margin-left: 12px;
|
|
11141
11151
|
}
|
|
11142
11152
|
.arco-modal-close-btn {
|
|
11143
|
-
margin-left:
|
|
11153
|
+
margin-left: 8px;
|
|
11154
|
+
color: var(--color-text-1);
|
|
11155
|
+
font-size: 12px;
|
|
11156
|
+
cursor: pointer;
|
|
11157
|
+
}
|
|
11158
|
+
.arco-modal-fullscreen-btn {
|
|
11159
|
+
margin-left: 8px;
|
|
11144
11160
|
color: var(--color-text-1);
|
|
11145
11161
|
font-size: 12px;
|
|
11146
11162
|
cursor: pointer;
|
|
@@ -14393,6 +14409,24 @@ body[arco-theme='dark'] .arco-radio-button::after {
|
|
|
14393
14409
|
justify-content: center;
|
|
14394
14410
|
padding: 0;
|
|
14395
14411
|
}
|
|
14412
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox .arco-table-cell,
|
|
14413
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox .arco-table-cell,
|
|
14414
|
+
.arco-table-th.arco-table-operation.arco-table-radio .arco-table-cell,
|
|
14415
|
+
.arco-table-td.arco-table-operation.arco-table-radio .arco-table-cell {
|
|
14416
|
+
padding: 0 4px;
|
|
14417
|
+
}
|
|
14418
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox,
|
|
14419
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox {
|
|
14420
|
+
position: relative;
|
|
14421
|
+
z-index: 11;
|
|
14422
|
+
}
|
|
14423
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-left,
|
|
14424
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-left,
|
|
14425
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-right,
|
|
14426
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-right {
|
|
14427
|
+
position: sticky !important;
|
|
14428
|
+
z-index: 12;
|
|
14429
|
+
}
|
|
14396
14430
|
.arco-table-radio,
|
|
14397
14431
|
.arco-table-checkbox {
|
|
14398
14432
|
justify-content: center;
|
|
@@ -14783,13 +14817,10 @@ body[arco-theme='dark'] .arco-radio-button::after {
|
|
|
14783
14817
|
.arco-table-virtualized .arco-table-element {
|
|
14784
14818
|
table-layout: fixed;
|
|
14785
14819
|
}
|
|
14786
|
-
.arco-table-virtualized
|
|
14787
|
-
|
|
14788
|
-
|
|
14789
|
-
|
|
14790
|
-
display: flex;
|
|
14791
|
-
flex: 1;
|
|
14792
|
-
align-items: center;
|
|
14820
|
+
.arco-table-virtualized .arco-table-body .arco-table-td.arco-table-col-fixed-left,
|
|
14821
|
+
.arco-table-virtualized .arco-table-body .arco-table-td.arco-table-col-fixed-right {
|
|
14822
|
+
position: sticky;
|
|
14823
|
+
z-index: 10;
|
|
14793
14824
|
}
|
|
14794
14825
|
.arco-table-pagination {
|
|
14795
14826
|
display: flex;
|
package/lib/modal/modal.js
CHANGED
|
@@ -7,8 +7,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
7
7
|
const _component_icon_check_circle_fill = vue.resolveComponent("icon-check-circle-fill");
|
|
8
8
|
const _component_icon_exclamation_circle_fill = vue.resolveComponent("icon-exclamation-circle-fill");
|
|
9
9
|
const _component_icon_close_circle_fill = vue.resolveComponent("icon-close-circle-fill");
|
|
10
|
-
const
|
|
10
|
+
const _component_icon_fullscreen = vue.resolveComponent("icon-fullscreen");
|
|
11
|
+
const _component_icon_fullscreen_exit = vue.resolveComponent("icon-fullscreen-exit");
|
|
11
12
|
const _component_icon_hover = vue.resolveComponent("icon-hover");
|
|
13
|
+
const _component_icon_close = vue.resolveComponent("icon-close");
|
|
12
14
|
const _component_arco_button = vue.resolveComponent("arco-button");
|
|
13
15
|
const _component_client_only = vue.resolveComponent("client-only");
|
|
14
16
|
return vue.openBlock(), vue.createBlock(_component_client_only, null, {
|
|
@@ -41,8 +43,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
41
43
|
vue.createElementVNode("div", {
|
|
42
44
|
ref: "wrapperRef",
|
|
43
45
|
class: vue.normalizeClass(_ctx.wrapperCls),
|
|
44
|
-
onClick: _cache[
|
|
45
|
-
onMousedown: _cache[
|
|
46
|
+
onClick: _cache[3] || (_cache[3] = vue.withModifiers((...args) => _ctx.handleMaskClick && _ctx.handleMaskClick(...args), ["self"])),
|
|
47
|
+
onMousedown: _cache[4] || (_cache[4] = vue.withModifiers((...args) => _ctx.handleMaskMouseDown && _ctx.handleMaskMouseDown(...args), ["self"]))
|
|
46
48
|
}, [
|
|
47
49
|
vue.createVNode(vue.Transition, {
|
|
48
50
|
name: _ctx.modalAnimationName,
|
|
@@ -60,7 +62,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
60
62
|
!_ctx.hideTitle && (_ctx.$slots.title || _ctx.title || _ctx.closable) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
61
63
|
key: 0,
|
|
62
64
|
class: vue.normalizeClass(`${_ctx.prefixCls}-header`),
|
|
63
|
-
onMousedown: _cache[
|
|
65
|
+
onMousedown: _cache[2] || (_cache[2] = (...args) => _ctx.handleMoveDown && _ctx.handleMoveDown(...args))
|
|
64
66
|
}, [
|
|
65
67
|
_ctx.$slots.title || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
66
68
|
key: 0,
|
|
@@ -82,13 +84,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
82
84
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
83
85
|
])
|
|
84
86
|
], 2)) : vue.createCommentVNode("v-if", true),
|
|
85
|
-
!_ctx.simple && _ctx.
|
|
87
|
+
!_ctx.simple && _ctx.showFullscreen ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
86
88
|
key: 1,
|
|
87
89
|
tabindex: "-1",
|
|
88
90
|
role: "button",
|
|
91
|
+
"aria-label": "Fullscreen",
|
|
92
|
+
class: vue.normalizeClass(`${_ctx.prefixCls}-fullscreen-btn`),
|
|
93
|
+
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggleFullscreen && _ctx.toggleFullscreen(...args))
|
|
94
|
+
}, [
|
|
95
|
+
vue.createVNode(_component_icon_hover, null, {
|
|
96
|
+
default: vue.withCtx(() => [
|
|
97
|
+
!_ctx.mergedFullscreen ? (vue.openBlock(), vue.createBlock(_component_icon_fullscreen, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_icon_fullscreen_exit, { key: 1 }))
|
|
98
|
+
]),
|
|
99
|
+
_: 1
|
|
100
|
+
})
|
|
101
|
+
], 2)) : vue.createCommentVNode("v-if", true),
|
|
102
|
+
!_ctx.simple && _ctx.closable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
103
|
+
key: 2,
|
|
104
|
+
tabindex: "-1",
|
|
105
|
+
role: "button",
|
|
89
106
|
"aria-label": "Close",
|
|
90
107
|
class: vue.normalizeClass(`${_ctx.prefixCls}-close-btn`),
|
|
91
|
-
onClick: _cache[
|
|
108
|
+
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleCancel && _ctx.handleCancel(...args))
|
|
92
109
|
}, [
|
|
93
110
|
vue.createVNode(_component_icon_hover, null, {
|
|
94
111
|
default: vue.withCtx(() => [
|
|
@@ -5,11 +5,13 @@ var clientOnly = require("../_components/client-only.js");
|
|
|
5
5
|
var iconHover = require("../_components/icon-hover.js");
|
|
6
6
|
var index = require("../button/index.js");
|
|
7
7
|
var index$1 = require("../icon/icon-close/index.js");
|
|
8
|
-
var index$2 = require("../icon/icon-
|
|
9
|
-
var index$3 = require("../icon/icon-
|
|
10
|
-
var index$4 = require("../icon/icon-
|
|
11
|
-
var index$5 = require("../icon/icon-
|
|
12
|
-
var index$6 = require("../
|
|
8
|
+
var index$2 = require("../icon/icon-fullscreen/index.js");
|
|
9
|
+
var index$3 = require("../icon/icon-fullscreen-exit/index.js");
|
|
10
|
+
var index$4 = require("../icon/icon-info-circle-fill/index.js");
|
|
11
|
+
var index$5 = require("../icon/icon-check-circle-fill/index.js");
|
|
12
|
+
var index$6 = require("../icon/icon-exclamation-circle-fill/index.js");
|
|
13
|
+
var index$7 = require("../icon/icon-close-circle-fill/index.js");
|
|
14
|
+
var index$8 = require("../locale/index.js");
|
|
13
15
|
var useOverflow = require("../_hooks/use-overflow.js");
|
|
14
16
|
var dom = require("../_utils/dom.js");
|
|
15
17
|
var usePopupManager = require("../_hooks/use-popup-manager.js");
|
|
@@ -24,10 +26,12 @@ var _sfc_main = vue.defineComponent({
|
|
|
24
26
|
ArcoButton: index["default"],
|
|
25
27
|
IconHover: iconHover,
|
|
26
28
|
IconClose: index$1,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
IconFullscreen: index$2,
|
|
30
|
+
IconFullscreenExit: index$3,
|
|
31
|
+
IconInfoCircleFill: index$4,
|
|
32
|
+
IconCheckCircleFill: index$5,
|
|
33
|
+
IconExclamationCircleFill: index$6,
|
|
34
|
+
IconCloseCircleFill: index$7
|
|
31
35
|
},
|
|
32
36
|
inheritAttrs: false,
|
|
33
37
|
props: {
|
|
@@ -130,6 +134,10 @@ var _sfc_main = vue.defineComponent({
|
|
|
130
134
|
type: Boolean,
|
|
131
135
|
default: false
|
|
132
136
|
},
|
|
137
|
+
showFullscreen: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: false
|
|
140
|
+
},
|
|
133
141
|
maskAnimationName: {
|
|
134
142
|
type: String,
|
|
135
143
|
default: (props) => {
|
|
@@ -164,6 +172,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
164
172
|
},
|
|
165
173
|
emits: {
|
|
166
174
|
"update:visible": (visible) => true,
|
|
175
|
+
"update:fullscreen": (fullscreen) => true,
|
|
167
176
|
"ok": (e) => true,
|
|
168
177
|
"cancel": (e) => true,
|
|
169
178
|
"open": () => true,
|
|
@@ -182,7 +191,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
182
191
|
const prefixCls = globalConfig.getPrefixCls("modal");
|
|
183
192
|
const {
|
|
184
193
|
t
|
|
185
|
-
} = index$
|
|
194
|
+
} = index$8.useI18n();
|
|
186
195
|
const wrapperRef = vue.ref();
|
|
187
196
|
const modalRef = vue.ref();
|
|
188
197
|
const _visible = vue.ref(props.defaultVisible);
|
|
@@ -192,6 +201,11 @@ var _sfc_main = vue.defineComponent({
|
|
|
192
201
|
});
|
|
193
202
|
const _okLoading = vue.ref(false);
|
|
194
203
|
const mergedOkLoading = vue.computed(() => props.okLoading || _okLoading.value);
|
|
204
|
+
const _fullscreen = vue.ref(props.fullscreen);
|
|
205
|
+
const mergedFullscreen = vue.computed(() => {
|
|
206
|
+
var _a;
|
|
207
|
+
return (_a = props.fullscreen) != null ? _a : _fullscreen.value;
|
|
208
|
+
});
|
|
195
209
|
const mergedDraggable = vue.computed(() => props.draggable && !props.fullscreen);
|
|
196
210
|
const {
|
|
197
211
|
teleportContainer,
|
|
@@ -354,7 +368,15 @@ var _sfc_main = vue.defineComponent({
|
|
|
354
368
|
if (position.value) {
|
|
355
369
|
position.value = void 0;
|
|
356
370
|
}
|
|
371
|
+
if (_fullscreen.value !== fullscreen.value) {
|
|
372
|
+
_fullscreen.value = !!fullscreen.value;
|
|
373
|
+
}
|
|
357
374
|
});
|
|
375
|
+
const toggleFullscreen = () => {
|
|
376
|
+
const next = !mergedFullscreen.value;
|
|
377
|
+
_fullscreen.value = next;
|
|
378
|
+
emit("update:fullscreen", next);
|
|
379
|
+
};
|
|
358
380
|
const wrapperCls = vue.computed(() => [`${prefixCls}-wrapper`, {
|
|
359
381
|
[`${prefixCls}-wrapper-align-center`]: props.alignCenter && !props.fullscreen,
|
|
360
382
|
[`${prefixCls}-wrapper-moved`]: Boolean(position.value)
|
|
@@ -362,7 +384,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
362
384
|
const modalCls = vue.computed(() => [`${prefixCls}`, props.modalClass, {
|
|
363
385
|
[`${prefixCls}-simple`]: props.simple,
|
|
364
386
|
[`${prefixCls}-draggable`]: mergedDraggable.value,
|
|
365
|
-
[`${prefixCls}-fullscreen`]:
|
|
387
|
+
[`${prefixCls}-fullscreen`]: mergedFullscreen.value
|
|
366
388
|
}]);
|
|
367
389
|
const mergedModalStyle = vue.computed(() => {
|
|
368
390
|
var _a;
|
|
@@ -401,7 +423,9 @@ var _sfc_main = vue.defineComponent({
|
|
|
401
423
|
wrapperCls,
|
|
402
424
|
modalCls,
|
|
403
425
|
teleportContainer,
|
|
404
|
-
handleMoveDown
|
|
426
|
+
handleMoveDown,
|
|
427
|
+
mergedFullscreen,
|
|
428
|
+
toggleFullscreen
|
|
405
429
|
};
|
|
406
430
|
}
|
|
407
431
|
});
|
|
@@ -116,7 +116,13 @@
|
|
|
116
116
|
margin-left: 12px;
|
|
117
117
|
}
|
|
118
118
|
.arco-modal-close-btn {
|
|
119
|
-
margin-left:
|
|
119
|
+
margin-left: 8px;
|
|
120
|
+
color: var(--color-text-1);
|
|
121
|
+
font-size: 12px;
|
|
122
|
+
cursor: pointer;
|
|
123
|
+
}
|
|
124
|
+
.arco-modal-fullscreen-btn {
|
|
125
|
+
margin-left: 8px;
|
|
120
126
|
color: var(--color-text-1);
|
|
121
127
|
font-size: 12px;
|
|
122
128
|
cursor: pointer;
|
|
@@ -127,7 +127,14 @@
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
&-close-btn {
|
|
130
|
-
margin-left:
|
|
130
|
+
margin-left: 8px;
|
|
131
|
+
color: @modal-color-header-text;
|
|
132
|
+
font-size: @modal-font-size-close-icon;
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&-fullscreen-btn {
|
|
137
|
+
margin-left: 8px;
|
|
131
138
|
color: @modal-color-header-text;
|
|
132
139
|
font-size: @modal-font-size-close-icon;
|
|
133
140
|
cursor: pointer;
|
|
@@ -25,9 +25,11 @@ const useRowSelection = ({
|
|
|
25
25
|
return (_c2 = (_b2 = selectedKeys.value) != null ? _b2 : (_a2 = rowSelection.value) == null ? void 0 : _a2.selectedRowKeys) != null ? _c2 : _selectedRowKeys.value;
|
|
26
26
|
}
|
|
27
27
|
);
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const currentAllRowKeySet = vue.computed(() => new Set(currentAllRowKeys.value));
|
|
29
|
+
const currentSelectedRowKeys = vue.computed(() => {
|
|
30
|
+
const allKeySet = currentAllRowKeySet.value;
|
|
31
|
+
return selectedRowKeys.value.filter((key) => allKeySet.has(key));
|
|
32
|
+
});
|
|
31
33
|
const handleSelectAll = (checked) => {
|
|
32
34
|
const newKeys = array.union(
|
|
33
35
|
selectedRowKeys.value,
|
|
@@ -275,6 +275,24 @@
|
|
|
275
275
|
justify-content: center;
|
|
276
276
|
padding: 0;
|
|
277
277
|
}
|
|
278
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox .arco-table-cell,
|
|
279
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox .arco-table-cell,
|
|
280
|
+
.arco-table-th.arco-table-operation.arco-table-radio .arco-table-cell,
|
|
281
|
+
.arco-table-td.arco-table-operation.arco-table-radio .arco-table-cell {
|
|
282
|
+
padding: 0 4px;
|
|
283
|
+
}
|
|
284
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox,
|
|
285
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox {
|
|
286
|
+
position: relative;
|
|
287
|
+
z-index: 11;
|
|
288
|
+
}
|
|
289
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-left,
|
|
290
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-left,
|
|
291
|
+
.arco-table-th.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-right,
|
|
292
|
+
.arco-table-td.arco-table-operation.arco-table-checkbox.arco-table-col-fixed-right {
|
|
293
|
+
position: sticky !important;
|
|
294
|
+
z-index: 12;
|
|
295
|
+
}
|
|
278
296
|
.arco-table-radio,
|
|
279
297
|
.arco-table-checkbox {
|
|
280
298
|
justify-content: center;
|
|
@@ -665,13 +683,10 @@
|
|
|
665
683
|
.arco-table-virtualized .arco-table-element {
|
|
666
684
|
table-layout: fixed;
|
|
667
685
|
}
|
|
668
|
-
.arco-table-virtualized
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
display: flex;
|
|
673
|
-
flex: 1;
|
|
674
|
-
align-items: center;
|
|
686
|
+
.arco-table-virtualized .arco-table-body .arco-table-td.arco-table-col-fixed-left,
|
|
687
|
+
.arco-table-virtualized .arco-table-body .arco-table-td.arco-table-col-fixed-right {
|
|
688
|
+
position: sticky;
|
|
689
|
+
z-index: 10;
|
|
675
690
|
}
|
|
676
691
|
.arco-table-pagination {
|
|
677
692
|
display: flex;
|
|
@@ -349,6 +349,25 @@
|
|
|
349
349
|
padding: 0;
|
|
350
350
|
}
|
|
351
351
|
|
|
352
|
+
&-th&-operation&-checkbox &-cell,
|
|
353
|
+
&-td&-operation&-checkbox &-cell,
|
|
354
|
+
&-th&-operation&-radio &-cell,
|
|
355
|
+
&-td&-operation&-radio &-cell {
|
|
356
|
+
padding: 0 @spacing-2;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
&-th&-operation&-checkbox,
|
|
360
|
+
&-td&-operation&-checkbox {
|
|
361
|
+
position: relative;
|
|
362
|
+
z-index: 11;
|
|
363
|
+
|
|
364
|
+
&.@{table-prefix-cls}-col-fixed-left,
|
|
365
|
+
&.@{table-prefix-cls}-col-fixed-right {
|
|
366
|
+
position: sticky !important;
|
|
367
|
+
z-index: 12;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
352
371
|
&-radio,
|
|
353
372
|
&-checkbox {
|
|
354
373
|
justify-content: center;
|
|
@@ -824,14 +843,12 @@
|
|
|
824
843
|
table-layout: fixed;
|
|
825
844
|
}
|
|
826
845
|
|
|
827
|
-
&-virtualized
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
flex: 1;
|
|
834
|
-
align-items: center;
|
|
846
|
+
&-virtualized .@{table-prefix-cls}-body .@{table-prefix-cls}-td {
|
|
847
|
+
&.@{table-prefix-cls}-col-fixed-left,
|
|
848
|
+
&.@{table-prefix-cls}-col-fixed-right {
|
|
849
|
+
position: sticky;
|
|
850
|
+
z-index: 10;
|
|
851
|
+
}
|
|
835
852
|
}
|
|
836
853
|
}
|
|
837
854
|
|
|
@@ -68,11 +68,11 @@ var OperationTd = vue.defineComponent({
|
|
|
68
68
|
}, ...utils.getOperationFixedCls(prefixCls, props.operationColumn)]);
|
|
69
69
|
const leafKeys = vue.computed(() => utils.getLeafKeys(props.record));
|
|
70
70
|
const selectionStatus = vue.computed(() => {
|
|
71
|
-
var _a;
|
|
72
|
-
return utils.getSelectionStatus((_a = tableCtx.
|
|
71
|
+
var _a, _b;
|
|
72
|
+
return utils.getSelectionStatus((_b = (_a = tableCtx.currentSelectedRowKeySet) != null ? _a : tableCtx.currentSelectedRowKeys) != null ? _b : [], leafKeys.value);
|
|
73
73
|
});
|
|
74
74
|
const renderContent = () => {
|
|
75
|
-
var _a, _b, _c, _d, _e, _f;
|
|
75
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
76
76
|
if (props.summary) {
|
|
77
77
|
return null;
|
|
78
78
|
}
|
|
@@ -95,7 +95,7 @@ var OperationTd = vue.defineComponent({
|
|
|
95
95
|
}, null);
|
|
96
96
|
}
|
|
97
97
|
return vue.createVNode(index["default"], {
|
|
98
|
-
"modelValue": (
|
|
98
|
+
"modelValue": (_d = (_c = (_a = tableCtx.selectedRowKeySet) == null ? void 0 : _a.has(value)) != null ? _c : (_b = props.selectedRowKeys) == null ? void 0 : _b.includes(value)) != null ? _d : false,
|
|
99
99
|
"disabled": Boolean(props.record.disabled),
|
|
100
100
|
"uninjectGroupContext": true,
|
|
101
101
|
"onChange": (checked) => {
|
|
@@ -108,7 +108,7 @@ var OperationTd = vue.defineComponent({
|
|
|
108
108
|
if (props.operationColumn.name === "selection-radio") {
|
|
109
109
|
const value = props.record.key;
|
|
110
110
|
return vue.createVNode(index$1["default"], {
|
|
111
|
-
"modelValue": (
|
|
111
|
+
"modelValue": (_h = (_g = (_e = tableCtx.selectedRowKeySet) == null ? void 0 : _e.has(value)) != null ? _g : (_f = props.selectedRowKeys) == null ? void 0 : _f.includes(value)) != null ? _h : false,
|
|
112
112
|
"disabled": Boolean(props.record.disabled),
|
|
113
113
|
"uninjectGroupContext": true,
|
|
114
114
|
"onChange": (checked) => {
|
|
@@ -125,7 +125,7 @@ var OperationTd = vue.defineComponent({
|
|
|
125
125
|
return null;
|
|
126
126
|
}
|
|
127
127
|
if (props.operationColumn.name === "drag-handle") {
|
|
128
|
-
return (
|
|
128
|
+
return (_j = (_i = slots["drag-handle-icon"]) == null ? void 0 : _i.call(slots)) != null ? _j : vue.createVNode(index$4, null, null);
|
|
129
129
|
}
|
|
130
130
|
return null;
|
|
131
131
|
};
|