@v-c/menu 0.0.1 → 0.0.3

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.
Files changed (58) hide show
  1. package/dist/Divider.cjs +33 -36
  2. package/dist/Divider.js +28 -34
  3. package/dist/Icon.cjs +39 -38
  4. package/dist/Icon.js +36 -38
  5. package/dist/Menu.cjs +506 -575
  6. package/dist/Menu.d.ts +2 -0
  7. package/dist/Menu.js +495 -570
  8. package/dist/MenuItem.cjs +314 -344
  9. package/dist/MenuItem.js +303 -339
  10. package/dist/MenuItemGroup.cjs +98 -116
  11. package/dist/MenuItemGroup.js +91 -113
  12. package/dist/SubMenu/InlineSubMenuList.cjs +58 -82
  13. package/dist/SubMenu/InlineSubMenuList.js +54 -81
  14. package/dist/SubMenu/PopupTrigger.cjs +133 -167
  15. package/dist/SubMenu/PopupTrigger.d.ts +2 -2
  16. package/dist/SubMenu/PopupTrigger.js +126 -165
  17. package/dist/SubMenu/SubMenuList.cjs +18 -26
  18. package/dist/SubMenu/SubMenuList.js +14 -25
  19. package/dist/SubMenu/index.cjs +479 -526
  20. package/dist/SubMenu/index.js +469 -521
  21. package/dist/_virtual/rolldown_runtime.cjs +21 -0
  22. package/dist/context/IdContext.cjs +15 -23
  23. package/dist/context/IdContext.js +15 -27
  24. package/dist/context/MenuContext.cjs +183 -174
  25. package/dist/context/MenuContext.js +180 -177
  26. package/dist/context/PathContext.cjs +54 -79
  27. package/dist/context/PathContext.js +54 -90
  28. package/dist/context/PrivateContext.cjs +11 -17
  29. package/dist/context/PrivateContext.js +11 -20
  30. package/dist/hooks/useAccessibility.cjs +171 -191
  31. package/dist/hooks/useAccessibility.js +168 -193
  32. package/dist/hooks/useActive.cjs +25 -28
  33. package/dist/hooks/useActive.js +23 -28
  34. package/dist/hooks/useDirectionStyle.cjs +11 -17
  35. package/dist/hooks/useDirectionStyle.js +9 -17
  36. package/dist/hooks/useKeyRecords.cjs +70 -88
  37. package/dist/hooks/useKeyRecords.js +68 -89
  38. package/dist/hooks/useMemoCallback.cjs +9 -9
  39. package/dist/hooks/useMemoCallback.js +7 -9
  40. package/dist/index.cjs +21 -21
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.js +12 -20
  43. package/dist/interface.cjs +0 -1
  44. package/dist/interface.js +0 -1
  45. package/dist/placements.cjs +70 -70
  46. package/dist/placements.js +69 -72
  47. package/dist/utils/commonUtil.cjs +24 -26
  48. package/dist/utils/commonUtil.js +23 -26
  49. package/dist/utils/motionUtil.cjs +2 -9
  50. package/dist/utils/motionUtil.js +3 -10
  51. package/dist/utils/nodeUtil.cjs +49 -77
  52. package/dist/utils/nodeUtil.d.ts +4 -1
  53. package/dist/utils/nodeUtil.js +48 -77
  54. package/dist/utils/timeUtil.cjs +2 -3
  55. package/dist/utils/timeUtil.js +3 -4
  56. package/dist/utils/warnUtil.cjs +8 -14
  57. package/dist/utils/warnUtil.js +7 -14
  58. package/package.json +2 -2
@@ -1,532 +1,485 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const vue = require("vue");
4
- const Overflow = require("@v-c/overflow");
5
- const util = require("@v-c/util");
6
- const warning = require("@v-c/util/dist/warning");
7
- const IdContext = require("../context/IdContext.cjs");
8
- const MenuContext = require("../context/MenuContext.cjs");
9
- const PathContext = require("../context/PathContext.cjs");
10
- const PrivateContext = require("../context/PrivateContext.cjs");
11
- const useActive = require("../hooks/useActive.cjs");
12
- const useDirectionStyle = require("../hooks/useDirectionStyle.cjs");
13
- const Icon = require("../Icon.cjs");
14
- const commonUtil = require("../utils/commonUtil.cjs");
15
- const InlineSubMenuList = require("./InlineSubMenuList.cjs");
16
- const PopupTrigger = require("./PopupTrigger.cjs");
17
- const SubMenuList = require("./SubMenuList.cjs");
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
3
+ const require_MenuContext = require("../context/MenuContext.cjs");
4
+ const require_PathContext = require("../context/PathContext.cjs");
5
+ const require_Icon = require("../Icon.cjs");
6
+ const require_IdContext = require("../context/IdContext.cjs");
7
+ const require_PrivateContext = require("../context/PrivateContext.cjs");
8
+ const require_useActive = require("../hooks/useActive.cjs");
9
+ const require_useDirectionStyle = require("../hooks/useDirectionStyle.cjs");
10
+ const require_commonUtil = require("../utils/commonUtil.cjs");
11
+ const require_SubMenuList = require("./SubMenuList.cjs");
12
+ const require_InlineSubMenuList = require("./InlineSubMenuList.cjs");
13
+ const require_PopupTrigger = require("./PopupTrigger.cjs");
14
+ let vue = require("vue");
15
+ let __v_c_util = require("@v-c/util");
16
+ let __v_c_overflow = require("@v-c/overflow");
17
+ __v_c_overflow = require_rolldown_runtime.__toESM(__v_c_overflow);
18
+ let __v_c_util_dist_warning = require("@v-c/util/dist/warning");
19
+ __v_c_util_dist_warning = require_rolldown_runtime.__toESM(__v_c_util_dist_warning);
18
20
  function _isSlot(s) {
19
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
21
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !(0, vue.isVNode)(s);
20
22
  }
