@hi-ui/menu 5.0.0-canary.2 → 5.0.0-canary.21
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/CHANGELOG.md +250 -0
- package/lib/cjs/EnterIcon.js +44 -0
- package/lib/cjs/Expander.js +11 -3
- package/lib/cjs/GroupMenu.js +124 -0
- package/lib/cjs/Menu.js +68 -17
- package/lib/cjs/MenuItem.js +56 -26
- package/lib/cjs/MenuSearch.js +365 -0
- package/lib/cjs/SideMenu.js +202 -0
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/util.js +95 -1
- package/lib/esm/EnterIcon.js +32 -0
- package/lib/esm/Expander.js +11 -3
- package/lib/esm/GroupMenu.js +111 -0
- package/lib/esm/Menu.js +69 -18
- package/lib/esm/MenuItem.js +56 -26
- package/lib/esm/MenuSearch.js +347 -0
- package/lib/esm/SideMenu.js +187 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/util.js +95 -2
- package/lib/types/EnterIcon.d.ts +1 -0
- package/lib/types/GroupMenu.d.ts +34 -0
- package/lib/types/Menu.d.ts +11 -2
- package/lib/types/MenuItem.d.ts +1 -1
- package/lib/types/MenuSearch.d.ts +44 -0
- package/lib/types/SideMenu.d.ts +63 -0
- package/lib/types/context.d.ts +8 -2
- package/lib/types/index.d.ts +3 -0
- package/lib/types/util.d.ts +16 -0
- package/package.json +29 -20
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/menu
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/menu#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
Object.defineProperty(exports, '__esModule', {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
var tslib = require('tslib');
|
|
17
|
+
var React = require('react');
|
|
18
|
+
var classname = require('@hi-ui/classname');
|
|
19
|
+
var env = require('@hi-ui/env');
|
|
20
|
+
var core = require('@hi-ui/core');
|
|
21
|
+
var useMergeSemantic = require('@hi-ui/use-merge-semantic');
|
|
22
|
+
var Tooltip = require('@hi-ui/tooltip');
|
|
23
|
+
var useLatest = require('@hi-ui/use-latest');
|
|
24
|
+
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
|
25
|
+
var Scrollbar = require('@hi-ui/scrollbar');
|
|
26
|
+
var util = require('./util.js');
|
|
27
|
+
function _interopDefaultCompat(e) {
|
|
28
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
29
|
+
'default': e
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
33
|
+
var Tooltip__default = /*#__PURE__*/_interopDefaultCompat(Tooltip);
|
|
34
|
+
var Scrollbar__default = /*#__PURE__*/_interopDefaultCompat(Scrollbar);
|
|
35
|
+
var SIDE_MENU_PREFIX = classname.getPrefixCls('side-menu');
|
|
36
|
+
/**
|
|
37
|
+
* 侧边菜单组件
|
|
38
|
+
*/
|
|
39
|
+
var SideMenu = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
40
|
+
var _cx;
|
|
41
|
+
var _a$prefixCls = _a.prefixCls,
|
|
42
|
+
prefixCls = _a$prefixCls === void 0 ? SIDE_MENU_PREFIX : _a$prefixCls,
|
|
43
|
+
_a$role = _a.role,
|
|
44
|
+
role = _a$role === void 0 ? 'side-menu' : _a$role,
|
|
45
|
+
className = _a.className,
|
|
46
|
+
style = _a.style,
|
|
47
|
+
classNamesProp = _a.classNames,
|
|
48
|
+
stylesProp = _a.styles,
|
|
49
|
+
_a$defaultActiveId = _a.defaultActiveId,
|
|
50
|
+
defaultActiveId = _a$defaultActiveId === void 0 ? null : _a$defaultActiveId,
|
|
51
|
+
activeIdProp = _a.activeId,
|
|
52
|
+
selectedIdProp = _a.selectedId,
|
|
53
|
+
_a$data = _a.data,
|
|
54
|
+
data = _a$data === void 0 ? [] : _a$data,
|
|
55
|
+
mini = _a.mini,
|
|
56
|
+
onClick = _a.onClick,
|
|
57
|
+
onMouseEnter = _a.onMouseEnter,
|
|
58
|
+
onMouseLeave = _a.onMouseLeave,
|
|
59
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "style", "classNames", "styles", "defaultActiveId", "activeId", "selectedId", "data", "mini", "childrenContainerRef", "onClick", "onMouseEnter", "onMouseLeave"]);
|
|
60
|
+
var _useGlobalContext = core.useGlobalContext(),
|
|
61
|
+
sideMenuConfig = _useGlobalContext.sideMenu;
|
|
62
|
+
var _useMergeSemantic = useMergeSemantic.useMergeSemantic({
|
|
63
|
+
classNamesList: [sideMenuConfig === null || sideMenuConfig === void 0 ? void 0 : sideMenuConfig.classNames, classNamesProp],
|
|
64
|
+
stylesList: [sideMenuConfig === null || sideMenuConfig === void 0 ? void 0 : sideMenuConfig.styles, stylesProp],
|
|
65
|
+
info: {
|
|
66
|
+
props: Object.assign(Object.assign({}, rest), {
|
|
67
|
+
data: data,
|
|
68
|
+
mini: mini,
|
|
69
|
+
defaultActiveId: defaultActiveId,
|
|
70
|
+
activeId: activeIdProp,
|
|
71
|
+
selectedId: selectedIdProp
|
|
72
|
+
})
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
classNames = _useMergeSemantic.classNames,
|
|
76
|
+
styles = _useMergeSemantic.styles;
|
|
77
|
+
var cls = classname.cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.root, (_cx = {}, _cx[prefixCls + "--mini"] = mini, _cx));
|
|
78
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultActiveId, activeIdProp),
|
|
79
|
+
activeId = _useUncontrolledState[0],
|
|
80
|
+
tryChangeActiveId = _useUncontrolledState[1];
|
|
81
|
+
var handleClick = useLatest.useLatestCallback(function (event, id, item) {
|
|
82
|
+
tryChangeActiveId(id);
|
|
83
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event, id, item);
|
|
84
|
+
});
|
|
85
|
+
var handleMouseEnter = useLatest.useLatestCallback(function (event, id, item) {
|
|
86
|
+
event.stopPropagation();
|
|
87
|
+
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter(event, id, item);
|
|
88
|
+
});
|
|
89
|
+
var handleMouseLeave = useLatest.useLatestCallback(function (event, id, item) {
|
|
90
|
+
event.stopPropagation();
|
|
91
|
+
onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(event, id, item);
|
|
92
|
+
});
|
|
93
|
+
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
94
|
+
ref: ref,
|
|
95
|
+
role: role,
|
|
96
|
+
className: cls,
|
|
97
|
+
style: Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.root)
|
|
98
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement(Scrollbar__default["default"], {
|
|
99
|
+
onlyScrollVisible: true,
|
|
100
|
+
axes: "y",
|
|
101
|
+
className: classNames === null || classNames === void 0 ? void 0 : classNames.wrapper,
|
|
102
|
+
style: styles === null || styles === void 0 ? void 0 : styles.wrapper
|
|
103
|
+
}, data.map(function (item) {
|
|
104
|
+
var _cx2;
|
|
105
|
+
var id = item.id,
|
|
106
|
+
title = item.title,
|
|
107
|
+
icon = item.icon;
|
|
108
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
109
|
+
key: id,
|
|
110
|
+
className: classname.cx(prefixCls + "-item-wrapper", classNames === null || classNames === void 0 ? void 0 : classNames.itemWrapper),
|
|
111
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemWrapper,
|
|
112
|
+
onClick: function onClick(evt) {
|
|
113
|
+
return handleClick(evt, id, item);
|
|
114
|
+
},
|
|
115
|
+
onMouseEnter: function onMouseEnter(evt) {
|
|
116
|
+
var currentTarget = evt.currentTarget;
|
|
117
|
+
var titleElement = currentTarget.querySelector("." + prefixCls + "-item__title");
|
|
118
|
+
if (!titleElement) {
|
|
119
|
+
handleMouseEnter(evt, id, item);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
var scrollWidth = titleElement.scrollWidth,
|
|
123
|
+
clientWidth = titleElement.clientWidth,
|
|
124
|
+
scrollHeight = titleElement.scrollHeight,
|
|
125
|
+
clientHeight = titleElement.clientHeight;
|
|
126
|
+
// 单行溢出:scrollWidth > clientWidth;多行(如 mini 2 行)溢出:scrollHeight > clientHeight
|
|
127
|
+
var isOverflow = scrollWidth > clientWidth || scrollHeight > clientHeight;
|
|
128
|
+
if (isOverflow) {
|
|
129
|
+
Tooltip__default["default"].open(currentTarget, {
|
|
130
|
+
key: "side-menu-tooltip-" + id,
|
|
131
|
+
title: title,
|
|
132
|
+
placement: 'right',
|
|
133
|
+
zIndex: 2001
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
handleMouseEnter(evt, id, item);
|
|
137
|
+
},
|
|
138
|
+
onMouseLeave: function onMouseLeave(evt) {
|
|
139
|
+
Tooltip__default["default"].close("side-menu-tooltip-" + id);
|
|
140
|
+
handleMouseLeave(evt, id, item);
|
|
141
|
+
}
|
|
142
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
143
|
+
className: classname.cx(prefixCls + "-item", (_cx2 = {}, _cx2[prefixCls + "-item--active"] = activeId === id, _cx2[prefixCls + "-item--mini"] = mini, _cx2[prefixCls + "-item--selected"] = selectedIdProp === id, _cx2), classNames === null || classNames === void 0 ? void 0 : classNames.item),
|
|
144
|
+
style: styles === null || styles === void 0 ? void 0 : styles.item
|
|
145
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
146
|
+
className: classname.cx(prefixCls + "-item__icon", classNames === null || classNames === void 0 ? void 0 : classNames.itemIcon),
|
|
147
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemIcon
|
|
148
|
+
}, icon), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
149
|
+
className: classname.cx(prefixCls + "-item__title", classNames === null || classNames === void 0 ? void 0 : classNames.itemTitle),
|
|
150
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemTitle,
|
|
151
|
+
ref: function ref(el) {
|
|
152
|
+
if (el) {
|
|
153
|
+
if (mini) {
|
|
154
|
+
if (el.clientHeight > 28) {
|
|
155
|
+
el.style.marginBlockEnd = '-28px';
|
|
156
|
+
} else {
|
|
157
|
+
el.style.marginBlockEnd = '';
|
|
158
|
+
}
|
|
159
|
+
} else {
|
|
160
|
+
el.style.marginBlockEnd = '';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}, title)));
|
|
165
|
+
})));
|
|
166
|
+
});
|
|
167
|
+
if (env.__DEV__) {
|
|
168
|
+
SideMenu.displayName = 'SideMenu';
|
|
169
|
+
}
|
|
170
|
+
var useSideMenuCascade = function useSideMenuCascade(_ref) {
|
|
171
|
+
var data = _ref.data,
|
|
172
|
+
selectId = _ref.selectId,
|
|
173
|
+
activeId = _ref.activeId;
|
|
174
|
+
var activeParents = React__default["default"].useMemo(function () {
|
|
175
|
+
return util.getAncestorIds(activeId, data);
|
|
176
|
+
}, [activeId, data]);
|
|
177
|
+
var selectParents = React__default["default"].useMemo(function () {
|
|
178
|
+
return util.getAncestorIds(selectId, data);
|
|
179
|
+
}, [selectId, data]);
|
|
180
|
+
var selectParentId = React__default["default"].useMemo(function () {
|
|
181
|
+
var _a;
|
|
182
|
+
return (_a = selectParents[selectParents.length - 1]) !== null && _a !== void 0 ? _a : selectId;
|
|
183
|
+
}, [selectId, selectParents]);
|
|
184
|
+
var activeParentId = React__default["default"].useMemo(function () {
|
|
185
|
+
var _a;
|
|
186
|
+
return (_a = activeParents[activeParents.length - 1]) !== null && _a !== void 0 ? _a : activeId;
|
|
187
|
+
}, [activeId, activeParents]);
|
|
188
|
+
var submenuData = React__default["default"].useMemo(function () {
|
|
189
|
+
var _a;
|
|
190
|
+
var parentId = selectParentId || activeParentId;
|
|
191
|
+
return ((_a = data.find(function (item) {
|
|
192
|
+
return item.id === parentId;
|
|
193
|
+
})) === null || _a === void 0 ? void 0 : _a.children) || [];
|
|
194
|
+
}, [selectParentId, activeParentId, data]);
|
|
195
|
+
return {
|
|
196
|
+
submenuData: submenuData,
|
|
197
|
+
selectParentId: selectParentId,
|
|
198
|
+
activeParentId: activeParentId
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
exports.SideMenu = SideMenu;
|
|
202
|
+
exports.useSideMenuCascade = useSideMenuCascade;
|
package/lib/cjs/index.js
CHANGED
|
@@ -15,10 +15,18 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
15
15
|
require('./styles/index.scss.js');
|
|
16
16
|
var Menu = require('./Menu.js');
|
|
17
17
|
var Sidebar = require('./Sidebar.js');
|
|
18
|
+
var MenuSearch = require('./MenuSearch.js');
|
|
19
|
+
var GroupMenu = require('./GroupMenu.js');
|
|
20
|
+
var SideMenu = require('./SideMenu.js');
|
|
18
21
|
var util = require('./util.js');
|
|
19
22
|
exports.Menu = Menu.Menu;
|
|
20
23
|
exports["default"] = Menu.Menu;
|
|
21
24
|
exports.Sidebar = Sidebar.Sidebar;
|
|
25
|
+
exports.MenuSearch = MenuSearch.MenuSearch;
|
|
26
|
+
exports.MenuSearchInput = MenuSearch.MenuSearchInput;
|
|
27
|
+
exports.GroupMenu = GroupMenu.GroupMenu;
|
|
28
|
+
exports.SideMenu = SideMenu.SideMenu;
|
|
29
|
+
exports.useSideMenuCascade = SideMenu.useSideMenuCascade;
|
|
22
30
|
exports.filterTreeData = util.filterTreeData;
|
|
23
31
|
exports.getAncestorIds = util.getAncestorIds;
|
|
24
32
|
exports.getParentId = util.getParentId;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
Object.defineProperty(exports, '__esModule', {
|
|
13
13
|
value: true
|
|
14
14
|
});
|
|
15
|
-
var css_248z = ".hi-v5-menu-fat-menu {background-color: var(--hi-v5-color-static-white, #fff);margin: 0;font-size: var(--hi-v5-text-size-md, 0.875rem);padding: var(--hi-v5-spacing-4, 8px);display: -webkit-box;display: -ms-flexbox;display: flex;color: var(--hi-v5-color-gray-700, #1a1d26);border-radius: var(--hi-v5-border-radius-lg, 6px);-ms-flex-wrap: wrap;flex-wrap: wrap;}.hi-v5-menu-fat-menu__group:not(:last-of-type) {margin-right: var(--hi-v5-spacing-18, 36px);}.hi-v5-menu-fat-menu .hi-v5-menu-group-item {height: 40px;margin: 0;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-6, 12px);color: var(--hi-v5-color-gray-500, #91959e);}.hi-v5-menu-fat-menu .hi-v5-menu-item {height: 40px;margin: 0;border-radius: var(--hi-v5-border-radius-lg, 6px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);}.hi-v5-menu-fat-menu .hi-v5-menu-item--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu-fat-menu .hi-v5-menu-item:not(.hi-v5-menu-item--active):hover {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu-fat-menu .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-400, #abadb2);cursor: not-allowed;}.hi-v5-menu-fat-menu ul {padding: 0;margin: 0;}.hi-v5-menu-fat-menu ul li {list-style-type: none;}.hi-v5-menu-popmenu {background-color: var(--hi-v5-color-static-white, #fff);border-radius: var(--hi-v5-border-radius-lg, 6px);margin: 0;font-size: var(--hi-v5-text-size-md, 0.875rem);padding: var(--hi-v5-spacing-4, 8px);color: var(--hi-v5-color-gray-700, #1a1d26);width: 216px;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu-popmenu .hi-v5-menu-item {height: 40px;margin: 0;}.hi-v5-menu-popmenu .hi-v5-menu-item__inner {-webkit-box-sizing: border-box;box-sizing: border-box;height: 40px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);border-radius: var(--hi-v5-border-radius-lg, 6px);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--expanded {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner:not(.hi-v5-menu-item__inner--active):hover {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--disabled {color: var(--hi-v5-color-gray-400, #abadb2);cursor: not-allowed;}.hi-v5-menu-popmenu .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%;padding-right: var(--hi-v5-spacing-4, 8px);}.hi-v5-menu {background-color: var(--hi-v5-color-static-white, #fff);color: var(--hi-v5-color-gray-700, #1a1d26);font-size: var(--hi-v5-text-size-md, 0.875rem);line-height: var(--hi-v5-text-lineheight-md, 1.375rem);-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu ul {margin: 0;padding: 0;}.hi-v5-menu-item {list-style: none;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: pointer;-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v5-menu-item__icon {color: var(--hi-v5-color-gray-500, #91959e);-webkit-margin-end: var(--hi-v5-spacing-4, 8px);margin-inline-end: var(--hi-v5-spacing-4, 8px);}.hi-v5-menu-item__icon svg[class^=hi-v5-icon] {font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-menu-item__arrow {color: var(--hi-v5-color-gray-500, #91959e);font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-menu-item__indent {display: inline-block;width: 24px;height: 100%;-ms-flex-negative: 0;flex-shrink: 0;}.hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-400, #abadb2);cursor: not-allowed;}.hi-v5-menu__wrapper {padding: 0;margin: 0;}.hi-v5-menu--horizontal {width: 100%;overflow: hidden;}.hi-v5-menu--horizontal .hi-v5-menu__wrapper {display: -webkit-box;display: -ms-flexbox;display: flex;overflow: visible;width: -webkit-max-content;width: -moz-max-content;width: max-content;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu--horizontal .hi-v5-menu-item {padding: 0 var(--hi-v5-spacing-10, 20px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;height: 56px;border: none;font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-menu--horizontal .hi-v5-menu-item__arrow {-webkit-margin-start: var(--hi-v5-spacing-2, 4px);margin-inline-start: var(--hi-v5-spacing-2, 4px);}.hi-v5-menu--horizontal .hi-v5-menu-item:hover {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item:hover .hi-v5-menu-item__inner {border-bottom: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active .hi-v5-menu-item__inner {border-bottom: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item__inner {height: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-sizing: border-box;box-sizing: border-box;border-bottom: 2px solid transparent;}.hi-v5-menu--horizontal .hi-v5-menu-item__inner--expanded {border-bottom: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;white-space: nowrap;max-width: none;}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-400, #abadb2);cursor: not-allowed;}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled:hover .hi-v5-menu-item__inner {border-color: var(--hi-v5-color-static-white, #fff);}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled .hi-v5-menu-item__content {color: var(--hi-v5-color-gray-400, #abadb2);}.hi-v5-menu--vertical {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;padding: var(--hi-v5-spacing-4, 8px);width: 216px;-webkit-box-sizing: border-box;box-sizing: border-box;height: 100%;-webkit-transition: width 0.3s;transition: width 0.3s;}.hi-v5-menu--vertical .hi-v5-menu__wrapper {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: auto;}.hi-v5-menu--vertical.hi-v5-menu--mini {width: 56px;overflow-x: hidden;}.hi-v5-menu--vertical.hi-v5-menu--popup .hi-v5-menu-item__inner--expanded {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu--vertical.hi-v5-menu--popup:not(.hi-v5-menu--mini) .hi-v5-menu__wrapper > .hi-v5-menu-item:last-child .hi-v5-menu-item__inner {margin-bottom: 0;}.hi-v5-menu--vertical .hi-v5-menu__toggle {width: var(--hi-v5-height-10, 40px);height: var(--hi-v5-height-10, 40px);cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;border-radius: var(--hi-v5-border-radius-lg, 6px);color: var(--hi-v5-color-gray-500, #91959e);-ms-flex-negative: 0;flex-shrink: 0;-webkit-transition-duration: var(--hi-v5-motion-duration-normal, 200ms);transition-duration: var(--hi-v5-motion-duration-normal, 200ms);-webkit-transition-timing-function: var(--hi-v5-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));transition-timing-function: var(--hi-v5-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));-webkit-transition-property: background-color;transition-property: background-color;}.hi-v5-menu--vertical .hi-v5-menu__toggle:hover {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu--vertical .hi-v5-menu-item__inner {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);border-radius: var(--hi-v5-border-radius-lg, 6px);-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner:not(.hi-v5-menu-item__inner--active):hover {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-menu--vertical .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;text-indent: 0.5px;}.hi-v5-menu--vertical .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-400, #abadb2);cursor: not-allowed;}.hi-v5-menu--vertical.hi-v5-menu--size-lg .hi-v5-menu-item__inner {height: var(--hi-v5-height-10, 40px);margin-bottom: var(--hi-v5-spacing-4, 8px);}.hi-v5-menu--vertical.hi-v5-menu--size-md .hi-v5-menu-item__inner {height: var(--hi-v5-height-9, 36px);margin-bottom: var(--hi-v5-spacing-2, 4px);}.hi-v5-menu--vertical.hi-v5-menu--size-sm .hi-v5-menu-item__inner {height: var(--hi-v5-height-8, 32px);margin-bottom: var(--hi-v5-spacing-1, 2px);}.hi-v5-sidebar-wrapper {position: relative;display: -webkit-box;display: -ms-flexbox;display: flex;width: -webkit-fit-content;width: -moz-fit-content;width: fit-content;height: 100%;}.hi-v5-sidebar-wrapper:not(.hi-v5-sidebar-wrapper-showMenuArrow) .hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__arrow {display: none;}.hi-v5-sidebar-wrapper--showMenu .hi-v5-sidebar-menu-wrapper {border-right: 1px solid var(--hi-v5-color-gray-300, #dbdde0);}.hi-v5-sidebar-wrapper--showMenu .hi-v5-sidebar-toggle svg[class^=hi-v5-icon] {-webkit-transform: rotate(180deg);transform: rotate(180deg);}.hi-v5-sidebar-wrapper:not(.hi-v5-sidebar-wrapper--collapsible) .hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--expanded:hover {background-color: transparent;cursor: default;}.hi-v5-sidebar {-webkit-box-sizing: border-box;box-sizing: border-box;width: 64px;height: 100%;padding: var(--hi-v5-spacing-4, 8px) 0;overflow: auto;border-right: 1px solid var(--hi-v5-color-gray-300, #dbdde0);background-color: #fff;}.hi-v5-sidebar-list {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;}.hi-v5-sidebar-item {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;list-style: none;margin: var(--hi-v5-spacing-6, 12px) var(--hi-v5-spacing-2, 4px) 0;padding: var(--hi-v5-spacing-3, 6px) var(--hi-v5-spacing-1, 2px);width: 52px;overflow: hidden;text-align: center;border-radius: var(--hi-v5-border-radius-lg, 6px);}.hi-v5-sidebar-item:first-child {margin-top: 0;}.hi-v5-sidebar-item:hover {cursor: pointer;}.hi-v5-sidebar-item:not(.hi-v5-sidebar-item--active):hover {background-color: var(--hi-v5-color-gray-100, #edeff2);}.hi-v5-sidebar-item--active {background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-sidebar-item--active .hi-v5-sidebar-item__icon, .hi-v5-sidebar-item--active .hi-v5-sidebar-item__title {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-sidebar-item__icon {height: 20px;color: var(--hi-v5-color-gray-600, #60636b);}.hi-v5-sidebar-item__icon svg[class^=hi-v5-icon] {width: 20px;height: 20px;}.hi-v5-sidebar-item__title {font-size: var(--hi-v5-text-size-sm, 0.75rem);line-height: 20px;color: var(--hi-v5-color-gray-500, #91959e);}.hi-v5-sidebar-menu-wrapper {width: 0;border-right: none;overflow: hidden;-webkit-transition: width 0.3s;transition: width 0.3s;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item .hi-v5-menu-item__inner {height: var(--hi-v5-height-8, 32px);margin-bottom: 0;padding: 0 var(--hi-v5-spacing-4, 8px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item .hi-v5-menu-item__inner--hasIcon + div .hi-v5-menu-submenu .hi-v5-menu-item__indent {width: 20px;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__icon {color: var(--hi-v5-color-gray-600, #60636b);-webkit-margin-end: var(--hi-v5-spacing-2, 4px);margin-inline-end: var(--hi-v5-spacing-2, 4px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__indent {width: 14px;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__content {font-weight: 550;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-gray-700, #1a1d26);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-gray-600, #60636b);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-submenu .hi-v5-menu-item__inner .hi-v5-menu-item__content {font-size: var(--hi-v5-text-size-sm, 0.75rem);font-weight: var(--hi-v5-text-weight-normal, 400);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu__wrapper > .hi-v5-menu-item {margin-top: var(--hi-v5-spacing-4, 8px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu__wrapper > .hi-v5-menu-item:first-child {margin-top: 0;}.hi-v5-sidebar-toggle {-webkit-box-sizing: border-box;box-sizing: border-box;position: absolute;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;width: 12px;height: 60px;right: -11px;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);border-start-end-radius: 16px 8px;border-end-end-radius: 16px 8px;border: 1px solid var(--hi-v5-color-gray-300, #dbdde0);border-left: none;cursor: pointer;color: var(--hi-v5-color-gray-600, #60636b);background-color: #fff;}.hi-v5-sidebar-toggle svg[class^=hi-v5-icon] {margin-left: -4px;}";
|
|
15
|
+
var css_248z = ".hi-v5-menu-fat-menu {background-color: var(--hi-v5-color-static-white, #fff);margin: 0;font-size: var(--hi-v5-text-size-md, 0.875rem);padding: var(--hi-v5-spacing-4, 8px);display: -webkit-box;display: -ms-flexbox;display: flex;color: var(--hi-v5-color-gray-800, #1a1d26);border-radius: var(--hi-v5-border-radius-lg, 6px);-ms-flex-wrap: wrap;flex-wrap: wrap;}.hi-v5-menu-fat-menu__group:not(:last-of-type) {-webkit-margin-end: var(--hi-v5-spacing-18, 36px);margin-inline-end: var(--hi-v5-spacing-18, 36px);}.hi-v5-menu-fat-menu .hi-v5-menu-group-item {height: var(--hi-v5-height-10, 40px);margin: 0;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-6, 12px);color: var(--hi-v5-color-gray-600, #91959e);}.hi-v5-menu-fat-menu .hi-v5-menu-item {height: var(--hi-v5-height-10, 40px);margin: 0;border-radius: var(--hi-v5-border-radius-lg, 6px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);}.hi-v5-menu-fat-menu .hi-v5-menu-item--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu-fat-menu .hi-v5-menu-item:not(.hi-v5-menu-item--active):hover {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu-fat-menu .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-500, #babcc2);cursor: not-allowed;}.hi-v5-menu-fat-menu ul {padding: 0;margin: 0;}.hi-v5-menu-fat-menu ul li {list-style-type: none;}.hi-v5-menu-popmenu {background-color: var(--hi-v5-color-static-white, #fff);border-radius: var(--hi-v5-border-radius-xl, 8px);margin: 0;font-size: var(--hi-v5-text-size-md, 0.875rem);padding: var(--hi-v5-spacing-4, 8px);color: var(--hi-v5-color-gray-800, #1a1d26);width: 216px;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu-popmenu .hi-v5-menu-item {margin: 0;}.hi-v5-menu-popmenu .hi-v5-menu-item__inner {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);border-radius: var(--hi-v5-border-radius-lg, 6px);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--expanded {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner:not(.hi-v5-menu-item__inner--active):hover {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu-popmenu .hi-v5-menu-item__inner--disabled {color: var(--hi-v5-color-gray-500, #babcc2);cursor: not-allowed;}.hi-v5-menu-popmenu .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%;-webkit-padding-end: var(--hi-v5-spacing-4, 8px);padding-inline-end: var(--hi-v5-spacing-4, 8px);}.hi-v5-menu-popmenu.hi-v5-menu--size-sm .hi-v5-menu-item__inner {height: var(--hi-v5-height-8, 32px);}.hi-v5-menu-popmenu.hi-v5-menu--size-md .hi-v5-menu-item__inner {height: var(--hi-v5-height-9, 36px);}.hi-v5-menu-popmenu.hi-v5-menu--size-lg .hi-v5-menu-item__inner {height: var(--hi-v5-height-10, 40px);}.hi-v5-menu {background-color: var(--hi-v5-color-static-white, #fff);color: var(--hi-v5-color-gray-800, #1a1d26);font-size: var(--hi-v5-text-size-md, 0.875rem);line-height: var(--hi-v5-text-lineheight-md, 1.375rem);-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu ul {margin: 0;padding: 0;}.hi-v5-menu-item {list-style: none;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: pointer;-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v5-menu-item__icon {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-margin-end: var(--hi-v5-spacing-4, 8px);margin-inline-end: var(--hi-v5-spacing-4, 8px);font-size: var(--hi-v5-text-size-lg, 1rem);color: var(--hi-v5-color-gray-600, #91959e);}.hi-v5-menu-item__arrow {font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-menu-item__indent {display: inline-block;width: 24px;height: 100%;-ms-flex-negative: 0;flex-shrink: 0;}.hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-500, #babcc2);cursor: not-allowed;}.hi-v5-menu__wrapper {padding: 0;margin: 0;}.hi-v5-menu--horizontal {width: 100%;overflow: hidden;}.hi-v5-menu--horizontal .hi-v5-menu__wrapper {display: -webkit-box;display: -ms-flexbox;display: flex;overflow: visible;width: -webkit-max-content;width: -moz-max-content;width: max-content;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-menu--horizontal .hi-v5-menu-item {padding: 0 var(--hi-v5-spacing-10, 20px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;height: 56px;border: none;font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-menu--horizontal .hi-v5-menu-item__arrow {-webkit-margin-start: var(--hi-v5-spacing-2, 4px);margin-inline-start: var(--hi-v5-spacing-2, 4px);}.hi-v5-menu--horizontal .hi-v5-menu-item:hover {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item:hover .hi-v5-menu-item__inner {-webkit-border-after: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));border-block-end: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active .hi-v5-menu-item__inner {-webkit-border-after: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));border-block-end: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item__inner {height: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-sizing: border-box;box-sizing: border-box;-webkit-border-after: 2px solid transparent;border-block-end: 2px solid transparent;}.hi-v5-menu--horizontal .hi-v5-menu-item__inner--expanded {-webkit-border-after: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));border-block-end: 2px solid var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--horizontal .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;white-space: nowrap;max-width: none;}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-500, #babcc2);cursor: not-allowed;}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled:hover .hi-v5-menu-item__inner {border-color: var(--hi-v5-color-static-white, #fff);}.hi-v5-menu--horizontal .hi-v5-menu-item--disabled .hi-v5-menu-item__content {color: var(--hi-v5-color-gray-500, #babcc2);}.hi-v5-menu--vertical {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;padding: var(--hi-v5-spacing-4, 8px);width: 216px;-webkit-box-sizing: border-box;box-sizing: border-box;height: 100%;-webkit-transition: width 0.3s;transition: width 0.3s;}.hi-v5-menu--vertical .hi-v5-menu__wrapper {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: auto;}.hi-v5-menu--vertical.hi-v5-menu--mini {width: 56px;overflow-x: hidden;}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini {-webkit-padding-start: var(--hi-v5-spacing-2, 4px);padding-inline-start: var(--hi-v5-spacing-2, 4px);-webkit-padding-end: var(--hi-v5-spacing-2, 4px);padding-inline-end: var(--hi-v5-spacing-2, 4px);}.hi-v5-menu--vertical.hi-v5-menu--popup .hi-v5-menu-item__inner--expanded {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu--vertical.hi-v5-menu--popup:not(.hi-v5-menu--mini) .hi-v5-menu__wrapper > .hi-v5-menu-item:last-child .hi-v5-menu-item__inner {-webkit-margin-after: 0;margin-block-end: 0;}.hi-v5-menu--vertical .hi-v5-menu__toggle {height: var(--hi-v5-height-10, 40px);line-height: var(--hi-v5-height-10, 40px);padding: 0 var(--hi-v5-spacing-6, 12px);cursor: pointer;border-radius: var(--hi-v5-border-radius-lg, 6px);color: var(--hi-v5-color-gray-600, #91959e);font-size: var(--hi-v5-text-size-lg, 1rem);-ms-flex-negative: 0;flex-shrink: 0;-webkit-transition-duration: var(--hi-v5-motion-duration-normal, 200ms);transition-duration: var(--hi-v5-motion-duration-normal, 200ms);-webkit-transition-timing-function: var(--hi-v5-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));transition-timing-function: var(--hi-v5-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));-webkit-transition-property: background-color;transition-property: background-color;}.hi-v5-menu--vertical .hi-v5-menu__toggle:hover {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu--vertical .hi-v5-menu-item__inner {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);border-radius: var(--hi-v5-border-radius-lg, 6px);-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu--vertical .hi-v5-menu-item__inner:not(.hi-v5-menu-item__inner--active):hover {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu--vertical .hi-v5-menu-item__content {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;text-indent: 0.5px;}.hi-v5-menu--vertical .hi-v5-menu-item--disabled {color: var(--hi-v5-color-gray-500, #babcc2);cursor: not-allowed;}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini {width: 60px;}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini .hi-v5-menu-item__inner {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-sizing: border-box;box-sizing: border-box;width: 52px;height: 48px;padding: var(--hi-v5-spacing-3, 6px) var(--hi-v5-spacing-3, 6px) 0;}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini .hi-v5-menu-item__inner .hi-v5-menu-item__icon {-webkit-margin-end: 0;margin-inline-end: 0;-webkit-margin-after: var(--hi-v5-spacing-1, 2px);margin-block-end: var(--hi-v5-spacing-1, 2px);display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini .hi-v5-menu-item__inner .hi-v5-menu-item__icon svg[class^=hi-v5-icon] {font-size: var(--hi-v5-text-size-xl, 1.125rem);}.hi-v5-menu--vertical.hi-v5-menu--mini.hi-v5-menu--show-title-on-mini .hi-v5-menu-item__inner .hi-v5-menu-item__content {-webkit-transform: scale(0.5);transform: scale(0.5);width: 200%;font-size: calc(var(--hi-v5-text-size-xl, 1.125rem) + 2px);text-align: center;text-indent: 0;}.hi-v5-menu--vertical.hi-v5-menu--size-lg .hi-v5-menu-item__inner {height: var(--hi-v5-height-10, 40px);-webkit-margin-after: var(--hi-v5-spacing-4, 8px);margin-block-end: var(--hi-v5-spacing-4, 8px);}.hi-v5-menu--vertical.hi-v5-menu--size-md .hi-v5-menu-item__inner {height: var(--hi-v5-height-9, 36px);-webkit-margin-after: var(--hi-v5-spacing-2, 4px);margin-block-end: var(--hi-v5-spacing-2, 4px);}.hi-v5-menu--vertical.hi-v5-menu--size-sm .hi-v5-menu-item__inner {height: var(--hi-v5-height-8, 32px);-webkit-margin-after: var(--hi-v5-spacing-1, 2px);margin-block-end: var(--hi-v5-spacing-1, 2px);}.hi-v5-sidebar-wrapper {position: relative;display: -webkit-box;display: -ms-flexbox;display: flex;width: -webkit-fit-content;width: -moz-fit-content;width: fit-content;height: 100%;}.hi-v5-sidebar-wrapper:not(.hi-v5-sidebar-wrapper-showMenuArrow) .hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__arrow {display: none;}.hi-v5-sidebar-wrapper--showMenu .hi-v5-sidebar-menu-wrapper {-webkit-border-end: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);border-inline-end: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);}.hi-v5-sidebar-wrapper--showMenu .hi-v5-sidebar-toggle svg[class^=hi-v5-icon] {-webkit-transform: rotate(180deg);transform: rotate(180deg);}.hi-v5-sidebar-wrapper:not(.hi-v5-sidebar-wrapper--collapsible) .hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--expanded:hover {background-color: transparent;cursor: default;}.hi-v5-sidebar {-webkit-box-sizing: border-box;box-sizing: border-box;width: 64px;height: 100%;padding: var(--hi-v5-spacing-4, 8px) 0;overflow: auto;-webkit-border-end: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);border-inline-end: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);background-color: #fff;}.hi-v5-sidebar-list {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;}.hi-v5-sidebar-item {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;list-style: none;margin: var(--hi-v5-spacing-6, 12px) var(--hi-v5-spacing-2, 4px) 0;padding: var(--hi-v5-spacing-3, 6px) var(--hi-v5-spacing-1, 2px);width: 52px;overflow: hidden;text-align: center;border-radius: var(--hi-v5-border-radius-lg, 6px);}.hi-v5-sidebar-item:first-child {-webkit-margin-before: 0;margin-block-start: 0;}.hi-v5-sidebar-item:hover {cursor: pointer;}.hi-v5-sidebar-item:not(.hi-v5-sidebar-item--active):hover {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-sidebar-item--active {background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-sidebar-item--active .hi-v5-sidebar-item__icon, .hi-v5-sidebar-item--active .hi-v5-sidebar-item__title {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-sidebar-item__icon {height: 20px;color: var(--hi-v5-color-gray-700, #60636b);}.hi-v5-sidebar-item__icon svg[class^=hi-v5-icon] {width: 20px;height: 20px;}.hi-v5-sidebar-item__title {font-size: var(--hi-v5-text-size-sm, 0.75rem);line-height: var(--hi-v5-text-lineheight-sm, 1.25rem);color: var(--hi-v5-color-gray-600, #91959e);}.hi-v5-sidebar-menu-wrapper {width: 0;-webkit-border-end: none;border-inline-end: none;overflow: hidden;-webkit-transition: width 0.3s;transition: width 0.3s;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item .hi-v5-menu-item__inner {height: var(--hi-v5-height-8, 32px);-webkit-margin-after: 0;margin-block-end: 0;padding: 0 var(--hi-v5-spacing-4, 8px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item .hi-v5-menu-item__inner--hasIcon + div .hi-v5-menu-submenu .hi-v5-menu-item__indent {width: 20px;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__icon {color: var(--hi-v5-color-gray-700, #60636b);-webkit-margin-end: var(--hi-v5-spacing-2, 4px);margin-inline-end: var(--hi-v5-spacing-2, 4px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__indent {width: 14px;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__content {font-weight: 550;}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--active-p {color: var(--hi-v5-color-gray-800, #1a1d26);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-item__inner--active-p .hi-v5-menu-item__icon {color: var(--hi-v5-color-gray-700, #60636b);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu-submenu .hi-v5-menu-item__inner .hi-v5-menu-item__content {font-size: var(--hi-v5-text-size-sm, 0.75rem);font-weight: var(--hi-v5-text-weight-normal, 400);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu__wrapper > .hi-v5-menu-item {-webkit-margin-before: var(--hi-v5-spacing-4, 8px);margin-block-start: var(--hi-v5-spacing-4, 8px);}.hi-v5-sidebar-menu-wrapper .hi-v5-menu__wrapper > .hi-v5-menu-item:first-child {-webkit-margin-before: 0;margin-block-start: 0;}.hi-v5-sidebar-toggle {-webkit-box-sizing: border-box;box-sizing: border-box;position: absolute;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;width: 12px;height: 60px;inset-inline-end: -11px;inset-block-start: 50%;-webkit-transform: translate3d(0, -50%, 0);transform: translate3d(0, -50%, 0);border-start-end-radius: 16px 8px;border-end-end-radius: 16px 8px;border: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);-webkit-border-start: none;border-inline-start: none;cursor: pointer;color: var(--hi-v5-color-gray-700, #60636b);background-color: #fff;}.hi-v5-sidebar-toggle svg[class^=hi-v5-icon] {-webkit-margin-start: -4px;margin-inline-start: -4px;}.hi-v5-menu-search {min-width: 360px;border-radius: var(--hi-v5-border-radius-xl, 8px);overflow: hidden;background-color: var(--hi-v5-color-static-white, #fff);}.hi-v5-menu-search__input-wrapper {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-8, 16px) 0 calc(var(--hi-v5-spacing-2, 4px) + 1px);height: var(--hi-v5-height-12, 48px);}.hi-v5-menu-search--open .hi-v5-menu-search__input-wrapper {border-end-start-radius: 0;border-end-end-radius: 0;}.hi-v5-menu-search__input .hi-v5-input__inner:hover {background-color: transparent !important;}.hi-v5-menu-search__input-prefix {color: var(--hi-v5-color-gray-700, #60636b);}.hi-v5-menu-search__input-clear {font-size: var(--hi-v5-text-size-sm, 0.75rem);}.hi-v5-menu-search__close {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;height: var(--hi-v5-height-4, 16px);-webkit-padding-start: var(--hi-v5-spacing-5, 10px);padding-inline-start: var(--hi-v5-spacing-5, 10px);-webkit-border-start: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);border-inline-start: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);}.hi-v5-menu-search__content {-webkit-box-sizing: border-box;box-sizing: border-box;display: none;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;padding: var(--hi-v5-spacing-4, 8px);max-height: 550px;-webkit-border-before: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-200, #edeff2);border-block-start: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu-search__content--visible {display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v5-menu-search__header {padding: 0 var(--hi-v5-spacing-4, 8px) var(--hi-v5-spacing-4, 8px);font-size: var(--hi-v5-text-size-sm, 0.75rem);line-height: var(--hi-v5-text-lineheight-sm, 1.25rem);font-weight: var(--hi-v5-text-weight-medium, 500);color: var(--hi-v5-color-gray-600, #91959e);}.hi-v5-menu-search__header-count {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-menu-search__list {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;overflow-y: auto;position: relative;outline: none;}.hi-v5-menu-search__list:focus {outline: none;}.hi-v5-menu-search__list-item {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;height: var(--hi-v5-height-10, 40px);padding: calc(var(--hi-v5-spacing-4, 8px) + 1px) var(--hi-v5-spacing-4, 8px);line-height: var(--hi-v5-text-lineheight-sm, 1.25rem);border-radius: var(--hi-v5-border-radius-lg, 6px);}.hi-v5-menu-search__list-item__title {font-size: var(--hi-v5-text-size-md, 0.875rem);color: var(--hi-v5-color-gray-800, #1a1d26);}.hi-v5-menu-search__list-item--selected, .hi-v5-menu-search__list-item:hover {cursor: pointer;background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-menu-search__empty {padding: calc(var(--hi-v5-spacing-2, 4px) + 1px) var(--hi-v5-spacing-4, 8px);font-size: var(--hi-v5-text-size-md, 0.875rem);line-height: var(--hi-v5-text-lineheight-md, 1.375rem);color: var(--hi-v5-color-gray-500, #babcc2);}.hi-v5-menu-search__footer {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: var(--hi-v5-spacing-5, 10px) var(--hi-v5-spacing-8, 16px);background-color: #f5f7fa;}.hi-v5-menu-search__footer-item {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-margin-end: var(--hi-v5-spacing-8, 16px);margin-inline-end: var(--hi-v5-spacing-8, 16px);font-size: var(--hi-v5-text-size-sm, 0.75rem);color: var(--hi-v5-color-gray-600, #91959e);}.hi-v5-menu-search__footer-item__icon {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;gap: var(--hi-v5-spacing-1, 2px);-webkit-margin-end: var(--hi-v5-spacing-2, 4px);margin-inline-end: var(--hi-v5-spacing-2, 4px);padding: 0 var(--hi-v5-spacing-2, 4px);height: var(--hi-v5-height-5, 20px);border: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-400, #dbdde0);border-radius: var(--hi-v5-border-radius-md, 4px);}.hi-v5-menu-search__picker-overlay .hi-v5-menu-search__picker-container {min-width: 360px;border-start-start-radius: 0;border-start-end-radius: 0;}.hi-v5-menu-search__picker-overlay .hi-v5-menu-search__picker-panel {border-top: none;border-start-start-radius: 0;border-start-end-radius: 0;}.hi-v5-menu-search__picker-overlay .hi-v5-menu-search__picker-body {max-height: 544px;}.hi-v5-menu-search__picker-overlay .hi-v5-menu-search__picker-footer {-webkit-box-shadow: none;box-shadow: none;background-color: #f5f7fa;}.hi-v5-group-menu {-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;height: 100%;padding: var(--hi-v5-spacing-4, 8px) 0;}.hi-v5-group-menu-item:not(:first-child) {-webkit-margin-before: var(--hi-v5-spacing-4, 8px);margin-block-start: var(--hi-v5-spacing-4, 8px);}.hi-v5-group-menu-item__content {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;height: var(--hi-v5-height-8, 32px);padding: 0 var(--hi-v5-spacing-4, 8px);margin: 0 var(--hi-v5-spacing-4, 8px);border-radius: var(--hi-v5-border-radius-lg, 6px);font-size: var(--hi-v5-text-size-md, 0.875rem);line-height: var(--hi-v5-text-lineheight-md, 1.375rem);color: var(--hi-v5-color-gray-800, rgba(26, 29, 38, 0.8));}.hi-v5-group-menu-item:not(.hi-v5-group-menu-item--parent):not(.hi-v5-group-menu-item--disabled) {cursor: pointer;}.hi-v5-group-menu-item:not(.hi-v5-group-menu-item--parent):not(.hi-v5-group-menu-item--disabled):hover .hi-v5-group-menu-item__content {background-color: var(--hi-v5-color-gray-200, #edeff2);}.hi-v5-group-menu-item:not(.hi-v5-group-menu-item--parent):not(.hi-v5-group-menu-item--disabled).hi-v5-group-menu-item--active > .hi-v5-group-menu-item__content {font-weight: var(--hi-v5-text-weight-medium, 500);color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-primary-100, var(--hi-v5-color-brandblue-100, #e5ecff));}.hi-v5-group-menu-item:not(.hi-v5-group-menu-item--parent):not(.hi-v5-group-menu-item--disabled).hi-v5-group-menu-item--active:hover > .hi-v5-group-menu-item__content {background-color: var(--hi-v5-color-primary-100, var(--hi-v5-color-brandblue-100, #e5ecff));}.hi-v5-group-menu-item--disabled > .hi-v5-group-menu-item__content {color: var(--hi-v5-color-gray-500, #babcc2);}.hi-v5-group-menu-item--empty > .hi-v5-group-menu-item__content {display: none;}.hi-v5-group-menu-item__icon {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-margin-end: var(--hi-v5-spacing-4, 8px);margin-inline-end: var(--hi-v5-spacing-4, 8px);font-size: var(--hi-v5-text-size-lg, 1rem);}.hi-v5-group-menu-parent-item {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.hi-v5-group-menu-parent-item > .hi-v5-group-menu-item__content {height: var(--hi-v5-height-7, 28px);font-weight: var(--hi-v5-text-weight-medium, 500);color: var(--hi-v5-color-gray-800, #1a1d26);}.hi-v5-group-menu-parent-item > .hi-v5-group-menu-item__content .hi-v5-group-menu-item__title {font-size: var(--hi-v5-text-size-sm, 0.75rem);line-height: var(--hi-v5-text-lineheight-sm, 1.25rem);}.hi-v5-group-menu-parent-item:not(:first-child) > .hi-v5-group-menu-item__content {-webkit-margin-before: var(--hi-v5-spacing-12, 24px);margin-block-start: var(--hi-v5-spacing-12, 24px);}.hi-v5-group-menu-parent-item + .hi-v5-group-menu-item {-webkit-margin-before: var(--hi-v5-spacing-12, 24px);margin-block-start: var(--hi-v5-spacing-12, 24px);}.hi-v5-side-menu {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;padding: var(--hi-v5-spacing-2, 4px) 0;-webkit-transition: width 0.3s;transition: width 0.3s;}.hi-v5-side-menu-item {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: 0 var(--hi-v5-spacing-4, 8px) 0 var(--hi-v5-spacing-6, 12px);font-size: var(--hi-v5-text-size-md, 0.875rem);line-height: var(--hi-v5-text-lineheight-md, 1.375rem);color: var(--hi-v5-color-gray-800, #1a1d26);border-radius: var(--hi-v5-border-radius-lg, 6px);cursor: pointer;position: relative;}.hi-v5-side-menu-item:hover, .hi-v5-side-menu-item--selected {background-color: rgba(124, 135, 166, 0.15);}.hi-v5-side-menu-item:not(.hi-v5-side-menu-item--mini) {height: var(--hi-v5-height-8, 32px);}.hi-v5-side-menu-item:not(.hi-v5-side-menu-item--mini) .hi-v5-side-menu-item__title {min-width: 1px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.hi-v5-side-menu-item-wrapper {padding: var(--hi-v5-spacing-2, 4px) var(--hi-v5-spacing-4, 8px);}.hi-v5-side-menu-item--active {font-weight: var(--hi-v5-text-weight-medium, 500);color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));background-color: var(--hi-v5-color-static-white, #fff);}.hi-v5-side-menu-item--active:hover {background-color: var(--hi-v5-color-static-white, #fff);}.hi-v5-side-menu-item--active .hi-v5-side-menu-item__icon,.hi-v5-side-menu-item--active .hi-v5-side-menu-item__title {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-side-menu-item__icon {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-margin-end: var(--hi-v5-spacing-4, 8px);margin-inline-end: var(--hi-v5-spacing-4, 8px);font-size: var(--hi-v5-text-size-lg, 1rem);color: #7c87a6;}.hi-v5-side-menu-item--mini {-webkit-box-sizing: border-box;box-sizing: border-box;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;padding: var(--hi-v5-spacing-3, 6px);width: 52px;max-height: 64px;color: var(--hi-v5-color-gray-700, #60636b);}.hi-v5-side-menu-item--mini .hi-v5-side-menu-item__icon {-webkit-margin-end: 0;margin-inline-end: 0;-webkit-margin-after: var(--hi-v5-spacing-3, 6px);margin-block-end: var(--hi-v5-spacing-3, 6px);font-size: var(--hi-v5-text-size-xl, 1.125rem);}.hi-v5-side-menu-item--mini .hi-v5-side-menu-item__title {font-size: 20px;line-height: 28px;text-align: center;text-indent: 0;-webkit-transform: scale(0.5);transform: scale(0.5);width: 200%;-webkit-margin-after: -14px;margin-block-end: -14px;-webkit-transform-origin: top;transform-origin: top;white-space: normal;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;line-clamp: 2;word-break: break-word;overflow: hidden;text-overflow: ellipsis;}.hi-v5-side-menu--mini .hi-v5-side-menu-item-wrapper {padding: var(--hi-v5-spacing-2, 4px);}.hi-v5-side-menu .hi-v5-scrollbar__wrapper {width: 100%;}";
|
|
16
16
|
var __styleInject__ = require('@hi-ui/style-inject')["default"];
|
|
17
17
|
__styleInject__(css_248z);
|
|
18
18
|
exports["default"] = css_248z;
|
package/lib/cjs/util.js
CHANGED
|
@@ -13,7 +13,39 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
13
13
|
value: true
|
|
14
14
|
});
|
|
15
15
|
var treeUtils = require('@hi-ui/tree-utils');
|
|
16
|
-
|
|
16
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
17
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
18
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
19
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
20
|
+
if (it) o = it;
|
|
21
|
+
var i = 0;
|
|
22
|
+
return function () {
|
|
23
|
+
if (i >= o.length) return {
|
|
24
|
+
done: true
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
done: false,
|
|
28
|
+
value: o[i++]
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
33
|
+
}
|
|
34
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
35
|
+
if (!o) return;
|
|
36
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
37
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
38
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
39
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
40
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
41
|
+
}
|
|
42
|
+
function _arrayLikeToArray(arr, len) {
|
|
43
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
44
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
45
|
+
arr2[i] = arr[i];
|
|
46
|
+
}
|
|
47
|
+
return arr2;
|
|
48
|
+
}
|
|
17
49
|
// 寻找某一节点的父节点
|
|
18
50
|
var getParentId = function getParentId(id, data) {
|
|
19
51
|
var parentId = '';
|
|
@@ -90,8 +122,70 @@ var transformTreeData = function transformTreeData(data, fieldNames) {
|
|
|
90
122
|
};
|
|
91
123
|
return data.map(traverseTreeNode);
|
|
92
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* 增强版搜索函数,返回包含路径信息的结果
|
|
127
|
+
*/
|
|
128
|
+
function searchMenuWithPath(data, keyword) {
|
|
129
|
+
if (!keyword || !data || data.length === 0) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
var results = [];
|
|
133
|
+
var processedIds = new Set();
|
|
134
|
+
function searchInTree(nodes, currentPath) {
|
|
135
|
+
if (currentPath === void 0) {
|
|
136
|
+
currentPath = [];
|
|
137
|
+
}
|
|
138
|
+
var _a;
|
|
139
|
+
for (var _iterator3 = _createForOfIteratorHelperLoose(nodes), _step3; !(_step3 = _iterator3()).done;) {
|
|
140
|
+
var node = _step3.value;
|
|
141
|
+
var nodePath = [].concat(currentPath, [node]);
|
|
142
|
+
var isMatched = (_a = node.title) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase().includes(keyword.toLowerCase());
|
|
143
|
+
if (isMatched) {
|
|
144
|
+
if (!node.children || node.children.length === 0) {
|
|
145
|
+
// 叶子节点
|
|
146
|
+
if (!processedIds.has(node.id)) {
|
|
147
|
+
results.push({
|
|
148
|
+
node: node,
|
|
149
|
+
path: nodePath,
|
|
150
|
+
level: nodePath.length - 1
|
|
151
|
+
});
|
|
152
|
+
processedIds.add(node.id);
|
|
153
|
+
}
|
|
154
|
+
} else {
|
|
155
|
+
// 父节点,添加所有子节点
|
|
156
|
+
addAllDescendantsWithPath(node.children, nodePath);
|
|
157
|
+
}
|
|
158
|
+
} else {
|
|
159
|
+
// 继续搜索子节点
|
|
160
|
+
if (node.children && node.children.length > 0) {
|
|
161
|
+
searchInTree(node.children, nodePath);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function addAllDescendantsWithPath(children, parentPath) {
|
|
167
|
+
for (var _iterator4 = _createForOfIteratorHelperLoose(children), _step4; !(_step4 = _iterator4()).done;) {
|
|
168
|
+
var child = _step4.value;
|
|
169
|
+
var childPath = [].concat(parentPath, [child]);
|
|
170
|
+
if (!processedIds.has(child.id)) {
|
|
171
|
+
results.push({
|
|
172
|
+
node: child,
|
|
173
|
+
path: childPath,
|
|
174
|
+
level: childPath.length - 1
|
|
175
|
+
});
|
|
176
|
+
processedIds.add(child.id);
|
|
177
|
+
}
|
|
178
|
+
if (child.children && child.children.length > 0) {
|
|
179
|
+
addAllDescendantsWithPath(child.children, childPath);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
searchInTree(data);
|
|
184
|
+
return results;
|
|
185
|
+
}
|
|
93
186
|
exports.filterTreeData = filterTreeData;
|
|
94
187
|
exports.getAncestorIds = getAncestorIds;
|
|
95
188
|
exports.getIdsWithChildren = getIdsWithChildren;
|
|
96
189
|
exports.getParentId = getParentId;
|
|
190
|
+
exports.searchMenuWithPath = searchMenuWithPath;
|
|
97
191
|
exports.transformTreeData = transformTreeData;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/menu
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/menu#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
var EnterIcon = function EnterIcon() {
|
|
12
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
13
|
+
width: "12",
|
|
14
|
+
height: "12",
|
|
15
|
+
viewBox: "0 0 12 12",
|
|
16
|
+
fill: "none",
|
|
17
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
18
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
19
|
+
d: "M4 9L2 7L4 5",
|
|
20
|
+
stroke: "#91959e",
|
|
21
|
+
strokeWidth: "1.2",
|
|
22
|
+
strokeLinecap: "round",
|
|
23
|
+
strokeLinejoin: "round"
|
|
24
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
25
|
+
d: "M10 3L10 6.25C10 6.66422 9.66423 7 9.25 7L2 7",
|
|
26
|
+
stroke: "#91959e",
|
|
27
|
+
strokeWidth: "1.2",
|
|
28
|
+
strokeLinecap: "round",
|
|
29
|
+
strokeLinejoin: "round"
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
export { EnterIcon };
|
package/lib/esm/Expander.js
CHANGED
|
@@ -16,12 +16,17 @@ var Expander = function Expander(_ref) {
|
|
|
16
16
|
var _useState = useState(visible ? 'auto' : 0),
|
|
17
17
|
height = _useState[0],
|
|
18
18
|
setHeight = _useState[1];
|
|
19
|
+
var innerRef = React.useRef(null);
|
|
19
20
|
return /*#__PURE__*/React.createElement(CSSTransition, {
|
|
20
21
|
"in": visible,
|
|
21
22
|
timeout: 200,
|
|
22
23
|
classNames: className,
|
|
23
24
|
unmountOnExit: false,
|
|
24
|
-
|
|
25
|
+
// 参考:https://github.com/reactjs/react-transition-group/issues/918
|
|
26
|
+
nodeRef: innerRef,
|
|
27
|
+
onEnter: function onEnter() {
|
|
28
|
+
var element = innerRef.current;
|
|
29
|
+
if (!element) return;
|
|
25
30
|
setHeight(0);
|
|
26
31
|
setTimeout(function () {
|
|
27
32
|
setHeight(element.scrollHeight);
|
|
@@ -30,7 +35,9 @@ var Expander = function Expander(_ref) {
|
|
|
30
35
|
onEntered: function onEntered() {
|
|
31
36
|
setHeight('auto');
|
|
32
37
|
},
|
|
33
|
-
onExit: function onExit(
|
|
38
|
+
onExit: function onExit() {
|
|
39
|
+
var element = innerRef.current;
|
|
40
|
+
if (!element) return;
|
|
34
41
|
setHeight(element.scrollHeight);
|
|
35
42
|
setTimeout(function () {
|
|
36
43
|
setHeight(0);
|
|
@@ -41,7 +48,8 @@ var Expander = function Expander(_ref) {
|
|
|
41
48
|
height: height,
|
|
42
49
|
overflow: 'hidden',
|
|
43
50
|
transition: 'all 0.3s'
|
|
44
|
-
}
|
|
51
|
+
},
|
|
52
|
+
ref: innerRef
|
|
45
53
|
}, children));
|
|
46
54
|
};
|
|
47
55
|
export { Expander };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/menu
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/menu#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HiUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
import { __rest } from 'tslib';
|
|
11
|
+
import React, { forwardRef, useCallback } from 'react';
|
|
12
|
+
import { getPrefixCls, cx } from '@hi-ui/classname';
|
|
13
|
+
import { __DEV__ } from '@hi-ui/env';
|
|
14
|
+
import { useGlobalContext } from '@hi-ui/core';
|
|
15
|
+
import { useMergeSemantic } from '@hi-ui/use-merge-semantic';
|
|
16
|
+
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
|
17
|
+
import { useLatestCallback } from '@hi-ui/use-latest';
|
|
18
|
+
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
|
19
|
+
import Scrollbar from '@hi-ui/scrollbar';
|
|
20
|
+
var _role = 'group-menu';
|
|
21
|
+
var GROUP_MENU_PREFIX = getPrefixCls(_role);
|
|
22
|
+
/**
|
|
23
|
+
* 分组菜单
|
|
24
|
+
*/
|
|
25
|
+
var GroupMenu = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
26
|
+
var _a$prefixCls = _a.prefixCls,
|
|
27
|
+
prefixCls = _a$prefixCls === void 0 ? GROUP_MENU_PREFIX : _a$prefixCls,
|
|
28
|
+
_a$role = _a.role,
|
|
29
|
+
role = _a$role === void 0 ? _role : _a$role,
|
|
30
|
+
className = _a.className,
|
|
31
|
+
style = _a.style,
|
|
32
|
+
classNamesProp = _a.classNames,
|
|
33
|
+
stylesProp = _a.styles,
|
|
34
|
+
_a$data = _a.data,
|
|
35
|
+
data = _a$data === void 0 ? [] : _a$data,
|
|
36
|
+
onClick = _a.onClick,
|
|
37
|
+
_a$defaultActiveId = _a.defaultActiveId,
|
|
38
|
+
defaultActiveId = _a$defaultActiveId === void 0 ? '' : _a$defaultActiveId,
|
|
39
|
+
activeIdProp = _a.activeId,
|
|
40
|
+
titleRender = _a.titleRender,
|
|
41
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "style", "classNames", "styles", "data", "onClick", "defaultActiveId", "activeId", "titleRender"]);
|
|
42
|
+
var _useGlobalContext = useGlobalContext(),
|
|
43
|
+
groupMenuConfig = _useGlobalContext.groupMenu;
|
|
44
|
+
var _useMergeSemantic = useMergeSemantic({
|
|
45
|
+
classNamesList: [groupMenuConfig === null || groupMenuConfig === void 0 ? void 0 : groupMenuConfig.classNames, classNamesProp],
|
|
46
|
+
stylesList: [groupMenuConfig === null || groupMenuConfig === void 0 ? void 0 : groupMenuConfig.styles, stylesProp],
|
|
47
|
+
info: {
|
|
48
|
+
props: Object.assign(Object.assign({}, rest), {
|
|
49
|
+
data: data,
|
|
50
|
+
defaultActiveId: defaultActiveId,
|
|
51
|
+
activeId: activeIdProp,
|
|
52
|
+
titleRender: titleRender
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
}),
|
|
56
|
+
classNames = _useMergeSemantic.classNames,
|
|
57
|
+
styles = _useMergeSemantic.styles;
|
|
58
|
+
var _useUncontrolledState = useUncontrolledState(defaultActiveId, activeIdProp),
|
|
59
|
+
activeId = _useUncontrolledState[0],
|
|
60
|
+
tryChangeActiveId = _useUncontrolledState[1];
|
|
61
|
+
var handleClick = useLatestCallback(function (evt, id, item) {
|
|
62
|
+
tryChangeActiveId(id);
|
|
63
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(evt, id, item);
|
|
64
|
+
});
|
|
65
|
+
var renderItem = useCallback(function (data) {
|
|
66
|
+
return data.map(function (item) {
|
|
67
|
+
var _cx;
|
|
68
|
+
var id = item.id,
|
|
69
|
+
icon = item.icon,
|
|
70
|
+
title = item.title,
|
|
71
|
+
_item$children = item.children,
|
|
72
|
+
children = _item$children === void 0 ? [] : _item$children,
|
|
73
|
+
disabled = item.disabled;
|
|
74
|
+
var isParent = isArrayNonEmpty(children);
|
|
75
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
key: id,
|
|
77
|
+
className: cx(isParent ? prefixCls + "-parent-item" : prefixCls + "-item", (_cx = {}, _cx[prefixCls + "-item--active"] = activeId === id, _cx[prefixCls + "-item--disabled"] = disabled, _cx[prefixCls + "-item--empty"] = !title && !icon, _cx), classNames === null || classNames === void 0 ? void 0 : classNames.item),
|
|
78
|
+
style: styles === null || styles === void 0 ? void 0 : styles.item,
|
|
79
|
+
onClick: function onClick(evt) {
|
|
80
|
+
if (disabled || isParent) return;
|
|
81
|
+
evt.stopPropagation();
|
|
82
|
+
handleClick(evt, id, item);
|
|
83
|
+
}
|
|
84
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: cx(prefixCls + "-item__content", classNames === null || classNames === void 0 ? void 0 : classNames.itemContent),
|
|
86
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemContent
|
|
87
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
88
|
+
className: cx(prefixCls + "-item__icon", classNames === null || classNames === void 0 ? void 0 : classNames.itemIcon),
|
|
89
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemIcon
|
|
90
|
+
}, icon), /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: cx(prefixCls + "-item__title", classNames === null || classNames === void 0 ? void 0 : classNames.itemTitle),
|
|
92
|
+
style: styles === null || styles === void 0 ? void 0 : styles.itemTitle
|
|
93
|
+
}, typeof titleRender === 'function' ? titleRender(item) : title)), isParent && renderItem(children));
|
|
94
|
+
});
|
|
95
|
+
}, [activeId, handleClick, prefixCls, titleRender, classNames, styles]);
|
|
96
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
97
|
+
className: cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
|
|
98
|
+
style: Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.root),
|
|
99
|
+
ref: ref,
|
|
100
|
+
role: role
|
|
101
|
+
}, rest), /*#__PURE__*/React.createElement(Scrollbar, {
|
|
102
|
+
onlyScrollVisible: true,
|
|
103
|
+
axes: "y",
|
|
104
|
+
className: classNames === null || classNames === void 0 ? void 0 : classNames.wrapper,
|
|
105
|
+
style: styles === null || styles === void 0 ? void 0 : styles.wrapper
|
|
106
|
+
}, renderItem(data)));
|
|
107
|
+
});
|
|
108
|
+
if (__DEV__) {
|
|
109
|
+
GroupMenu.displayName = 'GroupMenu';
|
|
110
|
+
}
|
|
111
|
+
export { GroupMenu };
|