@v-c/menu 1.0.6 → 1.0.8
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/Menu.d.ts +1 -0
- package/dist/Menu.js +20 -8
- package/dist/SubMenu/index.d.ts +1 -2
- package/dist/SubMenu/index.js +25 -11
- package/dist/context/MenuContext.js +1 -1
- package/dist/interface.d.ts +4 -1
- package/dist/utils/commonUtil.js +2 -8
- package/dist/utils/nodeUtil.d.ts +1 -0
- package/dist/utils/nodeUtil.js +3 -0
- package/package.json +5 -5
- package/dist/Divider.cjs +0 -38
- package/dist/Icon.cjs +0 -45
- package/dist/Menu.cjs +0 -526
- package/dist/MenuItem.cjs +0 -338
- package/dist/MenuItemGroup.cjs +0 -124
- package/dist/SubMenu/InlineSubMenuList.cjs +0 -63
- package/dist/SubMenu/PopupTrigger.cjs +0 -145
- package/dist/SubMenu/SubMenuList.cjs +0 -23
- package/dist/SubMenu/index.cjs +0 -508
- package/dist/_virtual/rolldown_runtime.cjs +0 -21
- package/dist/context/IdContext.cjs +0 -26
- package/dist/context/MenuContext.cjs +0 -196
- package/dist/context/PathContext.cjs +0 -76
- package/dist/context/PrivateContext.cjs +0 -19
- package/dist/hooks/useAccessibility.cjs +0 -193
- package/dist/hooks/useActive.cjs +0 -31
- package/dist/hooks/useDirectionStyle.cjs +0 -17
- package/dist/hooks/useKeyRecords.cjs +0 -78
- package/dist/hooks/useMemoCallback.cjs +0 -15
- package/dist/index.cjs +0 -24
- package/dist/interface.cjs +0 -1
- package/dist/placements.cjs +0 -80
- package/dist/utils/commonUtil.cjs +0 -28
- package/dist/utils/motionUtil.cjs +0 -6
- package/dist/utils/nodeUtil.cjs +0 -55
- package/dist/utils/timeUtil.cjs +0 -6
- package/dist/utils/warnUtil.cjs +0 -11
package/dist/MenuItem.cjs
DELETED
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
Object.defineProperties(exports, {
|
|
2
|
-
__esModule: { value: true },
|
|
3
|
-
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
-
});
|
|
5
|
-
const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
|
|
6
|
-
const require_MenuContext = require("./context/MenuContext.cjs");
|
|
7
|
-
const require_PathContext = require("./context/PathContext.cjs");
|
|
8
|
-
const require_Icon = require("./Icon.cjs");
|
|
9
|
-
const require_IdContext = require("./context/IdContext.cjs");
|
|
10
|
-
const require_PrivateContext = require("./context/PrivateContext.cjs");
|
|
11
|
-
const require_useActive = require("./hooks/useActive.cjs");
|
|
12
|
-
const require_useDirectionStyle = require("./hooks/useDirectionStyle.cjs");
|
|
13
|
-
const require_warnUtil = require("./utils/warnUtil.cjs");
|
|
14
|
-
let vue = require("vue");
|
|
15
|
-
let _v_c_util = require("@v-c/util");
|
|
16
|
-
let _v_c_util_dist_omit = require("@v-c/util/dist/omit");
|
|
17
|
-
_v_c_util_dist_omit = require_rolldown_runtime.__toESM(_v_c_util_dist_omit);
|
|
18
|
-
let _v_c_util_dist_props_util = require("@v-c/util/dist/props-util");
|
|
19
|
-
let _v_c_overflow = require("@v-c/overflow");
|
|
20
|
-
_v_c_overflow = require_rolldown_runtime.__toESM(_v_c_overflow);
|
|
21
|
-
let _v_c_util_dist_KeyCode = require("@v-c/util/dist/KeyCode");
|
|
22
|
-
_v_c_util_dist_KeyCode = require_rolldown_runtime.__toESM(_v_c_util_dist_KeyCode);
|
|
23
|
-
var LegacyMenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }) => {
|
|
24
|
-
return () => {
|
|
25
|
-
const { title, attribute, ...restProps } = attrs;
|
|
26
|
-
const { elementRef } = props;
|
|
27
|
-
const passedProps = (0, _v_c_util_dist_omit.default)(restProps, [
|
|
28
|
-
"eventKey",
|
|
29
|
-
"popupClassName",
|
|
30
|
-
"popupOffset",
|
|
31
|
-
"onTitleClick"
|
|
32
|
-
]);
|
|
33
|
-
(0, _v_c_util.warning)(!attribute, "`attribute` of Menu.Item is deprecated. Please pass attribute directly.");
|
|
34
|
-
return (0, vue.createVNode)(_v_c_overflow.default.Item, (0, vue.mergeProps)(attribute, { "title": typeof title === "string" ? title : void 0 }, passedProps, { "ref": elementRef }), { default: () => [slots?.default?.()] });
|
|
35
|
-
};
|
|
36
|
-
}, {
|
|
37
|
-
props: { elementRef: {
|
|
38
|
-
required: false,
|
|
39
|
-
default: void 0
|
|
40
|
-
} },
|
|
41
|
-
name: "LegacyMenuItem",
|
|
42
|
-
inheritAttrs: false
|
|
43
|
-
});
|
|
44
|
-
var InternalMenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }) => {
|
|
45
|
-
const { eventKey } = (0, _v_c_util_dist_props_util.toPropsRefs)(props, "eventKey");
|
|
46
|
-
const domDataId = require_IdContext.useMenuId(eventKey);
|
|
47
|
-
const menuContext = require_MenuContext.useMenuContext();
|
|
48
|
-
const privateContext = require_PrivateContext.usePrivateContext();
|
|
49
|
-
const legacyMenuItemRef = (0, vue.shallowRef)();
|
|
50
|
-
const elementRef = (0, vue.shallowRef)();
|
|
51
|
-
const mergedDisabled = (0, vue.computed)(() => props.disabled ?? menuContext?.value?.disabled);
|
|
52
|
-
const connectedKeys = require_PathContext.useFullPath(eventKey);
|
|
53
|
-
if (process.env.NODE_ENV !== "production" && props.warnKey) (0, _v_c_util.warning)(false, "MenuItem should not leave undefined `key`.");
|
|
54
|
-
const getEventInfo = (e) => {
|
|
55
|
-
return {
|
|
56
|
-
key: eventKey.value,
|
|
57
|
-
keyPath: [...connectedKeys.value].reverse(),
|
|
58
|
-
item: legacyMenuItemRef.value,
|
|
59
|
-
domEvent: e
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
const ret = require_useActive.default(eventKey, mergedDisabled, props?.onMouseEnter, props?.onMouseLeave);
|
|
63
|
-
const active = ret.active;
|
|
64
|
-
const selected = (0, vue.computed)(() => !!menuContext?.value?.selectedKeys?.includes?.(eventKey.value));
|
|
65
|
-
const directionStyle = require_useDirectionStyle.default((0, vue.computed)(() => connectedKeys.value.length));
|
|
66
|
-
const onInternalClick = (e) => {
|
|
67
|
-
if (mergedDisabled.value) return;
|
|
68
|
-
const info = getEventInfo(e);
|
|
69
|
-
props?.onClick?.(require_warnUtil.warnItemProp(info));
|
|
70
|
-
menuContext?.value?.onItemClick?.(info);
|
|
71
|
-
};
|
|
72
|
-
const onInternalKeyDown = (e) => {
|
|
73
|
-
props?.onKeyDown?.(e);
|
|
74
|
-
if (e.which === _v_c_util_dist_KeyCode.default.ENTER) {
|
|
75
|
-
const info = getEventInfo(e);
|
|
76
|
-
props?.onClick?.(require_warnUtil.warnItemProp(info));
|
|
77
|
-
menuContext?.value?.onItemClick?.(info);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const onInternalFocus = (e) => {
|
|
81
|
-
menuContext?.value?.onActive?.(eventKey.value);
|
|
82
|
-
props?.onFocus?.(e);
|
|
83
|
-
};
|
|
84
|
-
return () => {
|
|
85
|
-
const { role, disabled, itemIcon, ...restProps } = props;
|
|
86
|
-
const optionRoleProps = {};
|
|
87
|
-
if (role === "option") optionRoleProps["aria-selected"] = selected.value;
|
|
88
|
-
const { prefixCls, overflowDisabled, itemIcon: contextItemIcon } = menuContext?.value ?? {};
|
|
89
|
-
const mergedItemIcon = itemIcon || contextItemIcon;
|
|
90
|
-
const itemCls = `${prefixCls}-item`;
|
|
91
|
-
const activeProps = {
|
|
92
|
-
onMouseenter: ret.onMouseEnter,
|
|
93
|
-
onMouseleave: ret.onMouseLeave
|
|
94
|
-
};
|
|
95
|
-
let renderNode = (0, vue.createVNode)(LegacyMenuItem, (0, vue.mergeProps)({
|
|
96
|
-
"ref": legacyMenuItemRef,
|
|
97
|
-
"elementRef": elementRef,
|
|
98
|
-
"role": role === null ? "none" : role || "menuitem",
|
|
99
|
-
"tabIndex": disabled ? null : -1,
|
|
100
|
-
"data-menu-id": overflowDisabled && domDataId.value ? null : domDataId.value
|
|
101
|
-
}, (0, _v_c_util_dist_omit.default)({
|
|
102
|
-
...restProps,
|
|
103
|
-
...attrs
|
|
104
|
-
}, ["extra"]), activeProps, optionRoleProps, {
|
|
105
|
-
"component": "li",
|
|
106
|
-
"aria-disabled": disabled,
|
|
107
|
-
"style": [directionStyle.value, props?.style],
|
|
108
|
-
"className": (0, _v_c_util.clsx)(itemCls, {
|
|
109
|
-
[`${itemCls}-active`]: active.value,
|
|
110
|
-
[`${itemCls}-selected`]: selected.value,
|
|
111
|
-
[`${itemCls}-disabled`]: mergedDisabled.value
|
|
112
|
-
}, props.class),
|
|
113
|
-
"onClick": onInternalClick,
|
|
114
|
-
"onKeydown": onInternalKeyDown,
|
|
115
|
-
"onFocus": onInternalFocus
|
|
116
|
-
}), { default: () => [slots?.default?.(), (0, vue.createVNode)(require_Icon.default, {
|
|
117
|
-
"props": {
|
|
118
|
-
...props,
|
|
119
|
-
isSelected: selected.value
|
|
120
|
-
},
|
|
121
|
-
"icon": mergedItemIcon
|
|
122
|
-
}, null)] });
|
|
123
|
-
if (privateContext._internalRenderMenuItem) renderNode = privateContext._internalRenderMenuItem(renderNode, props, { selected: selected.value });
|
|
124
|
-
return renderNode;
|
|
125
|
-
};
|
|
126
|
-
}, {
|
|
127
|
-
props: {
|
|
128
|
-
eventKey: {
|
|
129
|
-
type: String,
|
|
130
|
-
required: false,
|
|
131
|
-
default: void 0
|
|
132
|
-
},
|
|
133
|
-
warnKey: {
|
|
134
|
-
type: Boolean,
|
|
135
|
-
required: false,
|
|
136
|
-
default: void 0
|
|
137
|
-
},
|
|
138
|
-
attribute: {
|
|
139
|
-
type: Object,
|
|
140
|
-
required: false,
|
|
141
|
-
default: void 0
|
|
142
|
-
},
|
|
143
|
-
onKeyDown: {
|
|
144
|
-
type: Function,
|
|
145
|
-
required: false,
|
|
146
|
-
default: void 0
|
|
147
|
-
},
|
|
148
|
-
onFocus: {
|
|
149
|
-
type: Function,
|
|
150
|
-
required: false,
|
|
151
|
-
default: void 0
|
|
152
|
-
},
|
|
153
|
-
role: {
|
|
154
|
-
type: String,
|
|
155
|
-
required: false,
|
|
156
|
-
default: void 0
|
|
157
|
-
},
|
|
158
|
-
type: {
|
|
159
|
-
type: String,
|
|
160
|
-
required: false,
|
|
161
|
-
default: void 0
|
|
162
|
-
},
|
|
163
|
-
disabled: {
|
|
164
|
-
type: Boolean,
|
|
165
|
-
required: false,
|
|
166
|
-
default: void 0
|
|
167
|
-
},
|
|
168
|
-
itemIcon: {
|
|
169
|
-
type: [
|
|
170
|
-
Object,
|
|
171
|
-
Function,
|
|
172
|
-
String,
|
|
173
|
-
Number,
|
|
174
|
-
null,
|
|
175
|
-
Boolean,
|
|
176
|
-
Array
|
|
177
|
-
],
|
|
178
|
-
required: false,
|
|
179
|
-
default: void 0
|
|
180
|
-
},
|
|
181
|
-
extra: {
|
|
182
|
-
type: [
|
|
183
|
-
Object,
|
|
184
|
-
Function,
|
|
185
|
-
String,
|
|
186
|
-
Number,
|
|
187
|
-
null,
|
|
188
|
-
Boolean,
|
|
189
|
-
Array
|
|
190
|
-
],
|
|
191
|
-
required: false,
|
|
192
|
-
default: void 0
|
|
193
|
-
},
|
|
194
|
-
onMouseEnter: {
|
|
195
|
-
type: Function,
|
|
196
|
-
required: false,
|
|
197
|
-
default: void 0
|
|
198
|
-
},
|
|
199
|
-
onMouseLeave: {
|
|
200
|
-
type: Function,
|
|
201
|
-
required: false,
|
|
202
|
-
default: void 0
|
|
203
|
-
},
|
|
204
|
-
onClick: {
|
|
205
|
-
type: Function,
|
|
206
|
-
required: false,
|
|
207
|
-
default: void 0
|
|
208
|
-
},
|
|
209
|
-
style: {
|
|
210
|
-
type: Object,
|
|
211
|
-
required: false,
|
|
212
|
-
default: void 0
|
|
213
|
-
},
|
|
214
|
-
class: {
|
|
215
|
-
type: String,
|
|
216
|
-
required: false,
|
|
217
|
-
default: void 0
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
name: "InternalMenuItem",
|
|
221
|
-
inheritAttrs: false
|
|
222
|
-
});
|
|
223
|
-
var MenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }) => {
|
|
224
|
-
const { eventKey } = (0, _v_c_util_dist_props_util.toPropsRefs)(props, "eventKey");
|
|
225
|
-
const measure = require_PathContext.useMeasure();
|
|
226
|
-
const connectedKeyPath = require_PathContext.useFullPath(eventKey);
|
|
227
|
-
(0, vue.watch)([connectedKeyPath], (_n, _o, onCleanup) => {
|
|
228
|
-
if (measure) measure.registerPath(eventKey.value, connectedKeyPath.value);
|
|
229
|
-
onCleanup(() => {
|
|
230
|
-
measure?.unregisterPath(eventKey.value, connectedKeyPath.value);
|
|
231
|
-
});
|
|
232
|
-
}, { immediate: true });
|
|
233
|
-
return () => {
|
|
234
|
-
if (measure) return null;
|
|
235
|
-
return (0, vue.createVNode)(InternalMenuItem, {
|
|
236
|
-
...attrs,
|
|
237
|
-
...props
|
|
238
|
-
}, slots);
|
|
239
|
-
};
|
|
240
|
-
}, {
|
|
241
|
-
props: {
|
|
242
|
-
eventKey: {
|
|
243
|
-
type: String,
|
|
244
|
-
required: false,
|
|
245
|
-
default: void 0
|
|
246
|
-
},
|
|
247
|
-
warnKey: {
|
|
248
|
-
type: Boolean,
|
|
249
|
-
required: false,
|
|
250
|
-
default: void 0
|
|
251
|
-
},
|
|
252
|
-
attribute: {
|
|
253
|
-
type: Object,
|
|
254
|
-
required: false,
|
|
255
|
-
default: void 0
|
|
256
|
-
},
|
|
257
|
-
onKeyDown: {
|
|
258
|
-
type: Function,
|
|
259
|
-
required: false,
|
|
260
|
-
default: void 0
|
|
261
|
-
},
|
|
262
|
-
onFocus: {
|
|
263
|
-
type: Function,
|
|
264
|
-
required: false,
|
|
265
|
-
default: void 0
|
|
266
|
-
},
|
|
267
|
-
role: {
|
|
268
|
-
type: String,
|
|
269
|
-
required: false,
|
|
270
|
-
default: void 0
|
|
271
|
-
},
|
|
272
|
-
type: {
|
|
273
|
-
type: String,
|
|
274
|
-
required: false,
|
|
275
|
-
default: void 0
|
|
276
|
-
},
|
|
277
|
-
disabled: {
|
|
278
|
-
type: Boolean,
|
|
279
|
-
required: false,
|
|
280
|
-
default: void 0
|
|
281
|
-
},
|
|
282
|
-
itemIcon: {
|
|
283
|
-
type: [
|
|
284
|
-
Object,
|
|
285
|
-
Function,
|
|
286
|
-
String,
|
|
287
|
-
Number,
|
|
288
|
-
null,
|
|
289
|
-
Boolean,
|
|
290
|
-
Array
|
|
291
|
-
],
|
|
292
|
-
required: false,
|
|
293
|
-
default: void 0
|
|
294
|
-
},
|
|
295
|
-
extra: {
|
|
296
|
-
type: [
|
|
297
|
-
Object,
|
|
298
|
-
Function,
|
|
299
|
-
String,
|
|
300
|
-
Number,
|
|
301
|
-
null,
|
|
302
|
-
Boolean,
|
|
303
|
-
Array
|
|
304
|
-
],
|
|
305
|
-
required: false,
|
|
306
|
-
default: void 0
|
|
307
|
-
},
|
|
308
|
-
onMouseEnter: {
|
|
309
|
-
type: Function,
|
|
310
|
-
required: false,
|
|
311
|
-
default: void 0
|
|
312
|
-
},
|
|
313
|
-
onMouseLeave: {
|
|
314
|
-
type: Function,
|
|
315
|
-
required: false,
|
|
316
|
-
default: void 0
|
|
317
|
-
},
|
|
318
|
-
onClick: {
|
|
319
|
-
type: Function,
|
|
320
|
-
required: false,
|
|
321
|
-
default: void 0
|
|
322
|
-
},
|
|
323
|
-
style: {
|
|
324
|
-
type: Object,
|
|
325
|
-
required: false,
|
|
326
|
-
default: void 0
|
|
327
|
-
},
|
|
328
|
-
class: {
|
|
329
|
-
type: String,
|
|
330
|
-
required: false,
|
|
331
|
-
default: void 0
|
|
332
|
-
}
|
|
333
|
-
},
|
|
334
|
-
name: "MenuItem",
|
|
335
|
-
inheritAttrs: false
|
|
336
|
-
});
|
|
337
|
-
var MenuItem_default = MenuItem;
|
|
338
|
-
exports.default = MenuItem_default;
|
package/dist/MenuItemGroup.cjs
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
Object.defineProperties(exports, {
|
|
2
|
-
__esModule: { value: true },
|
|
3
|
-
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
-
});
|
|
5
|
-
const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
|
|
6
|
-
const require_MenuContext = require("./context/MenuContext.cjs");
|
|
7
|
-
const require_PathContext = require("./context/PathContext.cjs");
|
|
8
|
-
const require_commonUtil = require("./utils/commonUtil.cjs");
|
|
9
|
-
let vue = require("vue");
|
|
10
|
-
let _v_c_util = require("@v-c/util");
|
|
11
|
-
let _v_c_util_dist_omit = require("@v-c/util/dist/omit");
|
|
12
|
-
_v_c_util_dist_omit = require_rolldown_runtime.__toESM(_v_c_util_dist_omit);
|
|
13
|
-
let _v_c_util_dist_props_util = require("@v-c/util/dist/props-util");
|
|
14
|
-
function _isSlot(s) {
|
|
15
|
-
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !(0, vue.isVNode)(s);
|
|
16
|
-
}
|
|
17
|
-
var InternalMenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
18
|
-
const context = require_MenuContext.useMenuContext();
|
|
19
|
-
return () => {
|
|
20
|
-
const { class: className, title, eventKey, ...restProps } = props;
|
|
21
|
-
const { prefixCls, classes: menuClassNames, styles } = context?.value ?? {};
|
|
22
|
-
const groupPrefixCls = `${prefixCls}-item-group`;
|
|
23
|
-
return (0, vue.createVNode)("li", (0, vue.mergeProps)({ "role": "presentation" }, restProps, {
|
|
24
|
-
"onClick": (e) => e.stopPropagation(),
|
|
25
|
-
"class": (0, _v_c_util.clsx)(groupPrefixCls, className)
|
|
26
|
-
}), [(0, vue.createVNode)("div", {
|
|
27
|
-
"role": "presentation",
|
|
28
|
-
"class": (0, _v_c_util.clsx)(`${groupPrefixCls}-title`, menuClassNames?.listTitle),
|
|
29
|
-
"style": styles?.listTitle,
|
|
30
|
-
"title": typeof title === "string" ? title : void 0
|
|
31
|
-
}, [title]), (0, vue.createVNode)("ul", {
|
|
32
|
-
"role": "group",
|
|
33
|
-
"class": (0, _v_c_util.clsx)(`${groupPrefixCls}-list`, menuClassNames?.list),
|
|
34
|
-
"style": styles?.list
|
|
35
|
-
}, [slots?.default ? slots.default() : null])]);
|
|
36
|
-
};
|
|
37
|
-
}, {
|
|
38
|
-
props: {
|
|
39
|
-
title: {
|
|
40
|
-
type: [
|
|
41
|
-
Object,
|
|
42
|
-
Function,
|
|
43
|
-
String,
|
|
44
|
-
Number,
|
|
45
|
-
null,
|
|
46
|
-
Boolean,
|
|
47
|
-
Array
|
|
48
|
-
],
|
|
49
|
-
required: false,
|
|
50
|
-
default: void 0
|
|
51
|
-
},
|
|
52
|
-
eventKey: {
|
|
53
|
-
type: String,
|
|
54
|
-
required: false,
|
|
55
|
-
default: void 0
|
|
56
|
-
},
|
|
57
|
-
warnKey: {
|
|
58
|
-
type: Boolean,
|
|
59
|
-
required: false,
|
|
60
|
-
default: void 0
|
|
61
|
-
},
|
|
62
|
-
style: {
|
|
63
|
-
type: Object,
|
|
64
|
-
required: false,
|
|
65
|
-
default: void 0
|
|
66
|
-
},
|
|
67
|
-
class: {
|
|
68
|
-
type: String,
|
|
69
|
-
required: false,
|
|
70
|
-
default: void 0
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
name: "InternalMenuItemGroup"
|
|
74
|
-
});
|
|
75
|
-
var MenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, ctx) => {
|
|
76
|
-
const connectedKeyPath = require_PathContext.useFullPath((0, vue.computed)(() => props.eventKey));
|
|
77
|
-
const measure = require_PathContext.useMeasure();
|
|
78
|
-
return () => {
|
|
79
|
-
const slots = ctx.slots;
|
|
80
|
-
const childList = require_commonUtil.parseChildren((0, _v_c_util_dist_props_util.filterEmpty)(slots.default ? slots.default() : []), connectedKeyPath.value);
|
|
81
|
-
if (measure) return childList;
|
|
82
|
-
return (0, vue.createVNode)(InternalMenuItemGroup, (0, _v_c_util_dist_omit.default)(props, ["warnKey"]), _isSlot(childList) ? childList : { default: () => [childList] });
|
|
83
|
-
};
|
|
84
|
-
}, {
|
|
85
|
-
props: {
|
|
86
|
-
title: {
|
|
87
|
-
type: [
|
|
88
|
-
Object,
|
|
89
|
-
Function,
|
|
90
|
-
String,
|
|
91
|
-
Number,
|
|
92
|
-
null,
|
|
93
|
-
Boolean,
|
|
94
|
-
Array
|
|
95
|
-
],
|
|
96
|
-
required: false,
|
|
97
|
-
default: void 0
|
|
98
|
-
},
|
|
99
|
-
eventKey: {
|
|
100
|
-
type: String,
|
|
101
|
-
required: false,
|
|
102
|
-
default: void 0
|
|
103
|
-
},
|
|
104
|
-
warnKey: {
|
|
105
|
-
type: Boolean,
|
|
106
|
-
required: false,
|
|
107
|
-
default: void 0
|
|
108
|
-
},
|
|
109
|
-
style: {
|
|
110
|
-
type: Object,
|
|
111
|
-
required: false,
|
|
112
|
-
default: void 0
|
|
113
|
-
},
|
|
114
|
-
class: {
|
|
115
|
-
type: String,
|
|
116
|
-
required: false,
|
|
117
|
-
default: void 0
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
name: "MenuItemGroup",
|
|
121
|
-
inheritAttrs: false
|
|
122
|
-
});
|
|
123
|
-
var MenuItemGroup_default = MenuItemGroup;
|
|
124
|
-
exports.default = MenuItemGroup_default;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
Object.defineProperties(exports, {
|
|
2
|
-
__esModule: { value: true },
|
|
3
|
-
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
-
});
|
|
5
|
-
const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
|
|
6
|
-
const require_MenuContext = require("../context/MenuContext.cjs");
|
|
7
|
-
const require_motionUtil = require("../utils/motionUtil.cjs");
|
|
8
|
-
const require_SubMenuList = require("./SubMenuList.cjs");
|
|
9
|
-
let vue = require("vue");
|
|
10
|
-
let _v_c_util_dist_utils_transition = require("@v-c/util/dist/utils/transition");
|
|
11
|
-
var InlineSubMenuList = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
12
|
-
const fixedMode = "inline";
|
|
13
|
-
const menuContext = require_MenuContext.useMenuContext();
|
|
14
|
-
const sameModeRef = (0, vue.shallowRef)(false);
|
|
15
|
-
(0, vue.watchEffect)(() => {
|
|
16
|
-
sameModeRef.value = menuContext?.value?.mode === fixedMode;
|
|
17
|
-
});
|
|
18
|
-
const destroy = (0, vue.shallowRef)(!sameModeRef.value);
|
|
19
|
-
(0, vue.watch)(() => menuContext?.value?.mode, () => {
|
|
20
|
-
if (sameModeRef.value) destroy.value = false;
|
|
21
|
-
}, { immediate: true });
|
|
22
|
-
const mergedOpen = (0, vue.computed)(() => sameModeRef.value ? props?.open : false);
|
|
23
|
-
const mergedMotion = (0, vue.computed)(() => {
|
|
24
|
-
const { motion, defaultMotions } = menuContext?.value ?? {};
|
|
25
|
-
const motionData = { ...require_motionUtil.getMotion(fixedMode, motion, defaultMotions) };
|
|
26
|
-
if (props.keyPath && props.keyPath.length > 1) motionData.appear = false;
|
|
27
|
-
const _onAfterLeave = motionData.onAfterLeave;
|
|
28
|
-
motionData.onAfterLeave = (el) => {
|
|
29
|
-
if (!sameModeRef.value) destroy.value = true;
|
|
30
|
-
return _onAfterLeave?.(el);
|
|
31
|
-
};
|
|
32
|
-
return motionData;
|
|
33
|
-
});
|
|
34
|
-
return () => {
|
|
35
|
-
if (destroy.value) return null;
|
|
36
|
-
return (0, vue.createVNode)(require_MenuContext.default, {
|
|
37
|
-
"mode": fixedMode,
|
|
38
|
-
"locked": !sameModeRef.value
|
|
39
|
-
}, { default: () => [(0, vue.createVNode)(vue.Transition, (0, _v_c_util_dist_utils_transition.getTransitionProps)(mergedMotion.value?.name, mergedMotion.value), { default: () => [mergedOpen.value && (0, vue.createVNode)(require_SubMenuList.default, { "id": props.id }, { default: () => [slots?.default?.()] })] })] });
|
|
40
|
-
};
|
|
41
|
-
}, {
|
|
42
|
-
props: {
|
|
43
|
-
id: {
|
|
44
|
-
type: String,
|
|
45
|
-
required: false,
|
|
46
|
-
default: void 0
|
|
47
|
-
},
|
|
48
|
-
open: {
|
|
49
|
-
type: Boolean,
|
|
50
|
-
required: true,
|
|
51
|
-
default: void 0
|
|
52
|
-
},
|
|
53
|
-
keyPath: {
|
|
54
|
-
type: Array,
|
|
55
|
-
required: true,
|
|
56
|
-
default: void 0
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
name: "InlineSubMenuList",
|
|
60
|
-
inheritAttrs: false
|
|
61
|
-
});
|
|
62
|
-
var InlineSubMenuList_default = InlineSubMenuList;
|
|
63
|
-
exports.default = InlineSubMenuList_default;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
Object.defineProperties(exports, {
|
|
2
|
-
__esModule: { value: true },
|
|
3
|
-
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
-
});
|
|
5
|
-
const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
|
|
6
|
-
const require_MenuContext = require("../context/MenuContext.cjs");
|
|
7
|
-
const require_motionUtil = require("../utils/motionUtil.cjs");
|
|
8
|
-
const require_placements = require("../placements.cjs");
|
|
9
|
-
let vue = require("vue");
|
|
10
|
-
let _v_c_util = require("@v-c/util");
|
|
11
|
-
let _v_c_trigger = require("@v-c/trigger");
|
|
12
|
-
_v_c_trigger = require_rolldown_runtime.__toESM(_v_c_trigger);
|
|
13
|
-
let _v_c_util_dist_raf = require("@v-c/util/dist/raf");
|
|
14
|
-
_v_c_util_dist_raf = require_rolldown_runtime.__toESM(_v_c_util_dist_raf);
|
|
15
|
-
var popupPlacementMap = {
|
|
16
|
-
"horizontal": "bottomLeft",
|
|
17
|
-
"vertical": "rightTop",
|
|
18
|
-
"vertical-left": "rightTop",
|
|
19
|
-
"vertical-right": "leftTop"
|
|
20
|
-
};
|
|
21
|
-
var PopupTrigger = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
|
|
22
|
-
const menuContext = require_MenuContext.useMenuContext();
|
|
23
|
-
const innerVisible = (0, vue.shallowRef)(props.visible ?? false);
|
|
24
|
-
const placement = (0, vue.computed)(() => {
|
|
25
|
-
const rtl = menuContext?.value?.rtl;
|
|
26
|
-
const builtinPlacements = menuContext?.value?.builtinPlacements;
|
|
27
|
-
return rtl ? {
|
|
28
|
-
...require_placements.placementsRtl,
|
|
29
|
-
...builtinPlacements
|
|
30
|
-
} : {
|
|
31
|
-
...require_placements.default,
|
|
32
|
-
...builtinPlacements
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
const triggerMode = (0, vue.computed)(() => props.mode);
|
|
36
|
-
const popupPlacement = (0, vue.computed)(() => {
|
|
37
|
-
return popupPlacementMap[triggerMode.value];
|
|
38
|
-
});
|
|
39
|
-
const defaultMotions = (0, vue.computed)(() => menuContext?.value?.defaultMotions);
|
|
40
|
-
const motion = (0, vue.computed)(() => menuContext?.value?.motion);
|
|
41
|
-
const targetMotion = (0, vue.computed)(() => {
|
|
42
|
-
return { ...require_motionUtil.getMotion(triggerMode.value, motion.value, defaultMotions.value) };
|
|
43
|
-
});
|
|
44
|
-
const targetMotionRef = (0, vue.shallowRef)(targetMotion.value);
|
|
45
|
-
(0, vue.watch)(triggerMode, (mode) => {
|
|
46
|
-
if (mode !== "inline") targetMotionRef.value = targetMotion.value;
|
|
47
|
-
}, { immediate: true });
|
|
48
|
-
(0, vue.watch)([motion, defaultMotions], () => {
|
|
49
|
-
if (triggerMode.value !== "inline") targetMotionRef.value = targetMotion.value;
|
|
50
|
-
});
|
|
51
|
-
const mergedMotion = (0, vue.computed)(() => {
|
|
52
|
-
return {
|
|
53
|
-
...targetMotionRef.value,
|
|
54
|
-
appear: true
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
const visibleRef = (0, vue.shallowRef)();
|
|
58
|
-
(0, vue.watch)(() => props.visible, (visible, _, onCleanup) => {
|
|
59
|
-
visibleRef.value = (0, _v_c_util_dist_raf.default)(() => {
|
|
60
|
-
innerVisible.value = visible;
|
|
61
|
-
});
|
|
62
|
-
onCleanup(() => {
|
|
63
|
-
if (visibleRef.value !== void 0) _v_c_util_dist_raf.default.cancel(visibleRef.value);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
return () => {
|
|
67
|
-
const { popupClassName, popup, popupStyle, popupOffset, disabled, onVisibleChange, prefixCls } = props;
|
|
68
|
-
const { rtl, rootClass, mode, getPopupContainer, triggerSubMenuAction, subMenuCloseDelay, subMenuOpenDelay, forceSubMenuRender } = menuContext?.value ?? {};
|
|
69
|
-
return (0, vue.createVNode)(_v_c_trigger.default, {
|
|
70
|
-
"prefixCls": prefixCls,
|
|
71
|
-
"popupClassName": (0, _v_c_util.clsx)(`${prefixCls}-popup`, { [`${prefixCls}-rtl`]: rtl }, popupClassName, rootClass),
|
|
72
|
-
"stretch": mode === "horizontal" ? "minWidth" : void 0,
|
|
73
|
-
"getPopupContainer": getPopupContainer,
|
|
74
|
-
"builtinPlacements": placement.value,
|
|
75
|
-
"popupPlacement": popupPlacement.value,
|
|
76
|
-
"popupVisible": innerVisible.value,
|
|
77
|
-
"popup": popup,
|
|
78
|
-
"popupStyle": popupStyle,
|
|
79
|
-
"popupAlign": popupOffset && { offset: popupOffset },
|
|
80
|
-
"action": disabled ? [] : [triggerSubMenuAction],
|
|
81
|
-
"mouseEnterDelay": subMenuOpenDelay,
|
|
82
|
-
"mouseLeaveDelay": subMenuCloseDelay,
|
|
83
|
-
"onOpenChange": onVisibleChange,
|
|
84
|
-
"forceRender": forceSubMenuRender,
|
|
85
|
-
"popupMotion": mergedMotion.value,
|
|
86
|
-
"fresh": true
|
|
87
|
-
}, { default: () => [slots?.default?.()] });
|
|
88
|
-
};
|
|
89
|
-
}, { props: {
|
|
90
|
-
prefixCls: {
|
|
91
|
-
type: String,
|
|
92
|
-
required: true,
|
|
93
|
-
default: void 0
|
|
94
|
-
},
|
|
95
|
-
mode: {
|
|
96
|
-
type: String,
|
|
97
|
-
required: true,
|
|
98
|
-
default: void 0
|
|
99
|
-
},
|
|
100
|
-
visible: {
|
|
101
|
-
type: Boolean,
|
|
102
|
-
required: true,
|
|
103
|
-
default: void 0
|
|
104
|
-
},
|
|
105
|
-
popup: {
|
|
106
|
-
type: [
|
|
107
|
-
Object,
|
|
108
|
-
Function,
|
|
109
|
-
String,
|
|
110
|
-
Number,
|
|
111
|
-
null,
|
|
112
|
-
Boolean,
|
|
113
|
-
Array
|
|
114
|
-
],
|
|
115
|
-
required: true,
|
|
116
|
-
default: void 0
|
|
117
|
-
},
|
|
118
|
-
popupStyle: {
|
|
119
|
-
type: Object,
|
|
120
|
-
required: false,
|
|
121
|
-
default: void 0
|
|
122
|
-
},
|
|
123
|
-
popupClassName: {
|
|
124
|
-
type: String,
|
|
125
|
-
required: false,
|
|
126
|
-
default: void 0
|
|
127
|
-
},
|
|
128
|
-
popupOffset: {
|
|
129
|
-
type: Array,
|
|
130
|
-
required: false,
|
|
131
|
-
default: void 0
|
|
132
|
-
},
|
|
133
|
-
disabled: {
|
|
134
|
-
type: Boolean,
|
|
135
|
-
required: true,
|
|
136
|
-
default: void 0
|
|
137
|
-
},
|
|
138
|
-
onVisibleChange: {
|
|
139
|
-
type: Function,
|
|
140
|
-
required: true,
|
|
141
|
-
default: void 0
|
|
142
|
-
}
|
|
143
|
-
} });
|
|
144
|
-
var PopupTrigger_default = PopupTrigger;
|
|
145
|
-
exports.default = PopupTrigger_default;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
Object.defineProperties(exports, {
|
|
2
|
-
__esModule: { value: true },
|
|
3
|
-
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
-
});
|
|
5
|
-
const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
|
|
6
|
-
const require_MenuContext = require("../context/MenuContext.cjs");
|
|
7
|
-
let vue = require("vue");
|
|
8
|
-
let _v_c_util = require("@v-c/util");
|
|
9
|
-
var InternalSubMenuList = /* @__PURE__ */ (0, vue.defineComponent)((_, { attrs, slots }) => {
|
|
10
|
-
const menuContext = require_MenuContext.useMenuContext();
|
|
11
|
-
return () => {
|
|
12
|
-
const { prefixCls, mode, rtl } = menuContext?.value ?? {};
|
|
13
|
-
return (0, vue.createVNode)("ul", (0, vue.mergeProps)({
|
|
14
|
-
"class": (0, _v_c_util.clsx)(prefixCls, !!rtl && `${prefixCls}-rtl`, `${prefixCls}-sub`, `${prefixCls}-${mode === "inline" ? "inline" : "vertical"}`),
|
|
15
|
-
"role": "menu"
|
|
16
|
-
}, attrs, { "data-menu-list": true }), [slots?.default?.()]);
|
|
17
|
-
};
|
|
18
|
-
}, {
|
|
19
|
-
name: "InlineSubMenuList",
|
|
20
|
-
inheritAttrs: false
|
|
21
|
-
});
|
|
22
|
-
var SubMenuList_default = InternalSubMenuList;
|
|
23
|
-
exports.default = SubMenuList_default;
|