21
- const InternalSubMenu = /* @__PURE__ */ vue.defineComponent((props, {
22
- slots,
23
- attrs
24
- }) => {
25
- const eventKeyRef = vue.computed(() => props?.eventKey || "");
26
- const domDataId = IdContext.useMenuId(eventKeyRef);
27
- const menuContext = MenuContext.useMenuContext();
28
- const {
29
- _internalRenderSubMenuItem
30
- } = PrivateContext.usePrivateContext();
31
- const pathUserContext = PathContext.usePathUserContext();
32
- const connectedPath = PathContext.useFullPath();
33
- const validConnectedPath = vue.computed(() => connectedPath.value.filter((k) => k !== void 0));
34
- const prefixCls = vue.computed(() => menuContext?.value?.prefixCls || "vc-menu");
35
- const mode = vue.computed(() => menuContext?.value?.mode || "vertical");
36
- const openKeys = vue.computed(() => menuContext?.value?.openKeys || []);
37
- const contextDisabled = vue.computed(() => menuContext?.value?.disabled);
38
- const overflowDisabled = vue.computed(() => menuContext?.value?.overflowDisabled);
39
- const activeKey = vue.computed(() => menuContext?.value?.activeKey);
40
- const selectedKeys = vue.computed(() => menuContext?.value?.selectedKeys || []);
41
- const contextExpandIcon = vue.computed(() => menuContext?.value?.expandIcon);
42
- const contextPopupRender = vue.computed(() => menuContext?.value?.popupRender);
43
- const onOpenChange = (key, open2) => {
44
- menuContext?.value?.onOpenChange?.(key, open2);
45
- };
46
- const onActive = (key) => {
47
- menuContext?.value?.onActive?.(key);
48
- };
49
- const subMenuPrefixCls = vue.computed(() => `${prefixCls.value}-submenu`);
50
- const mergedDisabled = vue.computed(() => !!(contextDisabled.value || props?.disabled));
51
- if (process.env.NODE_ENV !== "production" && props?.warnKey) {
52
- warning(false, "SubMenu should not leave undefined `key`.");
53
- }
54
- const mergedExpandIcon = vue.computed(() => props?.expandIcon ?? contextExpandIcon.value);
55
- const originOpen = vue.computed(() => {
56
- const key = props?.eventKey;
57
- return key ? openKeys.value.includes(key) : false;
58
- });
59
- const open = vue.computed(() => !overflowDisabled.value && originOpen.value);
60
- const childrenSelected = vue.computed(() => {
61
- const key = props?.eventKey;
62
- return key ? pathUserContext.isSubPathKey(selectedKeys.value, key) : false;
63
- });
64
- const eventKeyForActive = vue.computed(() => props?.eventKey || "");
65
- const {
66
- active,
67
- ...activeProps
68
- } = useActive.default(eventKeyForActive, mergedDisabled, (e) => props?.onTitleMouseEnter?.(e), (e) => props?.onTitleMouseLeave?.(e));
69
- const childrenActive = vue.ref(false);
70
- const triggerChildrenActive = (newActive) => {
71
- if (!mergedDisabled.value) {
72
- childrenActive.value = newActive;
73
- }
74
- };
75
- const onInternalMouseEnter = (domEvent) => {
76
- triggerChildrenActive(true);
77
- props?.onMouseEnter?.({
78
- key: props.eventKey,
79
- domEvent
80
- });
81
- };
82
- const onInternalMouseLeave = (domEvent) => {
83
- triggerChildrenActive(false);
84
- props?.onMouseLeave?.({
85
- key: props.eventKey,
86
- domEvent
87
- });
88
- };
89
- const mergedActive = vue.computed(() => {
90
- if (active.value) {
91
- return active.value;
92
- }
93
- if (mode.value !== "inline") {
94
- const key = props?.eventKey;
95
- const currentActiveKey = activeKey.value;
96
- return childrenActive.value || (key && currentActiveKey ? pathUserContext.isSubPathKey([currentActiveKey], key) : false);
97
- }
98
- return false;
99
- });
100
- const pathLength = vue.computed(() => connectedPath.value.length);
101
- const directionStyle = useDirectionStyle.default(pathLength);
102
- const onInternalTitleClick = (e) => {
103
- if (mergedDisabled.value) {
104
- return;
105
- }
106
- const key = props?.eventKey;
107
- props?.onTitleClick?.({
108
- key,
109
- domEvent: e
110
- });
111
- if (mode.value === "inline" && key) {
112
- onOpenChange(key, !originOpen.value);
113
- }
114
- };
115
- const onPopupVisibleChange = (newVisible) => {
116
- const key = props?.eventKey;
117
- if (mode.value !== "inline" && key) {
118
- onOpenChange(key, newVisible);
119
- }
120
- };
121
- const onInternalFocus = () => {
122
- const key = props?.eventKey;
123
- if (key) {
124
- onActive(key);
125
- }
126
- };
127
- const triggerModeRef = vue.ref(mode.value);
128
- vue.watch(mode, () => {
129
- if (mode.value !== "inline" && validConnectedPath.value.length > 1) {
130
- triggerModeRef.value = "vertical";
131
- } else {
132
- triggerModeRef.value = mode.value;
133
- }
134
- }, {
135
- immediate: true
136
- });
137
- return () => {
138
- const {
139
- style,
140
- title,
141
- class: className,
142
- popupClassName,
143
- popupOffset,
144
- popupStyle,
145
- ...restProps
146
- } = props;
147
- const children = slots.default?.();
148
- const popupId = domDataId.value && `${domDataId.value}-popup`;
149
- const expandIconProps = {
150
- isOpen: open.value,
151
- isSelected: childrenSelected.value,
152
- isSubMenu: true,
153
- disabled: mergedDisabled.value
154
- };
155
- const expandIconNode = vue.createVNode(Icon.default, {
156
- "icon": mode.value !== "horizontal" ? mergedExpandIcon.value : void 0,
157
- "props": {
158
- ...props,
159
- ...expandIconProps
160
- }
161
- }, {
162
- default: () => [vue.createVNode("i", {
163
- "class": `${subMenuPrefixCls.value}-arrow`
164
- }, null)]
165
- });
166
- let titleNode = vue.createVNode("div", vue.mergeProps({
167
- "role": "menuitem",
168
- "style": directionStyle.value,
169
- "class": `${subMenuPrefixCls.value}-title`,
170
- "tabindex": mergedDisabled.value ? void 0 : -1,
171
- "title": typeof title === "string" ? title : void 0,
172
- "data-menu-id": overflowDisabled.value && domDataId.value ? void 0 : domDataId.value,
173
- "aria-expanded": open.value,
174
- "aria-haspopup": true,
175
- "aria-controls": popupId,
176
- "aria-disabled": mergedDisabled.value,
177
- "onClick": onInternalTitleClick,
178
- "onFocus": onInternalFocus
179
- }, activeProps), [title, expandIconNode]);
180
- const popupContentTriggerMode = triggerModeRef.value;
181
- const renderPopupContent = () => {
182
- const originNode = vue.createVNode(MenuContext.default, {
183
- "classNames": props.classNames,
184
- "styles": props.styles,
185
- "mode": popupContentTriggerMode === "horizontal" ? "vertical" : popupContentTriggerMode
186
- }, {
187
- default: () => [vue.createVNode(SubMenuList.default, {
188
- "id": popupId
189
- }, _isSlot(children) ? children : {
190
- default: () => [children]
191
- })]
192
- });
193
- const mergedPopupRender = props?.popupRender || contextPopupRender.value;
194
- if (mergedPopupRender) {
195
- return mergedPopupRender(originNode, {
196
- item: props,
197
- keys: validConnectedPath.value
198
- });
199
- }
200
- return originNode;
201
- };
202
- if (!overflowDisabled.value) {
203
- const triggerMode = triggerModeRef.value;
204
- const _titleNode = /* @__PURE__ */ (function() {
205
- return titleNode;
206
- })();
207
- titleNode = vue.createVNode(PopupTrigger.default, {
208
- "mode": triggerMode,
209
- "prefixCls": subMenuPrefixCls.value,
210
- "visible": !props?.internalPopupClose && open.value && mode.value !== "inline",
211
- "popupClassName": popupClassName,
212
- "popupOffset": popupOffset,
213
- "popupStyle": popupStyle,
214
- "popup": renderPopupContent(),
215
- "disabled": mergedDisabled.value,
216
- "onVisibleChange": onPopupVisibleChange
217
- }, _isSlot(titleNode) ? titleNode : {
218
- default: () => [_titleNode]
219
- });
220
- }
221
- let listNode = vue.createVNode(Overflow.Item, vue.mergeProps({
222
- "role": "none"
223
- }, attrs, restProps, {
224
- "component": "li",
225
- "style": style,
226
- "class": util.classNames(subMenuPrefixCls.value, `${subMenuPrefixCls.value}-${mode.value}`, className, {
227
- [`${subMenuPrefixCls.value}-open`]: open.value,
228
- [`${subMenuPrefixCls.value}-active`]: mergedActive.value,
229
- [`${subMenuPrefixCls.value}-selected`]: childrenSelected.value,
230
- [`${subMenuPrefixCls.value}-disabled`]: mergedDisabled.value
231
- }),
232
- "onMouseenter": onInternalMouseEnter,
233
- "onMouseleave": onInternalMouseLeave
234
- }), {
235
- default: () => [titleNode, !overflowDisabled.value && vue.createVNode(InlineSubMenuList.default, {
236
- "id": popupId,
237
- "open": open.value,
238
- "keyPath": validConnectedPath.value
239
- }, _isSlot(children) ? children : {
240
- default: () => [children]
241
- })]
242
- });
243
- if (_internalRenderSubMenuItem) {
244
- listNode = _internalRenderSubMenuItem(listNode, props, {
245
- selected: childrenSelected.value,
246
- active: mergedActive.value,
247
- open: open.value,
248
- disabled: mergedDisabled.value
249
- });
250
- }
251
- return listNode;
252
- };
23
+ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }) => {
24
+ const domDataId = require_IdContext.useMenuId((0, vue.computed)(() => props?.eventKey || ""));
25
+ const menuContext = require_MenuContext.useMenuContext();
26
+ const { _internalRenderSubMenuItem } = require_PrivateContext.usePrivateContext();
27
+ const pathUserContext = require_PathContext.usePathUserContext();
28
+ const connectedPath = require_PathContext.useFullPath();
29
+ const validConnectedPath = (0, vue.computed)(() => connectedPath.value.filter((k) => k !== void 0));
30
+ const prefixCls = (0, vue.computed)(() => menuContext?.value?.prefixCls || "vc-menu");
31
+ const mode = (0, vue.computed)(() => menuContext?.value?.mode || "vertical");
32
+ const openKeys = (0, vue.computed)(() => menuContext?.value?.openKeys || []);
33
+ const contextDisabled = (0, vue.computed)(() => menuContext?.value?.disabled);
34
+ const overflowDisabled = (0, vue.computed)(() => menuContext?.value?.overflowDisabled);
35
+ const activeKey = (0, vue.computed)(() => menuContext?.value?.activeKey);
36
+ const selectedKeys = (0, vue.computed)(() => menuContext?.value?.selectedKeys || []);
37
+ const contextExpandIcon = (0, vue.computed)(() => menuContext?.value?.expandIcon);
38
+ const contextPopupRender = (0, vue.computed)(() => menuContext?.value?.popupRender);
39
+ const onOpenChange = (key, open$1) => {
40
+ menuContext?.value?.onOpenChange?.(key, open$1);
41
+ };
42
+ const onActive = (key) => {
43
+ menuContext?.value?.onActive?.(key);
44
+ };
45
+ const subMenuPrefixCls = (0, vue.computed)(() => `${prefixCls.value}-submenu`);
46
+ const mergedDisabled = (0, vue.computed)(() => !!(contextDisabled.value || props?.disabled));
47
+ if (process.env.NODE_ENV !== "production" && props?.warnKey) (0, __v_c_util_dist_warning.default)(false, "SubMenu should not leave undefined `key`.");
48
+ const mergedExpandIcon = (0, vue.computed)(() => props?.expandIcon ?? contextExpandIcon.value);
49
+ const originOpen = (0, vue.computed)(() => {
50
+ const key = props?.eventKey;
51
+ return key ? openKeys.value.includes(key) : false;
52
+ });
53
+ const open = (0, vue.computed)(() => !overflowDisabled.value && originOpen.value);
54
+ const childrenSelected = (0, vue.computed)(() => {
55
+ const key = props?.eventKey;
56
+ return key ? pathUserContext.isSubPathKey(selectedKeys.value, key) : false;
57
+ });
58
+ const { active,...activeProps } = require_useActive.default((0, vue.computed)(() => props?.eventKey || ""), mergedDisabled, (e) => props?.onTitleMouseEnter?.(e), (e) => props?.onTitleMouseLeave?.(e));
59
+ const childrenActive = (0, vue.ref)(false);
60
+ const triggerChildrenActive = (newActive) => {
61
+ if (!mergedDisabled.value) childrenActive.value = newActive;
62
+ };
63
+ const onInternalMouseEnter = (domEvent) => {
64
+ triggerChildrenActive(true);
65
+ props?.onMouseEnter?.({
66
+ key: props.eventKey,
67
+ domEvent
68
+ });
69
+ };
70
+ const onInternalMouseLeave = (domEvent) => {
71
+ triggerChildrenActive(false);
72
+ props?.onMouseLeave?.({
73
+ key: props.eventKey,
74
+ domEvent
75
+ });
76
+ };
77
+ const mergedActive = (0, vue.computed)(() => {
78
+ if (active.value) return active.value;
79
+ if (mode.value !== "inline") {
80
+ const key = props?.eventKey;
81
+ const currentActiveKey = activeKey.value;
82
+ return childrenActive.value || (key && currentActiveKey ? pathUserContext.isSubPathKey([currentActiveKey], key) : false);
83
+ }
84
+ return false;
85
+ });
86
+ const directionStyle = require_useDirectionStyle.default((0, vue.computed)(() => connectedPath.value.length));
87
+ const onInternalTitleClick = (e) => {
88
+ if (mergedDisabled.value) return;
89
+ const key = props?.eventKey;
90
+ props?.onTitleClick?.({
91
+ key,
92
+ domEvent: e
93
+ });
94
+ if (mode.value === "inline" && key) onOpenChange(key, !originOpen.value);
95
+ };
96
+ const onPopupVisibleChange = (newVisible) => {
97
+ const key = props?.eventKey;
98
+ if (mode.value !== "inline" && key) onOpenChange(key, newVisible);
99
+ };
100
+ const onInternalFocus = () => {
101
+ const key = props?.eventKey;
102
+ if (key) onActive(key);
103
+ };
104
+ const triggerModeRef = (0, vue.ref)(mode.value);
105
+ (0, vue.watch)(mode, () => {
106
+ if (mode.value !== "inline" && validConnectedPath.value.length > 1) triggerModeRef.value = "vertical";
107
+ else triggerModeRef.value = mode.value;
108
+ }, { immediate: true });
109
+ return () => {
110
+ const { style, title, class: className, popupClassName, popupOffset, popupStyle,...restProps } = props;
111
+ const children = slots.default?.();
112
+ const popupId = domDataId.value && `${domDataId.value}-popup`;
113
+ const expandIconProps = {
114
+ isOpen: open.value,
115
+ isSelected: childrenSelected.value,
116
+ isSubMenu: true,
117
+ disabled: mergedDisabled.value
118
+ };
119
+ const expandIconNode = (0, vue.createVNode)(require_Icon.default, {
120
+ "icon": mode.value !== "horizontal" ? mergedExpandIcon.value : void 0,
121
+ "props": {
122
+ ...props,
123
+ ...expandIconProps
124
+ }
125
+ }, { default: () => [(0, vue.createVNode)("i", { "class": `${subMenuPrefixCls.value}-arrow` }, null)] });
126
+ let titleNode = (0, vue.createVNode)("div", (0, vue.mergeProps)({
127
+ "role": "menuitem",
128
+ "style": directionStyle.value,
129
+ "class": `${subMenuPrefixCls.value}-title`,
130
+ "tabindex": mergedDisabled.value ? void 0 : -1,
131
+ "title": typeof title === "string" ? title : void 0,
132
+ "data-menu-id": overflowDisabled.value && domDataId.value ? void 0 : domDataId.value,
133
+ "aria-expanded": open.value,
134
+ "aria-haspopup": true,
135
+ "aria-controls": popupId,
136
+ "aria-disabled": mergedDisabled.value,
137
+ "onClick": onInternalTitleClick,
138
+ "onFocus": onInternalFocus
139
+ }, activeProps), [title, expandIconNode]);
140
+ const popupContentTriggerMode = triggerModeRef.value;
141
+ const renderPopupContent = () => {
142
+ const originNode = (0, vue.createVNode)(require_MenuContext.default, {
143
+ "classNames": props.classNames,
144
+ "styles": props.styles,
145
+ "mode": popupContentTriggerMode === "horizontal" ? "vertical" : popupContentTriggerMode
146
+ }, { default: () => [(0, vue.createVNode)(require_SubMenuList.default, { "id": popupId }, _isSlot(children) ? children : { default: () => [children] })] });
147
+ const mergedPopupRender = props?.popupRender || contextPopupRender.value;
148
+ if (mergedPopupRender) return mergedPopupRender(originNode, {
149
+ item: props,
150
+ keys: validConnectedPath.value
151
+ });
152
+ return originNode;
153
+ };
154
+ if (!overflowDisabled.value) {
155
+ const triggerMode = triggerModeRef.value;
156
+ const _titleNode = function() {
157
+ return titleNode;
158
+ }();
159
+ titleNode = (0, vue.createVNode)(require_PopupTrigger.default, {
160
+ "mode": triggerMode,
161
+ "prefixCls": subMenuPrefixCls.value,
162
+ "visible": !props?.internalPopupClose && open.value && mode.value !== "inline",
163
+ "popupClassName": popupClassName,
164
+ "popupOffset": popupOffset,
165
+ "popupStyle": popupStyle,
166
+ "popup": renderPopupContent(),
167
+ "disabled": mergedDisabled.value,
168
+ "onVisibleChange": onPopupVisibleChange
169
+ }, _isSlot(titleNode) ? titleNode : { default: () => [_titleNode] });
170
+ }
171
+ let listNode = (0, vue.createVNode)(__v_c_overflow.default.Item, (0, vue.mergeProps)({ "role": "none" }, attrs, restProps, {
172
+ "component": "li",
173
+ "style": style,
174
+ "class": (0, __v_c_util.classNames)(subMenuPrefixCls.value, `${subMenuPrefixCls.value}-${mode.value}`, className, {
175
+ [`${subMenuPrefixCls.value}-open`]: open.value,
176
+ [`${subMenuPrefixCls.value}-active`]: mergedActive.value,
177
+ [`${subMenuPrefixCls.value}-selected`]: childrenSelected.value,
178
+ [`${subMenuPrefixCls.value}-disabled`]: mergedDisabled.value
179
+ }),
180
+ "onMouseenter": onInternalMouseEnter,
181
+ "onMouseleave": onInternalMouseLeave
182
+ }), { default: () => [titleNode, !overflowDisabled.value && (0, vue.createVNode)(require_InlineSubMenuList.default, {
183
+ "id": popupId,
184
+ "open": open.value,
185
+ "keyPath": validConnectedPath.value
186
+ }, _isSlot(children) ? children : { default: () => [children] })] });
187
+ if (_internalRenderSubMenuItem) listNode = _internalRenderSubMenuItem(listNode, props, {
188
+ selected: childrenSelected.value,
189
+ active: mergedActive.value,
190
+ open: open.value,
191
+ disabled: mergedDisabled.value
192
+ });
193
+ return listNode;
194
+ };
253
195
  }, {
254
- props: {
255
- classNames: {
256
- type: Object,
257
- required: false,
258
- default: void 0
259
- },
260
- styles: {
261
- type: Object,
262
- required: false,
263
- default: void 0
264
- },
265
- title: {
266
- type: null,
267
- required: false,
268
- default: void 0
269
- },
270
- internalPopupClose: {
271
- type: Boolean,
272
- required: false,
273
- default: void 0
274
- },
275
- eventKey: {
276
- type: String,
277
- required: false,
278
- default: void 0
279
- },
280
- warnKey: {
281
- type: Boolean,
282
- required: false,
283
- default: void 0
284
- },
285
- popupRender: {
286
- type: Function,
287
- required: false,
288
- default: void 0
289
- },
290
- type: {
291
- type: String,
292
- required: false,
293
- default: void 0
294
- },
295
- disabled: {
296
- type: Boolean,
297
- required: false,
298
- default: void 0
299
- },
300
- rootClassName: {
301
- type: String,
302
- required: false,
303
- default: void 0
304
- },
305
- itemIcon: {
306
- type: [String, Number, null, Array, Function, Boolean],
307
- required: false,
308
- skipCheck: true,
309
- default: void 0
310
- },
311
- expandIcon: {
312
- type: [String, Number, null, Array, Function, Boolean],
313
- required: false,
314
- skipCheck: true,
315
- default: void 0
316
- },
317
- onMouseEnter: {
318
- type: Function,
319
- required: false,
320
- default: void 0
321
- },
322
- onMouseLeave: {
323
- type: Function,
324
- required: false,
325
- default: void 0
326
- },
327
- popupClassName: {
328
- type: String,
329
- required: false,
330
- default: void 0
331
- },
332
- popupOffset: {
333
- type: Array,
334
- required: false,
335
- default: void 0
336
- },
337
- popupStyle: {
338
- type: null,
339
- required: false,
340
- default: void 0
341
- },
342
- onClick: {
343
- type: Function,
344
- required: false,
345
- default: void 0
346
- },
347
- onTitleClick: {
348
- type: Function,
349
- required: false,
350
- default: void 0
351
- },
352
- onTitleMouseEnter: {
353
- type: Function,
354
- required: false,
355
- default: void 0
356
- },
357
- onTitleMouseLeave: {
358
- type: Function,
359
- required: false,
360
- default: void 0
361
- },
362
- style: {
363
- type: null,
364
- required: false,
365
- default: void 0
366
- },
367
- class: {
368
- type: String,
369
- required: false,
370
- default: void 0
371
- }
372
- },
373
- name: "InternalSubMenu",
374
- inheritAttrs: false
196
+ props: {
197
+ classNames: {
198
+ type: Object,
199
+ required: false,
200
+ default: void 0
201
+ },
202
+ styles: {
203
+ type: Object,
204
+ required: false,
205
+ default: void 0
206
+ },
207
+ title: {
208
+ type: null,
209
+ required: false,
210
+ default: void 0
211
+ },
212
+ internalPopupClose: {
213
+ type: Boolean,
214
+ required: false,
215
+ default: void 0
216
+ },
217
+ eventKey: {
218
+ type: String,
219
+ required: false,
220
+ default: void 0
221
+ },
222
+ warnKey: {
223
+ type: Boolean,
224
+ required: false,
225
+ default: void 0
226
+ },
227
+ popupRender: {
228
+ type: Function,
229
+ required: false,
230
+ default: void 0
231
+ },
232
+ type: {
233
+ type: String,
234
+ required: false,
235
+ default: void 0
236
+ },
237
+ disabled: {
238
+ type: Boolean,
239
+ required: false,
240
+ default: void 0
241
+ },
242
+ rootClassName: {
243
+ type: String,
244
+ required: false,
245
+ default: void 0
246
+ },
247
+ itemIcon: {
248
+ type: [
249
+ String,
250
+ Number,
251
+ null,
252
+ Array,
253
+ Function,
254
+ Boolean
255
+ ],
256
+ required: false,
257
+ skipCheck: true,
258
+ default: void 0
259
+ },
260
+ expandIcon: {
261
+ type: [
262
+ String,
263
+ Number,
264
+ null,
265
+ Array,
266
+ Function,
267
+ Boolean
268
+ ],
269
+ required: false,
270
+ skipCheck: true,
271
+ default: void 0
272
+ },
273
+ onMouseEnter: {
274
+ type: Function,
275
+ required: false,
276
+ default: void 0
277
+ },
278
+ onMouseLeave: {
279
+ type: Function,
280
+ required: false,
281
+ default: void 0
282
+ },
283
+ popupClassName: {
284
+ type: String,
285
+ required: false,
286
+ default: void 0
287
+ },
288
+ popupOffset: {
289
+ type: Array,
290
+ required: false,
291
+ default: void 0
292
+ },
293
+ popupStyle: {
294
+ type: null,
295
+ required: false,
296
+ default: void 0
297
+ },
298
+ onClick: {
299
+ type: Function,
300
+ required: false,
301
+ default: void 0
302
+ },
303
+ onTitleClick: {
304
+ type: Function,
305
+ required: false,
306
+ default: void 0
307
+ },
308
+ onTitleMouseEnter: {
309
+ type: Function,
310
+ required: false,
311
+ default: void 0
312
+ },
313
+ onTitleMouseLeave: {
314
+ type: Function,
315
+ required: false,
316
+ default: void 0
317
+ },
318
+ style: {
319
+ type: null,
320
+ required: false,
321
+ default: void 0
322
+ },
323
+ class: {
324
+ type: String,
325
+ required: false,
326
+ default: void 0
327
+ }
328
+ },
329
+ name: "InternalSubMenu",
330
+ inheritAttrs: false
375
331
  });
