@para-ui/core 4.0.0-rc.4 → 4.0.0-rc.6
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/AutoBox/index.js +72 -85
- package/AutoTips/index.js +72 -95
- package/Badge/index.js +17 -16
- package/Breadcrumbs/index.js +57 -73
- package/Button/index.js +90 -118
- package/ButtonGroup/index.js +30 -33
- package/Carousel/index.js +29 -33
- package/Cascader/index.js +9 -10
- package/Checkbox/index.js +28 -35
- package/CheckboxGroup/index.js +43 -58
- package/Collapse/index.js +52 -49
- package/CollapseBox/index.js +65 -70
- package/CollapseLayout/index.js +106 -101
- package/ColorPicker/index.js +3 -3
- package/ComboSelect/index.js +260 -337
- package/ComboSelect/lang/en_US.d.ts +1 -0
- package/ComboSelect/lang/index.d.ts +2 -0
- package/ComboSelect/lang/zh_CN.d.ts +1 -0
- package/ComboSelect/utils.d.ts +6 -0
- package/Container/index.js +17 -21
- package/CopyText/index.js +50 -83
- package/DatePicker/index.js +24 -27
- package/Descriptions/index.js +50 -59
- package/Desktop/index.js +161 -180
- package/DragVerify/index.js +77 -113
- package/Drawer/index.js +80 -95
- package/Dropdown/index.js +3 -3
- package/DynamicMultiBox/index.js +222 -224
- package/DynamicMultiBox/interface.d.ts +7 -0
- package/Empty/index.js +26 -28
- package/Form/index.js +70 -74
- package/FormItem/index.js +18 -15
- package/FunctionModal/index.js +7 -14
- package/GlobalContext/index.js +17 -20
- package/Help/index.js +9 -12
- package/HelperText/index.js +11 -11
- package/InputLang/index.js +104 -124
- package/InputNumber/index.js +62 -81
- package/Label/index.js +19 -21
- package/Loading/index.js +11 -10
- package/Menu/index.js +302 -371
- package/Message/index.js +104 -113
- package/Modal/index.js +122 -148
- package/MultiBox/index.d.ts +5 -0
- package/MultiBox/index.js +111 -115
- package/Notification/index.js +105 -103
- package/OperateBtn/index.d.ts +3 -0
- package/OperateBtn/index.js +77 -107
- package/PageHeader/index.js +327 -406
- package/Pagination/index.js +107 -137
- package/ParauiProvider/index.js +20 -22
- package/PasswordRules/index.js +36 -40
- package/PopConfirm/index.js +60 -77
- package/Popover/index.js +12 -12
- package/Progress/index.js +72 -74
- package/Querying/index.js +22 -23
- package/README.md +2 -0
- package/Radio/index.js +27 -34
- package/RadioGroup/index.js +38 -52
- package/Search/index.js +34 -43
- package/Select/index.js +281 -345
- package/SelectInput/index.js +8 -13
- package/Selector/index.js +582 -796
- package/SelectorPicker/index.js +113 -134
- package/SingleBox/index.d.ts +5 -0
- package/SingleBox/index.js +92 -88
- package/Slider/index.js +46 -57
- package/Status/index.js +14 -13
- package/Stepper/index.js +24 -25
- package/Styles/theme.scss +9 -9
- package/Switch/index.js +32 -35
- package/Table/index.js +360 -494
- package/Tabs/index.js +100 -100
- package/Tag/index.js +64 -82
- package/TextEditor/index.js +78 -100
- package/TextField/index.js +142 -183
- package/TimePicker/index.js +29 -28
- package/Timeline/index.js +50 -47
- package/Title/index.js +32 -34
- package/ToggleButton/index.js +29 -29
- package/Tooltip/index.js +52 -56
- package/Transfer/index.js +117 -154
- package/Tree/index.js +9 -10
- package/Upload/index.js +125 -143
- package/Upload/interface.d.ts +2 -0
- package/_verture/{constant-0d9802f7.js → constant-5317fc89.js} +2 -2
- package/_verture/{index-5a7e2438.js → index-3cdaba96.js} +967 -934
- package/_verture/{index-b1f80962.js → index-4fafd0a0.js} +6 -8
- package/_verture/{index-024bbc9b.js → index-775ad32d.js} +29 -25
- package/_verture/{index-05f7bf11.js → index-c568f272.js} +2 -2
- package/_verture/{index-232d890b.js → index-d63bd287.js} +1 -1
- package/_verture/index-da9097d3.js +239 -0
- package/_verture/{index-9331b116.js → index-e0f9064d.js} +125 -134
- package/_verture/intl-f2f27722.js +69 -0
- package/_verture/{modalContext-736ff215.js → modalContext-8534f23d.js} +36 -64
- package/_verture/{slicedToArray-a8206399.js → slicedToArray-75fa4188.js} +15 -2
- package/_verture/{toConsumableArray-8f4c9589.js → toConsumableArray-c7a8028f.js} +1 -1
- package/_verture/{useFormatMessage-703f8b20.js → useFormatMessage-eb13cf56.js} +5 -4
- package/_verture/{useGlobalProps-1b846a65.js → useGlobalProps-1e416658.js} +4 -3
- package/_verture/{usePopupContainer-87febeb9.js → usePopupContainer-635f66f4.js} +16 -15
- package/_verture/{util-7e1fb1e2.js → util-82646c4f.js} +5 -4
- package/_verture/utils-c17b5265.js +97 -0
- package/index.js +24 -23
- package/locale/en-US.d.ts +1 -0
- package/locale/index.d.ts +2 -0
- package/locale/index.js +10 -8
- package/locale/zh-CN.d.ts +1 -0
- package/package.json +11 -10
- package/umd/AutoBox.js +9 -8
- package/umd/AutoTips.js +9 -8
- package/umd/Badge.js +1 -1
- package/umd/Breadcrumbs.js +9 -8
- package/umd/Button.js +9 -8
- package/umd/ButtonGroup.js +9 -8
- package/umd/Carousel.js +5 -5
- package/umd/Cascader.js +9 -8
- package/umd/Checkbox.js +9 -8
- package/umd/CheckboxGroup.js +9 -8
- package/umd/Collapse.js +8 -7
- package/umd/CollapseBox.js +1 -1
- package/umd/CollapseLayout.js +4 -4
- package/umd/ColorPicker.js +1 -1
- package/umd/ComboSelect.js +9 -8
- package/umd/Container.js +1 -1
- package/umd/CopyText.js +9 -8
- package/umd/DatePicker.js +9 -8
- package/umd/Descriptions.js +9 -8
- package/umd/Desktop.js +9 -8
- package/umd/DragVerify.js +4 -4
- package/umd/Drawer.js +9 -8
- package/umd/Dropdown.js +6 -5
- package/umd/DynamicMultiBox.js +11 -10
- package/umd/Empty.js +1 -1
- package/umd/Form.js +9 -8
- package/umd/FormItem.js +9 -8
- package/umd/FunctionModal.js +9 -8
- package/umd/GlobalContext.js +1 -1
- package/umd/Help.js +9 -8
- package/umd/HelperText.js +1 -1
- package/umd/InputLang.js +9 -8
- package/umd/InputNumber.js +9 -8
- package/umd/Label.js +9 -8
- package/umd/Loading.js +4 -4
- package/umd/Menu.js +4 -4
- package/umd/Message.js +4 -4
- package/umd/Modal.js +9 -8
- package/umd/MultiBox.js +9 -8
- package/umd/Notification.js +8 -7
- package/umd/OperateBtn.js +9 -8
- package/umd/PageHeader.js +9 -8
- package/umd/Pagination.js +9 -8
- package/umd/ParauiProvider.js +1 -1
- package/umd/PasswordRules.js +4 -4
- package/umd/PopConfirm.js +9 -8
- package/umd/Popover.js +9 -8
- package/umd/Progress.js +5 -5
- package/umd/Querying.js +1 -1
- package/umd/Radio.js +9 -8
- package/umd/RadioGroup.js +9 -8
- package/umd/Search.js +9 -8
- package/umd/Select.js +9 -8
- package/umd/SelectInput.js +9 -8
- package/umd/Selector.js +9 -8
- package/umd/SelectorPicker.js +9 -8
- package/umd/SingleBox.js +9 -8
- package/umd/Slider.js +6 -5
- package/umd/Status.js +4 -4
- package/umd/Stepper.js +9 -8
- package/umd/Switch.js +9 -8
- package/umd/Table.js +9 -8
- package/umd/Tabs.js +9 -8
- package/umd/Tag.js +9 -8
- package/umd/TextEditor.js +22 -21
- package/umd/TextField.js +9 -8
- package/umd/TimePicker.js +9 -8
- package/umd/Timeline.js +1 -1
- package/umd/Title.js +9 -8
- package/umd/ToggleButton.js +9 -8
- package/umd/Tooltip.js +9 -8
- package/umd/Transfer.js +10 -9
- package/umd/Tree.js +9 -8
- package/umd/Upload.js +10 -9
- package/umd/locale.js +1 -1
- package/_verture/index-e9007d6a.js +0 -236
- package/_verture/intl-5c1ec055.js +0 -81
- package/_verture/unsupportedIterableToArray-cb478f24.js +0 -16
- package/_verture/utils-418da0a4.js +0 -73
- /package/_verture/{typeof-c310ee4a.js → typeof-b240b062.js} +0 -0
package/Menu/index.js
CHANGED
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
import { _ as _slicedToArray } from '../_verture/slicedToArray-a8206399.js';
|
|
2
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
2
|
import React__default, { useState, useEffect, useMemo, createElement, useRef } from 'react';
|
|
4
|
-
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-8f4c9589.js';
|
|
5
3
|
import { createPortal } from 'react-dom';
|
|
6
4
|
import CollapseBox from '../CollapseBox/index.js';
|
|
7
5
|
import Down from '@para-ui/icons/Down';
|
|
8
6
|
import * as iconList from '@para-ui/icons';
|
|
9
7
|
import { UUID, DeepClone } from '@paraview/lib';
|
|
10
|
-
import { $ as $prefixCls } from '../_verture/constant-
|
|
8
|
+
import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
|
|
11
9
|
import MenuMoreLine from '@para-ui/icons/IndentRightFill';
|
|
12
10
|
import MenuLessLine from '@para-ui/icons/IndentLeftFill';
|
|
13
11
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
14
|
-
import '../_verture/unsupportedIterableToArray-cb478f24.js';
|
|
15
12
|
import 'react-transition-group';
|
|
16
|
-
import '../_verture/util-
|
|
13
|
+
import '../_verture/util-82646c4f.js';
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
expansion =
|
|
21
|
-
render
|
|
22
|
-
className
|
|
15
|
+
const Logo = props => {
|
|
16
|
+
const {
|
|
17
|
+
expansion = true,
|
|
18
|
+
render,
|
|
19
|
+
className
|
|
20
|
+
} = props;
|
|
23
21
|
/**
|
|
24
22
|
* 处理内容
|
|
25
23
|
* @return {ReactNode}
|
|
26
24
|
*/
|
|
27
|
-
|
|
25
|
+
const handContent = () => {
|
|
28
26
|
if (render) return render;
|
|
29
27
|
};
|
|
30
28
|
/**
|
|
31
29
|
* 处理className
|
|
32
30
|
* @return class名
|
|
33
31
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const handClass = () => {
|
|
33
|
+
let str = 'menu-logo';
|
|
36
34
|
if (className) str += " ".concat(className);
|
|
37
35
|
if (!expansion) str += ' menu-logo-shrink';
|
|
38
36
|
return str;
|
|
@@ -48,9 +46,9 @@ var Logo = function Logo(props) {
|
|
|
48
46
|
* @description 处理菜单标签
|
|
49
47
|
* 默认div,最后一级为a标签
|
|
50
48
|
* */
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
const handMenuEle = children => {
|
|
50
|
+
let Ele = 'div';
|
|
51
|
+
const lastOne = !children || children.length === 0;
|
|
54
52
|
if (lastOne) {
|
|
55
53
|
Ele = 'a';
|
|
56
54
|
}
|
|
@@ -59,11 +57,11 @@ var handMenuEle = function handMenuEle(children) {
|
|
|
59
57
|
/**
|
|
60
58
|
* 处理菜单href地址
|
|
61
59
|
* */
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
const handHref = function () {
|
|
61
|
+
let children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
62
|
+
let path = arguments.length > 1 ? arguments[1] : undefined;
|
|
63
|
+
let href = arguments.length > 2 ? arguments[2] : undefined;
|
|
64
|
+
const lastOne = !children || children.length === 0;
|
|
67
65
|
if (lastOne) {
|
|
68
66
|
return {
|
|
69
67
|
href: href ? href : "#".concat(path)
|
|
@@ -72,29 +70,25 @@ var handHref = function handHref() {
|
|
|
72
70
|
return {};
|
|
73
71
|
};
|
|
74
72
|
// 下拉展开
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
level =
|
|
85
|
-
badge
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
openCom = _useState2[0],
|
|
95
|
-
setOpenCom = _useState2[1];
|
|
96
|
-
useEffect(function () {
|
|
97
|
-
var selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
73
|
+
const VerticalMenuListItem = props => {
|
|
74
|
+
const {
|
|
75
|
+
label,
|
|
76
|
+
type = 'router',
|
|
77
|
+
path,
|
|
78
|
+
href,
|
|
79
|
+
icon,
|
|
80
|
+
children,
|
|
81
|
+
className,
|
|
82
|
+
level = 1,
|
|
83
|
+
badge,
|
|
84
|
+
selectMenu = '',
|
|
85
|
+
idMenuLast,
|
|
86
|
+
onClickMenu,
|
|
87
|
+
shrinkOthers = true
|
|
88
|
+
} = props;
|
|
89
|
+
const [openCom, setOpenCom] = useState(false);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
const selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
98
92
|
if (selectMenuLast && selectMenuLast.indexOf(path) !== -1 && selectMenuLast.length > 1) {
|
|
99
93
|
setOpenCom(true);
|
|
100
94
|
} else {
|
|
@@ -103,7 +97,7 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
103
97
|
}
|
|
104
98
|
}, [idMenuLast, selectMenu, path]);
|
|
105
99
|
/** 点击菜单 */
|
|
106
|
-
|
|
100
|
+
const clickMenu = e => {
|
|
107
101
|
if (children && children.length > 0) {
|
|
108
102
|
onClickMenu && onClickMenu(false);
|
|
109
103
|
return setOpenCom(!openCom);
|
|
@@ -115,9 +109,9 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
115
109
|
* 处理图标
|
|
116
110
|
* @return {ReactNode}
|
|
117
111
|
*/
|
|
118
|
-
|
|
112
|
+
const handIcon = () => {
|
|
119
113
|
if (icon) {
|
|
120
|
-
|
|
114
|
+
const iconCom = iconList[icon];
|
|
121
115
|
if (iconCom) return jsx("span", Object.assign({
|
|
122
116
|
className: "menu-item-icon"
|
|
123
117
|
}, {
|
|
@@ -135,7 +129,7 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
135
129
|
* 处理箭头
|
|
136
130
|
* @return {ReactNode}
|
|
137
131
|
*/
|
|
138
|
-
|
|
132
|
+
const handArrow = () => {
|
|
139
133
|
if (children && children.length > 0) return jsx(Down, {});
|
|
140
134
|
return jsx(Down, {
|
|
141
135
|
className: "opacity-pos-svg"
|
|
@@ -144,7 +138,7 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
144
138
|
/**
|
|
145
139
|
* 处理数量
|
|
146
140
|
* */
|
|
147
|
-
|
|
141
|
+
const handBadge = () => {
|
|
148
142
|
if (badge !== undefined) {
|
|
149
143
|
return jsx("div", Object.assign({
|
|
150
144
|
className: 'menu-item-badge'
|
|
@@ -159,33 +153,31 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
159
153
|
* 处理class
|
|
160
154
|
* @return class名
|
|
161
155
|
*/
|
|
162
|
-
|
|
163
|
-
|
|
156
|
+
const handClass = () => {
|
|
157
|
+
let str = 'vertical-menu-list-item';
|
|
164
158
|
if (openCom) str += ' vertical-menu-list-item-open';
|
|
165
159
|
if (className) str += " ".concat(className);
|
|
166
|
-
|
|
160
|
+
const selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
167
161
|
if (selectMenuLast) {
|
|
168
|
-
|
|
162
|
+
const index = selectMenuLast.indexOf(path);
|
|
169
163
|
if (index !== -1) {
|
|
170
164
|
str += ' vertical-menu-list-item-select'; // 选中
|
|
171
165
|
if (index === selectMenuLast.length - 1) {
|
|
172
166
|
str += ' vertical-menu-list-item-select-last'; // 最后一项
|
|
173
167
|
}
|
|
174
|
-
|
|
175
168
|
if (!openCom) {
|
|
176
169
|
// 收起且选中
|
|
177
170
|
str += ' vertical-menu-list-item-select-retract'; // 选中收起转态
|
|
178
171
|
}
|
|
179
172
|
}
|
|
180
173
|
}
|
|
181
|
-
|
|
182
174
|
return str;
|
|
183
175
|
};
|
|
184
176
|
/**
|
|
185
177
|
* 处理样式
|
|
186
178
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
179
|
+
const handStyle = () => {
|
|
180
|
+
const json = {
|
|
189
181
|
paddingRight: '12px',
|
|
190
182
|
paddingLeft: '0px'
|
|
191
183
|
};
|
|
@@ -195,8 +187,8 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
195
187
|
return json;
|
|
196
188
|
};
|
|
197
189
|
// itemMemo
|
|
198
|
-
|
|
199
|
-
|
|
190
|
+
const ItemMemo = useMemo(() => {
|
|
191
|
+
const Ele = handMenuEle(children);
|
|
200
192
|
return jsxs(Ele, Object.assign({
|
|
201
193
|
onClick: clickMenu,
|
|
202
194
|
className: "vertical-menu-list-item-content",
|
|
@@ -218,14 +210,14 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
218
210
|
}));
|
|
219
211
|
}, [children, onClickMenu, openCom, level, icon, label, path, href]);
|
|
220
212
|
// Collapse
|
|
221
|
-
|
|
213
|
+
const CollapseMemo = useMemo(() => {
|
|
222
214
|
return jsx(CollapseBox, Object.assign({
|
|
223
215
|
in: openCom,
|
|
224
216
|
className: "li-collapse",
|
|
225
217
|
timeout: "auto",
|
|
226
218
|
unmountOnExit: true
|
|
227
219
|
}, {
|
|
228
|
-
children: children && children.length > 0 && children.map(
|
|
220
|
+
children: children && children.length > 0 && children.map((item, index) => {
|
|
229
221
|
return jsx(VerticalMenuListItem, Object.assign({}, item, {
|
|
230
222
|
level: level + 1,
|
|
231
223
|
idMenuLast: idMenuLast,
|
|
@@ -243,67 +235,50 @@ var VerticalMenuListItem = function VerticalMenuListItem(props) {
|
|
|
243
235
|
}));
|
|
244
236
|
};
|
|
245
237
|
// 弹出菜单
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
size =
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
272
|
-
childPos = _useState6[0],
|
|
273
|
-
setChildPos = _useState6[1]; // 子级定位元素
|
|
274
|
-
var _useState7 = useState([]),
|
|
275
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
276
|
-
childList = _useState8[0],
|
|
277
|
-
setChildList = _useState8[1]; // 子级列表
|
|
278
|
-
var _useState9 = useState({}),
|
|
279
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
280
|
-
posStyle = _useState10[0],
|
|
281
|
-
setPosStyle = _useState10[1]; // 定位元素样式
|
|
282
|
-
var _useState11 = useState({}),
|
|
283
|
-
_useState12 = _slicedToArray(_useState11, 1),
|
|
284
|
-
timerJson = _useState12[0];
|
|
285
|
-
var boxRef = useRef(null);
|
|
286
|
-
useEffect(function () {
|
|
287
|
-
return function () {
|
|
238
|
+
const MenuItemPopper = props => {
|
|
239
|
+
const {
|
|
240
|
+
size = 'large',
|
|
241
|
+
open = false,
|
|
242
|
+
anchorEl,
|
|
243
|
+
idMenuLast,
|
|
244
|
+
selectMenu = '',
|
|
245
|
+
onClickMenu,
|
|
246
|
+
list = [],
|
|
247
|
+
onMouseEnter,
|
|
248
|
+
onMouseLeave,
|
|
249
|
+
onMouseEnterBus,
|
|
250
|
+
onMouseLeaveBus,
|
|
251
|
+
level = 1,
|
|
252
|
+
color,
|
|
253
|
+
className
|
|
254
|
+
} = props;
|
|
255
|
+
const [openChild, setOpenChild] = useState(false); // 是否渲染子级
|
|
256
|
+
const [childPos, setChildPos] = useState(''); // 子级定位元素
|
|
257
|
+
const [childList, setChildList] = useState([]); // 子级列表
|
|
258
|
+
const [posStyle, setPosStyle] = useState({}); // 定位元素样式
|
|
259
|
+
const [timerJson] = useState({});
|
|
260
|
+
const boxRef = useRef(null);
|
|
261
|
+
useEffect(() => {
|
|
262
|
+
return () => {
|
|
288
263
|
clearTimeout(timerJson.leaveBox);
|
|
289
264
|
clearTimeout(timerJson.closeTimer);
|
|
290
265
|
clearTimeout(timerJson.styleTimer);
|
|
291
266
|
};
|
|
292
267
|
}, []);
|
|
293
|
-
useEffect(
|
|
268
|
+
useEffect(() => {
|
|
294
269
|
handPosStyle();
|
|
295
270
|
}, [open, anchorEl]);
|
|
296
271
|
/**
|
|
297
272
|
* 设置定位样式
|
|
298
273
|
* */
|
|
299
|
-
|
|
274
|
+
const handPosStyle = () => {
|
|
300
275
|
clearTimeout(timerJson.styleTimer);
|
|
301
|
-
timerJson.styleTimer = setTimeout(
|
|
276
|
+
timerJson.styleTimer = setTimeout(() => {
|
|
302
277
|
if (anchorEl && open && boxRef.current) {
|
|
303
278
|
// 定位容器
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
279
|
+
const anchorElDom = document.querySelector("[data-menu-id=".concat(anchorEl, "]"));
|
|
280
|
+
const reactDom = anchorElDom.getBoundingClientRect();
|
|
281
|
+
let top = reactDom.top;
|
|
307
282
|
// 不是第一级的弹窗向上偏移
|
|
308
283
|
if (level !== 1) {
|
|
309
284
|
top = top - 4;
|
|
@@ -312,12 +287,11 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
312
287
|
if (handTooltip()) {
|
|
313
288
|
top = top + (props.size === 'small' ? 2 : 4);
|
|
314
289
|
}
|
|
315
|
-
|
|
316
|
-
|
|
290
|
+
const bodyHeight = document.body.clientHeight;
|
|
291
|
+
const selfHeight = boxRef.current.clientHeight;
|
|
317
292
|
if (selfHeight + top > bodyHeight) {
|
|
318
293
|
top = top - (selfHeight + top - bodyHeight) - 20; // 多减20的余量
|
|
319
294
|
}
|
|
320
|
-
|
|
321
295
|
if (top < 0) {
|
|
322
296
|
top = 0;
|
|
323
297
|
}
|
|
@@ -333,7 +307,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
333
307
|
/**
|
|
334
308
|
* 判断是否是第一级,且没有子级
|
|
335
309
|
* */
|
|
336
|
-
|
|
310
|
+
const handTooltip = () => {
|
|
337
311
|
// 第一层,长度为1,且没有父级,,子级也没有
|
|
338
312
|
if (level === 1 && list.length === 1 && list[0]._paraui_menu_first && (!list[0].children || list[0].children.length === 0)) {
|
|
339
313
|
return true;
|
|
@@ -344,8 +318,8 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
344
318
|
* 处理MenuPopover样式类名
|
|
345
319
|
* @return {string}
|
|
346
320
|
*/
|
|
347
|
-
|
|
348
|
-
|
|
321
|
+
const handPopoverClass = () => {
|
|
322
|
+
let str = "".concat($prefixCls, "-vertical-menu-item-popper");
|
|
349
323
|
if (color) str += " ".concat($prefixCls, "-vertical-menu-item-popper-").concat(color);
|
|
350
324
|
if (size) str += " ".concat($prefixCls, "-vertical-menu-item-popper-").concat(size);
|
|
351
325
|
if (color === 'deep') str += " ".concat($prefixCls, "-scrollbar-small-deep");else str += " ".concat($prefixCls, "-scrollbar-small");
|
|
@@ -361,9 +335,9 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
361
335
|
* @param item {MenuChildrenProps} 子菜单详情
|
|
362
336
|
* @return {string}
|
|
363
337
|
*/
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
338
|
+
const handItemClass = item => {
|
|
339
|
+
let str = 'menu-item-popper-content-item';
|
|
340
|
+
const selectMenuLast = idMenuLast && idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
|
|
367
341
|
if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) {
|
|
368
342
|
str += ' menu-item-popper-content-item-select';
|
|
369
343
|
}
|
|
@@ -374,9 +348,9 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
374
348
|
* @param icon 图标信息
|
|
375
349
|
* @return {ReactNode}
|
|
376
350
|
*/
|
|
377
|
-
|
|
351
|
+
const handIcon = icon => {
|
|
378
352
|
if (icon) {
|
|
379
|
-
|
|
353
|
+
const iconCom = iconList[icon];
|
|
380
354
|
if (iconCom) return jsx("span", Object.assign({
|
|
381
355
|
className: "menu-item-icon"
|
|
382
356
|
}, {
|
|
@@ -395,7 +369,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
395
369
|
* @param children 详细
|
|
396
370
|
* @return {ReactNode}
|
|
397
371
|
*/
|
|
398
|
-
|
|
372
|
+
const handArrow = children => {
|
|
399
373
|
if (children && children.length > 0) return jsx(Down, {});
|
|
400
374
|
return jsx(Down, {
|
|
401
375
|
className: "opacity-pos-svg"
|
|
@@ -404,7 +378,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
404
378
|
/**
|
|
405
379
|
* 处理数量
|
|
406
380
|
* */
|
|
407
|
-
|
|
381
|
+
const handBadge = item => {
|
|
408
382
|
if (item.badge !== undefined && !handTooltip()) {
|
|
409
383
|
return jsx("div", Object.assign({
|
|
410
384
|
className: 'menu-item-badge'
|
|
@@ -420,17 +394,15 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
420
394
|
* @param item {MenuChildrenProps} 当前项参数
|
|
421
395
|
* @param e 当前元素
|
|
422
396
|
*/
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
onClickMenu && onClickMenu(item);
|
|
428
|
-
};
|
|
397
|
+
const clickMenu = item => e => {
|
|
398
|
+
e.preventDefault();
|
|
399
|
+
if (item.children && item.children.length > 0) return;
|
|
400
|
+
onClickMenu && onClickMenu(item);
|
|
429
401
|
};
|
|
430
402
|
/**
|
|
431
403
|
* 鼠标移入大容器
|
|
432
404
|
* */
|
|
433
|
-
|
|
405
|
+
const onMouseEnterBox = () => {
|
|
434
406
|
if (handTooltip()) return;
|
|
435
407
|
if (level == 1) {
|
|
436
408
|
// 关闭收缩按钮移出事件
|
|
@@ -442,10 +414,10 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
442
414
|
/**
|
|
443
415
|
* 鼠标移出大容器
|
|
444
416
|
* */
|
|
445
|
-
|
|
417
|
+
const onMouseLeaveBox = () => {
|
|
446
418
|
if (handTooltip()) return;
|
|
447
419
|
clearTimeout(timerJson.leaveBox);
|
|
448
|
-
timerJson.leaveBox = setTimeout(
|
|
420
|
+
timerJson.leaveBox = setTimeout(() => {
|
|
449
421
|
if (level === 1) {
|
|
450
422
|
onMouseLeave && onMouseLeave();
|
|
451
423
|
} else {
|
|
@@ -457,7 +429,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
457
429
|
* 移入事件 传递 给子级
|
|
458
430
|
* 用来通知上级
|
|
459
431
|
* */
|
|
460
|
-
|
|
432
|
+
const onMouseEnterBusCom = () => {
|
|
461
433
|
// 移入子级的大容器里面, 需要通知上级不关闭容器, 清楚关闭定时器
|
|
462
434
|
clearTimeout(timerJson.leaveBox);
|
|
463
435
|
};
|
|
@@ -465,7 +437,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
465
437
|
* 移出事件 传递 给子级
|
|
466
438
|
* 用来通知上级
|
|
467
439
|
* */
|
|
468
|
-
|
|
440
|
+
const onMouseLeaveBusCom = () => {
|
|
469
441
|
setOpenChild(false);
|
|
470
442
|
setChildPos('');
|
|
471
443
|
setChildList([]);
|
|
@@ -477,24 +449,22 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
477
449
|
* @param index {number} 移入当前项下标
|
|
478
450
|
* @param e 当前元素
|
|
479
451
|
*/
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
});
|
|
497
|
-
};
|
|
452
|
+
const onMouseEnterChildCom = item => e => {
|
|
453
|
+
handClassItemHover(e.target);
|
|
454
|
+
setOpenChild(false);
|
|
455
|
+
clearTimeout(timerJson.closeTimer);
|
|
456
|
+
timerJson.closeTimer = setTimeout(() => {
|
|
457
|
+
const childListHand = item.children || [];
|
|
458
|
+
if (childListHand.length > 0) {
|
|
459
|
+
setOpenChild(true);
|
|
460
|
+
setChildPos(e.target.getAttribute('data-menu-id'));
|
|
461
|
+
setChildList(item.children || []);
|
|
462
|
+
} else {
|
|
463
|
+
setOpenChild(false);
|
|
464
|
+
setChildPos('');
|
|
465
|
+
setChildList([]);
|
|
466
|
+
}
|
|
467
|
+
});
|
|
498
468
|
};
|
|
499
469
|
/**
|
|
500
470
|
* 移出子级
|
|
@@ -502,18 +472,16 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
502
472
|
* @param index {number} 移入当前项下标
|
|
503
473
|
* @param e 当前元素
|
|
504
474
|
*/
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
//console.log('移出子级')
|
|
508
|
-
};
|
|
475
|
+
const onMouseLeaveChildCom = item => e => {
|
|
476
|
+
//console.log('移出子级')
|
|
509
477
|
};
|
|
510
478
|
/**
|
|
511
479
|
* 处理移入的class
|
|
512
480
|
* */
|
|
513
|
-
|
|
481
|
+
const handClassItemHover = target => {
|
|
514
482
|
if (boxRef) {
|
|
515
|
-
|
|
516
|
-
|
|
483
|
+
const boxDom = boxRef.current;
|
|
484
|
+
const hoverDom = boxDom.querySelector('.menu-item-popper-content-item-hover');
|
|
517
485
|
if (hoverDom) {
|
|
518
486
|
hoverDom.classList.remove('menu-item-popper-content-item-hover');
|
|
519
487
|
}
|
|
@@ -523,15 +491,15 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
523
491
|
}
|
|
524
492
|
};
|
|
525
493
|
/** 内容 */
|
|
526
|
-
|
|
494
|
+
const ContentMemo = useMemo(() => {
|
|
527
495
|
return jsx("div", Object.assign({
|
|
528
496
|
className: "menu-item-popper-content",
|
|
529
497
|
onMouseEnter: onMouseEnterBox,
|
|
530
498
|
onMouseLeave: onMouseLeaveBox,
|
|
531
499
|
ref: boxRef
|
|
532
500
|
}, {
|
|
533
|
-
children: list.map(
|
|
534
|
-
|
|
501
|
+
children: list.map((item, index) => {
|
|
502
|
+
const Ele = handMenuEle(item.children);
|
|
535
503
|
return jsx("div", Object.assign({
|
|
536
504
|
className: handItemClass(item),
|
|
537
505
|
onMouseEnter: onMouseEnterChildCom(item),
|
|
@@ -561,7 +529,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
561
529
|
}));
|
|
562
530
|
}, [list, onClickMenu, idMenuLast, selectMenu, onClickMenu, onMouseEnter, onMouseLeave, level]);
|
|
563
531
|
// 计算定位
|
|
564
|
-
|
|
532
|
+
const MenuPopover = () => {
|
|
565
533
|
return jsx("div", Object.assign({
|
|
566
534
|
className: handPopoverClass(),
|
|
567
535
|
style: posStyle
|
|
@@ -569,7 +537,7 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
569
537
|
children: ContentMemo
|
|
570
538
|
}));
|
|
571
539
|
};
|
|
572
|
-
|
|
540
|
+
const MenuPortalMemo = useMemo(() => {
|
|
573
541
|
return jsx(Fragment, {
|
|
574
542
|
children: /*#__PURE__*/createPortal(jsx(MenuPopover, {}), document.getElementsByTagName('body')[0])
|
|
575
543
|
});
|
|
@@ -597,101 +565,74 @@ var MenuItemPopper = function MenuItemPopper(props) {
|
|
|
597
565
|
* @param transform {string}
|
|
598
566
|
* @return {number}
|
|
599
567
|
*/
|
|
600
|
-
|
|
568
|
+
const getTransformY = transform => {
|
|
601
569
|
if (!transform) return 0;
|
|
602
570
|
try {
|
|
603
|
-
|
|
571
|
+
const transformY = transform.match(/translate3d\((.*)px, (.*)px, (.*)px\)/);
|
|
604
572
|
return Number(transformY && transformY[2]);
|
|
605
573
|
} catch (e) {}
|
|
606
574
|
return 0;
|
|
607
575
|
};
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
expansion =
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
size = _props$size2 === void 0 ? 'large' : _props$size2,
|
|
620
|
-
color = props.color;
|
|
576
|
+
const VerticalMenuList = props => {
|
|
577
|
+
const {
|
|
578
|
+
list,
|
|
579
|
+
expansion = true,
|
|
580
|
+
selectMenu = '',
|
|
581
|
+
onClickMenu,
|
|
582
|
+
className,
|
|
583
|
+
shrinkOthers = true,
|
|
584
|
+
size = 'large',
|
|
585
|
+
color
|
|
586
|
+
} = props;
|
|
621
587
|
// const classes: any = useStyles(props);
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
openChild = _useState16[0],
|
|
629
|
-
setOpenChild = _useState16[1]; // 侧边展开子菜单
|
|
630
|
-
var _useState17 = useState(null),
|
|
631
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
|
632
|
-
openChildIndex = _useState18[0],
|
|
633
|
-
setOpenChildIndex = _useState18[1]; // 侧边菜单第几项
|
|
634
|
-
var _useState19 = useState(''),
|
|
635
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
636
|
-
childPos = _useState20[0],
|
|
637
|
-
setChildPos = _useState20[1]; // 侧边子菜单定位
|
|
638
|
-
var _useState21 = useState([]),
|
|
639
|
-
_useState22 = _slicedToArray(_useState21, 2),
|
|
640
|
-
childList = _useState22[0],
|
|
641
|
-
setChildList = _useState22[1]; // 侧边子菜单数据
|
|
642
|
-
var _useState23 = useState(''),
|
|
643
|
-
_useState24 = _slicedToArray(_useState23, 2),
|
|
644
|
-
selectMenuCom = _useState24[0],
|
|
645
|
-
setSelectMenuCom = _useState24[1]; // 当前选中菜单id
|
|
588
|
+
const [listCom, setListCom] = useState([]); // 菜单数据
|
|
589
|
+
const [openChild, setOpenChild] = useState(false); // 侧边展开子菜单
|
|
590
|
+
const [openChildIndex, setOpenChildIndex] = useState(null); // 侧边菜单第几项
|
|
591
|
+
const [childPos, setChildPos] = useState(''); // 侧边子菜单定位
|
|
592
|
+
const [childList, setChildList] = useState([]); // 侧边子菜单数据
|
|
593
|
+
const [selectMenuCom, setSelectMenuCom] = useState(''); // 当前选中菜单id
|
|
646
594
|
//const [jsonMenu, setJsonMenu] = useState<any>({}); // 菜单map
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
flipDisable = _useState28[0],
|
|
657
|
-
setFlipDisable = _useState28[1];
|
|
658
|
-
var _useState29 = useState({}),
|
|
659
|
-
_useState30 = _slicedToArray(_useState29, 1),
|
|
660
|
-
timerJson = _useState30[0];
|
|
661
|
-
var listRef = React__default.useRef();
|
|
662
|
-
useEffect(function () {
|
|
663
|
-
return function () {
|
|
595
|
+
const [idMenuLast, setIdMenuLast] = useState({}); // 最后一级菜单所有层级id
|
|
596
|
+
const [flipDisable, setFlipDisable] = useState({
|
|
597
|
+
prev: false,
|
|
598
|
+
next: false
|
|
599
|
+
});
|
|
600
|
+
const [timerJson] = useState({});
|
|
601
|
+
const listRef = React__default.useRef();
|
|
602
|
+
useEffect(() => {
|
|
603
|
+
return () => {
|
|
664
604
|
// 防止组件销毁设置元素报错
|
|
665
605
|
clearTimeout(timerJson.arrowTimer);
|
|
666
606
|
clearTimeout(timerJson.leaveTimer);
|
|
667
607
|
clearTimeout(timerJson.enterTimer);
|
|
668
608
|
};
|
|
669
609
|
}, []);
|
|
670
|
-
useEffect(
|
|
610
|
+
useEffect(() => {
|
|
671
611
|
// 浅拷贝一层,防止数据外部使用用了同一份数据,导致收缩的时候定位错误
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
for (
|
|
675
|
-
|
|
612
|
+
const listArr = list || [];
|
|
613
|
+
const arr = [];
|
|
614
|
+
for (let i = 0, l = listArr.length; i < l; i++) {
|
|
615
|
+
const item = listArr[i];
|
|
676
616
|
arr.push(Object.assign({}, item));
|
|
677
617
|
}
|
|
678
618
|
handList(arr);
|
|
679
619
|
}, [list]);
|
|
680
|
-
useEffect(
|
|
620
|
+
useEffect(() => {
|
|
681
621
|
isShowArrow();
|
|
682
622
|
}, [listCom]);
|
|
683
|
-
useEffect(
|
|
623
|
+
useEffect(() => {
|
|
684
624
|
if (selectMenu !== selectMenuCom) setSelectMenuCom(selectMenu);
|
|
685
625
|
isShowArrow();
|
|
686
626
|
}, [selectMenu]);
|
|
687
627
|
/** 初始化判断是否显示箭头 */
|
|
688
|
-
|
|
628
|
+
const isShowArrow = () => {
|
|
689
629
|
clearTimeout(timerJson.arrowTimer);
|
|
690
|
-
timerJson.arrowTimer = setTimeout(
|
|
691
|
-
|
|
692
|
-
min
|
|
693
|
-
max
|
|
694
|
-
|
|
630
|
+
timerJson.arrowTimer = setTimeout(() => {
|
|
631
|
+
const {
|
|
632
|
+
min,
|
|
633
|
+
max
|
|
634
|
+
} = getLimit();
|
|
635
|
+
const y = getTransformY(listRef.current.style.transform);
|
|
695
636
|
setFlipDisable({
|
|
696
637
|
prev: y !== min,
|
|
697
638
|
next: y > max
|
|
@@ -702,9 +643,11 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
702
643
|
* 鼠标滚动应用列表
|
|
703
644
|
* @param e 元素
|
|
704
645
|
*/
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
646
|
+
const handleScroll = e => {
|
|
647
|
+
const {
|
|
648
|
+
deltaY
|
|
649
|
+
} = e;
|
|
650
|
+
let y = getTransformY(listRef.current.style.transform);
|
|
708
651
|
y -= deltaY;
|
|
709
652
|
setTransform(y);
|
|
710
653
|
};
|
|
@@ -712,29 +655,28 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
712
655
|
* 翻页点击
|
|
713
656
|
* @param type {'prev' | 'next'} 点击类型
|
|
714
657
|
*/
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
setTransform(y);
|
|
728
|
-
};
|
|
658
|
+
const flip = type => () => {
|
|
659
|
+
const height = 100;
|
|
660
|
+
let y = getTransformY(listRef.current.style.transform);
|
|
661
|
+
switch (type) {
|
|
662
|
+
case 'next':
|
|
663
|
+
y -= height;
|
|
664
|
+
break;
|
|
665
|
+
case 'prev':
|
|
666
|
+
y += height;
|
|
667
|
+
break;
|
|
668
|
+
}
|
|
669
|
+
setTransform(y);
|
|
729
670
|
};
|
|
730
671
|
/**
|
|
731
672
|
* 设置上下平移
|
|
732
673
|
* @param y {number} 滚动距离
|
|
733
674
|
*/
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
min
|
|
737
|
-
max
|
|
675
|
+
const setTransform = y => {
|
|
676
|
+
const {
|
|
677
|
+
min,
|
|
678
|
+
max
|
|
679
|
+
} = getLimit();
|
|
738
680
|
if (y > min) y = min;
|
|
739
681
|
if (y < max) y = max;
|
|
740
682
|
setFlipDisable({
|
|
@@ -747,34 +689,34 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
747
689
|
* 返回滚动限制
|
|
748
690
|
* @return {object} 滚动限制
|
|
749
691
|
*/
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
692
|
+
const getLimit = () => {
|
|
693
|
+
const parentHeight = listRef.current.parentNode.getBoundingClientRect().height;
|
|
694
|
+
const min = 0;
|
|
695
|
+
let max = -(listRef.current.getBoundingClientRect().height - parentHeight);
|
|
754
696
|
if (parentHeight > listRef.current.getBoundingClientRect().height) {
|
|
755
697
|
max = 0;
|
|
756
698
|
}
|
|
757
699
|
return {
|
|
758
|
-
min
|
|
759
|
-
max
|
|
700
|
+
min,
|
|
701
|
+
max
|
|
760
702
|
};
|
|
761
703
|
};
|
|
762
704
|
/**
|
|
763
705
|
* 处理菜单数据
|
|
764
706
|
* @param dataArr {MenuChildrenProps} 菜单数据
|
|
765
707
|
*/
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
for (
|
|
771
|
-
|
|
772
|
-
|
|
708
|
+
const handList = dataArr => {
|
|
709
|
+
const idMap = {}; // 所有id,层级map
|
|
710
|
+
const idMapLast = {}; // 最后一层菜单,层级map
|
|
711
|
+
const recurrenceFunc = (daraChildArr, parent) => {
|
|
712
|
+
for (let i = 0, l = daraChildArr.length; i < l; i++) {
|
|
713
|
+
const item = daraChildArr[i];
|
|
714
|
+
const path = item.path;
|
|
773
715
|
item._paraui_menu_id = "_paraui_menu_id_".concat(UUID()); // 设置唯一id
|
|
774
716
|
if (parent) {
|
|
775
|
-
|
|
717
|
+
const idList = DeepClone(idMap[parent.path] || []);
|
|
776
718
|
idList.push(path);
|
|
777
|
-
idMap[path] =
|
|
719
|
+
idMap[path] = [...idList];
|
|
778
720
|
} else {
|
|
779
721
|
// 不存在parent,第一级
|
|
780
722
|
idMap[path] = [path];
|
|
@@ -798,52 +740,48 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
798
740
|
* @param index {number} 移入当前项下标
|
|
799
741
|
* @param e 当前元素
|
|
800
742
|
*/
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
timerJson.
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
});
|
|
816
|
-
};
|
|
743
|
+
const mouseEnterShrinkFunc = (item, index) => e => {
|
|
744
|
+
setOpenChild(false);
|
|
745
|
+
clearTimeout(timerJson.enterTimer);
|
|
746
|
+
timerJson.enterTimer = setTimeout(() => {
|
|
747
|
+
clearTimeout(timerJson.leaveTimer);
|
|
748
|
+
let childListHand = [item];
|
|
749
|
+
if (item.children && item.children.length > 0) {
|
|
750
|
+
childListHand = item.children;
|
|
751
|
+
}
|
|
752
|
+
setOpenChildIndex(index);
|
|
753
|
+
setChildPos(e.target.getAttribute('data-menu-id'));
|
|
754
|
+
setChildList(childListHand);
|
|
755
|
+
setOpenChild(true);
|
|
756
|
+
});
|
|
817
757
|
};
|
|
818
758
|
/**
|
|
819
759
|
* 鼠标移出收缩
|
|
820
760
|
* @param item {MenuChildrenProps} 移出当前项参数
|
|
821
761
|
* @param e 当前元素
|
|
822
762
|
*/
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
leaveFunc();
|
|
826
|
-
};
|
|
763
|
+
const mouseLeaveShrinkFunc = item => e => {
|
|
764
|
+
leaveFunc();
|
|
827
765
|
};
|
|
828
766
|
/** 移出事件 */
|
|
829
|
-
|
|
767
|
+
const leaveFunc = () => {
|
|
830
768
|
clearTimeout(timerJson.leaveTimer);
|
|
831
|
-
timerJson.leaveTimer = setTimeout(
|
|
769
|
+
timerJson.leaveTimer = setTimeout(() => {
|
|
832
770
|
closeShrink();
|
|
833
771
|
}, 50);
|
|
834
772
|
};
|
|
835
773
|
/** 移入子菜单 */
|
|
836
|
-
|
|
774
|
+
const onMouseEnterChild = () => {
|
|
837
775
|
clearTimeout(timerJson.leaveTimer);
|
|
838
776
|
};
|
|
839
777
|
/** 移出子菜单 */
|
|
840
|
-
|
|
778
|
+
const onMouseLeaveChild = () => {
|
|
841
779
|
leaveFunc();
|
|
842
780
|
};
|
|
843
781
|
/**
|
|
844
782
|
* 关闭收缩弹窗
|
|
845
783
|
* */
|
|
846
|
-
|
|
784
|
+
const closeShrink = () => {
|
|
847
785
|
setOpenChild(false);
|
|
848
786
|
setChildPos('');
|
|
849
787
|
setChildList([]);
|
|
@@ -854,11 +792,13 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
854
792
|
* @param item {MenuChildrenProps} 当前项参数
|
|
855
793
|
* @return {ReactNode}
|
|
856
794
|
*/
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
795
|
+
const handShrink = item => {
|
|
796
|
+
const {
|
|
797
|
+
icon,
|
|
798
|
+
label
|
|
799
|
+
} = item;
|
|
860
800
|
if (icon) {
|
|
861
|
-
|
|
801
|
+
const iconCom = iconList[icon];
|
|
862
802
|
if (iconCom) return iconCom();
|
|
863
803
|
return icon;
|
|
864
804
|
}
|
|
@@ -871,7 +811,7 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
871
811
|
/**
|
|
872
812
|
* 处理数量
|
|
873
813
|
* */
|
|
874
|
-
|
|
814
|
+
const handBadge = item => {
|
|
875
815
|
if (item.badge !== undefined) {
|
|
876
816
|
return jsx("div", Object.assign({
|
|
877
817
|
className: 'menu-item-shrink-badge'
|
|
@@ -885,26 +825,24 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
885
825
|
/**
|
|
886
826
|
* 点击收缩菜单时候的按钮
|
|
887
827
|
* */
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
e.preventDefault();
|
|
896
|
-
};
|
|
828
|
+
const clickShrinkMenu = item => e => {
|
|
829
|
+
if (!item.children || item.children.length === 0) {
|
|
830
|
+
const handItem = Object.assign({}, item);
|
|
831
|
+
delete handItem._paraui_menu_id;
|
|
832
|
+
onClickMenu && onClickMenu(handItem);
|
|
833
|
+
}
|
|
834
|
+
e.preventDefault();
|
|
897
835
|
};
|
|
898
836
|
/**
|
|
899
837
|
* 点击菜单
|
|
900
838
|
* @param item {MenuChildrenProps | false} 当前项参数
|
|
901
839
|
*/
|
|
902
|
-
|
|
840
|
+
const clickMenu = item => {
|
|
903
841
|
if (item === false) {
|
|
904
842
|
return isShowArrow();
|
|
905
843
|
}
|
|
906
844
|
closeShrink();
|
|
907
|
-
|
|
845
|
+
const handItem = Object.assign({}, item);
|
|
908
846
|
delete handItem._paraui_menu_id;
|
|
909
847
|
onClickMenu && onClickMenu(handItem);
|
|
910
848
|
};
|
|
@@ -914,9 +852,9 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
914
852
|
* @param index {number} 下标
|
|
915
853
|
* @return {string} 返回图标元素
|
|
916
854
|
*/
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
855
|
+
const handShrinkClass = (item, index) => {
|
|
856
|
+
let str = 'vertical-menu-list-item-shrink';
|
|
857
|
+
const selectMenuLast = idMenuLast[selectMenuCom]; // 当前选中菜单的 所有上下级 一条线
|
|
920
858
|
if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) str += ' vertical-menu-list-item-shrink-select';
|
|
921
859
|
if (openChildIndex === index) str += ' vertical-menu-list-item-shrink-hover';
|
|
922
860
|
return str;
|
|
@@ -925,15 +863,15 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
925
863
|
* 处理class
|
|
926
864
|
* @return {string} class名
|
|
927
865
|
*/
|
|
928
|
-
|
|
929
|
-
|
|
866
|
+
const handClass = () => {
|
|
867
|
+
let str = 'vertical-menu-list';
|
|
930
868
|
if (className) str += " ".concat(className);
|
|
931
869
|
return str;
|
|
932
870
|
};
|
|
933
871
|
/** 展开memo */
|
|
934
|
-
|
|
872
|
+
const ExpansionMemo = useMemo(() => {
|
|
935
873
|
if (expansion) {
|
|
936
|
-
return listCom.map(
|
|
874
|
+
return listCom.map((item, index) => {
|
|
937
875
|
return /*#__PURE__*/createElement(VerticalMenuListItem, Object.assign({}, item, {
|
|
938
876
|
key: index,
|
|
939
877
|
level: 1,
|
|
@@ -946,10 +884,10 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
946
884
|
}
|
|
947
885
|
}, [expansion, listCom, idMenuLast, selectMenuCom, onClickMenu, shrinkOthers]);
|
|
948
886
|
/** 收缩memo */
|
|
949
|
-
|
|
887
|
+
const ShrinkMemo = useMemo(() => {
|
|
950
888
|
if (expansion) return null;
|
|
951
|
-
return listCom.map(
|
|
952
|
-
|
|
889
|
+
return listCom.map((item, index) => {
|
|
890
|
+
const Ele = handMenuEle(item.children);
|
|
953
891
|
return jsx(Ele, Object.assign({
|
|
954
892
|
className: handShrinkClass(item, index),
|
|
955
893
|
onMouseEnter: mouseEnterShrinkFunc(item, index),
|
|
@@ -966,7 +904,7 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
966
904
|
});
|
|
967
905
|
}, [expansion, listCom, idMenuLast, selectMenuCom, openChildIndex]);
|
|
968
906
|
/** 向上翻页 */
|
|
969
|
-
|
|
907
|
+
const PrevScroll = useMemo(() => {
|
|
970
908
|
return jsx(Fragment, {
|
|
971
909
|
children: flipDisable.prev && jsx("div", Object.assign({
|
|
972
910
|
className: "scroll-top"
|
|
@@ -980,7 +918,7 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
980
918
|
});
|
|
981
919
|
}, [flipDisable]);
|
|
982
920
|
/** 向下翻页 */
|
|
983
|
-
|
|
921
|
+
const NextScroll = useMemo(() => {
|
|
984
922
|
return jsx(Fragment, {
|
|
985
923
|
children: flipDisable.next && jsx("div", Object.assign({
|
|
986
924
|
className: "scroll-bottom"
|
|
@@ -994,7 +932,7 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
994
932
|
});
|
|
995
933
|
}, [flipDisable]);
|
|
996
934
|
/** 收缩弹出框菜单 */
|
|
997
|
-
|
|
935
|
+
const MenuItemPopperMemo = useMemo(() => {
|
|
998
936
|
return jsx(Fragment, {
|
|
999
937
|
children: openChild && jsx(MenuItemPopper, {
|
|
1000
938
|
open: openChild,
|
|
@@ -1014,9 +952,7 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1014
952
|
return jsxs(Fragment, {
|
|
1015
953
|
children: [jsxs("div", Object.assign({
|
|
1016
954
|
className: handClass(),
|
|
1017
|
-
onWheel:
|
|
1018
|
-
return handleScroll(e);
|
|
1019
|
-
}
|
|
955
|
+
onWheel: e => handleScroll(e)
|
|
1020
956
|
}, {
|
|
1021
957
|
children: [PrevScroll, jsx("div", Object.assign({
|
|
1022
958
|
className: "vertical-menu-list-box"
|
|
@@ -1032,28 +968,29 @@ var VerticalMenuList = function VerticalMenuList(props) {
|
|
|
1032
968
|
});
|
|
1033
969
|
};
|
|
1034
970
|
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
expansion =
|
|
1038
|
-
expandIcon
|
|
1039
|
-
shrinkIcon
|
|
1040
|
-
customizeContent
|
|
1041
|
-
clickExpansion
|
|
1042
|
-
version
|
|
1043
|
-
render
|
|
1044
|
-
className
|
|
971
|
+
const FooterExpansion = props => {
|
|
972
|
+
const {
|
|
973
|
+
expansion = true,
|
|
974
|
+
expandIcon,
|
|
975
|
+
shrinkIcon,
|
|
976
|
+
customizeContent,
|
|
977
|
+
clickExpansion,
|
|
978
|
+
version,
|
|
979
|
+
render,
|
|
980
|
+
className
|
|
981
|
+
} = props;
|
|
1045
982
|
/** 点击展开/收起按钮 */
|
|
1046
|
-
|
|
983
|
+
const clickExpansionCom = () => {
|
|
1047
984
|
clickExpansion && clickExpansion(!expansion);
|
|
1048
985
|
};
|
|
1049
986
|
/**
|
|
1050
987
|
* 处理内容
|
|
1051
988
|
* @return {ReactNode}
|
|
1052
989
|
*/
|
|
1053
|
-
|
|
990
|
+
const handContent = () => {
|
|
1054
991
|
if (render) return render;
|
|
1055
992
|
if (customizeContent) return customizeContent;
|
|
1056
|
-
|
|
993
|
+
const handIcon = () => {
|
|
1057
994
|
if (expansion) {
|
|
1058
995
|
if (expandIcon) return expandIcon;
|
|
1059
996
|
return jsx("span", Object.assign({
|
|
@@ -1083,8 +1020,8 @@ var FooterExpansion = function FooterExpansion(props) {
|
|
|
1083
1020
|
});
|
|
1084
1021
|
};
|
|
1085
1022
|
// 处理className
|
|
1086
|
-
|
|
1087
|
-
|
|
1023
|
+
const handClass = () => {
|
|
1024
|
+
let str = 'footer-expansion';
|
|
1088
1025
|
if (className) str += " ".concat(className);
|
|
1089
1026
|
if (!expansion) str += ' footer-expansion-shrink';
|
|
1090
1027
|
return str;
|
|
@@ -1096,47 +1033,41 @@ var FooterExpansion = function FooterExpansion(props) {
|
|
|
1096
1033
|
}));
|
|
1097
1034
|
};
|
|
1098
1035
|
|
|
1099
|
-
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-vertical-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v4-vertical-menu > .menu-logo {\n width: 100%;\n display: inline-block;\n padding: 20px 16px 0 16px;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v4-vertical-menu > .menu-logo.menu-logo-shrink {\n padding: 20px 0 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list {\n overflow: hidden;\n height: 100%;\n position: relative;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top > span {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top > span > svg {\n transform: rotate(180deg);\n font-size: 18px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll {\n transition: all 0.3s;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item:last-child {\n margin-bottom: 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n cursor: pointer;\n display: flex;\n border-radius: 4px;\n text-decoration: none;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon {\n width: 20px;\n margin-right: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n font-size: 16px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n font-size: 14px;\n width: 100%;\n white-space: nowrap;\n font-weight: 400;\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-badge {\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n margin-left: 10px;\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 4px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n font-size: 16px;\n transition: all 0.3s;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-open > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n transform: rotate(180deg);\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom > span {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom > span > svg {\n font-size: 18px;\n}\n.paraui-v4-vertical-menu > .footer-expansion {\n display: flex;\n align-items: center;\n width: 100%;\n padding-bottom: 16px;\n white-space: nowrap;\n height: 48px;\n padding-left: 16px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .icon svg {\n font-size: 24px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .version {\n font-size: 14px;\n width: calc(100% - 32px);\n text-align: right;\n padding-right: 20px;\n padding-left: 12px;\n}\n.paraui-v4-vertical-menu > .footer-expansion.footer-expansion-shrink {\n justify-content: center;\n padding-left: 0;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n cursor: pointer;\n margin-bottom: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:last-child {\n margin-bottom: 0;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 1;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n position: relative;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n position: relative;\n font-size: 20px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n position: absolute;\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 1px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list {\n padding: 24px 16px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item {\n margin-bottom: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .li-collapse > div > div > .vertical-menu-list-item:first-child {\n margin-top: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n height: 40px;\n line-height: 40px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list {\n padding: 24px 0px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n width: 40px;\n height: 40px;\n line-height: 40px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n left: 20px;\n top: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list {\n padding: 24px 12px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item {\n margin-bottom: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .li-collapse > div > div > .vertical-menu-list-item:first-child {\n margin-top: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n height: 36px;\n line-height: 36px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list {\n padding: 24px 0px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n width: 36px;\n height: 36px;\n line-height: 36px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n left: 18px;\n top: 1px;\n}\n\n.paraui-v4-vertical-menu-item-popper {\n padding-left: 8px;\n z-index: 1500;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content {\n box-shadow: 0px 2px 8px 0px rgb(234, 236, 241);\n border-radius: 4px;\n padding: 4px 0;\n max-height: 320px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item {\n position: relative;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: 200px;\n padding: 0px 10px;\n display: flex;\n cursor: pointer;\n text-decoration: none;\n height: 30px;\n line-height: 30px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n content: \"\";\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon {\n width: 16px;\n display: none;\n justify-content: center;\n align-items: center;\n margin-right: 12px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n font-size: 20px;\n position: relative;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n font-size: 14px;\n width: 100%;\n font-weight: 400;\n white-space: nowrap;\n overflow: hidden;\n display: flex;\n align-items: center;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content > .menu-item-badge {\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n margin-left: 10px;\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 4px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content > .menu-item-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n font-size: 16px;\n transition: all 0.3s;\n position: relative;\n transform: rotate(270deg);\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v4-vertical-menu-deep {\n background-color: rgb(28, 41, 60);\n}\n.paraui-v4-vertical-menu-deep > .menu-logo {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .menu-logo svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-top > span > svg, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-bottom > span > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-top > span:hover > svg, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-bottom > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon {\n background: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .version {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n\n.paraui-v4-vertical-menu-light {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-vertical-menu-light > .menu-logo {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .menu-logo svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-top > span > svg, .paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-bottom > span > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-top > span:hover > svg, .paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-bottom > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon {\n background: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .version {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content {\n background-color: rgba(29, 33, 38, 0.9);\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: inherit;\n height: inherit;\n line-height: inherit;\n padding: 2px 12px;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n display: none;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content {\n background-color: rgb(28, 41, 60);\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content {\n background-color: rgba(29, 33, 38, 0.9);\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: inherit;\n height: inherit;\n line-height: inherit;\n padding: 2px 12px;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n display: none;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content {\n background-color: rgb(255, 255, 255);\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: rgb(234, 236, 241);\n}";
|
|
1036
|
+
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-vertical-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v4-vertical-menu > .menu-logo {\n width: 100%;\n display: inline-block;\n padding: 20px 16px 0 16px;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v4-vertical-menu > .menu-logo.menu-logo-shrink {\n padding: 20px 0 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list {\n overflow: hidden;\n height: 100%;\n position: relative;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top > span {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-top > span > svg {\n transform: rotate(180deg);\n font-size: 18px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll {\n transition: all 0.3s;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item:last-child {\n margin-bottom: 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n cursor: pointer;\n display: flex;\n border-radius: 4px;\n text-decoration: none;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon {\n width: 20px;\n margin-right: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n font-size: 16px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n font-size: 14px;\n width: 100%;\n white-space: nowrap;\n font-weight: 400;\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-badge {\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n margin-left: 10px;\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 4px;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content > .menu-item-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n font-size: 16px;\n transition: all 0.3s;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-open > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n transform: rotate(180deg);\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom > span {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.paraui-v4-vertical-menu > .vertical-menu-list > .scroll-bottom > span > svg {\n font-size: 18px;\n}\n.paraui-v4-vertical-menu > .footer-expansion {\n display: flex;\n align-items: center;\n width: 100%;\n padding-bottom: 16px;\n white-space: nowrap;\n height: 48px;\n padding-left: 16px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .icon svg {\n font-size: 24px;\n}\n.paraui-v4-vertical-menu > .footer-expansion > .version {\n font-size: 14px;\n width: calc(100% - 32px);\n text-align: right;\n padding-right: 20px;\n padding-left: 12px;\n}\n.paraui-v4-vertical-menu > .footer-expansion.footer-expansion-shrink {\n justify-content: center;\n padding-left: 0;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n cursor: pointer;\n margin-bottom: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:last-child {\n margin-bottom: 0;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 1;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n position: relative;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n position: relative;\n font-size: 20px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n position: absolute;\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 1px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list {\n padding: 24px 16px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item {\n margin-bottom: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .li-collapse > div > div > .vertical-menu-list-item:first-child {\n margin-top: 8px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n height: 40px;\n line-height: 40px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list {\n padding: 24px 0px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n width: 40px;\n height: 40px;\n line-height: 40px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-large.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n left: 20px;\n top: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list {\n padding: 24px 12px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item {\n margin-bottom: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .li-collapse > div > div > .vertical-menu-list-item:first-child {\n margin-top: 4px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n height: 36px;\n line-height: 36px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list {\n padding: 24px 0px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n width: 36px;\n height: 36px;\n line-height: 36px;\n}\n.paraui-v4-vertical-menu.paraui-v4-vertical-menu-small.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > .menu-item-shrink-badge {\n left: 18px;\n top: 1px;\n}\n\n.paraui-v4-vertical-menu-item-popper {\n padding-left: 8px;\n z-index: 1500;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content {\n box-shadow: 1px 1px 10px 2px rgba(212, 218, 227, 0.4);\n border-radius: 4px;\n border: 1px solid rgba(212, 218, 227, 0.4);\n padding: 4px 0;\n max-height: 320px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item {\n position: relative;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: 200px;\n padding: 0px 10px;\n display: flex;\n cursor: pointer;\n text-decoration: none;\n height: 30px;\n line-height: 30px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n content: \"\";\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon {\n width: 16px;\n display: none;\n justify-content: center;\n align-items: center;\n margin-right: 12px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n font-size: 20px;\n position: relative;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n font-size: 14px;\n width: 100%;\n font-weight: 400;\n white-space: nowrap;\n overflow: hidden;\n display: flex;\n align-items: center;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content > .menu-item-badge {\n height: 16px;\n min-width: 16px;\n color: white;\n background: rgb(46, 101, 230);\n border-radius: 8px;\n margin-left: 10px;\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n padding: 0 4px;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content > .menu-item-badge > span {\n height: 16px;\n line-height: 16px;\n transform: scale(0.8);\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n font-size: 16px;\n transition: all 0.3s;\n position: relative;\n transform: rotate(270deg);\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v4-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v4-vertical-menu-deep {\n background-color: rgb(28, 41, 60);\n}\n.paraui-v4-vertical-menu-deep > .menu-logo {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .menu-logo svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-top > span > svg, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-bottom > span > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-top > span:hover > svg, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .scroll-bottom > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v4-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon {\n background: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .icon:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-deep > .footer-expansion > .version {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-deep.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(34, 54, 102);\n}\n\n.paraui-v4-vertical-menu-light {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-vertical-menu-light > .menu-logo {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .menu-logo svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-top > span > svg, .paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-bottom > span > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-top > span:hover > svg, .paraui-v4-vertical-menu-light > .vertical-menu-list > .scroll-bottom > span:hover > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-content {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v4-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon {\n background: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .icon:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light > .footer-expansion > .version {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content {\n background-color: rgb(234, 236, 241);\n color: rgb(46, 101, 230);\n}\n.paraui-v4-vertical-menu-light.paraui-v4-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > .vertical-menu-list-item-shrink-content > svg {\n color: rgb(46, 101, 230);\n}\n\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content {\n background-color: rgba(29, 33, 38, 0.9);\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: inherit;\n height: inherit;\n line-height: inherit;\n padding: 2px 12px;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n display: none;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-deep.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content {\n background-color: rgb(28, 41, 60);\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-item-popper-deep > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: rgb(34, 54, 102);\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content {\n background-color: rgba(29, 33, 38, 0.9);\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: inherit;\n height: inherit;\n line-height: inherit;\n padding: 2px 12px;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: white;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n display: none;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-light.paraui-v4-vertical-menu-item-popper-tooltip > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: transparent;\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content {\n background-color: rgb(255, 255, 255);\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-content {\n color: rgb(29, 33, 38);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: rgb(234, 236, 241);\n}\n.paraui-v4-vertical-menu-item-popper-light > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: rgb(234, 236, 241);\n}";
|
|
1100
1037
|
styleInject(css_248z);
|
|
1101
1038
|
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
color =
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
showExpansion = _props$showExpansion === void 0 ? true : _props$showExpansion;
|
|
1121
|
-
var _useState = useState(true),
|
|
1122
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1123
|
-
expansionCom = _useState2[0],
|
|
1124
|
-
setExpansionCom = _useState2[1];
|
|
1125
|
-
useEffect(function () {
|
|
1039
|
+
const Menu = props => {
|
|
1040
|
+
const {
|
|
1041
|
+
color = 'deep',
|
|
1042
|
+
size = 'large',
|
|
1043
|
+
logoProps,
|
|
1044
|
+
menuListProps,
|
|
1045
|
+
expansion = true,
|
|
1046
|
+
onClickExpansion,
|
|
1047
|
+
selectMenu,
|
|
1048
|
+
onClickMenu,
|
|
1049
|
+
className,
|
|
1050
|
+
style,
|
|
1051
|
+
shrinkOthers = true,
|
|
1052
|
+
footerExpansionProps,
|
|
1053
|
+
showExpansion = true
|
|
1054
|
+
} = props;
|
|
1055
|
+
const [expansionCom, setExpansionCom] = useState(true);
|
|
1056
|
+
useEffect(() => {
|
|
1126
1057
|
if (expansion !== expansionCom) setExpansionCom(expansion);
|
|
1127
1058
|
}, [expansion]);
|
|
1128
1059
|
/**
|
|
1129
1060
|
* 点击展开 / 收起
|
|
1130
1061
|
*/
|
|
1131
|
-
|
|
1062
|
+
const clickExpansion = () => {
|
|
1132
1063
|
onClickExpansion && onClickExpansion(!expansionCom);
|
|
1133
1064
|
};
|
|
1134
1065
|
/**
|
|
1135
1066
|
* 处理class
|
|
1136
1067
|
* @return class名
|
|
1137
1068
|
*/
|
|
1138
|
-
|
|
1139
|
-
|
|
1069
|
+
const handClass = () => {
|
|
1070
|
+
let str = "".concat($prefixCls, "-vertical-menu");
|
|
1140
1071
|
if (className) str += " ".concat(className);
|
|
1141
1072
|
if (size) str += " ".concat($prefixCls, "-vertical-menu-").concat(size);
|
|
1142
1073
|
if (color) str += " ".concat($prefixCls, "-vertical-menu-").concat(color);
|
|
@@ -1144,13 +1075,13 @@ var Menu = function Menu(props) {
|
|
|
1144
1075
|
return str;
|
|
1145
1076
|
};
|
|
1146
1077
|
/** 头像memo */
|
|
1147
|
-
|
|
1078
|
+
const LogoMemo = useMemo(() => {
|
|
1148
1079
|
return props.logoProps && jsx(Logo, Object.assign({}, logoProps, {
|
|
1149
1080
|
expansion: expansionCom
|
|
1150
1081
|
}));
|
|
1151
1082
|
}, [logoProps, expansionCom]);
|
|
1152
1083
|
/** 菜单memo */
|
|
1153
|
-
|
|
1084
|
+
const MenuListMemo = useMemo(() => {
|
|
1154
1085
|
return props.menuListProps && jsx(VerticalMenuList, Object.assign({}, props.menuListProps, {
|
|
1155
1086
|
color: color,
|
|
1156
1087
|
expansion: expansionCom,
|
|
@@ -1161,7 +1092,7 @@ var Menu = function Menu(props) {
|
|
|
1161
1092
|
}));
|
|
1162
1093
|
}, [menuListProps, expansionCom, selectMenu, onClickMenu, color, size]);
|
|
1163
1094
|
/** 底部展开收起 */
|
|
1164
|
-
|
|
1095
|
+
const ExpansionMemo = useMemo(() => {
|
|
1165
1096
|
if (!showExpansion) return null;
|
|
1166
1097
|
return jsx(FooterExpansion, Object.assign({
|
|
1167
1098
|
clickExpansion: clickExpansion
|