@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.
- package/dist/Divider.cjs +33 -36
- package/dist/Divider.js +28 -34
- package/dist/Icon.cjs +39 -38
- package/dist/Icon.js +36 -38
- package/dist/Menu.cjs +506 -575
- package/dist/Menu.d.ts +2 -0
- package/dist/Menu.js +495 -570
- package/dist/MenuItem.cjs +314 -344
- package/dist/MenuItem.js +303 -339
- package/dist/MenuItemGroup.cjs +98 -116
- package/dist/MenuItemGroup.js +91 -113
- package/dist/SubMenu/InlineSubMenuList.cjs +58 -82
- package/dist/SubMenu/InlineSubMenuList.js +54 -81
- package/dist/SubMenu/PopupTrigger.cjs +133 -167
- package/dist/SubMenu/PopupTrigger.d.ts +2 -2
- package/dist/SubMenu/PopupTrigger.js +126 -165
- package/dist/SubMenu/SubMenuList.cjs +18 -26
- package/dist/SubMenu/SubMenuList.js +14 -25
- package/dist/SubMenu/index.cjs +479 -526
- package/dist/SubMenu/index.js +469 -521
- package/dist/_virtual/rolldown_runtime.cjs +21 -0
- package/dist/context/IdContext.cjs +15 -23
- package/dist/context/IdContext.js +15 -27
- package/dist/context/MenuContext.cjs +183 -174
- package/dist/context/MenuContext.js +180 -177
- package/dist/context/PathContext.cjs +54 -79
- package/dist/context/PathContext.js +54 -90
- package/dist/context/PrivateContext.cjs +11 -17
- package/dist/context/PrivateContext.js +11 -20
- package/dist/hooks/useAccessibility.cjs +171 -191
- package/dist/hooks/useAccessibility.js +168 -193
- package/dist/hooks/useActive.cjs +25 -28
- package/dist/hooks/useActive.js +23 -28
- package/dist/hooks/useDirectionStyle.cjs +11 -17
- package/dist/hooks/useDirectionStyle.js +9 -17
- package/dist/hooks/useKeyRecords.cjs +70 -88
- package/dist/hooks/useKeyRecords.js +68 -89
- package/dist/hooks/useMemoCallback.cjs +9 -9
- package/dist/hooks/useMemoCallback.js +7 -9
- package/dist/index.cjs +21 -21
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -20
- package/dist/interface.cjs +0 -1
- package/dist/interface.js +0 -1
- package/dist/placements.cjs +70 -70
- package/dist/placements.js +69 -72
- package/dist/utils/commonUtil.cjs +24 -26
- package/dist/utils/commonUtil.js +23 -26
- package/dist/utils/motionUtil.cjs +2 -9
- package/dist/utils/motionUtil.js +3 -10
- package/dist/utils/nodeUtil.cjs +49 -77
- package/dist/utils/nodeUtil.d.ts +4 -1
- package/dist/utils/nodeUtil.js +48 -77
- package/dist/utils/timeUtil.cjs +2 -3
- package/dist/utils/timeUtil.js +3 -4
- package/dist/utils/warnUtil.cjs +8 -14
- package/dist/utils/warnUtil.js +7 -14
- package/package.json +2 -2
|
@@ -1,210 +1,185 @@
|
|
|
1
|
-
import KeyCode from "@v-c/util/dist/KeyCode";
|
|
2
|
-
import { shallowRef, onBeforeUnmount } from "vue";
|
|
3
1
|
import { getMenuId } from "../context/IdContext.js";
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { onBeforeUnmount, shallowRef } from "vue";
|
|
3
|
+
import KeyCode from "@v-c/util/dist/KeyCode";
|
|
4
|
+
var { LEFT, RIGHT, UP, DOWN, ENTER, ESC, HOME, END } = KeyCode;
|
|
5
|
+
var ArrowKeys = [
|
|
6
|
+
UP,
|
|
7
|
+
DOWN,
|
|
8
|
+
LEFT,
|
|
9
|
+
RIGHT
|
|
10
|
+
];
|
|
6
11
|
function getOffset(mode, isRootLevel, isRtl, which) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
12
|
+
const prev = "prev";
|
|
13
|
+
const next = "next";
|
|
14
|
+
const children = "children";
|
|
15
|
+
const parent = "parent";
|
|
16
|
+
if (mode === "inline" && which === ENTER) return { inlineTrigger: true };
|
|
17
|
+
const inline = {
|
|
18
|
+
[UP]: prev,
|
|
19
|
+
[DOWN]: next
|
|
20
|
+
};
|
|
21
|
+
const horizontal = {
|
|
22
|
+
[LEFT]: isRtl ? next : prev,
|
|
23
|
+
[RIGHT]: isRtl ? prev : next,
|
|
24
|
+
[DOWN]: children,
|
|
25
|
+
[ENTER]: children
|
|
26
|
+
};
|
|
27
|
+
const vertical = {
|
|
28
|
+
[UP]: prev,
|
|
29
|
+
[DOWN]: next,
|
|
30
|
+
[ENTER]: children,
|
|
31
|
+
[ESC]: parent,
|
|
32
|
+
[LEFT]: isRtl ? children : parent,
|
|
33
|
+
[RIGHT]: isRtl ? parent : children
|
|
34
|
+
};
|
|
35
|
+
switch ({
|
|
36
|
+
inline,
|
|
37
|
+
horizontal,
|
|
38
|
+
vertical,
|
|
39
|
+
inlineSub: inline,
|
|
40
|
+
horizontalSub: vertical,
|
|
41
|
+
verticalSub: vertical
|
|
42
|
+
}[`${mode}${isRootLevel ? "" : "Sub"}`]?.[which]) {
|
|
43
|
+
case prev: return {
|
|
44
|
+
offset: -1,
|
|
45
|
+
sibling: true
|
|
46
|
+
};
|
|
47
|
+
case next: return {
|
|
48
|
+
offset: 1,
|
|
49
|
+
sibling: true
|
|
50
|
+
};
|
|
51
|
+
case parent: return {
|
|
52
|
+
offset: -1,
|
|
53
|
+
sibling: false
|
|
54
|
+
};
|
|
55
|
+
case children: return {
|
|
56
|
+
offset: 1,
|
|
57
|
+
sibling: false
|
|
58
|
+
};
|
|
59
|
+
default: return null;
|
|
60
|
+
}
|
|
50
61
|
}
|
|
51
62
|
function findContainerUL(element) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
63
|
+
let current = element;
|
|
64
|
+
while (current) {
|
|
65
|
+
if (current.getAttribute("data-menu-list")) return current;
|
|
66
|
+
current = current.parentElement;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
60
69
|
}
|
|
61
70
|
function getFocusNodeList(container, includeDisabled) {
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
const selector = includeDisabled ? "[tabindex]" : "[tabindex]:not([tabindex=\"-1\"]):not([disabled]):not([aria-disabled=\"true\"])";
|
|
72
|
+
return Array.from(container.querySelectorAll(selector));
|
|
64
73
|
}
|
|
65
74
|
function getFocusElement(activeElement, elements) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
return null;
|
|
75
|
+
let current = activeElement || document.activeElement;
|
|
76
|
+
while (current) {
|
|
77
|
+
if (elements.has(current)) return current;
|
|
78
|
+
current = current.parentElement;
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
74
81
|
}
|
|
75
82
|
function getFocusableElements(container, elements) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const list = getFocusNodeList(container);
|
|
79
|
-
return list.filter((ele) => elements.has(ele));
|
|
83
|
+
if (!container) return [];
|
|
84
|
+
return getFocusNodeList(container, true).filter((ele) => elements.has(ele));
|
|
80
85
|
}
|
|
81
86
|
function getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offset = 1) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
} else {
|
|
92
|
-
focusIndex -= 1;
|
|
93
|
-
}
|
|
94
|
-
} else if (offset > 0) {
|
|
95
|
-
focusIndex += 1;
|
|
96
|
-
}
|
|
97
|
-
focusIndex = (focusIndex + count) % count;
|
|
98
|
-
return sameLevelFocusableMenuElementList[focusIndex];
|
|
87
|
+
if (!parentQueryContainer) return null;
|
|
88
|
+
const sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements);
|
|
89
|
+
const count = sameLevelFocusableMenuElementList.length;
|
|
90
|
+
let focusIndex = sameLevelFocusableMenuElementList.findIndex((ele) => focusMenuElement === ele);
|
|
91
|
+
if (offset < 0) if (focusIndex === -1) focusIndex = count - 1;
|
|
92
|
+
else focusIndex -= 1;
|
|
93
|
+
else if (offset > 0) focusIndex += 1;
|
|
94
|
+
focusIndex = (focusIndex + count) % count;
|
|
95
|
+
return sameLevelFocusableMenuElementList[focusIndex];
|
|
99
96
|
}
|
|
100
97
|
function refreshElements(keys, id) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
98
|
+
const elements = /* @__PURE__ */ new Set();
|
|
99
|
+
const key2element = /* @__PURE__ */ new Map();
|
|
100
|
+
const element2key = /* @__PURE__ */ new Map();
|
|
101
|
+
keys.forEach((key) => {
|
|
102
|
+
const element = document.querySelector(`[data-menu-id='${getMenuId(id, key)}']`);
|
|
103
|
+
if (element) {
|
|
104
|
+
elements.add(element);
|
|
105
|
+
element2key.set(element, key);
|
|
106
|
+
key2element.set(key, element);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
elements,
|
|
111
|
+
key2element,
|
|
112
|
+
element2key
|
|
113
|
+
};
|
|
113
114
|
}
|
|
114
115
|
function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
} else if (offsetObj.inlineTrigger) {
|
|
184
|
-
triggerAccessibilityOpen(focusMenuKey);
|
|
185
|
-
} else if (offsetObj.offset > 0) {
|
|
186
|
-
triggerAccessibilityOpen(focusMenuKey, true);
|
|
187
|
-
cleanRaf();
|
|
188
|
-
rafRef.value = requestAnimationFrame(() => {
|
|
189
|
-
refreshedElements = refreshElements(keys, id);
|
|
190
|
-
const controlId = focusMenuElement.getAttribute("aria-controls");
|
|
191
|
-
const subQueryContainer = controlId ? document.getElementById(controlId) : null;
|
|
192
|
-
const targetElement = getNextFocusElement(subQueryContainer, refreshedElements.elements);
|
|
193
|
-
tryFocus(targetElement);
|
|
194
|
-
});
|
|
195
|
-
} else if (offsetObj.offset < 0) {
|
|
196
|
-
const keyPath = getKeyPath(focusMenuKey, true);
|
|
197
|
-
const parentKey = keyPath[keyPath.length - 2];
|
|
198
|
-
const parentMenuElement = key2element.get(parentKey);
|
|
199
|
-
triggerAccessibilityOpen(parentKey, false);
|
|
200
|
-
tryFocus(parentMenuElement);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
originOnKeyDown?.(e);
|
|
204
|
-
};
|
|
116
|
+
const rafRef = shallowRef();
|
|
117
|
+
const activeRef = shallowRef();
|
|
118
|
+
const cleanRaf = () => {
|
|
119
|
+
if (rafRef.value !== void 0) cancelAnimationFrame(rafRef.value);
|
|
120
|
+
};
|
|
121
|
+
onBeforeUnmount(() => {
|
|
122
|
+
cleanRaf();
|
|
123
|
+
});
|
|
124
|
+
return (e) => {
|
|
125
|
+
activeRef.value = activeKey.value;
|
|
126
|
+
const { which } = e;
|
|
127
|
+
if ([
|
|
128
|
+
...ArrowKeys,
|
|
129
|
+
ENTER,
|
|
130
|
+
ESC,
|
|
131
|
+
HOME,
|
|
132
|
+
END
|
|
133
|
+
].includes(which)) {
|
|
134
|
+
const keys = getKeys();
|
|
135
|
+
let refreshedElements = refreshElements(keys, id);
|
|
136
|
+
const { elements, key2element, element2key } = refreshedElements;
|
|
137
|
+
const focusMenuElement = getFocusElement(key2element.get(activeKey.value) || null, elements);
|
|
138
|
+
const focusMenuKey = element2key.get(focusMenuElement);
|
|
139
|
+
const offsetObj = getOffset(mode.value, getKeyPath(focusMenuKey, true).length === 1, isRtl.value, which);
|
|
140
|
+
if (!offsetObj && which !== HOME && which !== END) return;
|
|
141
|
+
if (ArrowKeys.includes(which) || [HOME, END].includes(which)) e.preventDefault();
|
|
142
|
+
const tryFocus = (menuElement) => {
|
|
143
|
+
if (menuElement) {
|
|
144
|
+
let focusTargetElement = menuElement;
|
|
145
|
+
const link = menuElement.querySelector("a");
|
|
146
|
+
if (link?.getAttribute("href")) focusTargetElement = link;
|
|
147
|
+
const targetKey = element2key.get(menuElement);
|
|
148
|
+
if (targetKey) triggerActiveKey(targetKey);
|
|
149
|
+
cleanRaf();
|
|
150
|
+
rafRef.value = requestAnimationFrame(() => {
|
|
151
|
+
if (activeRef.value === targetKey) focusTargetElement.focus();
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
if ([HOME, END].includes(which) || offsetObj?.sibling || !focusMenuElement) {
|
|
156
|
+
let parentQueryContainer;
|
|
157
|
+
if (!focusMenuElement || mode.value === "inline") parentQueryContainer = containerRef.value;
|
|
158
|
+
else parentQueryContainer = findContainerUL(focusMenuElement);
|
|
159
|
+
let targetElement;
|
|
160
|
+
const focusableElements = getFocusableElements(parentQueryContainer, elements);
|
|
161
|
+
if (which === HOME) targetElement = focusableElements[0];
|
|
162
|
+
else if (which === END) targetElement = focusableElements[focusableElements.length - 1];
|
|
163
|
+
else targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj?.offset);
|
|
164
|
+
tryFocus(targetElement);
|
|
165
|
+
} else if (offsetObj.inlineTrigger) triggerAccessibilityOpen(focusMenuKey);
|
|
166
|
+
else if (offsetObj.offset > 0) {
|
|
167
|
+
triggerAccessibilityOpen(focusMenuKey, true);
|
|
168
|
+
cleanRaf();
|
|
169
|
+
rafRef.value = requestAnimationFrame(() => {
|
|
170
|
+
refreshedElements = refreshElements(keys, id);
|
|
171
|
+
const controlId = focusMenuElement.getAttribute("aria-controls");
|
|
172
|
+
tryFocus(getNextFocusElement(controlId ? document.getElementById(controlId) : null, refreshedElements.elements));
|
|
173
|
+
});
|
|
174
|
+
} else if (offsetObj.offset < 0) {
|
|
175
|
+
const keyPath = getKeyPath(focusMenuKey, true);
|
|
176
|
+
const parentKey = keyPath[keyPath.length - 2];
|
|
177
|
+
const parentMenuElement = key2element.get(parentKey);
|
|
178
|
+
triggerAccessibilityOpen(parentKey, false);
|
|
179
|
+
tryFocus(parentMenuElement);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
originOnKeyDown?.(e);
|
|
183
|
+
};
|
|
205
184
|
}
|
|
206
|
-
export {
|
|
207
|
-
useAccessibility as default,
|
|
208
|
-
getFocusableElements,
|
|
209
|
-
refreshElements
|
|
210
|
-
};
|
|
185
|
+
export { useAccessibility as default, getFocusableElements, refreshElements };
|
package/dist/hooks/useActive.cjs
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
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
|
+
let vue = require("vue");
|
|
5
5
|
function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
return ret;
|
|
6
|
+
const menuContext = require_MenuContext.useMenuContext();
|
|
7
|
+
const ret = { active: (0, vue.computed)(() => menuContext?.value?.activeKey === eventKey.value) };
|
|
8
|
+
(0, vue.watchEffect)(() => {
|
|
9
|
+
if (!disabled.value) {
|
|
10
|
+
ret.onMouseEnter = (domEvent) => {
|
|
11
|
+
onMouseEnter?.({
|
|
12
|
+
key: eventKey.value,
|
|
13
|
+
domEvent
|
|
14
|
+
});
|
|
15
|
+
menuContext?.value?.onActive?.(eventKey.value);
|
|
16
|
+
};
|
|
17
|
+
ret.onMouseLeave = (domEvent) => {
|
|
18
|
+
onMouseLeave?.({
|
|
19
|
+
key: eventKey.value,
|
|
20
|
+
domEvent
|
|
21
|
+
});
|
|
22
|
+
menuContext?.value?.onInactive?.(eventKey.value);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return ret;
|
|
30
27
|
}
|
|
31
28
|
exports.default = useActive;
|
package/dist/hooks/useActive.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
import { computed, watchEffect } from "vue";
|
|
2
1
|
import { useMenuContext } from "../context/MenuContext.js";
|
|
2
|
+
import { computed, watchEffect } from "vue";
|
|
3
3
|
function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
return ret;
|
|
4
|
+
const menuContext = useMenuContext();
|
|
5
|
+
const ret = { active: computed(() => menuContext?.value?.activeKey === eventKey.value) };
|
|
6
|
+
watchEffect(() => {
|
|
7
|
+
if (!disabled.value) {
|
|
8
|
+
ret.onMouseEnter = (domEvent) => {
|
|
9
|
+
onMouseEnter?.({
|
|
10
|
+
key: eventKey.value,
|
|
11
|
+
domEvent
|
|
12
|
+
});
|
|
13
|
+
menuContext?.value?.onActive?.(eventKey.value);
|
|
14
|
+
};
|
|
15
|
+
ret.onMouseLeave = (domEvent) => {
|
|
16
|
+
onMouseLeave?.({
|
|
17
|
+
key: eventKey.value,
|
|
18
|
+
domEvent
|
|
19
|
+
});
|
|
20
|
+
menuContext?.value?.onInactive?.(eventKey.value);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return ret;
|
|
28
25
|
}
|
|
29
|
-
export {
|
|
30
|
-
useActive as default
|
|
31
|
-
};
|
|
26
|
+
export { useActive as default };
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
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
|
+
let vue = require("vue");
|
|
5
5
|
function useDirectionStyle(level) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return rtl ? {
|
|
14
|
-
paddingRight: `${len * inlineIndent}px`
|
|
15
|
-
} : {
|
|
16
|
-
paddingLeft: `${len * inlineIndent}px`
|
|
17
|
-
};
|
|
18
|
-
});
|
|
6
|
+
const menuContext = require_MenuContext.useMenuContext();
|
|
7
|
+
return (0, vue.computed)(() => {
|
|
8
|
+
const { mode, rtl, inlineIndent } = menuContext?.value ?? {};
|
|
9
|
+
if (mode !== "inline") return null;
|
|
10
|
+
const len = level.value;
|
|
11
|
+
return rtl ? { paddingRight: `${len * inlineIndent}px` } : { paddingLeft: `${len * inlineIndent}px` };
|
|
12
|
+
});
|
|
19
13
|
}
|
|
20
14
|
exports.default = useDirectionStyle;
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
import { computed } from "vue";
|
|
2
1
|
import { useMenuContext } from "../context/MenuContext.js";
|
|
2
|
+
import { computed } from "vue";
|
|
3
3
|
function useDirectionStyle(level) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return rtl ? {
|
|
12
|
-
paddingRight: `${len * inlineIndent}px`
|
|
13
|
-
} : {
|
|
14
|
-
paddingLeft: `${len * inlineIndent}px`
|
|
15
|
-
};
|
|
16
|
-
});
|
|
4
|
+
const menuContext = useMenuContext();
|
|
5
|
+
return computed(() => {
|
|
6
|
+
const { mode, rtl, inlineIndent } = menuContext?.value ?? {};
|
|
7
|
+
if (mode !== "inline") return null;
|
|
8
|
+
const len = level.value;
|
|
9
|
+
return rtl ? { paddingRight: `${len * inlineIndent}px` } : { paddingLeft: `${len * inlineIndent}px` };
|
|
10
|
+
});
|
|
17
11
|
}
|
|
18
|
-
export {
|
|
19
|
-
useDirectionStyle as default
|
|
20
|
-
};
|
|
12
|
+
export { useDirectionStyle as default };
|