376
- const SubMenu = /* @__PURE__ */ vue.defineComponent((props, {
377
- slots
378
- }) => {
379
- const eventKeyRef = vue.computed(() => props?.eventKey);
380
- const connectedKeyPath = PathContext.useFullPath(eventKeyRef);
381
- const measure = PathContext.useMeasure();
382
- const validKeyPath = vue.computed(() => connectedKeyPath.value.filter((k) => k !== void 0));
383
- vue.watch(
384
- [validKeyPath, () => props.eventKey],
385
- () => {
386
- if (measure && props.eventKey) {
387
- measure.registerPath(props.eventKey, validKeyPath.value);
388
- }
389
- }
390
- // { immediate: true, flush: 'post' },
391
- );
392
- return () => {
393
- const children = slots.default?.();
394
- const childList = commonUtil.parseChildren(children, validKeyPath.value);
395
- let renderNode;
396
- if (measure) {
397
- renderNode = childList;
398
- } else {
399
- renderNode = vue.createVNode(InternalSubMenu, props, _isSlot(childList) ? childList : {
400
- default: () => [childList]
401
- });
402
- }
403
- return vue.createVNode(PathContext.PathTrackerContext.Provider, {
404
- "value": validKeyPath.value
405
- }, _isSlot(renderNode) ? renderNode : {
406
- default: () => [renderNode]
407
- });
408
- };
332
+ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
333
+ const connectedKeyPath = require_PathContext.useFullPath((0, vue.computed)(() => props?.eventKey));
334
+ const measure = require_PathContext.useMeasure();
335
+ const validKeyPath = (0, vue.computed)(() => connectedKeyPath.value.filter((k) => k !== void 0));
336
+ (0, vue.watch)([validKeyPath, () => props.eventKey], () => {
337
+ if (measure && props.eventKey) measure.registerPath(props.eventKey, validKeyPath.value);
338
+ });
339
+ return () => {
340
+ const children = slots.default?.();
341
+ const childList = require_commonUtil.parseChildren(children, validKeyPath.value);
342
+ let renderNode;
343
+ if (measure) renderNode = childList;
344
+ else renderNode = (0, vue.createVNode)(InternalSubMenu, props, _isSlot(childList) ? childList : { default: () => [childList] });
345
+ return (0, vue.createVNode)(require_PathContext.PathTrackerContext.Provider, { "value": validKeyPath.value }, _isSlot(renderNode) ? renderNode : { default: () => [renderNode] });
346
+ };
409
347
  }, {
410
- props: {
411
- classNames: {
412
- type: Object,
413
- required: false,
414
- default: void 0
415
- },
416
- styles: {
417
- type: Object,
418
- required: false,
419
- default: void 0
420
- },
421
- title: {
422
- type: null,
423
- required: false,
424
- default: void 0
425
- },
426
- internalPopupClose: {
427
- type: Boolean,
428
- required: false,
429
- default: void 0
430
- },
431
- eventKey: {
432
- type: String,
433
- required: false,
434
- default: void 0
435
- },
436
- warnKey: {
437
- type: Boolean,
438
- required: false,
439
- default: void 0
440
- },
441
- popupRender: {
442
- type: Function,
443
- required: false,
444
- default: void 0
445
- },
446
- type: {
447
- type: String,
448
- required: false,
449
- default: void 0
450
- },
451
- disabled: {
452
- type: Boolean,
453
- required: false,
454
- default: void 0
455
- },
456
- rootClassName: {
457
- type: String,
458
- required: false,
459
- default: void 0
460
- },
461
- itemIcon: {
462
- type: [String, Number, null, Array, Function, Boolean],
463
- required: false,
464
- skipCheck: true,
465
- default: void 0
466
- },
467
- expandIcon: {
468
- type: [String, Number, null, Array, Function, Boolean],
469
- required: false,
470
- skipCheck: true,
471
- default: void 0
472
- },
473
- onMouseEnter: {
474
- type: Function,
475
- required: false,
476
- default: void 0
477
- },
478
- onMouseLeave: {
479
- type: Function,
480
- required: false,
481
- default: void 0
482
- },
483
- popupClassName: {
484
- type: String,
485
- required: false,
486
- default: void 0
487
- },
488
- popupOffset: {
489
- type: Array,
490
- required: false,
491
- default: void 0
492
- },
493
- popupStyle: {
494
- type: null,
495
- required: false,
496
- default: void 0
497
- },
498
- onClick: {
499
- type: Function,
500
- required: false,
501
- default: void 0
502
- },
503
- onTitleClick: {
504
- type: Function,
505
- required: false,
506
- default: void 0
507
- },
508
- onTitleMouseEnter: {
509
- type: Function,
510
- required: false,
511
- default: void 0
512
- },
513
- onTitleMouseLeave: {
514
- type: Function,
515
- required: false,
516
- default: void 0
517
- },
518
- style: {
519
- type: null,
520
- required: false,
521
- default: void 0
522
- },
523
- class: {
524
- type: String,
525
- required: false,
526
- default: void 0
527
- }
528
- },
529
- name: "SubMenu",
530
- inheritAttrs: false
348
+ props: {
349
+ classNames: {
350
+ type: Object,
351
+ required: false,
352
+ default: void 0
353
+ },
354
+ styles: {
355
+ type: Object,
356
+ required: false,
357
+ default: void 0
358
+ },
359
+ title: {
360
+ type: null,
361
+ required: false,
362
+ default: void 0
363
+ },
364
+ internalPopupClose: {
365
+ type: Boolean,
366
+ required: false,
367
+ default: void 0
368
+ },
369
+ eventKey: {
370
+ type: String,
371
+ required: false,
372
+ default: void 0
373
+ },
374
+ warnKey: {
375
+ type: Boolean,
376
+ required: false,
377
+ default: void 0
378
+ },
379
+ popupRender: {
380
+ type: Function,
381
+ required: false,
382
+ default: void 0
383
+ },
384
+ type: {
385
+ type: String,
386
+ required: false,
387
+ default: void 0
388
+ },
389
+ disabled: {
390
+ type: Boolean,
391
+ required: false,
392
+ default: void 0
393
+ },
394
+ rootClassName: {
395
+ type: String,
396
+ required: false,
397
+ default: void 0
398
+ },
399
+ itemIcon: {
400
+ type: [
401
+ String,
402
+ Number,
403
+ null,
404
+ Array,
405
+ Function,
406
+ Boolean
407
+ ],
408
+ required: false,
409
+ skipCheck: true,
410
+ default: void 0
411
+ },
412
+ expandIcon: {
413
+ type: [
414
+ String,
415
+ Number,
416
+ null,
417
+ Array,
418
+ Function,
419
+ Boolean
420
+ ],
421
+ required: false,
422
+ skipCheck: true,
423
+ default: void 0
424
+ },
425
+ onMouseEnter: {
426
+ type: Function,
427
+ required: false,
428
+ default: void 0
429
+ },
430
+ onMouseLeave: {
431
+ type: Function,
432
+ required: false,
433
+ default: void 0
434
+ },
435
+ popupClassName: {
436
+ type: String,
437
+ required: false,
438
+ default: void 0
439
+ },
440
+ popupOffset: {
441
+ type: Array,
442
+ required: false,
443
+ default: void 0
444
+ },
445
+ popupStyle: {
446
+ type: null,
447
+ required: false,
448
+ default: void 0
449
+ },
450
+ onClick: {
451
+ type: Function,
452
+ required: false,
453
+ default: void 0
454
+ },
455
+ onTitleClick: {
456
+ type: Function,
457
+ required: false,
458
+ default: void 0
459
+ },
460
+ onTitleMouseEnter: {
461
+ type: Function,
462
+ required: false,
463
+ default: void 0
464
+ },
465
+ onTitleMouseLeave: {
466
+ type: Function,
467
+ required: false,
468
+ default: void 0
469
+ },
470
+ style: {
471
+ type: null,
472
+ required: false,
473
+ default: void 0
474
+ },
475
+ class: {
476
+ type: String,
477
+ required: false,
478
+ default: void 0
479
+ }
480
+ },
481
+ name: "SubMenu",
482
+ inheritAttrs: false
531
483
  });
532
- exports.default = SubMenu;
484
+ var SubMenu_default = SubMenu;
485
+ exports.default = SubMenu_default;