@semcore/dropdown-menu 16.1.12 → 16.1.13-prerelease.0
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/CHANGELOG.md +6 -0
- package/lib/cjs/DropdownMenu.js +85 -48
- package/lib/cjs/DropdownMenu.js.map +1 -1
- package/lib/es6/DropdownMenu.js +85 -48
- package/lib/es6/DropdownMenu.js.map +1 -1
- package/lib/esm/DropdownMenu.mjs +78 -47
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [16.1.13] - 2025-11-10
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- "scroll to element" animation for keyboard interactions.
|
|
10
|
+
|
|
5
11
|
## [16.1.12] - 2025-10-29
|
|
6
12
|
|
|
7
13
|
### Changed
|
package/lib/cjs/DropdownMenu.js
CHANGED
|
@@ -30,24 +30,24 @@ var _typography = require("@semcore/typography");
|
|
|
30
30
|
var _react = _interopRequireDefault(require("react"));
|
|
31
31
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
32
32
|
/*!__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
|
33
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
33
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDropdownMenuList_tr24e_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;position:relative;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_tr24e_gg_ .___SBar_tr24e_gg_{z-index:3}.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:before,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:before{border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuItemContainer_tr24e_gg_ .___SItemContent_tr24e_gg_:focus-visible{outline:0}.___SDropdownMenuItemContainer_tr24e_gg_.__nesting-trigger_tr24e_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_tr24e_gg_,.___SItemContentText_tr24e_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-1x, 4px);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SDropdownMenuItemAddon_tr24e_gg_:first-child,.___SItemContentText_tr24e_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_tr24e_gg_:last-child,.___SItemContentText_tr24e_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_m_tr24e_gg_{padding:0}.___SDropdownMenuNesting_tr24e_gg_.__highlighted_tr24e_gg_{z-index:1;outline-color:var(--intergalactic-keyboard-focus-outline, #008ff8);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}.___SDropdownNestingItem_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownNestingItem_tr24e_gg_._size_m_tr24e_gg_{padding-right:0}.___SDropdownNestingItem_tr24e_gg_ .___SDropdownMenuItemContainer_tr24e_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}.___SItemHint_tr24e_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}", /*__inner_css_end__*/"tr24e_gg_"),
|
|
34
34
|
/*__reshadow_css_end__*/
|
|
35
35
|
{
|
|
36
|
-
"__SDropdownMenuItemContainer": "
|
|
37
|
-
"_nesting-trigger": "__nesting-
|
|
38
|
-
"__SDropdownMenuNesting": "
|
|
39
|
-
"_size_l": "
|
|
40
|
-
"_size_m": "
|
|
41
|
-
"_highlighted": "
|
|
42
|
-
"__SDropdownNestingItem": "
|
|
43
|
-
"__SItemHint": "
|
|
44
|
-
"__SDropdownMenuList": "
|
|
45
|
-
"__SBar": "
|
|
46
|
-
"__SShadowHorizontal": "
|
|
47
|
-
"__SShadowVertical": "
|
|
48
|
-
"__SItemContent": "
|
|
49
|
-
"__SDropdownMenuItemAddon": "
|
|
50
|
-
"__SItemContentText": "
|
|
36
|
+
"__SDropdownMenuItemContainer": "___SDropdownMenuItemContainer_tr24e_gg_",
|
|
37
|
+
"_nesting-trigger": "__nesting-trigger_tr24e_gg_",
|
|
38
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_tr24e_gg_",
|
|
39
|
+
"_size_l": "_size_l_tr24e_gg_",
|
|
40
|
+
"_size_m": "_size_m_tr24e_gg_",
|
|
41
|
+
"_highlighted": "__highlighted_tr24e_gg_",
|
|
42
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_tr24e_gg_",
|
|
43
|
+
"__SItemHint": "___SItemHint_tr24e_gg_",
|
|
44
|
+
"__SDropdownMenuList": "___SDropdownMenuList_tr24e_gg_",
|
|
45
|
+
"__SBar": "___SBar_tr24e_gg_",
|
|
46
|
+
"__SShadowHorizontal": "___SShadowHorizontal_tr24e_gg_",
|
|
47
|
+
"__SShadowVertical": "___SShadowVertical_tr24e_gg_",
|
|
48
|
+
"__SItemContent": "___SItemContent_tr24e_gg_",
|
|
49
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_tr24e_gg_",
|
|
50
|
+
"__SItemContentText": "___SItemContentText_tr24e_gg_"
|
|
51
51
|
});
|
|
52
52
|
var ListBoxContextProvider = function ListBoxContextProvider(_ref22) {
|
|
53
53
|
var children = _ref22.children;
|
|
@@ -77,18 +77,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
77
77
|
visible: [null, function (visible) {
|
|
78
78
|
if (visible === true) {
|
|
79
79
|
setTimeout(function () {
|
|
80
|
-
|
|
81
|
-
var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
82
|
-
var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-checked="true"]');
|
|
83
|
-
if (selected && options && _this2.asProps.itemsCount === undefined) {
|
|
84
|
-
_this2.scrollToNode(selected, true);
|
|
85
|
-
for (var i = 0; i < options.length; i++) {
|
|
86
|
-
if (options[i] === selected) {
|
|
87
|
-
_this2.handlers.highlightedIndex(i);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
80
|
+
_this2.focusAndScrollToSelected();
|
|
92
81
|
// for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)
|
|
93
82
|
// and that's why its skip scrollToNodes. We selected the appropriate timeout manually.
|
|
94
83
|
}, 30);
|
|
@@ -96,6 +85,54 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
96
85
|
}]
|
|
97
86
|
});
|
|
98
87
|
}
|
|
88
|
+
}, {
|
|
89
|
+
key: "menuElements",
|
|
90
|
+
get: function get() {
|
|
91
|
+
var menuElement = this.menuRef.current;
|
|
92
|
+
if (!menuElement) {
|
|
93
|
+
return {
|
|
94
|
+
selected: null,
|
|
95
|
+
options: null
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
var options = menuElement.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
99
|
+
var selected = menuElement.querySelector('[aria-checked="true"]');
|
|
100
|
+
return {
|
|
101
|
+
selected: selected,
|
|
102
|
+
options: options
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}, {
|
|
106
|
+
key: "focusAndScrollToSelected",
|
|
107
|
+
value: function focusAndScrollToSelected() {
|
|
108
|
+
var _this3 = this;
|
|
109
|
+
var _this$menuElements = this.menuElements,
|
|
110
|
+
selected = _this$menuElements.selected,
|
|
111
|
+
options = _this$menuElements.options;
|
|
112
|
+
if (!selected || !options || this.asProps.itemsCount !== undefined) return;
|
|
113
|
+
this.scrollToNodeAsync(selected, true).then(function () {
|
|
114
|
+
if (_core.lastInteraction.isKeyboard() && _this3.asProps.visible) {
|
|
115
|
+
selected.focus({
|
|
116
|
+
preventScroll: true
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
var selectedIndex = Array.from(options).indexOf(selected);
|
|
121
|
+
if (selectedIndex !== -1) {
|
|
122
|
+
this.handlers.highlightedIndex(selectedIndex);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "afterOpenPopper",
|
|
127
|
+
value: function afterOpenPopper() {
|
|
128
|
+
var _this$menuElements2 = this.menuElements,
|
|
129
|
+
selected = _this$menuElements2.selected,
|
|
130
|
+
options = _this$menuElements2.options;
|
|
131
|
+
|
|
132
|
+
// this case is handled slightly differently on line 63.
|
|
133
|
+
if (selected && options && this.asProps.itemsCount === undefined) return;
|
|
134
|
+
(0, _superPropGet2["default"])(DropdownMenuRoot, "afterOpenPopper", this, 3)([]);
|
|
135
|
+
}
|
|
99
136
|
}, {
|
|
100
137
|
key: "itemRef",
|
|
101
138
|
value: function itemRef(props, index, node) {
|
|
@@ -145,7 +182,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
145
182
|
key: "getItemProps",
|
|
146
183
|
value: function getItemProps(props, index) {
|
|
147
184
|
var _props$index,
|
|
148
|
-
|
|
185
|
+
_this4 = this;
|
|
149
186
|
var _this$asProps2 = this.asProps,
|
|
150
187
|
highlightedIndex = _this$asProps2.highlightedIndex,
|
|
151
188
|
visible = _this$asProps2.visible;
|
|
@@ -154,7 +191,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
154
191
|
var itemProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(DropdownMenuRoot, "getItemProps", this, 3)([props, realIndex])), {}, {
|
|
155
192
|
tabIndex: isHighlighted && visible ? 0 : -1,
|
|
156
193
|
ref: function ref(node) {
|
|
157
|
-
return
|
|
194
|
+
return _this4.itemRef(props, realIndex, node);
|
|
158
195
|
},
|
|
159
196
|
actionsRef: this.actionsRef
|
|
160
197
|
});
|
|
@@ -170,7 +207,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
170
207
|
}
|
|
171
208
|
if ((0, _superPropGet2["default"])(DropdownMenuRoot, "childRole", this, 1) === 'menuitemradio') {
|
|
172
209
|
itemProps.onClick = function () {
|
|
173
|
-
|
|
210
|
+
_this4.handlers.visible(false);
|
|
174
211
|
};
|
|
175
212
|
}
|
|
176
213
|
return itemProps;
|
|
@@ -178,39 +215,39 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
178
215
|
}, {
|
|
179
216
|
key: "handleKeyDownForMenu",
|
|
180
217
|
value: function handleKeyDownForMenu(place) {
|
|
181
|
-
var
|
|
218
|
+
var _this5 = this;
|
|
182
219
|
return function (e) {
|
|
183
|
-
var
|
|
184
|
-
var
|
|
185
|
-
visible =
|
|
186
|
-
placement =
|
|
187
|
-
inlineActions =
|
|
220
|
+
var _this5$menuRef$curren, _e$target$getAttribut;
|
|
221
|
+
var _this5$asProps = _this5.asProps,
|
|
222
|
+
visible = _this5$asProps.visible,
|
|
223
|
+
placement = _this5$asProps.placement,
|
|
224
|
+
inlineActions = _this5$asProps.inlineActions;
|
|
188
225
|
|
|
189
226
|
// stop propagation keyboard events if it calls not on DropdownMenu.Items
|
|
190
|
-
if (place === 'list' && !((
|
|
227
|
+
if (place === 'list' && !((_this5$menuRef$curren = _this5.menuRef.current) !== null && _this5$menuRef$curren !== void 0 && _this5$menuRef$curren.contains(e.target)) && !inlineActions) {
|
|
191
228
|
e.stopPropagation();
|
|
192
229
|
return false;
|
|
193
230
|
}
|
|
194
231
|
var show = e.key === 'ArrowRight' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('right')) || e.key === 'ArrowLeft' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('left')) || (e.key === 'Enter' || e.key === ' ') && !inlineActions;
|
|
195
232
|
var hide = e.key === 'ArrowLeft' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('right')) || e.key === 'ArrowRight' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('left')) || e.key === 'Escape';
|
|
196
|
-
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute('role')) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith((0, _superPropGet2["default"])(DropdownMenuRoot, "childRole",
|
|
233
|
+
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute('role')) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith((0, _superPropGet2["default"])(DropdownMenuRoot, "childRole", _this5, 1));
|
|
197
234
|
if (place === 'trigger' && show && isMenuItem) {
|
|
198
|
-
|
|
199
|
-
|
|
235
|
+
_this5.handlers.visible(true);
|
|
236
|
+
_this5.handlers.highlightedIndex(0);
|
|
200
237
|
setTimeout(function () {
|
|
201
|
-
var
|
|
202
|
-
var highlightedIndex =
|
|
203
|
-
(
|
|
238
|
+
var _this5$itemRefs$highl;
|
|
239
|
+
var highlightedIndex = _this5.asProps.highlightedIndex;
|
|
240
|
+
(_this5$itemRefs$highl = _this5.itemRefs[highlightedIndex]) === null || _this5$itemRefs$highl === void 0 || _this5$itemRefs$highl.focus();
|
|
204
241
|
}, 0);
|
|
205
242
|
e.preventDefault();
|
|
206
243
|
e.stopPropagation();
|
|
207
244
|
return false;
|
|
208
245
|
}
|
|
209
246
|
if (place === 'list' && visible && hide && isMenuItem) {
|
|
210
|
-
if (!inlineActions || inlineActions && (e.key === 'Escape' ||
|
|
211
|
-
|
|
212
|
-
if (
|
|
213
|
-
(0, _setFocus.setFocus)(
|
|
247
|
+
if (!inlineActions || inlineActions && (e.key === 'Escape' || _this5.asProps.highlightedIndex === 0)) {
|
|
248
|
+
_this5.handlers.visible(false);
|
|
249
|
+
if (_this5.triggerRef.current) {
|
|
250
|
+
(0, _setFocus.setFocus)(_this5.triggerRef.current);
|
|
214
251
|
}
|
|
215
252
|
e.preventDefault();
|
|
216
253
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["_core","require","_button","_interopRequireDefault","_assignProps13","_findComponent","_setFocus","_ref31","_uniqueID","_dropdown","_interopRequireWildcard","_flexBox","_scrollArea","_typography","_react","_intergalacticDynamicLocales","style","sstyled","insert","ListBoxContextProvider","_ref22","children","createElement","hideScrollBarsFromScreenReadersContext","Provider","value","menuItemContext","React","createContext","DropdownMenuRoot","_AbstractDropdown","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","createRef","_inherits2","_createClass2","key","uncontrolledProps","_this2","_objectSpread2","_superPropGet2","visible","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","asProps","itemsCount","undefined","scrollToNode","i","handlers","highlightedIndex","itemRef","props","index","node","document","activeElement","getTriggerProps","_this$asProps","Children","uid","hasMenu","isAdvanceMode","DropdownMenu","Menu","displayName","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","getListProps","onKeyDown","handleArrowKeyDown","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemProps","_props$index","_this3","_this$asProps2","realIndex","isHighlighted","itemProps","tabIndex","tag","ButtonComponent","_props$use","_props$theme","_props$size","use","theme","size","innerOutline","onClick","place","_this4","e","_this4$menuRef$curren","_e$target$getAttribut","_this4$asProps","placement","inlineActions","contains","target","stopPropagation","show","startsWith","hide","isMenuItem","getAttribute","_this4$itemRefs$highl","itemRefs","focus","preventDefault","triggerRef","setFocus","render","_ref","_this$asProps3","selectedIndex","interaction","timeout","selectedIndexContext","Dropdown","assignProps","AbstractDropdown","Object","values","enhance","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","localizedMessages","locale","trigger","popper","List","_ref23","_ref2","arguments[0]","_ref13","styles","SDropdownMenuList","ScrollAreaComponent","SBar","Bar","cn","Container","Actions","_ref24","_ref3","_ref14","SDropdownMenuActions","Flex","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends2","role","Item","_ref25","_ref5","_ref15","id","disabled","forwardRef","ariaChecked","SDropdownMenuItemContainer","useRef","_React$useState","useState","_React$useState2","_slicedToArray2","highlighted","setHighlighted","menuItemContextValue","contentId","forkRef","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","useUID","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","lastInteraction","isKeyboard","Addon","_ref6","_ref16","SDropdownMenuItemAddon","Box","Trigger","_ref7","ItemContent","_ref26","_ref8","_ref17","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","element","parent","parentElement","prev","add","_toConsumableArray2","join","ItemContentText","_ref27","_ref9","_ref18","SItemContentText","Text","ItemHint","_ref28","_ref0","_ref19","SItemHint","_React$useContext","_ref1","_ref20","Title","_ref10","_ref21","Nesting","_ref29","_ref11","NestingTrigger","_ref30","_ref12","createComponent","ItemTitle","Group","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Flex, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = this.menuRef.current?.querySelector('[aria-checked=\"true\"]');\n\n if (selected && options && this.asProps.itemsCount === undefined) {\n this.scrollToNode(selected, true);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n };\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemProps(props, index) {\n const { highlightedIndex, visible } = this.asProps;\n const realIndex = props.index ?? index;\n const isHighlighted = realIndex === highlightedIndex;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: isHighlighted && visible ? 0 : -1,\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n role,\n tabIndex,\n ariaChecked,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n />,\n );\n}\n\nfunction ItemContentText({ styles }) {\n const SItemContentText = Root;\n return sstyled(styles)(<SItemContentText render={Text} />);\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='hint' />,\n );\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='title' />,\n );\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role='menuitem'\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","names":["_core","require","_button","_interopRequireDefault","_assignProps13","_findComponent","_setFocus","_ref31","_uniqueID","_dropdown","_interopRequireWildcard","_flexBox","_scrollArea","_typography","_react","_intergalacticDynamicLocales","style","sstyled","insert","ListBoxContextProvider","_ref22","children","createElement","hideScrollBarsFromScreenReadersContext","Provider","value","menuItemContext","React","createContext","DropdownMenuRoot","_AbstractDropdown","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","createRef","_inherits2","_createClass2","key","uncontrolledProps","_this2","_objectSpread2","_superPropGet2","visible","setTimeout","focusAndScrollToSelected","get","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","_this3","_this$menuElements","menuElements","asProps","itemsCount","undefined","scrollToNodeAsync","then","lastInteraction","isKeyboard","focus","preventScroll","selectedIndex","from","indexOf","handlers","highlightedIndex","afterOpenPopper","_this$menuElements2","itemRef","props","index","node","document","activeElement","getTriggerProps","_this$asProps","Children","uid","hasMenu","isAdvanceMode","DropdownMenu","Menu","displayName","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","getListProps","onKeyDown","handleArrowKeyDown","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemProps","_props$index","_this4","_this$asProps2","realIndex","isHighlighted","itemProps","tabIndex","tag","ButtonComponent","_props$use","_props$theme","_props$size","use","theme","size","innerOutline","onClick","place","_this5","e","_this5$menuRef$curren","_e$target$getAttribut","_this5$asProps","placement","inlineActions","contains","target","stopPropagation","show","startsWith","hide","isMenuItem","getAttribute","_this5$itemRefs$highl","itemRefs","preventDefault","triggerRef","setFocus","render","_ref","_this$asProps3","interaction","timeout","selectedIndexContext","Dropdown","assignProps","AbstractDropdown","Object","values","enhance","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","localizedMessages","locale","trigger","popper","List","_ref23","_ref2","arguments[0]","_ref13","styles","SDropdownMenuList","ScrollAreaComponent","SBar","Bar","cn","Container","Actions","_ref24","_ref3","_ref14","SDropdownMenuActions","Flex","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends2","role","Item","_ref25","_ref5","_ref15","id","disabled","forwardRef","ariaChecked","SDropdownMenuItemContainer","useRef","_React$useState","useState","_React$useState2","_slicedToArray2","highlighted","setHighlighted","menuItemContextValue","contentId","forkRef","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","useUID","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","Addon","_ref6","_ref16","SDropdownMenuItemAddon","Box","Trigger","_ref7","ItemContent","_ref26","_ref8","_ref17","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","element","parent","parentElement","prev","add","_toConsumableArray2","join","ItemContentText","_ref27","_ref9","_ref18","SItemContentText","Text","ItemHint","_ref28","_ref0","_ref19","SItemHint","_React$useContext","_ref1","_ref20","Title","_ref10","_ref21","Nesting","_ref29","_ref11","NestingTrigger","_ref30","_ref12","createComponent","ItemTitle","Group","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Flex, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n const { selected, options } = this.menuElements;\n\n if (!selected || !options || this.asProps.itemsCount !== undefined) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (lastInteraction.isKeyboard() && this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n\n // this case is handled slightly differently on line 63.\n if (selected && options && this.asProps.itemsCount === undefined) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemProps(props, index) {\n const { highlightedIndex, visible } = this.asProps;\n const realIndex = props.index ?? index;\n const isHighlighted = realIndex === highlightedIndex;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: isHighlighted && visible ? 0 : -1,\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n role,\n tabIndex,\n ariaChecked,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n />,\n );\n}\n\nfunction ItemContentText({ styles }) {\n const SItemContentText = Root;\n return sstyled(styles)(<SItemContentText render={Text} />);\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='hint' />,\n );\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='title' />,\n );\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role='menuitem'\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/DropdownMenu.js
CHANGED
|
@@ -36,24 +36,24 @@ import ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@se
|
|
|
36
36
|
import { Text } from '@semcore/typography';
|
|
37
37
|
import React from 'react';
|
|
38
38
|
/*!__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
|
39
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
39
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SDropdownMenuList_tr24e_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;position:relative;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_tr24e_gg_ .___SBar_tr24e_gg_{z-index:3}.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:before,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:before{border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuItemContainer_tr24e_gg_ .___SItemContent_tr24e_gg_:focus-visible{outline:0}.___SDropdownMenuItemContainer_tr24e_gg_.__nesting-trigger_tr24e_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_tr24e_gg_,.___SItemContentText_tr24e_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-1x, 4px);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SDropdownMenuItemAddon_tr24e_gg_:first-child,.___SItemContentText_tr24e_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_tr24e_gg_:last-child,.___SItemContentText_tr24e_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_m_tr24e_gg_{padding:0}.___SDropdownMenuNesting_tr24e_gg_.__highlighted_tr24e_gg_{z-index:1;outline-color:var(--intergalactic-keyboard-focus-outline, #008ff8);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}.___SDropdownNestingItem_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownNestingItem_tr24e_gg_._size_m_tr24e_gg_{padding-right:0}.___SDropdownNestingItem_tr24e_gg_ .___SDropdownMenuItemContainer_tr24e_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}.___SItemHint_tr24e_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}", /*__inner_css_end__*/"tr24e_gg_"),
|
|
40
40
|
/*__reshadow_css_end__*/
|
|
41
41
|
{
|
|
42
|
-
"__SDropdownMenuItemContainer": "
|
|
43
|
-
"_nesting-trigger": "__nesting-
|
|
44
|
-
"__SDropdownMenuNesting": "
|
|
45
|
-
"_size_l": "
|
|
46
|
-
"_size_m": "
|
|
47
|
-
"_highlighted": "
|
|
48
|
-
"__SDropdownNestingItem": "
|
|
49
|
-
"__SItemHint": "
|
|
50
|
-
"__SDropdownMenuList": "
|
|
51
|
-
"__SBar": "
|
|
52
|
-
"__SShadowHorizontal": "
|
|
53
|
-
"__SShadowVertical": "
|
|
54
|
-
"__SItemContent": "
|
|
55
|
-
"__SDropdownMenuItemAddon": "
|
|
56
|
-
"__SItemContentText": "
|
|
42
|
+
"__SDropdownMenuItemContainer": "___SDropdownMenuItemContainer_tr24e_gg_",
|
|
43
|
+
"_nesting-trigger": "__nesting-trigger_tr24e_gg_",
|
|
44
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_tr24e_gg_",
|
|
45
|
+
"_size_l": "_size_l_tr24e_gg_",
|
|
46
|
+
"_size_m": "_size_m_tr24e_gg_",
|
|
47
|
+
"_highlighted": "__highlighted_tr24e_gg_",
|
|
48
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_tr24e_gg_",
|
|
49
|
+
"__SItemHint": "___SItemHint_tr24e_gg_",
|
|
50
|
+
"__SDropdownMenuList": "___SDropdownMenuList_tr24e_gg_",
|
|
51
|
+
"__SBar": "___SBar_tr24e_gg_",
|
|
52
|
+
"__SShadowHorizontal": "___SShadowHorizontal_tr24e_gg_",
|
|
53
|
+
"__SShadowVertical": "___SShadowVertical_tr24e_gg_",
|
|
54
|
+
"__SItemContent": "___SItemContent_tr24e_gg_",
|
|
55
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_tr24e_gg_",
|
|
56
|
+
"__SItemContentText": "___SItemContentText_tr24e_gg_"
|
|
57
57
|
});
|
|
58
58
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
59
59
|
var ListBoxContextProvider = function ListBoxContextProvider(_ref22) {
|
|
@@ -84,18 +84,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
84
84
|
visible: [null, function (visible) {
|
|
85
85
|
if (visible === true) {
|
|
86
86
|
setTimeout(function () {
|
|
87
|
-
|
|
88
|
-
var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
89
|
-
var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-checked="true"]');
|
|
90
|
-
if (selected && options && _this2.asProps.itemsCount === undefined) {
|
|
91
|
-
_this2.scrollToNode(selected, true);
|
|
92
|
-
for (var i = 0; i < options.length; i++) {
|
|
93
|
-
if (options[i] === selected) {
|
|
94
|
-
_this2.handlers.highlightedIndex(i);
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
87
|
+
_this2.focusAndScrollToSelected();
|
|
99
88
|
// for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)
|
|
100
89
|
// and that's why its skip scrollToNodes. We selected the appropriate timeout manually.
|
|
101
90
|
}, 30);
|
|
@@ -103,6 +92,54 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
103
92
|
}]
|
|
104
93
|
});
|
|
105
94
|
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "menuElements",
|
|
97
|
+
get: function get() {
|
|
98
|
+
var menuElement = this.menuRef.current;
|
|
99
|
+
if (!menuElement) {
|
|
100
|
+
return {
|
|
101
|
+
selected: null,
|
|
102
|
+
options: null
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
var options = menuElement.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
106
|
+
var selected = menuElement.querySelector('[aria-checked="true"]');
|
|
107
|
+
return {
|
|
108
|
+
selected: selected,
|
|
109
|
+
options: options
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "focusAndScrollToSelected",
|
|
114
|
+
value: function focusAndScrollToSelected() {
|
|
115
|
+
var _this3 = this;
|
|
116
|
+
var _this$menuElements = this.menuElements,
|
|
117
|
+
selected = _this$menuElements.selected,
|
|
118
|
+
options = _this$menuElements.options;
|
|
119
|
+
if (!selected || !options || this.asProps.itemsCount !== undefined) return;
|
|
120
|
+
this.scrollToNodeAsync(selected, true).then(function () {
|
|
121
|
+
if (lastInteraction.isKeyboard() && _this3.asProps.visible) {
|
|
122
|
+
selected.focus({
|
|
123
|
+
preventScroll: true
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
var selectedIndex = Array.from(options).indexOf(selected);
|
|
128
|
+
if (selectedIndex !== -1) {
|
|
129
|
+
this.handlers.highlightedIndex(selectedIndex);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "afterOpenPopper",
|
|
134
|
+
value: function afterOpenPopper() {
|
|
135
|
+
var _this$menuElements2 = this.menuElements,
|
|
136
|
+
selected = _this$menuElements2.selected,
|
|
137
|
+
options = _this$menuElements2.options;
|
|
138
|
+
|
|
139
|
+
// this case is handled slightly differently on line 63.
|
|
140
|
+
if (selected && options && this.asProps.itemsCount === undefined) return;
|
|
141
|
+
_superPropGet(DropdownMenuRoot, "afterOpenPopper", this, 3)([]);
|
|
142
|
+
}
|
|
106
143
|
}, {
|
|
107
144
|
key: "itemRef",
|
|
108
145
|
value: function itemRef(props, index, node) {
|
|
@@ -152,7 +189,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
152
189
|
key: "getItemProps",
|
|
153
190
|
value: function getItemProps(props, index) {
|
|
154
191
|
var _props$index,
|
|
155
|
-
|
|
192
|
+
_this4 = this;
|
|
156
193
|
var _this$asProps2 = this.asProps,
|
|
157
194
|
highlightedIndex = _this$asProps2.highlightedIndex,
|
|
158
195
|
visible = _this$asProps2.visible;
|
|
@@ -161,7 +198,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
161
198
|
var itemProps = _objectSpread(_objectSpread({}, _superPropGet(DropdownMenuRoot, "getItemProps", this, 3)([props, realIndex])), {}, {
|
|
162
199
|
tabIndex: isHighlighted && visible ? 0 : -1,
|
|
163
200
|
ref: function ref(node) {
|
|
164
|
-
return
|
|
201
|
+
return _this4.itemRef(props, realIndex, node);
|
|
165
202
|
},
|
|
166
203
|
actionsRef: this.actionsRef
|
|
167
204
|
});
|
|
@@ -177,7 +214,7 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
177
214
|
}
|
|
178
215
|
if (_superPropGet(DropdownMenuRoot, "childRole", this, 1) === 'menuitemradio') {
|
|
179
216
|
itemProps.onClick = function () {
|
|
180
|
-
|
|
217
|
+
_this4.handlers.visible(false);
|
|
181
218
|
};
|
|
182
219
|
}
|
|
183
220
|
return itemProps;
|
|
@@ -185,39 +222,39 @@ var DropdownMenuRoot = /*#__PURE__*/function (_AbstractDropdown) {
|
|
|
185
222
|
}, {
|
|
186
223
|
key: "handleKeyDownForMenu",
|
|
187
224
|
value: function handleKeyDownForMenu(place) {
|
|
188
|
-
var
|
|
225
|
+
var _this5 = this;
|
|
189
226
|
return function (e) {
|
|
190
|
-
var
|
|
191
|
-
var
|
|
192
|
-
visible =
|
|
193
|
-
placement =
|
|
194
|
-
inlineActions =
|
|
227
|
+
var _this5$menuRef$curren, _e$target$getAttribut;
|
|
228
|
+
var _this5$asProps = _this5.asProps,
|
|
229
|
+
visible = _this5$asProps.visible,
|
|
230
|
+
placement = _this5$asProps.placement,
|
|
231
|
+
inlineActions = _this5$asProps.inlineActions;
|
|
195
232
|
|
|
196
233
|
// stop propagation keyboard events if it calls not on DropdownMenu.Items
|
|
197
|
-
if (place === 'list' && !((
|
|
234
|
+
if (place === 'list' && !((_this5$menuRef$curren = _this5.menuRef.current) !== null && _this5$menuRef$curren !== void 0 && _this5$menuRef$curren.contains(e.target)) && !inlineActions) {
|
|
198
235
|
e.stopPropagation();
|
|
199
236
|
return false;
|
|
200
237
|
}
|
|
201
238
|
var show = e.key === 'ArrowRight' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('right')) || e.key === 'ArrowLeft' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('left')) || (e.key === 'Enter' || e.key === ' ') && !inlineActions;
|
|
202
239
|
var hide = e.key === 'ArrowLeft' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('right')) || e.key === 'ArrowRight' && (placement === null || placement === void 0 ? void 0 : placement.startsWith('left')) || e.key === 'Escape';
|
|
203
|
-
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute('role')) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith(_superPropGet(DropdownMenuRoot, "childRole",
|
|
240
|
+
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute('role')) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith(_superPropGet(DropdownMenuRoot, "childRole", _this5, 1));
|
|
204
241
|
if (place === 'trigger' && show && isMenuItem) {
|
|
205
|
-
|
|
206
|
-
|
|
242
|
+
_this5.handlers.visible(true);
|
|
243
|
+
_this5.handlers.highlightedIndex(0);
|
|
207
244
|
setTimeout(function () {
|
|
208
|
-
var
|
|
209
|
-
var highlightedIndex =
|
|
210
|
-
(
|
|
245
|
+
var _this5$itemRefs$highl;
|
|
246
|
+
var highlightedIndex = _this5.asProps.highlightedIndex;
|
|
247
|
+
(_this5$itemRefs$highl = _this5.itemRefs[highlightedIndex]) === null || _this5$itemRefs$highl === void 0 || _this5$itemRefs$highl.focus();
|
|
211
248
|
}, 0);
|
|
212
249
|
e.preventDefault();
|
|
213
250
|
e.stopPropagation();
|
|
214
251
|
return false;
|
|
215
252
|
}
|
|
216
253
|
if (place === 'list' && visible && hide && isMenuItem) {
|
|
217
|
-
if (!inlineActions || inlineActions && (e.key === 'Escape' ||
|
|
218
|
-
|
|
219
|
-
if (
|
|
220
|
-
setFocus(
|
|
254
|
+
if (!inlineActions || inlineActions && (e.key === 'Escape' || _this5.asProps.highlightedIndex === 0)) {
|
|
255
|
+
_this5.handlers.visible(false);
|
|
256
|
+
if (_this5.triggerRef.current) {
|
|
257
|
+
setFocus(_this5.triggerRef.current);
|
|
221
258
|
}
|
|
222
259
|
e.preventDefault();
|
|
223
260
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["ButtonComponent","createComponent","sstyled","Root","lastInteraction","callAllEventHandlers","isAdvanceMode","setFocus","forkRef","useUID","Dropdown","AbstractDropdown","selectedIndexContext","enhance","Flex","Box","ScrollAreaComponent","hideScrollBarsFromScreenReadersContext","Text","React","style","_sstyled","insert","localizedMessages","ListBoxContextProvider","_ref22","children","createElement","Provider","value","menuItemContext","createContext","DropdownMenuRoot","_AbstractDropdown","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","createRef","_inherits","_createClass","key","uncontrolledProps","_this2","_objectSpread","_superPropGet","visible","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","asProps","itemsCount","undefined","scrollToNode","i","handlers","highlightedIndex","itemRef","props","index","node","document","activeElement","getTriggerProps","_this$asProps","Children","uid","hasMenu","DropdownMenu","Menu","displayName","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","getListProps","onKeyDown","handleArrowKeyDown","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemProps","_props$index","_this3","_this$asProps2","realIndex","isHighlighted","itemProps","tabIndex","tag","_props$use","_props$theme","_props$size","use","theme","size","innerOutline","onClick","place","_this4","e","_this4$menuRef$curren","_e$target$getAttribut","_this4$asProps","placement","inlineActions","contains","target","stopPropagation","show","startsWith","hide","isMenuItem","getAttribute","_this4$itemRefs$highl","itemRefs","focus","preventDefault","triggerRef","render","_ref","_this$asProps3","selectedIndex","interaction","timeout","_assignProps","Object","values","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","trigger","popper","List","_ref23","_ref2","arguments[0]","_ref13","styles","SDropdownMenuList","SBar","Bar","cn","_assignProps2","Container","Actions","_ref24","_ref3","_ref14","SDropdownMenuActions","_assignProps3","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends","role","_assignProps4","Item","_ref25","_ref5","_ref15","id","disabled","forwardRef","ariaChecked","SDropdownMenuItemContainer","useRef","_React$useState","useState","_React$useState2","_slicedToArray","highlighted","setHighlighted","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","_assignProps5","isKeyboard","Addon","_ref6","_ref16","SDropdownMenuItemAddon","_assignProps6","Trigger","_ref7","_assignProps7","ItemContent","_ref26","_ref8","_ref17","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","element","parent","parentElement","prev","add","_assignProps8","_toConsumableArray","join","ItemContentText","_ref27","_ref9","_ref18","SItemContentText","_assignProps9","ItemHint","_ref28","_ref0","_ref19","SItemHint","_React$useContext","_assignProps0","_ref1","_ref20","_assignProps1","Title","_ref10","_ref21","_assignProps10","Nesting","_ref29","_ref11","_assignProps11","NestingTrigger","_ref30","_ref12","_assignProps12","ItemTitle","Group"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Flex, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = this.menuRef.current?.querySelector('[aria-checked=\"true\"]');\n\n if (selected && options && this.asProps.itemsCount === undefined) {\n this.scrollToNode(selected, true);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n };\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemProps(props, index) {\n const { highlightedIndex, visible } = this.asProps;\n const realIndex = props.index ?? index;\n const isHighlighted = realIndex === highlightedIndex;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: isHighlighted && visible ? 0 : -1,\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n role,\n tabIndex,\n ariaChecked,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n />,\n );\n}\n\nfunction ItemContentText({ styles }) {\n const SItemContentText = Root;\n return sstyled(styles)(<SItemContentText render={Text} />);\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='hint' />,\n );\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='title' />,\n );\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role='menuitem'\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","names":["ButtonComponent","createComponent","sstyled","Root","lastInteraction","callAllEventHandlers","isAdvanceMode","setFocus","forkRef","useUID","Dropdown","AbstractDropdown","selectedIndexContext","enhance","Flex","Box","ScrollAreaComponent","hideScrollBarsFromScreenReadersContext","Text","React","style","_sstyled","insert","localizedMessages","ListBoxContextProvider","_ref22","children","createElement","Provider","value","menuItemContext","createContext","DropdownMenuRoot","_AbstractDropdown","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","createRef","_inherits","_createClass","key","uncontrolledProps","_this2","_objectSpread","_superPropGet","visible","setTimeout","focusAndScrollToSelected","get","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","_this3","_this$menuElements","menuElements","asProps","itemsCount","undefined","scrollToNodeAsync","then","isKeyboard","focus","preventScroll","selectedIndex","from","indexOf","handlers","highlightedIndex","afterOpenPopper","_this$menuElements2","itemRef","props","index","node","document","activeElement","getTriggerProps","_this$asProps","Children","uid","hasMenu","DropdownMenu","Menu","displayName","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","getListProps","onKeyDown","handleArrowKeyDown","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemProps","_props$index","_this4","_this$asProps2","realIndex","isHighlighted","itemProps","tabIndex","tag","_props$use","_props$theme","_props$size","use","theme","size","innerOutline","onClick","place","_this5","e","_this5$menuRef$curren","_e$target$getAttribut","_this5$asProps","placement","inlineActions","contains","target","stopPropagation","show","startsWith","hide","isMenuItem","getAttribute","_this5$itemRefs$highl","itemRefs","preventDefault","triggerRef","render","_ref","_this$asProps3","interaction","timeout","_assignProps","Object","values","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","trigger","popper","List","_ref23","_ref2","arguments[0]","_ref13","styles","SDropdownMenuList","SBar","Bar","cn","_assignProps2","Container","Actions","_ref24","_ref3","_ref14","SDropdownMenuActions","_assignProps3","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends","role","_assignProps4","Item","_ref25","_ref5","_ref15","id","disabled","forwardRef","ariaChecked","SDropdownMenuItemContainer","useRef","_React$useState","useState","_React$useState2","_slicedToArray","highlighted","setHighlighted","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","_assignProps5","Addon","_ref6","_ref16","SDropdownMenuItemAddon","_assignProps6","Trigger","_ref7","_assignProps7","ItemContent","_ref26","_ref8","_ref17","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","element","parent","parentElement","prev","add","_assignProps8","_toConsumableArray","join","ItemContentText","_ref27","_ref9","_ref18","SItemContentText","_assignProps9","ItemHint","_ref28","_ref0","_ref19","SItemHint","_React$useContext","_assignProps0","_ref1","_ref20","_assignProps1","Title","_ref10","_ref21","_assignProps10","Nesting","_ref29","_ref11","_assignProps11","NestingTrigger","_ref30","_ref12","_assignProps12","ItemTitle","Group"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Flex, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n const { selected, options } = this.menuElements;\n\n if (!selected || !options || this.asProps.itemsCount !== undefined) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (lastInteraction.isKeyboard() && this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n\n // this case is handled slightly differently on line 63.\n if (selected && options && this.asProps.itemsCount === undefined) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemProps(props, index) {\n const { highlightedIndex, visible } = this.asProps;\n const realIndex = props.index ?? index;\n const isHighlighted = realIndex === highlightedIndex;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: isHighlighted && visible ? 0 : -1,\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n role,\n tabIndex,\n ariaChecked,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n />,\n );\n}\n\nfunction ItemContentText({ styles }) {\n const SItemContentText = Root;\n return sstyled(styles)(<SItemContentText render={Text} />);\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='hint' />,\n );\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='title' />,\n );\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role='menuitem'\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/esm/DropdownMenu.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import _callSuper from "@babel/runtime/helpers/esm/callSuper";
|
|
|
8
8
|
import _superPropGet from "@babel/runtime/helpers/esm/superPropGet";
|
|
9
9
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
10
10
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
11
|
-
import { createComponent, sstyled,
|
|
11
|
+
import { createComponent, sstyled, lastInteraction, assignProps } from "@semcore/core";
|
|
12
12
|
import ButtonComponent from "@semcore/button";
|
|
13
13
|
import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
|
|
14
14
|
import { isAdvanceMode } from "@semcore/core/lib/utils/findComponent";
|
|
@@ -26,26 +26,26 @@ var style = (
|
|
|
26
26
|
/*__reshadow_css_start__*/
|
|
27
27
|
(sstyled.insert(
|
|
28
28
|
/*__inner_css_start__*/
|
|
29
|
-
".
|
|
29
|
+
".___SDropdownMenuList_tr24e_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;position:relative;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_tr24e_gg_ .___SBar_tr24e_gg_{z-index:3}.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowHorizontal_tr24e_gg_:before,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:after,.___SDropdownMenuList_tr24e_gg_ .___SShadowVertical_tr24e_gg_:before{border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuItemContainer_tr24e_gg_ .___SItemContent_tr24e_gg_:focus-visible{outline:0}.___SDropdownMenuItemContainer_tr24e_gg_.__nesting-trigger_tr24e_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_tr24e_gg_,.___SItemContentText_tr24e_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-1x, 4px);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SDropdownMenuItemAddon_tr24e_gg_:first-child,.___SItemContentText_tr24e_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_tr24e_gg_:last-child,.___SItemContentText_tr24e_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownMenuNesting_tr24e_gg_._size_m_tr24e_gg_{padding:0}.___SDropdownMenuNesting_tr24e_gg_.__highlighted_tr24e_gg_{z-index:1;outline-color:var(--intergalactic-keyboard-focus-outline, #008ff8);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}.___SDropdownNestingItem_tr24e_gg_._size_l_tr24e_gg_,.___SDropdownNestingItem_tr24e_gg_._size_m_tr24e_gg_{padding-right:0}.___SDropdownNestingItem_tr24e_gg_ .___SDropdownMenuItemContainer_tr24e_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}.___SItemHint_tr24e_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}",
|
|
30
30
|
/*__inner_css_end__*/
|
|
31
|
-
"
|
|
31
|
+
"tr24e_gg_"
|
|
32
32
|
), /*__reshadow_css_end__*/
|
|
33
33
|
{
|
|
34
|
-
"__SDropdownMenuItemContainer": "
|
|
35
|
-
"_nesting-trigger": "__nesting-
|
|
36
|
-
"__SDropdownMenuNesting": "
|
|
37
|
-
"_size_l": "
|
|
38
|
-
"_size_m": "
|
|
39
|
-
"_highlighted": "
|
|
40
|
-
"__SDropdownNestingItem": "
|
|
41
|
-
"__SItemHint": "
|
|
42
|
-
"__SDropdownMenuList": "
|
|
43
|
-
"__SBar": "
|
|
44
|
-
"__SShadowHorizontal": "
|
|
45
|
-
"__SShadowVertical": "
|
|
46
|
-
"__SItemContent": "
|
|
47
|
-
"__SDropdownMenuItemAddon": "
|
|
48
|
-
"__SItemContentText": "
|
|
34
|
+
"__SDropdownMenuItemContainer": "___SDropdownMenuItemContainer_tr24e_gg_",
|
|
35
|
+
"_nesting-trigger": "__nesting-trigger_tr24e_gg_",
|
|
36
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_tr24e_gg_",
|
|
37
|
+
"_size_l": "_size_l_tr24e_gg_",
|
|
38
|
+
"_size_m": "_size_m_tr24e_gg_",
|
|
39
|
+
"_highlighted": "__highlighted_tr24e_gg_",
|
|
40
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_tr24e_gg_",
|
|
41
|
+
"__SItemHint": "___SItemHint_tr24e_gg_",
|
|
42
|
+
"__SDropdownMenuList": "___SDropdownMenuList_tr24e_gg_",
|
|
43
|
+
"__SBar": "___SBar_tr24e_gg_",
|
|
44
|
+
"__SShadowHorizontal": "___SShadowHorizontal_tr24e_gg_",
|
|
45
|
+
"__SShadowVertical": "___SShadowVertical_tr24e_gg_",
|
|
46
|
+
"__SItemContent": "___SItemContent_tr24e_gg_",
|
|
47
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_tr24e_gg_",
|
|
48
|
+
"__SItemContentText": "___SItemContentText_tr24e_gg_"
|
|
49
49
|
})
|
|
50
50
|
);
|
|
51
51
|
var ListBoxContextProvider = function ListBoxContextProvider2(_ref22) {
|
|
@@ -76,23 +76,54 @@ var DropdownMenuRoot = /* @__PURE__ */ (function(_AbstractDropdown) {
|
|
|
76
76
|
visible: [null, function(visible) {
|
|
77
77
|
if (visible === true) {
|
|
78
78
|
setTimeout(function() {
|
|
79
|
-
|
|
80
|
-
var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
81
|
-
var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-checked="true"]');
|
|
82
|
-
if (selected && options && _this2.asProps.itemsCount === void 0) {
|
|
83
|
-
_this2.scrollToNode(selected, true);
|
|
84
|
-
for (var i = 0; i < options.length; i++) {
|
|
85
|
-
if (options[i] === selected) {
|
|
86
|
-
_this2.handlers.highlightedIndex(i);
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
79
|
+
_this2.focusAndScrollToSelected();
|
|
91
80
|
}, 30);
|
|
92
81
|
}
|
|
93
82
|
}]
|
|
94
83
|
});
|
|
95
84
|
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "menuElements",
|
|
87
|
+
get: function get() {
|
|
88
|
+
var menuElement = this.menuRef.current;
|
|
89
|
+
if (!menuElement) {
|
|
90
|
+
return {
|
|
91
|
+
selected: null,
|
|
92
|
+
options: null
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
var options = menuElement.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
|
|
96
|
+
var selected = menuElement.querySelector('[aria-checked="true"]');
|
|
97
|
+
return {
|
|
98
|
+
selected,
|
|
99
|
+
options
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "focusAndScrollToSelected",
|
|
104
|
+
value: function focusAndScrollToSelected() {
|
|
105
|
+
var _this3 = this;
|
|
106
|
+
var _this$menuElements = this.menuElements, selected = _this$menuElements.selected, options = _this$menuElements.options;
|
|
107
|
+
if (!selected || !options || this.asProps.itemsCount !== void 0) return;
|
|
108
|
+
this.scrollToNodeAsync(selected, true).then(function() {
|
|
109
|
+
if (lastInteraction.isKeyboard() && _this3.asProps.visible) {
|
|
110
|
+
selected.focus({
|
|
111
|
+
preventScroll: true
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
var selectedIndex = Array.from(options).indexOf(selected);
|
|
116
|
+
if (selectedIndex !== -1) {
|
|
117
|
+
this.handlers.highlightedIndex(selectedIndex);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}, {
|
|
121
|
+
key: "afterOpenPopper",
|
|
122
|
+
value: function afterOpenPopper() {
|
|
123
|
+
var _this$menuElements2 = this.menuElements, selected = _this$menuElements2.selected, options = _this$menuElements2.options;
|
|
124
|
+
if (selected && options && this.asProps.itemsCount === void 0) return;
|
|
125
|
+
_superPropGet(DropdownMenuRoot2, "afterOpenPopper", this, 3)([]);
|
|
126
|
+
}
|
|
96
127
|
}, {
|
|
97
128
|
key: "itemRef",
|
|
98
129
|
value: function itemRef(props, index, node) {
|
|
@@ -138,14 +169,14 @@ var DropdownMenuRoot = /* @__PURE__ */ (function(_AbstractDropdown) {
|
|
|
138
169
|
}, {
|
|
139
170
|
key: "getItemProps",
|
|
140
171
|
value: function getItemProps(props, index) {
|
|
141
|
-
var _props$index,
|
|
172
|
+
var _props$index, _this4 = this;
|
|
142
173
|
var _this$asProps2 = this.asProps, highlightedIndex = _this$asProps2.highlightedIndex, visible = _this$asProps2.visible;
|
|
143
174
|
var realIndex = (_props$index = props.index) !== null && _props$index !== void 0 ? _props$index : index;
|
|
144
175
|
var isHighlighted = realIndex === highlightedIndex;
|
|
145
176
|
var itemProps = _objectSpread(_objectSpread({}, _superPropGet(DropdownMenuRoot2, "getItemProps", this, 3)([props, realIndex])), {}, {
|
|
146
177
|
tabIndex: isHighlighted && visible ? 0 : -1,
|
|
147
178
|
ref: function ref(node) {
|
|
148
|
-
return
|
|
179
|
+
return _this4.itemRef(props, realIndex, node);
|
|
149
180
|
},
|
|
150
181
|
actionsRef: this.actionsRef
|
|
151
182
|
});
|
|
@@ -161,7 +192,7 @@ var DropdownMenuRoot = /* @__PURE__ */ (function(_AbstractDropdown) {
|
|
|
161
192
|
}
|
|
162
193
|
if (_superPropGet(DropdownMenuRoot2, "childRole", this, 1) === "menuitemradio") {
|
|
163
194
|
itemProps.onClick = function() {
|
|
164
|
-
|
|
195
|
+
_this4.handlers.visible(false);
|
|
165
196
|
};
|
|
166
197
|
}
|
|
167
198
|
return itemProps;
|
|
@@ -169,34 +200,34 @@ var DropdownMenuRoot = /* @__PURE__ */ (function(_AbstractDropdown) {
|
|
|
169
200
|
}, {
|
|
170
201
|
key: "handleKeyDownForMenu",
|
|
171
202
|
value: function handleKeyDownForMenu(place) {
|
|
172
|
-
var
|
|
203
|
+
var _this5 = this;
|
|
173
204
|
return function(e) {
|
|
174
|
-
var
|
|
175
|
-
var
|
|
176
|
-
if (place === "list" && !((
|
|
205
|
+
var _this5$menuRef$curren, _e$target$getAttribut;
|
|
206
|
+
var _this5$asProps = _this5.asProps, visible = _this5$asProps.visible, placement = _this5$asProps.placement, inlineActions = _this5$asProps.inlineActions;
|
|
207
|
+
if (place === "list" && !((_this5$menuRef$curren = _this5.menuRef.current) !== null && _this5$menuRef$curren !== void 0 && _this5$menuRef$curren.contains(e.target)) && !inlineActions) {
|
|
177
208
|
e.stopPropagation();
|
|
178
209
|
return false;
|
|
179
210
|
}
|
|
180
211
|
var show = e.key === "ArrowRight" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("right")) || e.key === "ArrowLeft" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("left")) || (e.key === "Enter" || e.key === " ") && !inlineActions;
|
|
181
212
|
var hide = e.key === "ArrowLeft" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("right")) || e.key === "ArrowRight" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("left")) || e.key === "Escape";
|
|
182
|
-
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute("role")) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith(_superPropGet(DropdownMenuRoot2, "childRole",
|
|
213
|
+
var isMenuItem = (_e$target$getAttribut = e.target.getAttribute("role")) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith(_superPropGet(DropdownMenuRoot2, "childRole", _this5, 1));
|
|
183
214
|
if (place === "trigger" && show && isMenuItem) {
|
|
184
|
-
|
|
185
|
-
|
|
215
|
+
_this5.handlers.visible(true);
|
|
216
|
+
_this5.handlers.highlightedIndex(0);
|
|
186
217
|
setTimeout(function() {
|
|
187
|
-
var
|
|
188
|
-
var highlightedIndex =
|
|
189
|
-
(
|
|
218
|
+
var _this5$itemRefs$highl;
|
|
219
|
+
var highlightedIndex = _this5.asProps.highlightedIndex;
|
|
220
|
+
(_this5$itemRefs$highl = _this5.itemRefs[highlightedIndex]) === null || _this5$itemRefs$highl === void 0 || _this5$itemRefs$highl.focus();
|
|
190
221
|
}, 0);
|
|
191
222
|
e.preventDefault();
|
|
192
223
|
e.stopPropagation();
|
|
193
224
|
return false;
|
|
194
225
|
}
|
|
195
226
|
if (place === "list" && visible && hide && isMenuItem) {
|
|
196
|
-
if (!inlineActions || inlineActions && (e.key === "Escape" ||
|
|
197
|
-
|
|
198
|
-
if (
|
|
199
|
-
setFocus(
|
|
227
|
+
if (!inlineActions || inlineActions && (e.key === "Escape" || _this5.asProps.highlightedIndex === 0)) {
|
|
228
|
+
_this5.handlers.visible(false);
|
|
229
|
+
if (_this5.triggerRef.current) {
|
|
230
|
+
setFocus(_this5.triggerRef.current);
|
|
200
231
|
}
|
|
201
232
|
e.preventDefault();
|
|
202
233
|
e.stopPropagation();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/dropdown-menu",
|
|
3
3
|
"description": "Semrush DropdownMenu Component",
|
|
4
|
-
"version": "16.1.
|
|
4
|
+
"version": "16.1.13-prerelease.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/button": "16.0.
|
|
18
|
-
"@semcore/dropdown": "16.1.
|
|
19
|
-
"@semcore/icon": "16.7.
|
|
20
|
-
"@semcore/typography": "16.3.
|
|
17
|
+
"@semcore/button": "16.0.12-prerelease.0",
|
|
18
|
+
"@semcore/dropdown": "16.1.3-prerelease.0",
|
|
19
|
+
"@semcore/icon": "16.7.3-prerelease.0",
|
|
20
|
+
"@semcore/typography": "16.3.2-prerelease.0",
|
|
21
21
|
"@semcore/popper": "16.0.11",
|
|
22
22
|
"@semcore/flex-box": "16.0.11",
|
|
23
23
|
"@semcore/scroll-area": "16.0.11",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@types/classnames": "2.2.6",
|
|
36
36
|
"@semcore/core": "16.5.1",
|
|
37
37
|
"@semcore/testing-utils": "1.0.0",
|
|
38
|
-
"@semcore/base-trigger": "16.4.
|
|
39
|
-
"@semcore/button": "16.0.
|
|
40
|
-
"@semcore/icon": "16.7.
|
|
38
|
+
"@semcore/base-trigger": "16.4.4-prerelease.0",
|
|
39
|
+
"@semcore/button": "16.0.12-prerelease.0",
|
|
40
|
+
"@semcore/icon": "16.7.3-prerelease.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|