@v-c/menu 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Icon.cjs +7 -4
- package/dist/Icon.js +8 -5
- package/dist/Menu.cjs +8 -7
- package/dist/Menu.d.ts +2 -2
- package/dist/Menu.js +8 -7
- package/dist/MenuItemGroup.cjs +30 -27
- package/dist/MenuItemGroup.js +30 -27
- package/dist/SubMenu/PopupTrigger.cjs +2 -2
- package/dist/SubMenu/PopupTrigger.js +2 -2
- package/dist/SubMenu/index.cjs +7 -7
- package/dist/SubMenu/index.d.ts +1 -1
- package/dist/SubMenu/index.js +7 -7
- package/dist/context/MenuContext.cjs +2 -2
- package/dist/context/MenuContext.d.ts +2 -2
- package/dist/context/MenuContext.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/interface.d.ts +1 -1
- package/package.json +4 -3
package/dist/Icon.cjs
CHANGED
|
@@ -5,15 +5,18 @@ let __v_c_util_dist_props_util = require("@v-c/util/dist/props-util");
|
|
|
5
5
|
var Icon = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
6
6
|
return () => {
|
|
7
7
|
const { icon, props: iconProps } = props;
|
|
8
|
+
const children = slots.default?.();
|
|
8
9
|
let iconNode;
|
|
9
10
|
if (icon === null || icon === false) return null;
|
|
10
11
|
if (typeof icon === "function") {
|
|
11
12
|
const childIcons = icon(iconProps);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
if (!childIcons) {
|
|
14
|
+
iconNode = null;
|
|
15
|
+
return children;
|
|
16
|
+
}
|
|
17
|
+
iconNode = (0, __v_c_util_dist_props_util.filterEmpty)(childIcons ? Array.isArray(childIcons) ? childIcons : [childIcons] : []);
|
|
15
18
|
} else if (typeof icon !== "boolean") iconNode = icon;
|
|
16
|
-
return iconNode ||
|
|
19
|
+
return iconNode || children || null;
|
|
17
20
|
};
|
|
18
21
|
}, { props: {
|
|
19
22
|
icon: {
|
package/dist/Icon.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineComponent } from "vue";
|
|
2
2
|
import { filterEmpty } from "@v-c/util/dist/props-util";
|
|
3
3
|
var Icon_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
|
|
4
4
|
return () => {
|
|
5
5
|
const { icon, props: iconProps } = props;
|
|
6
|
+
const children = slots.default?.();
|
|
6
7
|
let iconNode;
|
|
7
8
|
if (icon === null || icon === false) return null;
|
|
8
9
|
if (typeof icon === "function") {
|
|
9
10
|
const childIcons = icon(iconProps);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (!childIcons) {
|
|
12
|
+
iconNode = null;
|
|
13
|
+
return children;
|
|
14
|
+
}
|
|
15
|
+
iconNode = filterEmpty(childIcons ? Array.isArray(childIcons) ? childIcons : [childIcons] : []);
|
|
13
16
|
} else if (typeof icon !== "boolean") iconNode = icon;
|
|
14
|
-
return iconNode ||
|
|
17
|
+
return iconNode || children || null;
|
|
15
18
|
};
|
|
16
19
|
}, { props: {
|
|
17
20
|
icon: {
|
package/dist/Menu.cjs
CHANGED
|
@@ -181,8 +181,8 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
|
|
|
181
181
|
require_MenuContext.useMenuContextProvider((0, vue.computed)(() => {
|
|
182
182
|
return {
|
|
183
183
|
prefixCls: props.prefixCls || defaults.prefixCls,
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
rootClass: props.rootClass,
|
|
185
|
+
classes: props.classes,
|
|
186
186
|
styles: props.styles,
|
|
187
187
|
mode: internalMode.value,
|
|
188
188
|
openKeys: mergedOpenKeys.value,
|
|
@@ -236,7 +236,7 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
|
|
|
236
236
|
const wrappedChildList = internalMode.value !== "horizontal" || props?.disabledOverflow ? childList.value : childList.value.map((child, index) => (0, vue.createVNode)(require_MenuContext.default, {
|
|
237
237
|
"key": child.key,
|
|
238
238
|
"overflowDisabled": index > lastVisibleIndex.value,
|
|
239
|
-
"
|
|
239
|
+
"classes": props.classes,
|
|
240
240
|
"styles": props.styles
|
|
241
241
|
}, _isSlot(child) ? child : { default: () => [child] }));
|
|
242
242
|
const container = (0, vue.createVNode)(__v_c_overflow.default, (0, vue.mergeProps)({
|
|
@@ -247,7 +247,7 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
|
|
|
247
247
|
"class": (0, __v_c_util.classNames)(props.prefixCls || defaults.prefixCls, `${props.prefixCls || defaults.prefixCls}-root`, `${props.prefixCls || defaults.prefixCls}-${internalMode.value}`, _attrs.class || "", {
|
|
248
248
|
[`${props.prefixCls || defaults.prefixCls}-inline-collapsed`]: internalInlineCollapsed.value,
|
|
249
249
|
[`${props.prefixCls || defaults.prefixCls}-rtl`]: isRtl.value
|
|
250
|
-
}, props.
|
|
250
|
+
}, props.rootClass),
|
|
251
251
|
"style": _attrs.style,
|
|
252
252
|
"data": wrappedChildList,
|
|
253
253
|
"renderRawItem": (node) => {
|
|
@@ -283,12 +283,12 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
|
|
|
283
283
|
required: false,
|
|
284
284
|
default: void 0
|
|
285
285
|
},
|
|
286
|
-
|
|
286
|
+
rootClass: {
|
|
287
287
|
type: String,
|
|
288
288
|
required: false,
|
|
289
289
|
default: void 0
|
|
290
290
|
},
|
|
291
|
-
|
|
291
|
+
classes: {
|
|
292
292
|
type: Object,
|
|
293
293
|
required: false,
|
|
294
294
|
default: void 0
|
|
@@ -505,7 +505,8 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
|
|
|
505
505
|
default: void 0
|
|
506
506
|
}
|
|
507
507
|
}, defaults),
|
|
508
|
-
name: "VcMenu"
|
|
508
|
+
name: "VcMenu",
|
|
509
|
+
inheritAttrs: false
|
|
509
510
|
});
|
|
510
511
|
var Menu_default = Menu;
|
|
511
512
|
exports.default = Menu_default;
|
package/dist/Menu.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { BuiltinPlacements, Components, ItemType, MenuClickEventHandler, MenuMod
|
|
|
5
5
|
import { SemanticName } from './SubMenu';
|
|
6
6
|
export interface MenuProps {
|
|
7
7
|
prefixCls?: string;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
rootClass?: string;
|
|
9
|
+
classes?: Partial<Record<SemanticName, string>>;
|
|
10
10
|
styles?: Partial<Record<SemanticName, CSSProperties>>;
|
|
11
11
|
items?: ItemType[];
|
|
12
12
|
disabled?: boolean;
|
package/dist/Menu.js
CHANGED
|
@@ -176,8 +176,8 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
|
|
|
176
176
|
useMenuContextProvider(computed(() => {
|
|
177
177
|
return {
|
|
178
178
|
prefixCls: props.prefixCls || defaults.prefixCls,
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
rootClass: props.rootClass,
|
|
180
|
+
classes: props.classes,
|
|
181
181
|
styles: props.styles,
|
|
182
182
|
mode: internalMode.value,
|
|
183
183
|
openKeys: mergedOpenKeys.value,
|
|
@@ -231,7 +231,7 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
|
|
|
231
231
|
const wrappedChildList = internalMode.value !== "horizontal" || props?.disabledOverflow ? childList.value : childList.value.map((child, index) => createVNode(MenuContext_default, {
|
|
232
232
|
"key": child.key,
|
|
233
233
|
"overflowDisabled": index > lastVisibleIndex.value,
|
|
234
|
-
"
|
|
234
|
+
"classes": props.classes,
|
|
235
235
|
"styles": props.styles
|
|
236
236
|
}, _isSlot(child) ? child : { default: () => [child] }));
|
|
237
237
|
const container = createVNode(Overflow, mergeProps({
|
|
@@ -242,7 +242,7 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
|
|
|
242
242
|
"class": classNames(props.prefixCls || defaults.prefixCls, `${props.prefixCls || defaults.prefixCls}-root`, `${props.prefixCls || defaults.prefixCls}-${internalMode.value}`, _attrs.class || "", {
|
|
243
243
|
[`${props.prefixCls || defaults.prefixCls}-inline-collapsed`]: internalInlineCollapsed.value,
|
|
244
244
|
[`${props.prefixCls || defaults.prefixCls}-rtl`]: isRtl.value
|
|
245
|
-
}, props.
|
|
245
|
+
}, props.rootClass),
|
|
246
246
|
"style": _attrs.style,
|
|
247
247
|
"data": wrappedChildList,
|
|
248
248
|
"renderRawItem": (node) => {
|
|
@@ -278,12 +278,12 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
|
|
|
278
278
|
required: false,
|
|
279
279
|
default: void 0
|
|
280
280
|
},
|
|
281
|
-
|
|
281
|
+
rootClass: {
|
|
282
282
|
type: String,
|
|
283
283
|
required: false,
|
|
284
284
|
default: void 0
|
|
285
285
|
},
|
|
286
|
-
|
|
286
|
+
classes: {
|
|
287
287
|
type: Object,
|
|
288
288
|
required: false,
|
|
289
289
|
default: void 0
|
|
@@ -500,6 +500,7 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
|
|
|
500
500
|
default: void 0
|
|
501
501
|
}
|
|
502
502
|
}, defaults),
|
|
503
|
-
name: "VcMenu"
|
|
503
|
+
name: "VcMenu",
|
|
504
|
+
inheritAttrs: false
|
|
504
505
|
});
|
|
505
506
|
export { Menu_default as default };
|
package/dist/MenuItemGroup.cjs
CHANGED
|
@@ -15,7 +15,7 @@ var InternalMenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, { s
|
|
|
15
15
|
const context = require_MenuContext.useMenuContext();
|
|
16
16
|
return () => {
|
|
17
17
|
const { class: className, title, eventKey,...restProps } = props;
|
|
18
|
-
const { prefixCls,
|
|
18
|
+
const { prefixCls, classes: menuClassNames, styles } = context?.value ?? {};
|
|
19
19
|
const groupPrefixCls = `${prefixCls}-item-group`;
|
|
20
20
|
return (0, vue.createVNode)("li", (0, vue.mergeProps)({ "role": "presentation" }, restProps, {
|
|
21
21
|
"onClick": (e) => e.stopPropagation(),
|
|
@@ -31,33 +31,36 @@ var InternalMenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, { s
|
|
|
31
31
|
"style": styles?.list
|
|
32
32
|
}, [slots?.default ? slots.default() : null])]);
|
|
33
33
|
};
|
|
34
|
-
}, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
}, {
|
|
35
|
+
props: {
|
|
36
|
+
title: {
|
|
37
|
+
type: null,
|
|
38
|
+
required: false,
|
|
39
|
+
default: void 0
|
|
40
|
+
},
|
|
41
|
+
eventKey: {
|
|
42
|
+
type: String,
|
|
43
|
+
required: false,
|
|
44
|
+
default: void 0
|
|
45
|
+
},
|
|
46
|
+
warnKey: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
required: false,
|
|
49
|
+
default: void 0
|
|
50
|
+
},
|
|
51
|
+
style: {
|
|
52
|
+
type: null,
|
|
53
|
+
required: false,
|
|
54
|
+
default: void 0
|
|
55
|
+
},
|
|
56
|
+
class: {
|
|
57
|
+
type: String,
|
|
58
|
+
required: false,
|
|
59
|
+
default: void 0
|
|
60
|
+
}
|
|
54
61
|
},
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
required: false,
|
|
58
|
-
default: void 0
|
|
59
|
-
}
|
|
60
|
-
} });
|
|
62
|
+
name: "InternalMenuItemGroup"
|
|
63
|
+
});
|
|
61
64
|
var MenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, ctx) => {
|
|
62
65
|
const connectedKeyPath = require_PathContext.useFullPath((0, vue.computed)(() => props.eventKey));
|
|
63
66
|
const measure = require_PathContext.useMeasure();
|
package/dist/MenuItemGroup.js
CHANGED
|
@@ -12,7 +12,7 @@ var InternalMenuItemGroup = /* @__PURE__ */ defineComponent((props, { slots }) =
|
|
|
12
12
|
const context = useMenuContext();
|
|
13
13
|
return () => {
|
|
14
14
|
const { class: className, title, eventKey,...restProps } = props;
|
|
15
|
-
const { prefixCls,
|
|
15
|
+
const { prefixCls, classes: menuClassNames, styles } = context?.value ?? {};
|
|
16
16
|
const groupPrefixCls = `${prefixCls}-item-group`;
|
|
17
17
|
return createVNode("li", mergeProps({ "role": "presentation" }, restProps, {
|
|
18
18
|
"onClick": (e) => e.stopPropagation(),
|
|
@@ -28,33 +28,36 @@ var InternalMenuItemGroup = /* @__PURE__ */ defineComponent((props, { slots }) =
|
|
|
28
28
|
"style": styles?.list
|
|
29
29
|
}, [slots?.default ? slots.default() : null])]);
|
|
30
30
|
};
|
|
31
|
-
}, {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
31
|
+
}, {
|
|
32
|
+
props: {
|
|
33
|
+
title: {
|
|
34
|
+
type: null,
|
|
35
|
+
required: false,
|
|
36
|
+
default: void 0
|
|
37
|
+
},
|
|
38
|
+
eventKey: {
|
|
39
|
+
type: String,
|
|
40
|
+
required: false,
|
|
41
|
+
default: void 0
|
|
42
|
+
},
|
|
43
|
+
warnKey: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
required: false,
|
|
46
|
+
default: void 0
|
|
47
|
+
},
|
|
48
|
+
style: {
|
|
49
|
+
type: null,
|
|
50
|
+
required: false,
|
|
51
|
+
default: void 0
|
|
52
|
+
},
|
|
53
|
+
class: {
|
|
54
|
+
type: String,
|
|
55
|
+
required: false,
|
|
56
|
+
default: void 0
|
|
57
|
+
}
|
|
51
58
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
required: false,
|
|
55
|
-
default: void 0
|
|
56
|
-
}
|
|
57
|
-
} });
|
|
59
|
+
name: "InternalMenuItemGroup"
|
|
60
|
+
});
|
|
58
61
|
var MenuItemGroup_default = /* @__PURE__ */ defineComponent((props, ctx) => {
|
|
59
62
|
const connectedKeyPath = useFullPath(computed(() => props.eventKey));
|
|
60
63
|
const measure = useMeasure();
|
|
@@ -62,10 +62,10 @@ var PopupTrigger = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) =
|
|
|
62
62
|
});
|
|
63
63
|
return () => {
|
|
64
64
|
const { popupClassName, popup, popupStyle, popupOffset, disabled, onVisibleChange, prefixCls } = props;
|
|
65
|
-
const { rtl,
|
|
65
|
+
const { rtl, rootClass, mode, getPopupContainer, triggerSubMenuAction, subMenuCloseDelay, subMenuOpenDelay, forceSubMenuRender } = menuContext?.value ?? {};
|
|
66
66
|
return (0, vue.createVNode)(__v_c_trigger.default, {
|
|
67
67
|
"prefixCls": prefixCls,
|
|
68
|
-
"popupClassName": (0, __v_c_util.clsx)(`${prefixCls}-popup`, { [`${prefixCls}-rtl`]: rtl }, popupClassName,
|
|
68
|
+
"popupClassName": (0, __v_c_util.clsx)(`${prefixCls}-popup`, { [`${prefixCls}-rtl`]: rtl }, popupClassName, rootClass),
|
|
69
69
|
"stretch": mode === "horizontal" ? "minWidth" : void 0,
|
|
70
70
|
"getPopupContainer": getPopupContainer,
|
|
71
71
|
"builtinPlacements": placement.value,
|
|
@@ -58,10 +58,10 @@ var PopupTrigger_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
|
|
|
58
58
|
});
|
|
59
59
|
return () => {
|
|
60
60
|
const { popupClassName, popup, popupStyle, popupOffset, disabled, onVisibleChange, prefixCls } = props;
|
|
61
|
-
const { rtl,
|
|
61
|
+
const { rtl, rootClass, mode, getPopupContainer, triggerSubMenuAction, subMenuCloseDelay, subMenuOpenDelay, forceSubMenuRender } = menuContext?.value ?? {};
|
|
62
62
|
return createVNode(Trigger, {
|
|
63
63
|
"prefixCls": prefixCls,
|
|
64
|
-
"popupClassName": clsx(`${prefixCls}-popup`, { [`${prefixCls}-rtl`]: rtl }, popupClassName,
|
|
64
|
+
"popupClassName": clsx(`${prefixCls}-popup`, { [`${prefixCls}-rtl`]: rtl }, popupClassName, rootClass),
|
|
65
65
|
"stretch": mode === "horizontal" ? "minWidth" : void 0,
|
|
66
66
|
"getPopupContainer": getPopupContainer,
|
|
67
67
|
"builtinPlacements": placement.value,
|
package/dist/SubMenu/index.cjs
CHANGED
|
@@ -107,7 +107,7 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
|
|
|
107
107
|
else triggerModeRef.value = mode.value;
|
|
108
108
|
}, { immediate: true });
|
|
109
109
|
return () => {
|
|
110
|
-
const { style, title, class: className, popupClassName, popupOffset, popupStyle,...restProps } = props;
|
|
110
|
+
const { style, title, class: className, popupClassName, popupOffset, popupStyle, classes, styles,...restProps } = props;
|
|
111
111
|
const children = slots.default?.();
|
|
112
112
|
const popupId = domDataId.value && `${domDataId.value}-popup`;
|
|
113
113
|
const expandIconProps = {
|
|
@@ -140,8 +140,8 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
|
|
|
140
140
|
const popupContentTriggerMode = triggerModeRef.value;
|
|
141
141
|
const renderPopupContent = () => {
|
|
142
142
|
const originNode = (0, vue.createVNode)(require_MenuContext.default, {
|
|
143
|
-
"
|
|
144
|
-
"styles":
|
|
143
|
+
"classes": classes,
|
|
144
|
+
"styles": styles,
|
|
145
145
|
"mode": popupContentTriggerMode === "horizontal" ? "vertical" : popupContentTriggerMode
|
|
146
146
|
}, { default: () => [(0, vue.createVNode)(require_SubMenuList.default, { "id": popupId }, _isSlot(children) ? children : { default: () => [children] })] });
|
|
147
147
|
const mergedPopupRender = props?.popupRender || contextPopupRender.value;
|
|
@@ -194,7 +194,7 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
|
|
|
194
194
|
};
|
|
195
195
|
}, {
|
|
196
196
|
props: {
|
|
197
|
-
|
|
197
|
+
classes: {
|
|
198
198
|
type: Object,
|
|
199
199
|
required: false,
|
|
200
200
|
default: void 0
|
|
@@ -239,7 +239,7 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
|
|
|
239
239
|
required: false,
|
|
240
240
|
default: void 0
|
|
241
241
|
},
|
|
242
|
-
|
|
242
|
+
rootClass: {
|
|
243
243
|
type: String,
|
|
244
244
|
required: false,
|
|
245
245
|
default: void 0
|
|
@@ -346,7 +346,7 @@ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
|
346
346
|
};
|
|
347
347
|
}, {
|
|
348
348
|
props: {
|
|
349
|
-
|
|
349
|
+
classes: {
|
|
350
350
|
type: Object,
|
|
351
351
|
required: false,
|
|
352
352
|
default: void 0
|
|
@@ -391,7 +391,7 @@ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
|
391
391
|
required: false,
|
|
392
392
|
default: void 0
|
|
393
393
|
},
|
|
394
|
-
|
|
394
|
+
rootClass: {
|
|
395
395
|
type: String,
|
|
396
396
|
required: false,
|
|
397
397
|
default: void 0
|
package/dist/SubMenu/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { CSSProperties } from 'vue';
|
|
|
3
3
|
import { PopupRender, SubMenuType } from '../interface';
|
|
4
4
|
export type SemanticName = 'list' | 'listTitle';
|
|
5
5
|
export interface SubMenuProps extends Omit<SubMenuType, 'key' | 'children' | 'label'> {
|
|
6
|
-
|
|
6
|
+
classes?: Partial<Record<SemanticName, string>>;
|
|
7
7
|
styles?: Partial<Record<SemanticName, CSSProperties>>;
|
|
8
8
|
title?: VueNode;
|
|
9
9
|
/** @private Used for rest popup. Do not use in your prod */
|
package/dist/SubMenu/index.js
CHANGED
|
@@ -103,7 +103,7 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
|
|
|
103
103
|
else triggerModeRef.value = mode.value;
|
|
104
104
|
}, { immediate: true });
|
|
105
105
|
return () => {
|
|
106
|
-
const { style, title, class: className, popupClassName, popupOffset, popupStyle,...restProps } = props;
|
|
106
|
+
const { style, title, class: className, popupClassName, popupOffset, popupStyle, classes, styles,...restProps } = props;
|
|
107
107
|
const children = slots.default?.();
|
|
108
108
|
const popupId = domDataId.value && `${domDataId.value}-popup`;
|
|
109
109
|
const expandIconProps = {
|
|
@@ -136,8 +136,8 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
|
|
|
136
136
|
const popupContentTriggerMode = triggerModeRef.value;
|
|
137
137
|
const renderPopupContent = () => {
|
|
138
138
|
const originNode = createVNode(MenuContext_default, {
|
|
139
|
-
"
|
|
140
|
-
"styles":
|
|
139
|
+
"classes": classes,
|
|
140
|
+
"styles": styles,
|
|
141
141
|
"mode": popupContentTriggerMode === "horizontal" ? "vertical" : popupContentTriggerMode
|
|
142
142
|
}, { default: () => [createVNode(SubMenuList_default, { "id": popupId }, _isSlot(children) ? children : { default: () => [children] })] });
|
|
143
143
|
const mergedPopupRender = props?.popupRender || contextPopupRender.value;
|
|
@@ -190,7 +190,7 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
|
|
|
190
190
|
};
|
|
191
191
|
}, {
|
|
192
192
|
props: {
|
|
193
|
-
|
|
193
|
+
classes: {
|
|
194
194
|
type: Object,
|
|
195
195
|
required: false,
|
|
196
196
|
default: void 0
|
|
@@ -235,7 +235,7 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
|
|
|
235
235
|
required: false,
|
|
236
236
|
default: void 0
|
|
237
237
|
},
|
|
238
|
-
|
|
238
|
+
rootClass: {
|
|
239
239
|
type: String,
|
|
240
240
|
required: false,
|
|
241
241
|
default: void 0
|
|
@@ -342,7 +342,7 @@ var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
|
|
|
342
342
|
};
|
|
343
343
|
}, {
|
|
344
344
|
props: {
|
|
345
|
-
|
|
345
|
+
classes: {
|
|
346
346
|
type: Object,
|
|
347
347
|
required: false,
|
|
348
348
|
default: void 0
|
|
@@ -387,7 +387,7 @@ var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
|
|
|
387
387
|
required: false,
|
|
388
388
|
default: void 0
|
|
389
389
|
},
|
|
390
|
-
|
|
390
|
+
rootClass: {
|
|
391
391
|
type: String,
|
|
392
392
|
required: false,
|
|
393
393
|
default: void 0
|
|
@@ -38,7 +38,7 @@ var InheritableContextProvider = /* @__PURE__ */ (0, vue.defineComponent)((props
|
|
|
38
38
|
required: false,
|
|
39
39
|
default: void 0
|
|
40
40
|
},
|
|
41
|
-
|
|
41
|
+
classes: {
|
|
42
42
|
type: Object,
|
|
43
43
|
required: false,
|
|
44
44
|
default: void 0
|
|
@@ -48,7 +48,7 @@ var InheritableContextProvider = /* @__PURE__ */ (0, vue.defineComponent)((props
|
|
|
48
48
|
required: false,
|
|
49
49
|
default: void 0
|
|
50
50
|
},
|
|
51
|
-
|
|
51
|
+
rootClass: {
|
|
52
52
|
type: String,
|
|
53
53
|
required: false,
|
|
54
54
|
default: void 0
|
|
@@ -4,9 +4,9 @@ import { BuiltinPlacements, MenuClickEventHandler, MenuMode, PopupRender, Render
|
|
|
4
4
|
import { SubMenuProps } from '../SubMenu';
|
|
5
5
|
export interface MenuContextProps {
|
|
6
6
|
prefixCls: string;
|
|
7
|
-
|
|
7
|
+
classes?: SubMenuProps['classes'];
|
|
8
8
|
styles?: SubMenuProps['styles'];
|
|
9
|
-
|
|
9
|
+
rootClass?: string;
|
|
10
10
|
openKeys: string[];
|
|
11
11
|
rtl?: boolean;
|
|
12
12
|
mode: MenuMode;
|
|
@@ -35,7 +35,7 @@ var MenuContext_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
|
|
|
35
35
|
required: false,
|
|
36
36
|
default: void 0
|
|
37
37
|
},
|
|
38
|
-
|
|
38
|
+
classes: {
|
|
39
39
|
type: Object,
|
|
40
40
|
required: false,
|
|
41
41
|
default: void 0
|
|
@@ -45,7 +45,7 @@ var MenuContext_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
|
|
|
45
45
|
required: false,
|
|
46
46
|
default: void 0
|
|
47
47
|
},
|
|
48
|
-
|
|
48
|
+
rootClass: {
|
|
49
49
|
type: String,
|
|
50
50
|
required: false,
|
|
51
51
|
default: void 0
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MenuDividerType, MenuItemGroupType, MenuItemType, MenuRef, RenderIconInfo, SubMenuType } from './interface';
|
|
1
|
+
import { MenuClickEventHandler, MenuDividerType, MenuInfo, MenuItemGroupType, MenuItemType, MenuRef, RenderIconInfo, SelectEventHandler, SelectInfo, SubMenuType } from './interface';
|
|
2
2
|
import { MenuProps, default as Menu } from './Menu';
|
|
3
3
|
import { MenuItemProps, default as MenuItem } from './MenuItem';
|
|
4
4
|
import { MenuItemGroupProps, default as MenuItemGroup } from './MenuItemGroup';
|
|
@@ -8,7 +8,7 @@ import { default as Divider } from './Divider';
|
|
|
8
8
|
export { Divider, MenuItem as Item, MenuItemGroup as ItemGroup, MenuItem, MenuItemGroup, SubMenu,
|
|
9
9
|
/** @private Only used for antd internal. Do not use in your production. */
|
|
10
10
|
useFullPath, };
|
|
11
|
-
export type { MenuDividerType, MenuItemGroupProps, MenuItemGroupType, MenuItemProps, MenuItemType, MenuProps, MenuRef, RenderIconInfo, SubMenuProps, SubMenuType, };
|
|
11
|
+
export type { MenuClickEventHandler, MenuDividerType, MenuInfo, MenuItemGroupProps, MenuItemGroupType, MenuItemProps, MenuItemType, MenuProps, MenuRef, RenderIconInfo, SelectEventHandler, SelectInfo, SubMenuProps, SubMenuType, };
|
|
12
12
|
type MenuType = typeof Menu & {
|
|
13
13
|
Item: typeof MenuItem;
|
|
14
14
|
SubMenu: typeof SubMenu;
|
package/dist/interface.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface SubMenuType extends ItemSharedProps {
|
|
|
11
11
|
children: ItemType[];
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
key: string;
|
|
14
|
-
|
|
14
|
+
rootClass?: string;
|
|
15
15
|
itemIcon?: RenderIconType;
|
|
16
16
|
expandIcon?: RenderIconType;
|
|
17
17
|
onMouseEnter?: MenuHoverEventHandler;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@v-c/menu",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.4",
|
|
5
5
|
"description": "menu ui component for vue",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -9,17 +9,18 @@
|
|
|
9
9
|
"import": "./dist/index.js",
|
|
10
10
|
"require": "./dist/index.cjs"
|
|
11
11
|
},
|
|
12
|
-
"./dist
|
|
12
|
+
"./dist/*.js": "./dist/*.js",
|
|
13
|
+
"./dist/*.d.ts": "./dist/*.d.ts",
|
|
13
14
|
"./package.json": "./package.json"
|
|
14
15
|
},
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public"
|
|
17
18
|
},
|
|
19
|
+
"main": "./dist/index.js",
|
|
18
20
|
"files": [
|
|
19
21
|
"dist",
|
|
20
22
|
"package.json"
|
|
21
23
|
],
|
|
22
|
-
"main": "./dist/index.js",
|
|
23
24
|
"peerDependencies": {
|
|
24
25
|
"vue": "^3.0.0"
|
|
25
26
|
},
|