ele-admin-plus 1.1.9-beta.3 → 1.1.9-beta.5
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/es/ele-app/el.d.ts +3 -0
- package/es/ele-basic-select/index.d.ts +2 -2
- package/es/ele-check-card/index.d.ts +1 -1
- package/es/ele-drawer/index.d.ts +1 -1
- package/es/ele-drawer/style/index.scss +1 -1
- package/es/ele-icon-select/index.d.ts +3 -3
- package/es/ele-map-picker/index.d.ts +1 -1
- package/es/ele-menus/index.d.ts +6 -2
- package/es/ele-menus/index.js +17 -4
- package/es/ele-menus/props.d.ts +6 -2
- package/es/ele-menus/props.js +6 -2
- package/es/ele-menus/style/index.scss +12 -11
- package/es/ele-menus/types.d.ts +9 -9
- package/es/ele-menus/util.d.ts +21 -15
- package/es/ele-menus/util.js +92 -83
- package/es/ele-modal/style/index.scss +1 -1
- package/es/ele-printer/style/index.scss +1 -1
- package/es/ele-pro-layout/components/pro-header.d.ts +23 -11
- package/es/ele-pro-layout/components/pro-header.js +68 -15
- package/es/ele-pro-layout/components/pro-iframe.js +46 -23
- package/es/ele-pro-layout/components/pro-sidebar.d.ts +21 -15
- package/es/ele-pro-layout/components/pro-sidebar.js +36 -14
- package/es/ele-pro-layout/components/pro-sidebox.d.ts +23 -11
- package/es/ele-pro-layout/components/pro-sidebox.js +46 -14
- package/es/ele-pro-layout/components/tab-dropdown.js +5 -1
- package/es/ele-pro-layout/index.d.ts +40 -27
- package/es/ele-pro-layout/index.js +269 -52
- package/es/ele-pro-layout/props.d.ts +5 -0
- package/es/ele-pro-layout/props.js +5 -0
- package/es/ele-pro-layout/style/tabs.scss +1 -1
- package/es/ele-pro-layout/types.d.ts +29 -3
- package/es/ele-segmented/index.d.ts +1 -1
- package/es/ele-table-select/index.d.ts +5 -5
- package/es/ele-tree-select/index.d.ts +5 -5
- package/es/ele-upload-list/components/list-item.d.ts +5 -1
- package/es/ele-upload-list/components/list-item.js +7 -4
- package/es/ele-upload-list/index.d.ts +10 -6
- package/es/ele-upload-list/index.js +7 -5
- package/es/ele-upload-list/props.d.ts +6 -2
- package/es/ele-upload-list/props.js +5 -1
- package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
- package/es/ele-virtual-table/index.d.ts +1 -1
- package/lib/ele-app/el.d.ts +3 -0
- package/lib/ele-basic-select/index.d.ts +2 -2
- package/lib/ele-check-card/index.d.ts +1 -1
- package/lib/ele-drawer/index.d.ts +1 -1
- package/lib/ele-drawer/style/index.scss +1 -1
- package/lib/ele-icon-select/index.d.ts +3 -3
- package/lib/ele-map-picker/index.d.ts +1 -1
- package/lib/ele-menus/index.cjs +17 -4
- package/lib/ele-menus/index.d.ts +6 -2
- package/lib/ele-menus/props.cjs +6 -2
- package/lib/ele-menus/props.d.ts +6 -2
- package/lib/ele-menus/style/index.scss +12 -11
- package/lib/ele-menus/types.d.ts +9 -9
- package/lib/ele-menus/util.cjs +92 -83
- package/lib/ele-menus/util.d.ts +21 -15
- package/lib/ele-modal/style/index.scss +1 -1
- package/lib/ele-printer/style/index.scss +1 -1
- package/lib/ele-pro-layout/components/pro-header.cjs +67 -14
- package/lib/ele-pro-layout/components/pro-header.d.ts +23 -11
- package/lib/ele-pro-layout/components/pro-iframe.cjs +45 -22
- package/lib/ele-pro-layout/components/pro-sidebar.cjs +36 -14
- package/lib/ele-pro-layout/components/pro-sidebar.d.ts +21 -15
- package/lib/ele-pro-layout/components/pro-sidebox.cjs +46 -14
- package/lib/ele-pro-layout/components/pro-sidebox.d.ts +23 -11
- package/lib/ele-pro-layout/components/tab-dropdown.cjs +5 -1
- package/lib/ele-pro-layout/index.cjs +269 -52
- package/lib/ele-pro-layout/index.d.ts +40 -27
- package/lib/ele-pro-layout/props.cjs +5 -0
- package/lib/ele-pro-layout/props.d.ts +5 -0
- package/lib/ele-pro-layout/style/tabs.scss +1 -1
- package/lib/ele-pro-layout/types.d.ts +29 -3
- package/lib/ele-segmented/index.d.ts +1 -1
- package/lib/ele-table-select/index.d.ts +5 -5
- package/lib/ele-tree-select/index.d.ts +5 -5
- package/lib/ele-upload-list/components/list-item.cjs +6 -3
- package/lib/ele-upload-list/components/list-item.d.ts +5 -1
- package/lib/ele-upload-list/index.cjs +7 -5
- package/lib/ele-upload-list/index.d.ts +10 -6
- package/lib/ele-upload-list/props.cjs +5 -1
- package/lib/ele-upload-list/props.d.ts +6 -2
- package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
- package/lib/ele-virtual-table/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -21,17 +21,21 @@ const _sfc_main = defineComponent({
|
|
|
21
21
|
compact: Boolean,
|
|
22
22
|
/** 二级侧栏是否折叠 */
|
|
23
23
|
collapse: Boolean,
|
|
24
|
-
/**
|
|
24
|
+
/** 菜单折叠提示气泡主题 */
|
|
25
25
|
popperEffect: String,
|
|
26
|
-
/**
|
|
26
|
+
/** 子菜单项触发模式 */
|
|
27
27
|
itemTrigger: String,
|
|
28
|
-
/**
|
|
28
|
+
/** 菜单标题插槽名称 */
|
|
29
29
|
titleSlot: String,
|
|
30
|
-
/**
|
|
30
|
+
/** 菜单图标插槽名称 */
|
|
31
31
|
iconSlot: String
|
|
32
32
|
},
|
|
33
33
|
emits: {
|
|
34
|
-
itemClick: (_item) => true
|
|
34
|
+
itemClick: (_item, _e) => true,
|
|
35
|
+
itemMouseenter: (_item, _e) => true,
|
|
36
|
+
itemMouseleave: (_item, _e) => true,
|
|
37
|
+
mouseEnter: (_e) => true,
|
|
38
|
+
mouseLeave: (_e) => true
|
|
35
39
|
},
|
|
36
40
|
setup(props, { emit }) {
|
|
37
41
|
const { scrollIntoView } = useMenuScroll(() => {
|
|
@@ -40,17 +44,40 @@ const _sfc_main = defineComponent({
|
|
|
40
44
|
});
|
|
41
45
|
const menusRef = ref(null);
|
|
42
46
|
const menuItems = computed(() => {
|
|
43
|
-
return getMenuItems(
|
|
47
|
+
return getMenuItems(
|
|
48
|
+
props.menus,
|
|
49
|
+
props.itemTrigger !== "click" && props.itemTrigger !== "hover"
|
|
50
|
+
);
|
|
44
51
|
});
|
|
45
|
-
const onItemClick = (item) => {
|
|
46
|
-
emit("itemClick", item);
|
|
52
|
+
const onItemClick = (item, e) => {
|
|
53
|
+
emit("itemClick", item, e);
|
|
54
|
+
};
|
|
55
|
+
const onItemMouseenter = (item, e) => {
|
|
56
|
+
emit("itemMouseenter", item, e);
|
|
57
|
+
};
|
|
58
|
+
const onItemMouseleave = (item, e) => {
|
|
59
|
+
emit("itemMouseleave", item, e);
|
|
60
|
+
};
|
|
61
|
+
const onMouseenter = (e) => {
|
|
62
|
+
emit("mouseEnter", e);
|
|
63
|
+
};
|
|
64
|
+
const onMouseleave = (e) => {
|
|
65
|
+
emit("mouseLeave", e);
|
|
47
66
|
};
|
|
48
67
|
watch([() => props.active, () => props.compact], () => {
|
|
49
68
|
nextTick(() => {
|
|
50
69
|
scrollIntoView();
|
|
51
70
|
});
|
|
52
71
|
});
|
|
53
|
-
return {
|
|
72
|
+
return {
|
|
73
|
+
menusRef,
|
|
74
|
+
menuItems,
|
|
75
|
+
onItemClick,
|
|
76
|
+
onItemMouseenter,
|
|
77
|
+
onItemMouseleave,
|
|
78
|
+
onMouseenter,
|
|
79
|
+
onMouseleave
|
|
80
|
+
};
|
|
54
81
|
}
|
|
55
82
|
});
|
|
56
83
|
const _export_sfc = (sfc, props) => {
|
|
@@ -60,11 +87,14 @@ const _export_sfc = (sfc, props) => {
|
|
|
60
87
|
}
|
|
61
88
|
return target;
|
|
62
89
|
};
|
|
63
|
-
const _hoisted_1 = { class: "ele-admin-sidebox" };
|
|
64
90
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
65
91
|
const _component_EleMenus = resolveComponent("EleMenus");
|
|
66
92
|
const _component_ElScrollbar = resolveComponent("ElScrollbar");
|
|
67
|
-
return openBlock(), createElementBlock("div",
|
|
93
|
+
return openBlock(), createElementBlock("div", {
|
|
94
|
+
class: "ele-admin-sidebox",
|
|
95
|
+
onMouseenter: _cache[0] || (_cache[0] = (...args) => _ctx.onMouseenter && _ctx.onMouseenter(...args)),
|
|
96
|
+
onMouseleave: _cache[1] || (_cache[1] = (...args) => _ctx.onMouseleave && _ctx.onMouseleave(...args))
|
|
97
|
+
}, [
|
|
68
98
|
renderSlot(_ctx.$slots, "boxTop"),
|
|
69
99
|
createVNode(_component_ElScrollbar, {
|
|
70
100
|
ref: "menusRef",
|
|
@@ -83,7 +113,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
83
113
|
collapseTransition: false,
|
|
84
114
|
firstPopperClass: "ele-admin-sidebox-popup",
|
|
85
115
|
tooltipDisabled: !_ctx.compact,
|
|
86
|
-
onItemClick: _ctx.onItemClick
|
|
116
|
+
onItemClick: _ctx.onItemClick,
|
|
117
|
+
onItemMouseenter: _ctx.onItemMouseenter,
|
|
118
|
+
onItemMouseleave: _ctx.onItemMouseleave
|
|
87
119
|
}, createSlots({ _: 2 }, [
|
|
88
120
|
_ctx.iconSlot && !["boxTop", "boxBottom"].includes(_ctx.iconSlot) && _ctx.$slots[_ctx.iconSlot] ? {
|
|
89
121
|
name: "icon",
|
|
@@ -99,12 +131,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
99
131
|
]),
|
|
100
132
|
key: "1"
|
|
101
133
|
} : void 0
|
|
102
|
-
]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled", "onItemClick"])) : createCommentVNode("", true)
|
|
134
|
+
]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : createCommentVNode("", true)
|
|
103
135
|
]),
|
|
104
136
|
_: 3
|
|
105
137
|
}, 512),
|
|
106
138
|
renderSlot(_ctx.$slots, "boxBottom")
|
|
107
|
-
]);
|
|
139
|
+
], 32);
|
|
108
140
|
}
|
|
109
141
|
const proSidebox = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
110
142
|
export {
|
|
@@ -24,13 +24,17 @@ const _sfc_main = defineComponent({
|
|
|
24
24
|
const state = { timer: null };
|
|
25
25
|
const dropdownRef = ref(null);
|
|
26
26
|
const clearTimer = () => {
|
|
27
|
-
|
|
27
|
+
if (state.timer) {
|
|
28
|
+
clearTimeout(state.timer);
|
|
29
|
+
state.timer = null;
|
|
30
|
+
}
|
|
28
31
|
};
|
|
29
32
|
const onCommand = (command) => {
|
|
30
33
|
emit("menuClick", command);
|
|
31
34
|
clearTimer();
|
|
32
35
|
if (props.autoClose) {
|
|
33
36
|
state.timer = setTimeout(() => {
|
|
37
|
+
state.timer = null;
|
|
34
38
|
if (dropdownRef.value) {
|
|
35
39
|
dropdownRef.value.handleClose();
|
|
36
40
|
}
|
|
@@ -58,15 +58,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
58
58
|
default: string;
|
|
59
59
|
};
|
|
60
60
|
sidebarStyle: {
|
|
61
|
-
type: import("vue").PropType<import("./types").SidebarStyle>;
|
|
61
|
+
type: import("vue").PropType<import("./types").SidebarStyle>;
|
|
62
62
|
default: string;
|
|
63
63
|
};
|
|
64
64
|
tabStyle: {
|
|
65
65
|
type: import("vue").PropType<import("./types").TabStyle>;
|
|
66
|
-
default: string;
|
|
67
|
-
};
|
|
66
|
+
default: string; /** 页签数据 */
|
|
67
|
+
}; /** 页签数据 */
|
|
68
68
|
fixedHeader: {
|
|
69
|
-
/** 顶栏菜单数据 */
|
|
70
69
|
type: BooleanConstructor;
|
|
71
70
|
default: boolean;
|
|
72
71
|
};
|
|
@@ -74,13 +73,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
74
73
|
fixedBody: BooleanConstructor;
|
|
75
74
|
fluid: {
|
|
76
75
|
type: BooleanConstructor;
|
|
77
|
-
default: boolean;
|
|
76
|
+
default: boolean; /** 顶栏菜单数据 */
|
|
78
77
|
};
|
|
79
78
|
logoInHeader: BooleanConstructor;
|
|
80
|
-
colorfulIcon: BooleanConstructor;
|
|
79
|
+
colorfulIcon: BooleanConstructor;
|
|
81
80
|
uniqueOpened: {
|
|
82
81
|
type: BooleanConstructor;
|
|
83
|
-
default: boolean;
|
|
82
|
+
default: boolean;
|
|
84
83
|
};
|
|
85
84
|
expanded: BooleanConstructor;
|
|
86
85
|
compressOnEsc: BooleanConstructor;
|
|
@@ -90,20 +89,20 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
90
89
|
};
|
|
91
90
|
homePath: StringConstructor;
|
|
92
91
|
redirectPath: {
|
|
92
|
+
/** 侧栏是否隐藏 */
|
|
93
93
|
type: StringConstructor;
|
|
94
94
|
default: string;
|
|
95
95
|
};
|
|
96
96
|
locale: StringConstructor;
|
|
97
|
-
i18n: import("vue").PropType<import("./types").MenuI18n>;
|
|
98
|
-
sidebarOpeneds: import("vue").PropType<string[]>;
|
|
97
|
+
i18n: import("vue").PropType<import("./types").MenuI18n>; /** 页脚是否隐藏 */
|
|
98
|
+
sidebarOpeneds: import("vue").PropType<string[]>; /** 主页地址 */
|
|
99
99
|
tabContextMenu: import("vue").PropType<boolean | import("../ele-app/plus").EleDropdownProps>;
|
|
100
100
|
tabContextMenus: import("vue").PropType<import("../ele-tabs/types").ContextMenus>;
|
|
101
|
-
tabSortable: BooleanConstructor;
|
|
101
|
+
tabSortable: BooleanConstructor; /** 水印文本 */
|
|
102
102
|
autoScrollTop: {
|
|
103
103
|
type: BooleanConstructor;
|
|
104
104
|
default: boolean;
|
|
105
105
|
};
|
|
106
|
-
/** 是否双侧栏布局 */
|
|
107
106
|
headerTitleSlot: {
|
|
108
107
|
type: StringConstructor;
|
|
109
108
|
default: string;
|
|
@@ -126,7 +125,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
126
125
|
};
|
|
127
126
|
sideboxIconSlot: {
|
|
128
127
|
type: StringConstructor;
|
|
129
|
-
/** 布局类名 */
|
|
130
128
|
default: string;
|
|
131
129
|
};
|
|
132
130
|
tooltipEffect: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
|
|
@@ -144,6 +142,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
144
142
|
type: BooleanConstructor;
|
|
145
143
|
default: boolean;
|
|
146
144
|
};
|
|
145
|
+
menuHoverTimeout: {
|
|
146
|
+
type: NumberConstructor;
|
|
147
|
+
default: number;
|
|
148
|
+
};
|
|
147
149
|
}, {
|
|
148
150
|
authenticated: Ref<boolean>;
|
|
149
151
|
watermark: Ref<string[]>;
|
|
@@ -176,9 +178,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
176
178
|
onSideMenuClose: (index: string, indexPath: string[]) => void;
|
|
177
179
|
onHeadMenuOpen: (index: string, indexPath: string[]) => void;
|
|
178
180
|
onHeadMenuClose: (index: string, indexPath: string[]) => void;
|
|
179
|
-
onNavItemClick: (item: MenuItemProps) => void;
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
onNavItemClick: (item: MenuItemProps, e: MouseEvent) => void;
|
|
182
|
+
onNavItemMouseenter: (item: MenuItemProps, e: MouseEvent) => void;
|
|
183
|
+
onNavMouseEnter: () => void;
|
|
184
|
+
onNavMouseLeave: () => void;
|
|
185
|
+
onBoxItemClick: (item: MenuItemProps, e: MouseEvent) => void;
|
|
186
|
+
onBoxItemMouseenter: (item: MenuItemProps, e: MouseEvent) => void;
|
|
187
|
+
onBoxMouseEnter: () => void;
|
|
188
|
+
onBoxMouseLeave: () => void;
|
|
189
|
+
onMenuItemClick: (item: MenuItemProps, e: MouseEvent) => void;
|
|
190
|
+
onSideMouseEnter: () => void;
|
|
191
|
+
onSideMouseLeave: () => void;
|
|
182
192
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
183
193
|
'update:collapse': (_collapse: boolean) => boolean;
|
|
184
194
|
'update:maximized': (_val: boolean) => boolean;
|
|
@@ -250,15 +260,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
250
260
|
default: string;
|
|
251
261
|
};
|
|
252
262
|
sidebarStyle: {
|
|
253
|
-
type: import("vue").PropType<import("./types").SidebarStyle>;
|
|
263
|
+
type: import("vue").PropType<import("./types").SidebarStyle>;
|
|
254
264
|
default: string;
|
|
255
265
|
};
|
|
256
266
|
tabStyle: {
|
|
257
267
|
type: import("vue").PropType<import("./types").TabStyle>;
|
|
258
|
-
default: string;
|
|
259
|
-
};
|
|
268
|
+
default: string; /** 页签数据 */
|
|
269
|
+
}; /** 页签数据 */
|
|
260
270
|
fixedHeader: {
|
|
261
|
-
/** 顶栏菜单数据 */
|
|
262
271
|
type: BooleanConstructor;
|
|
263
272
|
default: boolean;
|
|
264
273
|
};
|
|
@@ -266,13 +275,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
266
275
|
fixedBody: BooleanConstructor;
|
|
267
276
|
fluid: {
|
|
268
277
|
type: BooleanConstructor;
|
|
269
|
-
default: boolean;
|
|
278
|
+
default: boolean; /** 顶栏菜单数据 */
|
|
270
279
|
};
|
|
271
280
|
logoInHeader: BooleanConstructor;
|
|
272
|
-
colorfulIcon: BooleanConstructor;
|
|
281
|
+
colorfulIcon: BooleanConstructor;
|
|
273
282
|
uniqueOpened: {
|
|
274
283
|
type: BooleanConstructor;
|
|
275
|
-
default: boolean;
|
|
284
|
+
default: boolean;
|
|
276
285
|
};
|
|
277
286
|
expanded: BooleanConstructor;
|
|
278
287
|
compressOnEsc: BooleanConstructor;
|
|
@@ -282,20 +291,20 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
282
291
|
};
|
|
283
292
|
homePath: StringConstructor;
|
|
284
293
|
redirectPath: {
|
|
294
|
+
/** 侧栏是否隐藏 */
|
|
285
295
|
type: StringConstructor;
|
|
286
296
|
default: string;
|
|
287
297
|
};
|
|
288
298
|
locale: StringConstructor;
|
|
289
|
-
i18n: import("vue").PropType<import("./types").MenuI18n>;
|
|
290
|
-
sidebarOpeneds: import("vue").PropType<string[]>;
|
|
299
|
+
i18n: import("vue").PropType<import("./types").MenuI18n>; /** 页脚是否隐藏 */
|
|
300
|
+
sidebarOpeneds: import("vue").PropType<string[]>; /** 主页地址 */
|
|
291
301
|
tabContextMenu: import("vue").PropType<boolean | import("../ele-app/plus").EleDropdownProps>;
|
|
292
302
|
tabContextMenus: import("vue").PropType<import("../ele-tabs/types").ContextMenus>;
|
|
293
|
-
tabSortable: BooleanConstructor;
|
|
303
|
+
tabSortable: BooleanConstructor; /** 水印文本 */
|
|
294
304
|
autoScrollTop: {
|
|
295
305
|
type: BooleanConstructor;
|
|
296
306
|
default: boolean;
|
|
297
307
|
};
|
|
298
|
-
/** 是否双侧栏布局 */
|
|
299
308
|
headerTitleSlot: {
|
|
300
309
|
type: StringConstructor;
|
|
301
310
|
default: string;
|
|
@@ -318,7 +327,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
318
327
|
};
|
|
319
328
|
sideboxIconSlot: {
|
|
320
329
|
type: StringConstructor;
|
|
321
|
-
/** 布局类名 */
|
|
322
330
|
default: string;
|
|
323
331
|
};
|
|
324
332
|
tooltipEffect: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
|
|
@@ -336,6 +344,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
336
344
|
type: BooleanConstructor;
|
|
337
345
|
default: boolean;
|
|
338
346
|
};
|
|
347
|
+
menuHoverTimeout: {
|
|
348
|
+
type: NumberConstructor;
|
|
349
|
+
default: number;
|
|
350
|
+
};
|
|
339
351
|
}>> & {
|
|
340
352
|
onTabClick?: ((_option: TabItemEventOption) => any) | undefined;
|
|
341
353
|
onTabRemove?: ((_option: TabItemEventOption) => any) | undefined;
|
|
@@ -390,5 +402,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
390
402
|
sidebarIconSlot: string;
|
|
391
403
|
sideboxTitleSlot: string;
|
|
392
404
|
sideboxIconSlot: string;
|
|
405
|
+
menuHoverTimeout: number;
|
|
393
406
|
}, {}>;
|
|
394
407
|
export default _default;
|