@jetlinks-web/components 3.3.7 → 3.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/ProLayout/SiderMenu/SiderMenu.js +136 -135
- package/es/ProLayout/SiderMenu/style.js +4 -4
- package/es/style/styleRegister.js +2 -6
- package/lib/ProLayout/SiderMenu/SiderMenu.js +135 -134
- package/lib/ProLayout/SiderMenu/style.js +4 -4
- package/lib/style/styleRegister.js +2 -6
- package/package.json +3 -3
|
@@ -9,7 +9,7 @@ import { defaultSettingProps, LayoutType } from '../defaultSettings';
|
|
|
9
9
|
import PropTypes from 'ant-design-vue/es/_util/vue-types';
|
|
10
10
|
import IconFont from '../../Icon';
|
|
11
11
|
import { useRouteContext } from '../RouteContext';
|
|
12
|
-
import { computed, unref } from 'vue';
|
|
12
|
+
import { computed, defineComponent, unref } from 'vue';
|
|
13
13
|
import "../typings";
|
|
14
14
|
import useProLayoutStyle from '../style';
|
|
15
15
|
export var siderMenuProps = _objectSpread(_objectSpread(_objectSpread({}, defaultSettingProps), baseMenuProps), {}, {
|
|
@@ -169,147 +169,148 @@ export var defaultRenderCollapsedButton = function defaultRenderCollapsedButton(
|
|
|
169
169
|
"type": 'MenuFoldOutlined'
|
|
170
170
|
}, null);
|
|
171
171
|
};
|
|
172
|
-
var SiderMenu =
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return _defineProperty(_defineProperty({}, "".concat(baseClassName, "-logo"), true), "".concat(baseClassName, "-logo-card"), props.layoutType === LayoutType.CARD);
|
|
207
|
-
});
|
|
208
|
-
var handleSelect = function handleSelect($event) {
|
|
209
|
-
if (props.onSelect) {
|
|
210
|
-
if (unref(hasSplitMenu)) {
|
|
211
|
-
props.onSelect([context.selectedKeys[0]].concat(_toConsumableArray($event)));
|
|
212
|
-
return;
|
|
172
|
+
var SiderMenu = defineComponent({
|
|
173
|
+
name: 'JProLayoutSiderMenu',
|
|
174
|
+
inheritAttrs: false,
|
|
175
|
+
props: siderMenuProps,
|
|
176
|
+
setup: function setup(props) {
|
|
177
|
+
var prefixCls = computed(function () {
|
|
178
|
+
return 'pro-layout';
|
|
179
|
+
});
|
|
180
|
+
var _useProLayoutStyle = useProLayoutStyle(prefixCls),
|
|
181
|
+
_useProLayoutStyle2 = _slicedToArray(_useProLayoutStyle, 2),
|
|
182
|
+
wrapSSR = _useProLayoutStyle2[0],
|
|
183
|
+
hashId = _useProLayoutStyle2[1];
|
|
184
|
+
var context = useRouteContext();
|
|
185
|
+
var getPrefixCls = context.getPrefixCls;
|
|
186
|
+
var baseClassName = getPrefixCls('sider');
|
|
187
|
+
var hasSplitMenu = computed(function () {
|
|
188
|
+
return props.layout === 'mix' && props.splitMenus;
|
|
189
|
+
});
|
|
190
|
+
var sSideWidth = computed(function () {
|
|
191
|
+
return props.collapsed ? props.collapsedWidth : props.siderWidth;
|
|
192
|
+
});
|
|
193
|
+
var classNames = computed(function () {
|
|
194
|
+
return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, baseClassName, true), "".concat(baseClassName, "-fixed"), context.fixSiderbar), "".concat(baseClassName, "-").concat(props.theme), true), "".concat(baseClassName, "-layout-").concat(props.layout), props.layout), hashId.value, true);
|
|
195
|
+
});
|
|
196
|
+
var logCls = computed(function () {
|
|
197
|
+
return _defineProperty(_defineProperty({}, "".concat(baseClassName, "-logo"), true), "".concat(baseClassName, "-logo-card"), props.layoutType === LayoutType.CARD);
|
|
198
|
+
});
|
|
199
|
+
var handleSelect = function handleSelect($event) {
|
|
200
|
+
if (props.onSelect) {
|
|
201
|
+
if (unref(hasSplitMenu)) {
|
|
202
|
+
props.onSelect([context.selectedKeys[0]].concat(_toConsumableArray($event)));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
props.onSelect($event);
|
|
213
206
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
"subMenuItemRender": props.subMenuItemRender,
|
|
235
|
-
"iconfontUrl": props.iconfontUrl,
|
|
236
|
-
"onClick": props.onMenuClick,
|
|
237
|
-
"style": {
|
|
238
|
-
width: '100%'
|
|
239
|
-
},
|
|
240
|
-
"class": "".concat(baseClassName, "-menu"),
|
|
241
|
-
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
242
|
-
return props.onOpenKeys && props.onOpenKeys($event);
|
|
243
|
-
},
|
|
244
|
-
'onUpdate:selectedKeys': handleSelect
|
|
245
|
-
}, null);
|
|
246
|
-
return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
|
|
247
|
-
"style": {
|
|
248
|
-
width: "".concat(sSideWidth.value, "px"),
|
|
249
|
-
overflow: 'hidden',
|
|
250
|
-
flex: "0 0 ".concat(sSideWidth.value, "px"),
|
|
251
|
-
maxWidth: "".concat(sSideWidth.value, "px"),
|
|
252
|
-
minWidth: "".concat(sSideWidth.value, "px"),
|
|
253
|
-
transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
|
|
254
|
-
}
|
|
255
|
-
}, null), _createVNode(Sider, {
|
|
256
|
-
"collapsible": true,
|
|
257
|
-
"trigger": null,
|
|
258
|
-
"collapsed": collapsed,
|
|
259
|
-
"breakpoint": breakpoint || undefined,
|
|
260
|
-
"onCollapse": function onCollapse(collapse) {
|
|
261
|
-
var _props$onCollapse;
|
|
262
|
-
(_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
|
|
263
|
-
},
|
|
264
|
-
"collapsedWidth": collapsedWidth,
|
|
265
|
-
"style": {
|
|
266
|
-
overflow: 'hidden',
|
|
267
|
-
paddingTop: "".concat(props.headerHeight, "px"),
|
|
268
|
-
zIndex: props.layoutType === LayoutType.PAD ? 200 : 1
|
|
269
|
-
},
|
|
270
|
-
"width": siderWidth,
|
|
271
|
-
"theme": theme,
|
|
272
|
-
"class": classNames.value
|
|
273
|
-
}, {
|
|
274
|
-
default: function _default() {
|
|
275
|
-
return [headerDom && _createVNode("div", {
|
|
276
|
-
"class": logCls.value,
|
|
277
|
-
"onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
|
|
278
|
-
"id": "logo",
|
|
279
|
-
"style": props === null || props === void 0 ? void 0 : props.logoStyle
|
|
280
|
-
}, [headerDom]), extraDom && _createVNode("div", {
|
|
281
|
-
"class": _defineProperty(_defineProperty({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom)
|
|
282
|
-
}, [extraDom]), _createVNode("div", {
|
|
283
|
-
"class": "".concat(baseClassName, "-body"),
|
|
284
|
-
"style": "flex: 1; overflow: hidden auto;"
|
|
285
|
-
}, [props.layoutType !== LayoutType.CARD ? menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), _createVNode("div", {
|
|
286
|
-
"class": "".concat(baseClassName, "-links")
|
|
287
|
-
}, [linksRender ? linksRender() : collapsedButtonRender !== false ? _createVNode(Menu, {
|
|
288
|
-
"class": "".concat(baseClassName, "-link-menu"),
|
|
289
|
-
"inlineIndent": 16,
|
|
290
|
-
"theme": theme,
|
|
291
|
-
"selectedKeys": [],
|
|
292
|
-
"openKeys": [],
|
|
207
|
+
};
|
|
208
|
+
var collapsedButtonRender = computed(function () {
|
|
209
|
+
return props.collapsedButtonRender === undefined ? defaultRenderCollapsedButton : props.collapsedButtonRender;
|
|
210
|
+
});
|
|
211
|
+
var headerDom = computed(function () {
|
|
212
|
+
return defaultRenderLogoAndTitle(_objectSpread(_objectSpread({}, props), {}, {
|
|
213
|
+
baseClassName: baseClassName
|
|
214
|
+
}));
|
|
215
|
+
});
|
|
216
|
+
var extraDom = computed(function () {
|
|
217
|
+
return props.menuExtraRender && props.menuExtraRender(props);
|
|
218
|
+
});
|
|
219
|
+
return function () {
|
|
220
|
+
if (props.layoutType !== LayoutType.CARD && hasSplitMenu.value && unref(context.flatMenuData).length === 0) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
var defaultMenuDom = _createVNode(BaseMenu, {
|
|
224
|
+
"prefixCls": getPrefixCls(),
|
|
225
|
+
"locale": props.locale || context.locale,
|
|
226
|
+
"theme": props.theme,
|
|
293
227
|
"mode": "inline",
|
|
294
|
-
"
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
228
|
+
"menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
|
|
229
|
+
"collapsed": props.collapsed,
|
|
230
|
+
"openKeys": context.openKeys,
|
|
231
|
+
"selectedKeys": context.selectedKeys,
|
|
232
|
+
"menuItemRender": props.menuItemRender,
|
|
233
|
+
"subMenuItemRender": props.subMenuItemRender,
|
|
234
|
+
"iconfontUrl": props.iconfontUrl,
|
|
235
|
+
"onClick": props.onMenuClick,
|
|
236
|
+
"style": {
|
|
237
|
+
width: '100%'
|
|
238
|
+
},
|
|
239
|
+
"class": "".concat(baseClassName, "-menu"),
|
|
240
|
+
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
241
|
+
return props.onOpenKeys && props.onOpenKeys($event);
|
|
242
|
+
},
|
|
243
|
+
'onUpdate:selectedKeys': handleSelect
|
|
244
|
+
}, null);
|
|
245
|
+
return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
|
|
246
|
+
"style": {
|
|
247
|
+
width: "".concat(sSideWidth.value, "px"),
|
|
248
|
+
overflow: 'hidden',
|
|
249
|
+
flex: "0 0 ".concat(sSideWidth.value, "px"),
|
|
250
|
+
maxWidth: "".concat(sSideWidth.value, "px"),
|
|
251
|
+
minWidth: "".concat(sSideWidth.value, "px"),
|
|
252
|
+
transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
|
|
298
253
|
}
|
|
254
|
+
}, null), _createVNode(Sider, {
|
|
255
|
+
"collapsible": true,
|
|
256
|
+
"trigger": null,
|
|
257
|
+
"collapsed": props.collapsed,
|
|
258
|
+
"breakpoint": props.breakpoint || undefined,
|
|
259
|
+
"onCollapse": function onCollapse(collapse) {
|
|
260
|
+
var _props$onCollapse;
|
|
261
|
+
(_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
|
|
262
|
+
},
|
|
263
|
+
"collapsedWidth": props.collapsedWidth,
|
|
264
|
+
"style": {
|
|
265
|
+
overflow: 'hidden',
|
|
266
|
+
paddingTop: "".concat(props.headerHeight, "px"),
|
|
267
|
+
zIndex: props.layoutType === LayoutType.PAD ? 200 : 1
|
|
268
|
+
},
|
|
269
|
+
"width": props.siderWidth,
|
|
270
|
+
"theme": props.theme,
|
|
271
|
+
"class": classNames.value
|
|
299
272
|
}, {
|
|
300
273
|
default: function _default() {
|
|
301
|
-
return [_createVNode(
|
|
302
|
-
"
|
|
303
|
-
"
|
|
304
|
-
"
|
|
274
|
+
return [headerDom.value && _createVNode("div", {
|
|
275
|
+
"class": logCls.value,
|
|
276
|
+
"onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
|
|
277
|
+
"id": "logo",
|
|
278
|
+
"style": props === null || props === void 0 ? void 0 : props.logoStyle
|
|
279
|
+
}, [headerDom.value]), extraDom.value && _createVNode("div", {
|
|
280
|
+
"class": _defineProperty(_defineProperty({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom.value)
|
|
281
|
+
}, [extraDom.value]), _createVNode("div", {
|
|
282
|
+
"class": "".concat(baseClassName, "-body"),
|
|
283
|
+
"style": "flex: 1; overflow: hidden auto;"
|
|
284
|
+
}, [props.layoutType !== LayoutType.CARD ? props.menuContentRender && props.menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), _createVNode("div", {
|
|
285
|
+
"class": "".concat(baseClassName, "-links")
|
|
286
|
+
}, [props.linksRender ? props.linksRender() : collapsedButtonRender.value !== false ? _createVNode(Menu, {
|
|
287
|
+
"class": "".concat(baseClassName, "-link-menu"),
|
|
288
|
+
"inlineIndent": 16,
|
|
289
|
+
"theme": props.theme,
|
|
290
|
+
"selectedKeys": [],
|
|
291
|
+
"openKeys": [],
|
|
292
|
+
"mode": "inline",
|
|
293
|
+
"onClick": function onClick() {
|
|
294
|
+
if (props.onCollapse) {
|
|
295
|
+
props.onCollapse(!props.collapsed);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
305
298
|
}, {
|
|
306
299
|
default: function _default() {
|
|
307
|
-
return [
|
|
300
|
+
return [_createVNode(Menu.Item, {
|
|
301
|
+
"key": 'collapsed-button',
|
|
302
|
+
"class": "".concat(baseClassName, "-collapsed-button"),
|
|
303
|
+
"title": false
|
|
304
|
+
}, {
|
|
305
|
+
default: function _default() {
|
|
306
|
+
return [collapsedButtonRender.value && typeof collapsedButtonRender.value === 'function' ? collapsedButtonRender.value(props.collapsed) : collapsedButtonRender.value];
|
|
307
|
+
}
|
|
308
|
+
})];
|
|
308
309
|
}
|
|
309
|
-
})];
|
|
310
|
+
}) : null])];
|
|
310
311
|
}
|
|
311
|
-
})
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
};
|
|
312
|
+
})]);
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
});
|
|
315
316
|
export default SiderMenu;
|
|
@@ -19,7 +19,7 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
|
|
|
19
19
|
opacity: 1
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
|
-
return _defineProperty(_defineProperty(_defineProperty({}, "".concat(proLayoutSiderMenuCls), (_$concat9 = {
|
|
22
|
+
return ["\n ".concat(proLayoutSiderMenuCls, " > ").concat(token.antCls, "-layout-sider-children {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n "), _defineProperty(_defineProperty(_defineProperty({}, "".concat(proLayoutSiderMenuCls), (_$concat9 = {
|
|
23
23
|
position: 'relative',
|
|
24
24
|
backgroundColor: '#001529',
|
|
25
25
|
borderRight: 0,
|
|
@@ -113,7 +113,7 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
|
|
|
113
113
|
}, "> ".concat(token.antCls, "-menu-root"), _defineProperty({}, ":not".concat(proLayoutSiderMenuCls, "-link-menu"), {
|
|
114
114
|
height: "calc(100vh - ".concat(proLayoutHeaderHeight, ")"),
|
|
115
115
|
overflowY: 'auto'
|
|
116
|
-
}))), "".concat(proLayoutSiderMenuCls, "-light"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
116
|
+
}))), "&".concat(proLayoutSiderMenuCls, "-light"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
117
117
|
backgroundColor: token.colorBgContainer,
|
|
118
118
|
boxShadow: '2px 0 8px 0 rgba(29, 35, 41, 0.05)'
|
|
119
119
|
}, "".concat(token.antCls, "-layout-sider-children"), {
|
|
@@ -139,7 +139,7 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
|
|
|
139
139
|
})), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_$concat9, "".concat(proLayoutSiderMenuCls, "-icon"), {
|
|
140
140
|
width: '14px',
|
|
141
141
|
verticalAlign: 'baseline'
|
|
142
|
-
}), "".concat(proLayoutSiderMenuCls, "-
|
|
142
|
+
}), "".concat(proLayoutSiderMenuCls, "-links"), _defineProperty({
|
|
143
143
|
width: '100%'
|
|
144
144
|
}, "ul".concat(token.antCls, "-menu-root"), {
|
|
145
145
|
height: 'auto'
|
|
@@ -166,5 +166,5 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
|
|
|
166
166
|
'&:hover': {
|
|
167
167
|
backgroundColor: '#efefef'
|
|
168
168
|
}
|
|
169
|
-
});
|
|
169
|
+
})];
|
|
170
170
|
};
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
3
|
import { genComponentStyleHook } from 'ant-design-vue/es/theme/internal';
|
|
4
|
-
import { theme } from 'ant-design-vue';
|
|
5
4
|
import variableToken from './variable';
|
|
6
5
|
var genCompoentStyle = function genCompoentStyle(styleFn) {
|
|
7
|
-
return genComponentStyleHook('jetlinks-components', function (_token) {
|
|
8
|
-
var _theme$useToken = theme.useToken(),
|
|
9
|
-
token = _theme$useToken.token,
|
|
10
|
-
hashId = _theme$useToken.hashId;
|
|
6
|
+
return genComponentStyleHook('jetlinks-components', function (_token, info) {
|
|
11
7
|
var componentToken = {
|
|
12
8
|
token: _objectSpread(_objectSpread({}, _token), variableToken),
|
|
13
|
-
hashId: hashId
|
|
9
|
+
hashId: info.hashId,
|
|
14
10
|
componentCls: ".".concat(_token.prefixCls)
|
|
15
11
|
};
|
|
16
12
|
return _toConsumableArray(styleFn.map(function (item) {
|
|
@@ -177,147 +177,148 @@ var defaultRenderCollapsedButton = exports.defaultRenderCollapsedButton = functi
|
|
|
177
177
|
"type": 'MenuFoldOutlined'
|
|
178
178
|
}, null);
|
|
179
179
|
};
|
|
180
|
-
var SiderMenu =
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-logo"), true), "".concat(baseClassName, "-logo-card"), props.layoutType === _defaultSettings.LayoutType.CARD);
|
|
215
|
-
});
|
|
216
|
-
var handleSelect = function handleSelect($event) {
|
|
217
|
-
if (props.onSelect) {
|
|
218
|
-
if ((0, _vue.unref)(hasSplitMenu)) {
|
|
219
|
-
props.onSelect([context.selectedKeys[0]].concat((0, _toConsumableArray2.default)($event)));
|
|
220
|
-
return;
|
|
180
|
+
var SiderMenu = (0, _vue.defineComponent)({
|
|
181
|
+
name: 'JProLayoutSiderMenu',
|
|
182
|
+
inheritAttrs: false,
|
|
183
|
+
props: siderMenuProps,
|
|
184
|
+
setup: function setup(props) {
|
|
185
|
+
var prefixCls = (0, _vue.computed)(function () {
|
|
186
|
+
return 'pro-layout';
|
|
187
|
+
});
|
|
188
|
+
var _useProLayoutStyle = (0, _style.default)(prefixCls),
|
|
189
|
+
_useProLayoutStyle2 = (0, _slicedToArray2.default)(_useProLayoutStyle, 2),
|
|
190
|
+
wrapSSR = _useProLayoutStyle2[0],
|
|
191
|
+
hashId = _useProLayoutStyle2[1];
|
|
192
|
+
var context = (0, _RouteContext.useRouteContext)();
|
|
193
|
+
var getPrefixCls = context.getPrefixCls;
|
|
194
|
+
var baseClassName = getPrefixCls('sider');
|
|
195
|
+
var hasSplitMenu = (0, _vue.computed)(function () {
|
|
196
|
+
return props.layout === 'mix' && props.splitMenus;
|
|
197
|
+
});
|
|
198
|
+
var sSideWidth = (0, _vue.computed)(function () {
|
|
199
|
+
return props.collapsed ? props.collapsedWidth : props.siderWidth;
|
|
200
|
+
});
|
|
201
|
+
var classNames = (0, _vue.computed)(function () {
|
|
202
|
+
return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, baseClassName, true), "".concat(baseClassName, "-fixed"), context.fixSiderbar), "".concat(baseClassName, "-").concat(props.theme), true), "".concat(baseClassName, "-layout-").concat(props.layout), props.layout), hashId.value, true);
|
|
203
|
+
});
|
|
204
|
+
var logCls = (0, _vue.computed)(function () {
|
|
205
|
+
return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-logo"), true), "".concat(baseClassName, "-logo-card"), props.layoutType === _defaultSettings.LayoutType.CARD);
|
|
206
|
+
});
|
|
207
|
+
var handleSelect = function handleSelect($event) {
|
|
208
|
+
if (props.onSelect) {
|
|
209
|
+
if ((0, _vue.unref)(hasSplitMenu)) {
|
|
210
|
+
props.onSelect([context.selectedKeys[0]].concat((0, _toConsumableArray2.default)($event)));
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
props.onSelect($event);
|
|
221
214
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
"subMenuItemRender": props.subMenuItemRender,
|
|
243
|
-
"iconfontUrl": props.iconfontUrl,
|
|
244
|
-
"onClick": props.onMenuClick,
|
|
245
|
-
"style": {
|
|
246
|
-
width: '100%'
|
|
247
|
-
},
|
|
248
|
-
"class": "".concat(baseClassName, "-menu"),
|
|
249
|
-
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
250
|
-
return props.onOpenKeys && props.onOpenKeys($event);
|
|
251
|
-
},
|
|
252
|
-
'onUpdate:selectedKeys': handleSelect
|
|
253
|
-
}, null);
|
|
254
|
-
return (0, _vue.createVNode)(_vue.Fragment, null, [context.fixSiderbar && (0, _vue.createVNode)("div", {
|
|
255
|
-
"style": {
|
|
256
|
-
width: "".concat(sSideWidth.value, "px"),
|
|
257
|
-
overflow: 'hidden',
|
|
258
|
-
flex: "0 0 ".concat(sSideWidth.value, "px"),
|
|
259
|
-
maxWidth: "".concat(sSideWidth.value, "px"),
|
|
260
|
-
minWidth: "".concat(sSideWidth.value, "px"),
|
|
261
|
-
transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
|
|
262
|
-
}
|
|
263
|
-
}, null), (0, _vue.createVNode)(_antDesignVue.LayoutSider, {
|
|
264
|
-
"collapsible": true,
|
|
265
|
-
"trigger": null,
|
|
266
|
-
"collapsed": collapsed,
|
|
267
|
-
"breakpoint": breakpoint || undefined,
|
|
268
|
-
"onCollapse": function onCollapse(collapse) {
|
|
269
|
-
var _props$onCollapse;
|
|
270
|
-
(_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
|
|
271
|
-
},
|
|
272
|
-
"collapsedWidth": collapsedWidth,
|
|
273
|
-
"style": {
|
|
274
|
-
overflow: 'hidden',
|
|
275
|
-
paddingTop: "".concat(props.headerHeight, "px"),
|
|
276
|
-
zIndex: props.layoutType === _defaultSettings.LayoutType.PAD ? 200 : 1
|
|
277
|
-
},
|
|
278
|
-
"width": siderWidth,
|
|
279
|
-
"theme": theme,
|
|
280
|
-
"class": classNames.value
|
|
281
|
-
}, {
|
|
282
|
-
default: function _default() {
|
|
283
|
-
return [headerDom && (0, _vue.createVNode)("div", {
|
|
284
|
-
"class": logCls.value,
|
|
285
|
-
"onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
|
|
286
|
-
"id": "logo",
|
|
287
|
-
"style": props === null || props === void 0 ? void 0 : props.logoStyle
|
|
288
|
-
}, [headerDom]), extraDom && (0, _vue.createVNode)("div", {
|
|
289
|
-
"class": (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom)
|
|
290
|
-
}, [extraDom]), (0, _vue.createVNode)("div", {
|
|
291
|
-
"class": "".concat(baseClassName, "-body"),
|
|
292
|
-
"style": "flex: 1; overflow: hidden auto;"
|
|
293
|
-
}, [props.layoutType !== _defaultSettings.LayoutType.CARD ? menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), (0, _vue.createVNode)("div", {
|
|
294
|
-
"class": "".concat(baseClassName, "-links")
|
|
295
|
-
}, [linksRender ? linksRender() : collapsedButtonRender !== false ? (0, _vue.createVNode)(_antDesignVue.Menu, {
|
|
296
|
-
"class": "".concat(baseClassName, "-link-menu"),
|
|
297
|
-
"inlineIndent": 16,
|
|
298
|
-
"theme": theme,
|
|
299
|
-
"selectedKeys": [],
|
|
300
|
-
"openKeys": [],
|
|
215
|
+
};
|
|
216
|
+
var collapsedButtonRender = (0, _vue.computed)(function () {
|
|
217
|
+
return props.collapsedButtonRender === undefined ? defaultRenderCollapsedButton : props.collapsedButtonRender;
|
|
218
|
+
});
|
|
219
|
+
var headerDom = (0, _vue.computed)(function () {
|
|
220
|
+
return defaultRenderLogoAndTitle((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
221
|
+
baseClassName: baseClassName
|
|
222
|
+
}));
|
|
223
|
+
});
|
|
224
|
+
var extraDom = (0, _vue.computed)(function () {
|
|
225
|
+
return props.menuExtraRender && props.menuExtraRender(props);
|
|
226
|
+
});
|
|
227
|
+
return function () {
|
|
228
|
+
if (props.layoutType !== _defaultSettings.LayoutType.CARD && hasSplitMenu.value && (0, _vue.unref)(context.flatMenuData).length === 0) {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
var defaultMenuDom = (0, _vue.createVNode)(_BaseMenu.default, {
|
|
232
|
+
"prefixCls": getPrefixCls(),
|
|
233
|
+
"locale": props.locale || context.locale,
|
|
234
|
+
"theme": props.theme,
|
|
301
235
|
"mode": "inline",
|
|
302
|
-
"
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
236
|
+
"menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
|
|
237
|
+
"collapsed": props.collapsed,
|
|
238
|
+
"openKeys": context.openKeys,
|
|
239
|
+
"selectedKeys": context.selectedKeys,
|
|
240
|
+
"menuItemRender": props.menuItemRender,
|
|
241
|
+
"subMenuItemRender": props.subMenuItemRender,
|
|
242
|
+
"iconfontUrl": props.iconfontUrl,
|
|
243
|
+
"onClick": props.onMenuClick,
|
|
244
|
+
"style": {
|
|
245
|
+
width: '100%'
|
|
246
|
+
},
|
|
247
|
+
"class": "".concat(baseClassName, "-menu"),
|
|
248
|
+
'onUpdate:openKeys': function onUpdateOpenKeys($event) {
|
|
249
|
+
return props.onOpenKeys && props.onOpenKeys($event);
|
|
250
|
+
},
|
|
251
|
+
'onUpdate:selectedKeys': handleSelect
|
|
252
|
+
}, null);
|
|
253
|
+
return (0, _vue.createVNode)(_vue.Fragment, null, [context.fixSiderbar && (0, _vue.createVNode)("div", {
|
|
254
|
+
"style": {
|
|
255
|
+
width: "".concat(sSideWidth.value, "px"),
|
|
256
|
+
overflow: 'hidden',
|
|
257
|
+
flex: "0 0 ".concat(sSideWidth.value, "px"),
|
|
258
|
+
maxWidth: "".concat(sSideWidth.value, "px"),
|
|
259
|
+
minWidth: "".concat(sSideWidth.value, "px"),
|
|
260
|
+
transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
|
|
306
261
|
}
|
|
262
|
+
}, null), (0, _vue.createVNode)(_antDesignVue.LayoutSider, {
|
|
263
|
+
"collapsible": true,
|
|
264
|
+
"trigger": null,
|
|
265
|
+
"collapsed": props.collapsed,
|
|
266
|
+
"breakpoint": props.breakpoint || undefined,
|
|
267
|
+
"onCollapse": function onCollapse(collapse) {
|
|
268
|
+
var _props$onCollapse;
|
|
269
|
+
(_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
|
|
270
|
+
},
|
|
271
|
+
"collapsedWidth": props.collapsedWidth,
|
|
272
|
+
"style": {
|
|
273
|
+
overflow: 'hidden',
|
|
274
|
+
paddingTop: "".concat(props.headerHeight, "px"),
|
|
275
|
+
zIndex: props.layoutType === _defaultSettings.LayoutType.PAD ? 200 : 1
|
|
276
|
+
},
|
|
277
|
+
"width": props.siderWidth,
|
|
278
|
+
"theme": props.theme,
|
|
279
|
+
"class": classNames.value
|
|
307
280
|
}, {
|
|
308
281
|
default: function _default() {
|
|
309
|
-
return [(0, _vue.createVNode)(
|
|
310
|
-
"
|
|
311
|
-
"
|
|
312
|
-
"
|
|
282
|
+
return [headerDom.value && (0, _vue.createVNode)("div", {
|
|
283
|
+
"class": logCls.value,
|
|
284
|
+
"onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
|
|
285
|
+
"id": "logo",
|
|
286
|
+
"style": props === null || props === void 0 ? void 0 : props.logoStyle
|
|
287
|
+
}, [headerDom.value]), extraDom.value && (0, _vue.createVNode)("div", {
|
|
288
|
+
"class": (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom.value)
|
|
289
|
+
}, [extraDom.value]), (0, _vue.createVNode)("div", {
|
|
290
|
+
"class": "".concat(baseClassName, "-body"),
|
|
291
|
+
"style": "flex: 1; overflow: hidden auto;"
|
|
292
|
+
}, [props.layoutType !== _defaultSettings.LayoutType.CARD ? props.menuContentRender && props.menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), (0, _vue.createVNode)("div", {
|
|
293
|
+
"class": "".concat(baseClassName, "-links")
|
|
294
|
+
}, [props.linksRender ? props.linksRender() : collapsedButtonRender.value !== false ? (0, _vue.createVNode)(_antDesignVue.Menu, {
|
|
295
|
+
"class": "".concat(baseClassName, "-link-menu"),
|
|
296
|
+
"inlineIndent": 16,
|
|
297
|
+
"theme": props.theme,
|
|
298
|
+
"selectedKeys": [],
|
|
299
|
+
"openKeys": [],
|
|
300
|
+
"mode": "inline",
|
|
301
|
+
"onClick": function onClick() {
|
|
302
|
+
if (props.onCollapse) {
|
|
303
|
+
props.onCollapse(!props.collapsed);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
313
306
|
}, {
|
|
314
307
|
default: function _default() {
|
|
315
|
-
return [
|
|
308
|
+
return [(0, _vue.createVNode)(_antDesignVue.Menu.Item, {
|
|
309
|
+
"key": 'collapsed-button',
|
|
310
|
+
"class": "".concat(baseClassName, "-collapsed-button"),
|
|
311
|
+
"title": false
|
|
312
|
+
}, {
|
|
313
|
+
default: function _default() {
|
|
314
|
+
return [collapsedButtonRender.value && typeof collapsedButtonRender.value === 'function' ? collapsedButtonRender.value(props.collapsed) : collapsedButtonRender.value];
|
|
315
|
+
}
|
|
316
|
+
})];
|
|
316
317
|
}
|
|
317
|
-
})];
|
|
318
|
+
}) : null])];
|
|
318
319
|
}
|
|
319
|
-
})
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
};
|
|
320
|
+
})]);
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
});
|
|
323
324
|
var _default2 = exports.default = SiderMenu;
|
|
@@ -26,7 +26,7 @@ var genSiderMenuStyle = exports.genSiderMenuStyle = function genSiderMenuStyle(c
|
|
|
26
26
|
opacity: 1
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(proLayoutSiderMenuCls), (_$concat9 = {
|
|
29
|
+
return ["\n ".concat(proLayoutSiderMenuCls, " > ").concat(token.antCls, "-layout-sider-children {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n "), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(proLayoutSiderMenuCls), (_$concat9 = {
|
|
30
30
|
position: 'relative',
|
|
31
31
|
backgroundColor: '#001529',
|
|
32
32
|
borderRight: 0,
|
|
@@ -120,7 +120,7 @@ var genSiderMenuStyle = exports.genSiderMenuStyle = function genSiderMenuStyle(c
|
|
|
120
120
|
}, "> ".concat(token.antCls, "-menu-root"), (0, _defineProperty2.default)({}, ":not".concat(proLayoutSiderMenuCls, "-link-menu"), {
|
|
121
121
|
height: "calc(100vh - ".concat(proLayoutHeaderHeight, ")"),
|
|
122
122
|
overflowY: 'auto'
|
|
123
|
-
}))), "".concat(proLayoutSiderMenuCls, "-light"), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
123
|
+
}))), "&".concat(proLayoutSiderMenuCls, "-light"), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
124
124
|
backgroundColor: token.colorBgContainer,
|
|
125
125
|
boxShadow: '2px 0 8px 0 rgba(29, 35, 41, 0.05)'
|
|
126
126
|
}, "".concat(token.antCls, "-layout-sider-children"), {
|
|
@@ -146,7 +146,7 @@ var genSiderMenuStyle = exports.genSiderMenuStyle = function genSiderMenuStyle(c
|
|
|
146
146
|
})), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_$concat9, "".concat(proLayoutSiderMenuCls, "-icon"), {
|
|
147
147
|
width: '14px',
|
|
148
148
|
verticalAlign: 'baseline'
|
|
149
|
-
}), "".concat(proLayoutSiderMenuCls, "-
|
|
149
|
+
}), "".concat(proLayoutSiderMenuCls, "-links"), (0, _defineProperty2.default)({
|
|
150
150
|
width: '100%'
|
|
151
151
|
}, "ul".concat(token.antCls, "-menu-root"), {
|
|
152
152
|
height: 'auto'
|
|
@@ -173,5 +173,5 @@ var genSiderMenuStyle = exports.genSiderMenuStyle = function genSiderMenuStyle(c
|
|
|
173
173
|
'&:hover': {
|
|
174
174
|
backgroundColor: '#efefef'
|
|
175
175
|
}
|
|
176
|
-
});
|
|
176
|
+
})];
|
|
177
177
|
};
|
|
@@ -8,16 +8,12 @@ exports.default = void 0;
|
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var _internal = require("ant-design-vue/es/theme/internal");
|
|
11
|
-
var _antDesignVue = require("ant-design-vue");
|
|
12
11
|
var _variable = _interopRequireDefault(require("./variable"));
|
|
13
12
|
var genCompoentStyle = function genCompoentStyle(styleFn) {
|
|
14
|
-
return (0, _internal.genComponentStyleHook)('jetlinks-components', function (_token) {
|
|
15
|
-
var _theme$useToken = _antDesignVue.theme.useToken(),
|
|
16
|
-
token = _theme$useToken.token,
|
|
17
|
-
hashId = _theme$useToken.hashId;
|
|
13
|
+
return (0, _internal.genComponentStyleHook)('jetlinks-components', function (_token, info) {
|
|
18
14
|
var componentToken = {
|
|
19
15
|
token: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _token), _variable.default),
|
|
20
|
-
hashId: hashId
|
|
16
|
+
hashId: info.hashId,
|
|
21
17
|
componentCls: ".".concat(_token.prefixCls)
|
|
22
18
|
};
|
|
23
19
|
return (0, _toConsumableArray2.default)(styleFn.map(function (item) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jetlinks-web/components",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -154,9 +154,9 @@
|
|
|
154
154
|
"webpack-dev-server": "^4.0.0",
|
|
155
155
|
"webpack-merge": "^5.0.0",
|
|
156
156
|
"webpackbar": "^5.0.2",
|
|
157
|
+
"@jetlinks-web/utils": "^1.3.3",
|
|
157
158
|
"@jetlinks-web/constants": "^1.0.9",
|
|
158
|
-
"@jetlinks-web/hooks": "^1.1.2"
|
|
159
|
-
"@jetlinks-web/utils": "^1.3.3"
|
|
159
|
+
"@jetlinks-web/hooks": "^1.1.2"
|
|
160
160
|
},
|
|
161
161
|
"publishConfig": {
|
|
162
162
|
"registry": "https://registry.npmjs.org/",
|