@react-aria/menu 3.0.0-alpha.1 → 3.0.0-nightly-4980928d3-240906
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/README.md +1 -1
- package/dist/ar-AE.main.js +6 -0
- package/dist/ar-AE.main.js.map +1 -0
- package/dist/ar-AE.mjs +8 -0
- package/dist/ar-AE.module.js +8 -0
- package/dist/ar-AE.module.js.map +1 -0
- package/dist/bg-BG.main.js +6 -0
- package/dist/bg-BG.main.js.map +1 -0
- package/dist/bg-BG.mjs +8 -0
- package/dist/bg-BG.module.js +8 -0
- package/dist/bg-BG.module.js.map +1 -0
- package/dist/cs-CZ.main.js +6 -0
- package/dist/cs-CZ.main.js.map +1 -0
- package/dist/cs-CZ.mjs +8 -0
- package/dist/cs-CZ.module.js +8 -0
- package/dist/cs-CZ.module.js.map +1 -0
- package/dist/da-DK.main.js +6 -0
- package/dist/da-DK.main.js.map +1 -0
- package/dist/da-DK.mjs +8 -0
- package/dist/da-DK.module.js +8 -0
- package/dist/da-DK.module.js.map +1 -0
- package/dist/de-DE.main.js +6 -0
- package/dist/de-DE.main.js.map +1 -0
- package/dist/de-DE.mjs +8 -0
- package/dist/de-DE.module.js +8 -0
- package/dist/de-DE.module.js.map +1 -0
- package/dist/el-GR.main.js +6 -0
- package/dist/el-GR.main.js.map +1 -0
- package/dist/el-GR.mjs +8 -0
- package/dist/el-GR.module.js +8 -0
- package/dist/el-GR.module.js.map +1 -0
- package/dist/en-US.main.js +6 -0
- package/dist/en-US.main.js.map +1 -0
- package/dist/en-US.mjs +8 -0
- package/dist/en-US.module.js +8 -0
- package/dist/en-US.module.js.map +1 -0
- package/dist/es-ES.main.js +6 -0
- package/dist/es-ES.main.js.map +1 -0
- package/dist/es-ES.mjs +8 -0
- package/dist/es-ES.module.js +8 -0
- package/dist/es-ES.module.js.map +1 -0
- package/dist/et-EE.main.js +6 -0
- package/dist/et-EE.main.js.map +1 -0
- package/dist/et-EE.mjs +8 -0
- package/dist/et-EE.module.js +8 -0
- package/dist/et-EE.module.js.map +1 -0
- package/dist/fi-FI.main.js +6 -0
- package/dist/fi-FI.main.js.map +1 -0
- package/dist/fi-FI.mjs +8 -0
- package/dist/fi-FI.module.js +8 -0
- package/dist/fi-FI.module.js.map +1 -0
- package/dist/fr-FR.main.js +6 -0
- package/dist/fr-FR.main.js.map +1 -0
- package/dist/fr-FR.mjs +8 -0
- package/dist/fr-FR.module.js +8 -0
- package/dist/fr-FR.module.js.map +1 -0
- package/dist/he-IL.main.js +6 -0
- package/dist/he-IL.main.js.map +1 -0
- package/dist/he-IL.mjs +8 -0
- package/dist/he-IL.module.js +8 -0
- package/dist/he-IL.module.js.map +1 -0
- package/dist/hr-HR.main.js +6 -0
- package/dist/hr-HR.main.js.map +1 -0
- package/dist/hr-HR.mjs +8 -0
- package/dist/hr-HR.module.js +8 -0
- package/dist/hr-HR.module.js.map +1 -0
- package/dist/hu-HU.main.js +6 -0
- package/dist/hu-HU.main.js.map +1 -0
- package/dist/hu-HU.mjs +8 -0
- package/dist/hu-HU.module.js +8 -0
- package/dist/hu-HU.module.js.map +1 -0
- package/dist/import.mjs +25 -0
- package/dist/intlStrings.main.js +108 -0
- package/dist/intlStrings.main.js.map +1 -0
- package/dist/intlStrings.mjs +110 -0
- package/dist/intlStrings.module.js +110 -0
- package/dist/intlStrings.module.js.map +1 -0
- package/dist/it-IT.main.js +6 -0
- package/dist/it-IT.main.js.map +1 -0
- package/dist/it-IT.mjs +8 -0
- package/dist/it-IT.module.js +8 -0
- package/dist/it-IT.module.js.map +1 -0
- package/dist/ja-JP.main.js +6 -0
- package/dist/ja-JP.main.js.map +1 -0
- package/dist/ja-JP.mjs +8 -0
- package/dist/ja-JP.module.js +8 -0
- package/dist/ja-JP.module.js.map +1 -0
- package/dist/ko-KR.main.js +6 -0
- package/dist/ko-KR.main.js.map +1 -0
- package/dist/ko-KR.mjs +8 -0
- package/dist/ko-KR.module.js +8 -0
- package/dist/ko-KR.module.js.map +1 -0
- package/dist/lt-LT.main.js +6 -0
- package/dist/lt-LT.main.js.map +1 -0
- package/dist/lt-LT.mjs +8 -0
- package/dist/lt-LT.module.js +8 -0
- package/dist/lt-LT.module.js.map +1 -0
- package/dist/lv-LV.main.js +6 -0
- package/dist/lv-LV.main.js.map +1 -0
- package/dist/lv-LV.mjs +8 -0
- package/dist/lv-LV.module.js +8 -0
- package/dist/lv-LV.module.js.map +1 -0
- package/dist/main.js +24 -251
- package/dist/main.js.map +1 -0
- package/dist/module.js +18 -232
- package/dist/module.js.map +1 -0
- package/dist/nb-NO.main.js +6 -0
- package/dist/nb-NO.main.js.map +1 -0
- package/dist/nb-NO.mjs +8 -0
- package/dist/nb-NO.module.js +8 -0
- package/dist/nb-NO.module.js.map +1 -0
- package/dist/nl-NL.main.js +6 -0
- package/dist/nl-NL.main.js.map +1 -0
- package/dist/nl-NL.mjs +8 -0
- package/dist/nl-NL.module.js +8 -0
- package/dist/nl-NL.module.js.map +1 -0
- package/dist/pl-PL.main.js +6 -0
- package/dist/pl-PL.main.js.map +1 -0
- package/dist/pl-PL.mjs +8 -0
- package/dist/pl-PL.module.js +8 -0
- package/dist/pl-PL.module.js.map +1 -0
- package/dist/pt-BR.main.js +6 -0
- package/dist/pt-BR.main.js.map +1 -0
- package/dist/pt-BR.mjs +8 -0
- package/dist/pt-BR.module.js +8 -0
- package/dist/pt-BR.module.js.map +1 -0
- package/dist/pt-PT.main.js +6 -0
- package/dist/pt-PT.main.js.map +1 -0
- package/dist/pt-PT.mjs +8 -0
- package/dist/pt-PT.module.js +8 -0
- package/dist/pt-PT.module.js.map +1 -0
- package/dist/ro-RO.main.js +6 -0
- package/dist/ro-RO.main.js.map +1 -0
- package/dist/ro-RO.mjs +8 -0
- package/dist/ro-RO.module.js +8 -0
- package/dist/ro-RO.module.js.map +1 -0
- package/dist/ru-RU.main.js +6 -0
- package/dist/ru-RU.main.js.map +1 -0
- package/dist/ru-RU.mjs +8 -0
- package/dist/ru-RU.module.js +8 -0
- package/dist/ru-RU.module.js.map +1 -0
- package/dist/sk-SK.main.js +6 -0
- package/dist/sk-SK.main.js.map +1 -0
- package/dist/sk-SK.mjs +8 -0
- package/dist/sk-SK.module.js +8 -0
- package/dist/sk-SK.module.js.map +1 -0
- package/dist/sl-SI.main.js +6 -0
- package/dist/sl-SI.main.js.map +1 -0
- package/dist/sl-SI.mjs +8 -0
- package/dist/sl-SI.module.js +8 -0
- package/dist/sl-SI.module.js.map +1 -0
- package/dist/sr-SP.main.js +6 -0
- package/dist/sr-SP.main.js.map +1 -0
- package/dist/sr-SP.mjs +8 -0
- package/dist/sr-SP.module.js +8 -0
- package/dist/sr-SP.module.js.map +1 -0
- package/dist/sv-SE.main.js +6 -0
- package/dist/sv-SE.main.js.map +1 -0
- package/dist/sv-SE.mjs +8 -0
- package/dist/sv-SE.module.js +8 -0
- package/dist/sv-SE.module.js.map +1 -0
- package/dist/tr-TR.main.js +6 -0
- package/dist/tr-TR.main.js.map +1 -0
- package/dist/tr-TR.mjs +8 -0
- package/dist/tr-TR.module.js +8 -0
- package/dist/tr-TR.module.js.map +1 -0
- package/dist/types.d.ts +156 -36
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.main.js +6 -0
- package/dist/uk-UA.main.js.map +1 -0
- package/dist/uk-UA.mjs +8 -0
- package/dist/uk-UA.module.js +8 -0
- package/dist/uk-UA.module.js.map +1 -0
- package/dist/useMenu.main.js +59 -0
- package/dist/useMenu.main.js.map +1 -0
- package/dist/useMenu.mjs +53 -0
- package/dist/useMenu.module.js +53 -0
- package/dist/useMenu.module.js.map +1 -0
- package/dist/useMenuItem.main.js +181 -0
- package/dist/useMenuItem.main.js.map +1 -0
- package/dist/useMenuItem.mjs +176 -0
- package/dist/useMenuItem.module.js +176 -0
- package/dist/useMenuItem.module.js.map +1 -0
- package/dist/useMenuSection.main.js +43 -0
- package/dist/useMenuSection.main.js.map +1 -0
- package/dist/useMenuSection.mjs +38 -0
- package/dist/useMenuSection.module.js +38 -0
- package/dist/useMenuSection.module.js.map +1 -0
- package/dist/useMenuTrigger.main.js +103 -0
- package/dist/useMenuTrigger.main.js.map +1 -0
- package/dist/useMenuTrigger.mjs +98 -0
- package/dist/useMenuTrigger.module.js +98 -0
- package/dist/useMenuTrigger.module.js.map +1 -0
- package/dist/useSafelyMouseToSubmenu.main.js +134 -0
- package/dist/useSafelyMouseToSubmenu.main.js.map +1 -0
- package/dist/useSafelyMouseToSubmenu.mjs +129 -0
- package/dist/useSafelyMouseToSubmenu.module.js +129 -0
- package/dist/useSafelyMouseToSubmenu.module.js.map +1 -0
- package/dist/useSubmenuTrigger.main.js +169 -0
- package/dist/useSubmenuTrigger.main.js.map +1 -0
- package/dist/useSubmenuTrigger.mjs +164 -0
- package/dist/useSubmenuTrigger.module.js +164 -0
- package/dist/useSubmenuTrigger.module.js.map +1 -0
- package/dist/zh-CN.main.js +6 -0
- package/dist/zh-CN.main.js.map +1 -0
- package/dist/zh-CN.mjs +8 -0
- package/dist/zh-CN.module.js +8 -0
- package/dist/zh-CN.module.js.map +1 -0
- package/dist/zh-TW.main.js +6 -0
- package/dist/zh-TW.main.js.map +1 -0
- package/dist/zh-TW.mjs +8 -0
- package/dist/zh-TW.module.js +8 -0
- package/dist/zh-TW.module.js.map +1 -0
- package/package.json +26 -16
- package/src/index.ts +24 -0
- package/src/useMenu.ts +88 -0
- package/src/useMenuItem.ts +299 -0
- package/src/useMenuSection.ts +61 -0
- package/src/useMenuTrigger.ts +144 -0
- package/src/useSafelyMouseToSubmenu.ts +161 -0
- package/src/useSubmenuTrigger.ts +243 -0
- package/LICENSE +0 -201
package/dist/main.js
CHANGED
|
@@ -1,261 +1,34 @@
|
|
|
1
|
-
var
|
|
1
|
+
var $7211ab9328763fb9$exports = require("./useMenuTrigger.main.js");
|
|
2
|
+
var $a3815f0132802737$exports = require("./useMenu.main.js");
|
|
3
|
+
var $38191ed02615ec07$exports = require("./useMenuItem.main.js");
|
|
4
|
+
var $63008655e23408c5$exports = require("./useMenuSection.main.js");
|
|
5
|
+
var $5f4753043c9f6cdf$exports = require("./useSubmenuTrigger.main.js");
|
|
2
6
|
|
|
3
|
-
var _temp = require("@react-aria/utils");
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var useSlotId = _temp.useSlotId;
|
|
8
|
-
|
|
9
|
-
var useOverlayTrigger = require("@react-aria/overlays").useOverlayTrigger;
|
|
10
|
-
|
|
11
|
-
var _babelRuntimeHelpersObjectWithoutProperties = $parcel$interopDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
-
|
|
13
|
-
var _temp2 = require("@react-aria/selection");
|
|
14
|
-
|
|
15
|
-
var useSelectableList = _temp2.useSelectableList;
|
|
16
|
-
var useSelectableItem = _temp2.useSelectableItem;
|
|
17
|
-
|
|
18
|
-
var _temp3 = require("@react-aria/interactions");
|
|
19
|
-
|
|
20
|
-
var useHover = _temp3.useHover;
|
|
21
|
-
var usePress = _temp3.usePress;
|
|
22
|
-
|
|
23
|
-
function $parcel$interopDefault(a) {
|
|
24
|
-
return a && a.__esModule ? a.default : a;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function useMenuTrigger(props, state) {
|
|
28
|
-
var ref = props.ref,
|
|
29
|
-
_props$type = props.type,
|
|
30
|
-
type = _props$type === void 0 ? 'menu' : _props$type;
|
|
31
|
-
var menuTriggerId = useId();
|
|
32
|
-
|
|
33
|
-
var _useOverlayTrigger = useOverlayTrigger({
|
|
34
|
-
ref: ref,
|
|
35
|
-
type: type,
|
|
36
|
-
onClose: state.close,
|
|
37
|
-
isOpen: state.isOpen
|
|
38
|
-
}),
|
|
39
|
-
triggerProps = _useOverlayTrigger.triggerProps,
|
|
40
|
-
overlayProps = _useOverlayTrigger.overlayProps;
|
|
41
|
-
|
|
42
|
-
var _onPress = function onPress() {
|
|
43
|
-
state.toggle('first');
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
var onKeyDown = function onKeyDown(e) {
|
|
47
|
-
if (typeof e.isDefaultPrevented === 'function' && e.isDefaultPrevented() || e.defaultPrevented) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (ref && ref.current) {
|
|
52
|
-
switch (e.key) {
|
|
53
|
-
case 'ArrowDown':
|
|
54
|
-
e.preventDefault();
|
|
55
|
-
e.stopPropagation();
|
|
56
|
-
|
|
57
|
-
_onPress();
|
|
58
|
-
|
|
59
|
-
break;
|
|
60
|
-
|
|
61
|
-
case 'ArrowUp':
|
|
62
|
-
e.preventDefault();
|
|
63
|
-
e.stopPropagation();
|
|
64
|
-
|
|
65
|
-
_onPress(); // If no menu item is selected, focus last item when opening menu with ArrowDown
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
state.setFocusStrategy('last');
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
return {
|
|
75
|
-
menuTriggerProps: _babelRuntimeHelpersObjectSpread({}, triggerProps, {
|
|
76
|
-
id: menuTriggerId,
|
|
77
|
-
onPressStart: function onPressStart(e) {
|
|
78
|
-
// For consistency with native, open the menu on mouse/key down, but touch up.
|
|
79
|
-
if (e.pointerType !== 'touch') {
|
|
80
|
-
_onPress();
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
onPress: function onPress(e) {
|
|
84
|
-
if (e.pointerType === 'touch') {
|
|
85
|
-
_onPress();
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
onKeyDown: onKeyDown
|
|
89
|
-
}),
|
|
90
|
-
menuProps: _babelRuntimeHelpersObjectSpread({}, overlayProps, {
|
|
91
|
-
'aria-labelledby': menuTriggerId,
|
|
92
|
-
onMouseDown: function onMouseDown(e) {
|
|
93
|
-
// Safari blurs the focused item on mousedown on the scrollbar, when the menu is inside an iframe,
|
|
94
|
-
// which casues the menu to close (see onBlurWithin above).
|
|
95
|
-
// Preventing default on the event solves this.
|
|
96
|
-
e.preventDefault();
|
|
97
|
-
}
|
|
98
|
-
})
|
|
99
|
-
};
|
|
8
|
+
function $parcel$export(e, n, v, s) {
|
|
9
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
100
10
|
}
|
|
101
11
|
|
|
102
|
-
exports
|
|
12
|
+
$parcel$export(module.exports, "useMenuTrigger", () => $7211ab9328763fb9$exports.useMenuTrigger);
|
|
13
|
+
$parcel$export(module.exports, "useMenu", () => $a3815f0132802737$exports.useMenu);
|
|
14
|
+
$parcel$export(module.exports, "useMenuItem", () => $38191ed02615ec07$exports.useMenuItem);
|
|
15
|
+
$parcel$export(module.exports, "useMenuSection", () => $63008655e23408c5$exports.useMenuSection);
|
|
16
|
+
$parcel$export(module.exports, "useSubmenuTrigger", () => $5f4753043c9f6cdf$exports.useSubmenuTrigger);
|
|
17
|
+
/*
|
|
18
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
19
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
20
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
21
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
+
*
|
|
23
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
24
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
25
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
26
|
+
* governing permissions and limitations under the License.
|
|
27
|
+
*/
|
|
103
28
|
|
|
104
|
-
function useMenu(props, state) {
|
|
105
|
-
var _props$shouldFocusWra = props.shouldFocusWrap,
|
|
106
|
-
shouldFocusWrap = _props$shouldFocusWra === void 0 ? true : _props$shouldFocusWra,
|
|
107
|
-
otherProps = _babelRuntimeHelpersObjectWithoutProperties(props, ["shouldFocusWrap"]);
|
|
108
29
|
|
|
109
|
-
var _useSelectableList = useSelectableList(_babelRuntimeHelpersObjectSpread({}, otherProps, {
|
|
110
|
-
selectionManager: state.selectionManager,
|
|
111
|
-
collection: state.collection,
|
|
112
|
-
shouldFocusWrap: shouldFocusWrap
|
|
113
|
-
})),
|
|
114
|
-
listProps = _useSelectableList.listProps;
|
|
115
30
|
|
|
116
|
-
return {
|
|
117
|
-
menuProps: _babelRuntimeHelpersObjectSpread({
|
|
118
|
-
role: 'menu'
|
|
119
|
-
}, listProps)
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
exports.useMenu = useMenu;
|
|
124
|
-
|
|
125
|
-
function useMenuItem(props, state) {
|
|
126
|
-
var isSelected = props.isSelected,
|
|
127
|
-
isDisabled = props.isDisabled,
|
|
128
|
-
key = props.key,
|
|
129
|
-
onClose = props.onClose,
|
|
130
|
-
closeOnSelect = props.closeOnSelect,
|
|
131
|
-
ref = props.ref,
|
|
132
|
-
isVirtualized = props.isVirtualized,
|
|
133
|
-
onAction = props.onAction;
|
|
134
|
-
var role = 'menuitem';
|
|
135
|
-
|
|
136
|
-
if (state.selectionManager.selectionMode === 'single') {
|
|
137
|
-
role = 'menuitemradio';
|
|
138
|
-
} else if (state.selectionManager.selectionMode === 'multiple') {
|
|
139
|
-
role = 'menuitemcheckbox';
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
var labelId = useSlotId();
|
|
143
|
-
var descriptionId = useSlotId();
|
|
144
|
-
var keyboardId = useSlotId();
|
|
145
|
-
var ariaProps = {
|
|
146
|
-
'aria-disabled': isDisabled,
|
|
147
|
-
role: role,
|
|
148
|
-
'aria-label': props['aria-label'],
|
|
149
|
-
'aria-labelledby': labelId,
|
|
150
|
-
'aria-describedby': [descriptionId, keyboardId].filter(Boolean).join(' ') || undefined
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
if (state.selectionManager.selectionMode !== 'none') {
|
|
154
|
-
ariaProps['aria-checked'] = isSelected;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
if (isVirtualized) {
|
|
158
|
-
ariaProps['aria-posinset'] = state.collection.getItem(key).index;
|
|
159
|
-
ariaProps['aria-setsize'] = state.collection.size;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
var onKeyDown = function onKeyDown(e) {
|
|
163
|
-
switch (e.key) {
|
|
164
|
-
case ' ':
|
|
165
|
-
if (!isDisabled && state.selectionManager.selectionMode === 'none' && closeOnSelect && onClose) {
|
|
166
|
-
onClose();
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
break;
|
|
170
|
-
|
|
171
|
-
case 'Enter':
|
|
172
|
-
if (!isDisabled && closeOnSelect && onClose) {
|
|
173
|
-
onClose();
|
|
174
|
-
}
|
|
175
31
|
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
32
|
|
|
180
|
-
var onPressStart = function onPressStart(e) {
|
|
181
|
-
if (e.pointerType === 'keyboard' && onAction) {
|
|
182
|
-
onAction(key);
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
var onPressUp = function onPressUp(e) {
|
|
187
|
-
if (e.pointerType !== 'keyboard') {
|
|
188
|
-
if (onAction) {
|
|
189
|
-
onAction(key);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (closeOnSelect && onClose) {
|
|
193
|
-
onClose();
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
var _useSelectableItem = useSelectableItem({
|
|
199
|
-
selectionManager: state.selectionManager,
|
|
200
|
-
itemKey: key,
|
|
201
|
-
itemRef: ref,
|
|
202
|
-
shouldSelectOnPressUp: true
|
|
203
|
-
}),
|
|
204
|
-
itemProps = _useSelectableItem.itemProps;
|
|
205
|
-
|
|
206
|
-
var _usePress = usePress(mergeProps({
|
|
207
|
-
onPressStart: onPressStart,
|
|
208
|
-
onPressUp: onPressUp,
|
|
209
|
-
onKeyDown: onKeyDown,
|
|
210
|
-
isDisabled: isDisabled
|
|
211
|
-
}, itemProps)),
|
|
212
|
-
pressProps = _usePress.pressProps;
|
|
213
|
-
|
|
214
|
-
var _useHover = useHover({
|
|
215
|
-
isDisabled: isDisabled,
|
|
216
|
-
onHover: function onHover() {
|
|
217
|
-
state.selectionManager.setFocusedKey(key);
|
|
218
|
-
}
|
|
219
|
-
}),
|
|
220
|
-
hoverProps = _useHover.hoverProps;
|
|
221
|
-
|
|
222
|
-
return {
|
|
223
|
-
menuItemProps: _babelRuntimeHelpersObjectSpread({}, ariaProps, {}, pressProps, {}, hoverProps),
|
|
224
|
-
labelProps: {
|
|
225
|
-
id: labelId
|
|
226
|
-
},
|
|
227
|
-
descriptionProps: {
|
|
228
|
-
id: descriptionId
|
|
229
|
-
},
|
|
230
|
-
keyboardShortcutProps: {
|
|
231
|
-
id: keyboardId
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
exports.useMenuItem = useMenuItem;
|
|
237
|
-
|
|
238
|
-
function useMenuSection(props) {
|
|
239
|
-
var heading = props.heading,
|
|
240
|
-
ariaLabel = props['aria-label'];
|
|
241
|
-
var headingId = useId();
|
|
242
|
-
return {
|
|
243
|
-
itemProps: {
|
|
244
|
-
role: 'presentation'
|
|
245
|
-
},
|
|
246
|
-
headingProps: heading ? {
|
|
247
|
-
// Techincally, menus cannot contain headings according to ARIA.
|
|
248
|
-
// We hide the heading from assistive technology, and only use it
|
|
249
|
-
// as a label for the nested group.
|
|
250
|
-
id: headingId,
|
|
251
|
-
'aria-hidden': true
|
|
252
|
-
} : {},
|
|
253
|
-
groupProps: {
|
|
254
|
-
role: 'group',
|
|
255
|
-
'aria-label': ariaLabel,
|
|
256
|
-
'aria-labelledby': heading ? headingId : undefined
|
|
257
|
-
}
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
33
|
|
|
261
|
-
|
|
34
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC","sources":["packages/@react-aria/menu/src/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {useMenuTrigger} from './useMenuTrigger';\nexport {useMenu} from './useMenu';\nexport {useMenuItem} from './useMenuItem';\nexport {useMenuSection} from './useMenuSection';\nexport {useSubmenuTrigger} from './useSubmenuTrigger';\n\nexport type {AriaMenuProps} from '@react-types/menu';\nexport type {AriaMenuTriggerProps, MenuTriggerAria} from './useMenuTrigger';\nexport type {AriaMenuOptions, MenuAria} from './useMenu';\nexport type {AriaMenuItemProps, MenuItemAria} from './useMenuItem';\nexport type {AriaMenuSectionProps, MenuSectionAria} from './useMenuSection';\nexport type {AriaSubmenuTriggerProps, SubmenuTriggerAria} from './useSubmenuTrigger';\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -1,239 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import { useHover, usePress } from "@react-aria/interactions";
|
|
7
|
-
export function useMenuTrigger(props, state) {
|
|
8
|
-
let {
|
|
9
|
-
ref,
|
|
10
|
-
type = 'menu'
|
|
11
|
-
} = props;
|
|
12
|
-
let menuTriggerId = useId();
|
|
13
|
-
let {
|
|
14
|
-
triggerProps,
|
|
15
|
-
overlayProps
|
|
16
|
-
} = useOverlayTrigger({
|
|
17
|
-
ref,
|
|
18
|
-
type,
|
|
19
|
-
onClose: state.close,
|
|
20
|
-
isOpen: state.isOpen
|
|
21
|
-
});
|
|
1
|
+
import {useMenuTrigger as $168583247155ddda$export$dc9c12ed27dd1b49} from "./useMenuTrigger.module.js";
|
|
2
|
+
import {useMenu as $d5336fe17ce95402$export$38eaa17faae8f579} from "./useMenu.module.js";
|
|
3
|
+
import {useMenuItem as $a2e5df62f93c7633$export$9d32628fc2aea7da} from "./useMenuItem.module.js";
|
|
4
|
+
import {useMenuSection as $3e5eb2498db5b506$export$73f7a44322579622} from "./useMenuSection.module.js";
|
|
5
|
+
import {useSubmenuTrigger as $0065b146e7192841$export$7138b0d059a6e743} from "./useSubmenuTrigger.module.js";
|
|
22
6
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
7
|
+
/*
|
|
8
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
9
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
11
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
14
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
15
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
|
+
* governing permissions and limitations under the License.
|
|
17
|
+
*/
|
|
26
18
|
|
|
27
|
-
let onKeyDown = e => {
|
|
28
|
-
if (typeof e.isDefaultPrevented === 'function' && e.isDefaultPrevented() || e.defaultPrevented) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
19
|
|
|
32
|
-
if (ref && ref.current) {
|
|
33
|
-
switch (e.key) {
|
|
34
|
-
case 'ArrowDown':
|
|
35
|
-
e.preventDefault();
|
|
36
|
-
e.stopPropagation();
|
|
37
|
-
onPress();
|
|
38
|
-
break;
|
|
39
20
|
|
|
40
|
-
case 'ArrowUp':
|
|
41
|
-
e.preventDefault();
|
|
42
|
-
e.stopPropagation();
|
|
43
|
-
onPress(); // If no menu item is selected, focus last item when opening menu with ArrowDown
|
|
44
21
|
|
|
45
|
-
state.setFocusStrategy('last');
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
22
|
|
|
51
|
-
return {
|
|
52
|
-
menuTriggerProps: _babelRuntimeHelpersEsmObjectSpread({}, triggerProps, {
|
|
53
|
-
id: menuTriggerId,
|
|
54
23
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (e.pointerType !== 'touch') {
|
|
58
|
-
onPress();
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
onPress(e) {
|
|
63
|
-
if (e.pointerType === 'touch') {
|
|
64
|
-
onPress();
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
onKeyDown
|
|
69
|
-
}),
|
|
70
|
-
menuProps: _babelRuntimeHelpersEsmObjectSpread({}, overlayProps, {
|
|
71
|
-
'aria-labelledby': menuTriggerId,
|
|
72
|
-
|
|
73
|
-
onMouseDown(e) {
|
|
74
|
-
// Safari blurs the focused item on mousedown on the scrollbar, when the menu is inside an iframe,
|
|
75
|
-
// which casues the menu to close (see onBlurWithin above).
|
|
76
|
-
// Preventing default on the event solves this.
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
})
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
export function useMenu(props, state) {
|
|
84
|
-
let {
|
|
85
|
-
shouldFocusWrap = true
|
|
86
|
-
} = props,
|
|
87
|
-
otherProps = _babelRuntimeHelpersEsmObjectWithoutProperties(props, ["shouldFocusWrap"]);
|
|
88
|
-
|
|
89
|
-
let {
|
|
90
|
-
listProps
|
|
91
|
-
} = useSelectableList(_babelRuntimeHelpersEsmObjectSpread({}, otherProps, {
|
|
92
|
-
selectionManager: state.selectionManager,
|
|
93
|
-
collection: state.collection,
|
|
94
|
-
shouldFocusWrap
|
|
95
|
-
}));
|
|
96
|
-
return {
|
|
97
|
-
menuProps: _babelRuntimeHelpersEsmObjectSpread({
|
|
98
|
-
role: 'menu'
|
|
99
|
-
}, listProps)
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
export function useMenuItem(props, state) {
|
|
103
|
-
let {
|
|
104
|
-
isSelected,
|
|
105
|
-
isDisabled,
|
|
106
|
-
key,
|
|
107
|
-
onClose,
|
|
108
|
-
closeOnSelect,
|
|
109
|
-
ref,
|
|
110
|
-
isVirtualized,
|
|
111
|
-
onAction
|
|
112
|
-
} = props;
|
|
113
|
-
let role = 'menuitem';
|
|
114
|
-
|
|
115
|
-
if (state.selectionManager.selectionMode === 'single') {
|
|
116
|
-
role = 'menuitemradio';
|
|
117
|
-
} else if (state.selectionManager.selectionMode === 'multiple') {
|
|
118
|
-
role = 'menuitemcheckbox';
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
let labelId = useSlotId();
|
|
122
|
-
let descriptionId = useSlotId();
|
|
123
|
-
let keyboardId = useSlotId();
|
|
124
|
-
let ariaProps = {
|
|
125
|
-
'aria-disabled': isDisabled,
|
|
126
|
-
role,
|
|
127
|
-
'aria-label': props['aria-label'],
|
|
128
|
-
'aria-labelledby': labelId,
|
|
129
|
-
'aria-describedby': [descriptionId, keyboardId].filter(Boolean).join(' ') || undefined
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
if (state.selectionManager.selectionMode !== 'none') {
|
|
133
|
-
ariaProps['aria-checked'] = isSelected;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (isVirtualized) {
|
|
137
|
-
ariaProps['aria-posinset'] = state.collection.getItem(key).index;
|
|
138
|
-
ariaProps['aria-setsize'] = state.collection.size;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
let onKeyDown = e => {
|
|
142
|
-
switch (e.key) {
|
|
143
|
-
case ' ':
|
|
144
|
-
if (!isDisabled && state.selectionManager.selectionMode === 'none' && closeOnSelect && onClose) {
|
|
145
|
-
onClose();
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
break;
|
|
149
|
-
|
|
150
|
-
case 'Enter':
|
|
151
|
-
if (!isDisabled && closeOnSelect && onClose) {
|
|
152
|
-
onClose();
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
let onPressStart = e => {
|
|
160
|
-
if (e.pointerType === 'keyboard' && onAction) {
|
|
161
|
-
onAction(key);
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
let onPressUp = e => {
|
|
166
|
-
if (e.pointerType !== 'keyboard') {
|
|
167
|
-
if (onAction) {
|
|
168
|
-
onAction(key);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (closeOnSelect && onClose) {
|
|
172
|
-
onClose();
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
let {
|
|
178
|
-
itemProps
|
|
179
|
-
} = useSelectableItem({
|
|
180
|
-
selectionManager: state.selectionManager,
|
|
181
|
-
itemKey: key,
|
|
182
|
-
itemRef: ref,
|
|
183
|
-
shouldSelectOnPressUp: true
|
|
184
|
-
});
|
|
185
|
-
let {
|
|
186
|
-
pressProps
|
|
187
|
-
} = usePress(mergeProps({
|
|
188
|
-
onPressStart,
|
|
189
|
-
onPressUp,
|
|
190
|
-
onKeyDown,
|
|
191
|
-
isDisabled
|
|
192
|
-
}, itemProps));
|
|
193
|
-
let {
|
|
194
|
-
hoverProps
|
|
195
|
-
} = useHover({
|
|
196
|
-
isDisabled,
|
|
197
|
-
|
|
198
|
-
onHover() {
|
|
199
|
-
state.selectionManager.setFocusedKey(key);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
});
|
|
203
|
-
return {
|
|
204
|
-
menuItemProps: _babelRuntimeHelpersEsmObjectSpread({}, ariaProps, {}, pressProps, {}, hoverProps),
|
|
205
|
-
labelProps: {
|
|
206
|
-
id: labelId
|
|
207
|
-
},
|
|
208
|
-
descriptionProps: {
|
|
209
|
-
id: descriptionId
|
|
210
|
-
},
|
|
211
|
-
keyboardShortcutProps: {
|
|
212
|
-
id: keyboardId
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
export function useMenuSection(props) {
|
|
217
|
-
let {
|
|
218
|
-
heading,
|
|
219
|
-
'aria-label': ariaLabel
|
|
220
|
-
} = props;
|
|
221
|
-
let headingId = useId();
|
|
222
|
-
return {
|
|
223
|
-
itemProps: {
|
|
224
|
-
role: 'presentation'
|
|
225
|
-
},
|
|
226
|
-
headingProps: heading ? {
|
|
227
|
-
// Techincally, menus cannot contain headings according to ARIA.
|
|
228
|
-
// We hide the heading from assistive technology, and only use it
|
|
229
|
-
// as a label for the nested group.
|
|
230
|
-
id: headingId,
|
|
231
|
-
'aria-hidden': true
|
|
232
|
-
} : {},
|
|
233
|
-
groupProps: {
|
|
234
|
-
role: 'group',
|
|
235
|
-
'aria-label': ariaLabel,
|
|
236
|
-
'aria-labelledby': heading ? headingId : undefined
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
|
-
}
|
|
24
|
+
export {$168583247155ddda$export$dc9c12ed27dd1b49 as useMenuTrigger, $d5336fe17ce95402$export$38eaa17faae8f579 as useMenu, $a2e5df62f93c7633$export$9d32628fc2aea7da as useMenuItem, $3e5eb2498db5b506$export$73f7a44322579622 as useMenuSection, $0065b146e7192841$export$7138b0d059a6e743 as useSubmenuTrigger};
|
|
25
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;AAAA;;;;;;;;;;CAUC","sources":["packages/@react-aria/menu/src/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {useMenuTrigger} from './useMenuTrigger';\nexport {useMenu} from './useMenu';\nexport {useMenuItem} from './useMenuItem';\nexport {useMenuSection} from './useMenuSection';\nexport {useSubmenuTrigger} from './useSubmenuTrigger';\n\nexport type {AriaMenuProps} from '@react-types/menu';\nexport type {AriaMenuTriggerProps, MenuTriggerAria} from './useMenuTrigger';\nexport type {AriaMenuOptions, MenuAria} from './useMenu';\nexport type {AriaMenuItemProps, MenuItemAria} from './useMenuItem';\nexport type {AriaMenuSectionProps, MenuSectionAria} from './useMenuSection';\nexport type {AriaSubmenuTriggerProps, SubmenuTriggerAria} from './useSubmenuTrigger';\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,iBAAiB;IAAG,oBAAoB,CAAC,4DAAsD,CAAC;AAChG","sources":["packages/@react-aria/menu/intl/nb-NO.json"],"sourcesContent":["{\n \"longPressMessage\": \"Langt trykk eller trykk Alt + PilNed for å åpne menyen\"\n}\n"],"names":[],"version":3,"file":"nb-NO.main.js.map"}
|
package/dist/nb-NO.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";AAAA,4BAAiB;IAAG,oBAAoB,CAAC,4DAAsD,CAAC;AAChG","sources":["packages/@react-aria/menu/intl/nb-NO.json"],"sourcesContent":["{\n \"longPressMessage\": \"Langt trykk eller trykk Alt + PilNed for å åpne menyen\"\n}\n"],"names":[],"version":3,"file":"nb-NO.module.js.map"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,iBAAiB;IAAG,oBAAoB,CAAC,mEAAmE,CAAC;AAC7G","sources":["packages/@react-aria/menu/intl/nl-NL.json"],"sourcesContent":["{\n \"longPressMessage\": \"Druk lang op Alt + pijl-omlaag of druk op Alt om het menu te openen\"\n}\n"],"names":[],"version":3,"file":"nl-NL.main.js.map"}
|
package/dist/nl-NL.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";AAAA,4BAAiB;IAAG,oBAAoB,CAAC,mEAAmE,CAAC;AAC7G","sources":["packages/@react-aria/menu/intl/nl-NL.json"],"sourcesContent":["{\n \"longPressMessage\": \"Druk lang op Alt + pijl-omlaag of druk op Alt om het menu te openen\"\n}\n"],"names":[],"version":3,"file":"nl-NL.module.js.map"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,iBAAiB;IAAG,oBAAoB,CAAC,qHAAoF,CAAC;AAC9H","sources":["packages/@react-aria/menu/intl/pl-PL.json"],"sourcesContent":["{\n \"longPressMessage\": \"Naciśnij i przytrzymaj lub naciśnij klawisze Alt + Strzałka w dół, aby otworzyć menu\"\n}\n"],"names":[],"version":3,"file":"pl-PL.main.js.map"}
|
package/dist/pl-PL.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var $c685891476dbaaca$exports = {};
|
|
2
|
+
$c685891476dbaaca$exports = {
|
|
3
|
+
"longPressMessage": `Naci\u{15B}nij i przytrzymaj lub naci\u{15B}nij klawisze Alt + Strza\u{142}ka w d\xf3\u{142}, aby otworzy\u{107} menu`
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export {$c685891476dbaaca$exports as default};
|
|
8
|
+
//# sourceMappingURL=pl-PL.module.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var $c685891476dbaaca$exports = {};
|
|
2
|
+
$c685891476dbaaca$exports = {
|
|
3
|
+
"longPressMessage": `Naci\u{15B}nij i przytrzymaj lub naci\u{15B}nij klawisze Alt + Strza\u{142}ka w d\xf3\u{142}, aby otworzy\u{107} menu`
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export {$c685891476dbaaca$exports as default};
|
|
8
|
+
//# sourceMappingURL=pl-PL.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";AAAA,4BAAiB;IAAG,oBAAoB,CAAC,qHAAoF,CAAC;AAC9H","sources":["packages/@react-aria/menu/intl/pl-PL.json"],"sourcesContent":["{\n \"longPressMessage\": \"Naciśnij i przytrzymaj lub naciśnij klawisze Alt + Strzałka w dół, aby otworzyć menu\"\n}\n"],"names":[],"version":3,"file":"pl-PL.module.js.map"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,iBAAiB;IAAG,oBAAoB,CAAC,uEAAuE,CAAC;AACjH","sources":["packages/@react-aria/menu/intl/pt-BR.json"],"sourcesContent":["{\n \"longPressMessage\": \"Pressione e segure ou pressione Alt + Seta para baixo para abrir o menu\"\n}\n"],"names":[],"version":3,"file":"pt-BR.main.js.map"}
|
package/dist/pt-BR.mjs
ADDED