@semcore/dropdown-menu 4.21.1 → 4.22.1-prerelease.1

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 CHANGED
@@ -2,7 +2,25 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [4.21.1-prerelease.10] - 2024-02-21
5
+ ## [4.22.1-prerelease.1] - 2024-03-01
6
+
7
+ ### Fixed
8
+
9
+ - selection item by keypress `Space` when button trigger is used.
10
+
11
+ ## [4.22.0] - 2024-02-29
12
+
13
+ ### Fixed
14
+
15
+ - Allowed to `Tab` navigate from focusables inside of an item if the item was highlighted right before the focusable was focused.
16
+
17
+ ## [4.21.2] - 2024-02-22
18
+
19
+ ### Fixed
20
+
21
+ - Disabled `DropdownMenu.Nesting` was opening nested menu by `Tab` key pressing.
22
+
23
+ ## [4.21.1] - 2024-02-21
6
24
 
7
25
  ### Changed
8
26
 
@@ -26,27 +26,28 @@ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
26
26
  var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
27
27
  var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
28
28
  var _useFocusLock = require("@semcore/utils/lib/use/useFocusLock");
29
+ var _hasParent = require("@semcore/utils/lib/hasParent");
29
30
  var _styleScrollArea = _interopRequireDefault(require("./styleScrollArea"));
30
31
  var _setFocus = require("@semcore/utils/lib/focus-lock/setFocus");
31
32
  var _isFocusInside = require("@semcore/utils/lib/focus-lock/isFocusInside");
32
33
  var _getFocusableIn = require("@semcore/utils/lib/focus-lock/getFocusableIn");
33
34
  var _excluded = ["className"];
34
35
  /*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
35
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_zu4im_gg_,.___SDropdownMenuList_zu4im_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_zu4im_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_zu4im_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_zu4im_gg_:focus{outline:0}.___SDropdownMenuItem_zu4im_gg_.__selected_zu4im_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_.__selected_zu4im_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_zu4im_gg_.__highlighted_zu4im_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_zu4im_gg_.__disabled_zu4im_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_zu4im_gg_._size_l_zu4im_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_zu4im_gg_._size_m_zu4im_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_zu4im_gg_.__notInteractive_zu4im_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_.__notInteractive_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_._variant_hint_zu4im_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_._variant_hint_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_._variant_title_zu4im_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_._variant_title_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_.__visible_zu4im_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_zu4im_gg_.__nesting-trigger_zu4im_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_zu4im_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_zu4im_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_zu4im_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_zu4im_gg_,.___SDropdownMenuNesting_zu4im_gg_._size_l_zu4im_gg_,.___SDropdownMenuNesting_zu4im_gg_._size_m_zu4im_gg_{padding:0}.___SDropdownMenuNesting_zu4im_gg_.__highlighted_zu4im_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}" /*__inner_css_end__*/, "zu4im_gg_") /*__reshadow_css_end__*/, {
36
- "__SDropdownMenuList": "___SDropdownMenuList_zu4im_gg_",
37
- "__SDropdownMenuItem": "___SDropdownMenuItem_zu4im_gg_",
38
- "_highlighted": "__highlighted_zu4im_gg_",
39
- "_disabled": "__disabled_zu4im_gg_",
40
- "_size_l": "_size_l_zu4im_gg_",
41
- "_size_m": "_size_m_zu4im_gg_",
42
- "_visible": "__visible_zu4im_gg_",
43
- "_nesting-trigger": "__nesting-trigger_zu4im_gg_",
44
- "__SDropdownMenuNesting": "___SDropdownMenuNesting_zu4im_gg_",
45
- "_selected": "__selected_zu4im_gg_",
46
- "_notInteractive": "__notInteractive_zu4im_gg_",
47
- "_variant_hint": "_variant_hint_zu4im_gg_",
48
- "_variant_title": "_variant_title_zu4im_gg_",
49
- "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_zu4im_gg_"
36
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_zbx7u_gg_,.___SDropdownMenuList_zbx7u_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_zbx7u_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_zbx7u_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_zbx7u_gg_:focus{outline:0}.___SDropdownMenuItem_zbx7u_gg_.__selected_zbx7u_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_.__selected_zbx7u_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_zbx7u_gg_.__highlighted_zbx7u_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_zbx7u_gg_.__disabled_zbx7u_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_zbx7u_gg_._size_l_zbx7u_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_zbx7u_gg_._size_m_zbx7u_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_zbx7u_gg_.__notInteractive_zbx7u_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_.__notInteractive_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_._variant_hint_zbx7u_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_._variant_hint_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_._variant_title_zbx7u_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_._variant_title_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_.__visible_zbx7u_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_zbx7u_gg_.__nesting-trigger_zbx7u_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_zbx7u_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_zbx7u_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_zbx7u_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_zbx7u_gg_,.___SDropdownMenuNesting_zbx7u_gg_._size_l_zbx7u_gg_,.___SDropdownMenuNesting_zbx7u_gg_._size_m_zbx7u_gg_{padding:0}.___SDropdownMenuNesting_zbx7u_gg_.__highlighted_zbx7u_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}" /*__inner_css_end__*/, "zbx7u_gg_") /*__reshadow_css_end__*/, {
37
+ "__SDropdownMenuList": "___SDropdownMenuList_zbx7u_gg_",
38
+ "__SDropdownMenuItem": "___SDropdownMenuItem_zbx7u_gg_",
39
+ "_highlighted": "__highlighted_zbx7u_gg_",
40
+ "_disabled": "__disabled_zbx7u_gg_",
41
+ "_size_l": "_size_l_zbx7u_gg_",
42
+ "_size_m": "_size_m_zbx7u_gg_",
43
+ "_visible": "__visible_zbx7u_gg_",
44
+ "_nesting-trigger": "__nesting-trigger_zbx7u_gg_",
45
+ "__SDropdownMenuNesting": "___SDropdownMenuNesting_zbx7u_gg_",
46
+ "_selected": "__selected_zbx7u_gg_",
47
+ "_notInteractive": "__notInteractive_zbx7u_gg_",
48
+ "_variant_hint": "_variant_hint_zbx7u_gg_",
49
+ "_variant_title": "_variant_title_zbx7u_gg_",
50
+ "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_zbx7u_gg_"
50
51
  });
51
52
  var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
52
53
  (0, _inherits2["default"])(DropdownMenuRoot, _Component);
@@ -82,11 +83,9 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
82
83
  visible = _this$asProps.visible,
83
84
  highlightedIndex = _this$asProps.highlightedIndex,
84
85
  placement = _this$asProps.placement;
85
- if (e.key === ' ' && ['INPUT', 'TEXTAREA', 'BUTTON'].includes(targetTagName)) return;
86
- if (e.key === 'Enter') {
87
- if (targetTagName === 'TEXTAREA') return;
88
- if (place === 'popper' && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;
89
- }
86
+ if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;
87
+ if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;
88
+ if (place === 'popper' && (e.key === ' ' || e.key === 'Enter') && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;
90
89
  if (visible && e.key === 'Tab') {
91
90
  var item = highlightedIndex !== null && _this.itemRefs[highlightedIndex];
92
91
  if (item && (0, _getFocusableIn.getFocusableIn)(item).length !== 0) {
@@ -200,6 +199,17 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
200
199
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTriggerKeyboardFocus", function () {
201
200
  if (_this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;
202
201
  });
202
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleItemFocusOut", function (event) {
203
+ if (event.relatedTarget === _this.popperRef.current) return;
204
+ var focused = event.relatedTarget;
205
+ if ((0, _hasParent.hasParent)(focused, _this.popperRef.current)) {
206
+ _this.handlers.highlightedIndex(null);
207
+ _this.setState({
208
+ focusLockItemIndex: null
209
+ });
210
+ focused.focus();
211
+ }
212
+ });
203
213
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleNestingClick", function (event) {
204
214
  var _focusable$;
205
215
  var itemIndex = _this.itemRefs.indexOf(event.currentTarget);
@@ -336,7 +346,9 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
336
346
  highlightedIndex = _this$asProps6.highlightedIndex,
337
347
  uid = _this$asProps6.uid;
338
348
  var highlighted = index === highlightedIndex;
339
- var ref = this.itemRefs[index];
349
+ var ref = function ref(node) {
350
+ _this3.itemRefs[index] = node;
351
+ };
340
352
  this.itemProps[index] = props;
341
353
  if (highlighted) {
342
354
  ref = function ref(node) {
@@ -351,7 +363,8 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
351
363
  focusLock: this.state.focusLockItemIndex === index,
352
364
  triggerRef: this.triggerRef,
353
365
  ref: ref,
354
- index: index
366
+ index: index,
367
+ handleFocusOut: this.handleItemFocusOut
355
368
  };
356
369
  }
357
370
  }, {
@@ -479,10 +492,11 @@ function Item(_ref16) {
479
492
  triggerRef = _ref16.triggerRef,
480
493
  focusLock = _ref16.focusLock,
481
494
  disabled = _ref16.disabled,
482
- highlighted = _ref16.highlighted;
495
+ highlighted = _ref16.highlighted,
496
+ handleFocusOut = _ref16.handleFocusOut;
483
497
  var SDropdownMenuItem = _flexBox.Flex;
484
498
  var ref = _react["default"].useRef();
485
- (0, _useFocusLock.useFocusLock)(ref, false, triggerRef, !focusLock || disabled, true);
499
+ (0, _useFocusLock.useFocusLock)(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);
486
500
  return _ref11 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDropdownMenuItem, _ref11.cn("SDropdownMenuItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
487
501
  "ref": ref,
488
502
  "role": 'menuitem',
@@ -491,22 +505,33 @@ function Item(_ref16) {
491
505
  "use:highlighted": !disabled && highlighted
492
506
  }, _ref4))));
493
507
  }
508
+ var NestingContext = /*#__PURE__*/_react["default"].createContext(null);
494
509
  function Nesting(_ref17) {
495
510
  var _ref5 = arguments[0],
496
511
  _ref12;
497
- var styles = _ref17.styles;
512
+ var styles = _ref17.styles,
513
+ disabled = _ref17.disabled;
498
514
  var SDropdownMenuNesting = DropdownMenu.Item;
499
- return _ref12 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDropdownMenuNesting, _ref12.cn("SDropdownMenuNesting", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
515
+ var contextValue = _react["default"].useMemo(function () {
516
+ return {
517
+ disabled: disabled
518
+ };
519
+ }, [disabled]);
520
+ return /*#__PURE__*/_react["default"].createElement(NestingContext.Provider, {
521
+ value: contextValue
522
+ }, (_ref12 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDropdownMenuNesting, _ref12.cn("SDropdownMenuNesting", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
500
523
  "aria-haspopup": 'true'
501
- }, _ref5))));
524
+ }, _ref5))))));
502
525
  }
503
- function NestingTrigger(_ref18) {
526
+ function NestingTrigger(props) {
504
527
  var _ref6 = arguments[0],
505
528
  _ref13;
506
- var styles = _ref18.styles,
507
- visible = _ref18.visible,
508
- onNestedVisibleChange = _ref18.onNestedVisibleChange;
529
+ var styles = props.styles,
530
+ visible = props.visible,
531
+ onNestedVisibleChange = props.onNestedVisibleChange;
509
532
  var SDropdownMenuItem = _flexBox.Flex;
533
+ var nestingContext = _react["default"].useContext(NestingContext);
534
+ var disabled = props.disabled || (nestingContext === null || nestingContext === void 0 ? void 0 : nestingContext.disabled);
510
535
  var lastUserInteractionRef = _react["default"].useRef(undefined);
511
536
  _react["default"].useEffect(function () {
512
537
  onNestedVisibleChange(lastUserInteractionRef.current);
@@ -533,10 +558,12 @@ function NestingTrigger(_ref18) {
533
558
  });
534
559
  };
535
560
  }, []);
536
- return _ref13 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDropdownMenuItem, _ref13.cn("SDropdownMenuItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
561
+ return /*#__PURE__*/_react["default"].createElement(NestingContext.Provider, {
562
+ value: null
563
+ }, (_ref13 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDropdownMenuItem, _ref13.cn("SDropdownMenuItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
537
564
  "nesting-trigger": true,
538
- "tabIndex": 0
539
- }, _ref6))));
565
+ "tabIndex": !disabled ? 0 : undefined
566
+ }, _ref6))))));
540
567
  }
541
568
  function Addon(props) {
542
569
  var _useBox = (0, _flexBox.useBox)(props, props.forwardRef),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_classnames","_dropdown","_flexBox","_scrollArea","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_styleScrollArea","_setFocus","_isFocusInside","_getFocusableIn","_excluded","style","sstyled","insert","DropdownMenuRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","focusLockItemIndex","React","createRef","trigger","triggerRef","current","isFocusInside","setFocus","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","getFocusableIn","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass2","value","uncontrolledProps","_this2","getTriggerProps","_this$asProps3","uid","disablePortal","getI18nText","id","focusHint","undefined","bindHandlerKeyDown","ref","onKeyboardFocus","handleTriggerKeyboardFocus","getListProps","_this$asProps4","index","getPopperProps","_this$asProps5","ignorePortalsStacking","interaction","tabIndex","focusMaster","hideFocus","getItemProps","props","_this3","_this$asProps6","highlighted","itemProps","scrollToNode","focusLock","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","findIndex","selected","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","Dropdown","assignProps","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref10","SDropdownMenuList","ScrollAreaComponent","styles","cn","_objectSpread2","scrollStyles","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","Item","_ref16","_ref4","_ref11","label","SDropdownMenuItem","Flex","useRef","useFocusLock","Nesting","_ref17","_ref5","_ref12","SDropdownMenuNesting","NestingTrigger","_ref18","_ref6","_ref13","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","Addon","_useBox","useBox","forwardRef","_useBox2","_slicedToArray2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties2","_extends2","Hint","_ref7","_ref14","Title","_ref8","_ref15","Trigger","_ref9","createComponent","ItemTitle","ItemHint","parent","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n state = {\n focusLockItemIndex: null,\n };\n\n popperRef = React.createRef();\n triggerRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n ignoreTriggerKeyboardFocusUntil = 0;\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n }\n },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA', 'BUTTON'].includes(targetTagName)) return;\n if (e.key === 'Enter') {\n if (targetTagName === 'TEXTAREA') return;\n if (place === 'popper' && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;\n }\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n const focusable = getFocusableIn(item);\n if (focusable.length > 0 && item) {\n const focusedIndex = focusable.indexOf(document.activeElement);\n if (e.key === 'ArrowRight') {\n if (focusedIndex === -1) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n }\n const nextFocused = focusable[focusedIndex + 1];\n if (nextFocused) {\n e.preventDefault();\n e.stopPropagation();\n nextFocused.focus();\n }\n } else if (e.key === 'ArrowLeft') {\n if (focusedIndex === 0) {\n this.setState({ focusLockItemIndex: null });\n }\n const prevFocused = focusable[focusedIndex - 1];\n if (prevFocused) {\n e.preventDefault();\n e.stopPropagation();\n prevFocused.focus();\n }\n }\n }\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n if (visible) {\n this.moveHighlightedIndex(amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible) {\n this.moveHighlightedIndex(-amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n } else {\n if (place === 'trigger') {\n this.handlers.visible(false);\n\n e.preventDefault();\n }\n }\n break;\n }\n };\n\n handleTriggerKeyboardFocus = () => {\n if (this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText, highlightedIndex } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-popper`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n ref: this.triggerRef,\n onKeyboardFocus: this.handleTriggerKeyboardFocus,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n return {\n size,\n uid,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: 0,\n onKeyDown: this.bindHandlerKeyDown('popper'),\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex, uid } = this.asProps;\n const highlighted = index === highlightedIndex;\n let ref = this.itemRefs[index];\n this.itemProps[index] = props;\n if (highlighted) {\n ref = (node) => {\n this.itemRefs[index] = node;\n this.scrollToNode(node);\n };\n }\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n highlighted,\n focusLock: this.state.focusLockItemIndex === index,\n triggerRef: this.triggerRef,\n ref,\n index,\n };\n }\n\n handleNestingClick = (event) => {\n const itemIndex = this.itemRefs.indexOf(event.currentTarget);\n if (itemIndex === -1) return;\n const focusable = getFocusableIn(event.currentTarget);\n focusable[0]?.focus();\n if (focusable[0] && this.state.focusLockItemIndex === null) {\n this.setState({ focusLockItemIndex: null });\n event.preventDefault();\n event.stopPropagation();\n }\n };\n handleNestingKeyDown = (event) => {\n if (event.key === ' ') {\n this.handleNestingClick(event);\n }\n };\n getNestingProps = () => {\n const { size } = this.asProps;\n return {\n size,\n onClick: this.handleNestingClick,\n onKeyDown: this.handleNestingKeyDown,\n };\n };\n handleNestedVisibleChange = (lastUserInteraction) => {\n if (\n this.asProps.visible &&\n this.asProps.highlightedIndex === null &&\n lastUserInteraction === 'keyboard'\n ) {\n this.handlers.highlightedIndex(0);\n }\n };\n getNestingTriggerProps = () => {\n const { size, visible } = this.asProps;\n return {\n size,\n visible,\n onNestedVisibleChange: this.handleNestedVisibleChange,\n };\n };\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n if (node) {\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current) {\n highlightedIndex = this.prevHighlightedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\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 <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({ styles, label, triggerRef, focusLock, disabled, highlighted }) {\n const SDropdownMenuItem = Root;\n const ref = React.useRef();\n\n useFocusLock(ref, false, triggerRef, !focusLock || disabled, true);\n\n return sstyled(styles)(\n <SDropdownMenuItem\n ref={ref}\n render={Flex}\n role='menuitem'\n tabIndex={-1}\n id={label}\n use:highlighted={!disabled && highlighted}\n />,\n );\n}\n\nfunction Nesting({ styles }) {\n const SDropdownMenuNesting = Root;\n\n return sstyled(styles)(<SDropdownMenuNesting aria-haspopup='true' render={DropdownMenu.Item} />);\n}\n\nfunction NestingTrigger({ styles, visible, onNestedVisibleChange }) {\n const SDropdownMenuItem = Root;\n\n const lastUserInteractionRef = React.useRef(undefined);\n React.useEffect(() => {\n onNestedVisibleChange(lastUserInteractionRef.current);\n }, [visible]);\n\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n\n React.useEffect(() => {\n document.addEventListener('mouseover', handleMouseEvent, { capture: true });\n document.addEventListener('keydown', handleKeyboardEvent, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return sstyled(styles)(<SDropdownMenuItem nesting-trigger tabIndex={0} render={Flex} />);\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='hint' />);\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='title' />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_classnames","_dropdown","_flexBox","_scrollArea","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_hasParent","_styleScrollArea","_setFocus","_isFocusInside","_getFocusableIn","_excluded","style","sstyled","insert","DropdownMenuRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","focusLockItemIndex","React","createRef","trigger","triggerRef","current","isFocusInside","setFocus","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","getFocusableIn","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","relatedTarget","focused","hasParent","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass2","value","uncontrolledProps","_this2","getTriggerProps","_this$asProps3","uid","disablePortal","getI18nText","id","focusHint","undefined","bindHandlerKeyDown","ref","onKeyboardFocus","handleTriggerKeyboardFocus","getListProps","_this$asProps4","index","getPopperProps","_this$asProps5","ignorePortalsStacking","interaction","tabIndex","focusMaster","hideFocus","getItemProps","props","_this3","_this$asProps6","highlighted","itemProps","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","findIndex","selected","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","Dropdown","assignProps","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref10","SDropdownMenuList","ScrollAreaComponent","styles","cn","_objectSpread2","scrollStyles","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","Item","_ref16","_ref4","_ref11","label","SDropdownMenuItem","Flex","useRef","useFocusLock","NestingContext","createContext","Nesting","_ref17","_ref5","_ref12","SDropdownMenuNesting","contextValue","useMemo","Provider","NestingTrigger","_ref6","_ref13","nestingContext","useContext","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","Addon","_useBox","useBox","forwardRef","_useBox2","_slicedToArray2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties2","_extends2","Hint","_ref7","_ref14","Title","_ref8","_ref15","Trigger","_ref9","createComponent","ItemTitle","ItemHint","parent","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n state = {\n focusLockItemIndex: null,\n };\n\n popperRef = React.createRef();\n triggerRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n ignoreTriggerKeyboardFocusUntil = 0;\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n }\n },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n const focusable = getFocusableIn(item);\n if (focusable.length > 0 && item) {\n const focusedIndex = focusable.indexOf(document.activeElement);\n if (e.key === 'ArrowRight') {\n if (focusedIndex === -1) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n }\n const nextFocused = focusable[focusedIndex + 1];\n if (nextFocused) {\n e.preventDefault();\n e.stopPropagation();\n nextFocused.focus();\n }\n } else if (e.key === 'ArrowLeft') {\n if (focusedIndex === 0) {\n this.setState({ focusLockItemIndex: null });\n }\n const prevFocused = focusable[focusedIndex - 1];\n if (prevFocused) {\n e.preventDefault();\n e.stopPropagation();\n prevFocused.focus();\n }\n }\n }\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n if (visible) {\n this.moveHighlightedIndex(amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible) {\n this.moveHighlightedIndex(-amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n } else {\n if (place === 'trigger') {\n this.handlers.visible(false);\n\n e.preventDefault();\n }\n }\n break;\n }\n };\n\n handleTriggerKeyboardFocus = () => {\n if (this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText, highlightedIndex } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-popper`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n ref: this.triggerRef,\n onKeyboardFocus: this.handleTriggerKeyboardFocus,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n return {\n size,\n uid,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: 0,\n onKeyDown: this.bindHandlerKeyDown('popper'),\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex, uid } = this.asProps;\n const highlighted = index === highlightedIndex;\n let ref = (node) => {\n this.itemRefs[index] = node;\n };\n this.itemProps[index] = props;\n if (highlighted) {\n ref = (node) => {\n this.itemRefs[index] = node;\n this.scrollToNode(node);\n };\n }\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n highlighted,\n focusLock: this.state.focusLockItemIndex === index,\n triggerRef: this.triggerRef,\n ref,\n index,\n handleFocusOut: this.handleItemFocusOut,\n };\n }\n\n handleItemFocusOut = (event) => {\n if (event.relatedTarget === this.popperRef.current) return;\n const focused = event.relatedTarget;\n\n if (hasParent(focused, this.popperRef.current)) {\n this.handlers.highlightedIndex(null);\n this.setState({ focusLockItemIndex: null });\n focused.focus();\n }\n };\n\n handleNestingClick = (event) => {\n const itemIndex = this.itemRefs.indexOf(event.currentTarget);\n if (itemIndex === -1) return;\n const focusable = getFocusableIn(event.currentTarget);\n focusable[0]?.focus();\n if (focusable[0] && this.state.focusLockItemIndex === null) {\n this.setState({ focusLockItemIndex: null });\n event.preventDefault();\n event.stopPropagation();\n }\n };\n handleNestingKeyDown = (event) => {\n if (event.key === ' ') {\n this.handleNestingClick(event);\n }\n };\n getNestingProps = () => {\n const { size } = this.asProps;\n return {\n size,\n onClick: this.handleNestingClick,\n onKeyDown: this.handleNestingKeyDown,\n };\n };\n handleNestedVisibleChange = (lastUserInteraction) => {\n if (\n this.asProps.visible &&\n this.asProps.highlightedIndex === null &&\n lastUserInteraction === 'keyboard'\n ) {\n this.handlers.highlightedIndex(0);\n }\n };\n getNestingTriggerProps = () => {\n const { size, visible } = this.asProps;\n return {\n size,\n visible,\n onNestedVisibleChange: this.handleNestedVisibleChange,\n };\n };\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n if (node) {\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current) {\n highlightedIndex = this.prevHighlightedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\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 <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({ styles, label, triggerRef, focusLock, disabled, highlighted, handleFocusOut }) {\n const SDropdownMenuItem = Root;\n const ref = React.useRef();\n\n useFocusLock(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);\n\n return sstyled(styles)(\n <SDropdownMenuItem\n ref={ref}\n render={Flex}\n role='menuitem'\n tabIndex={-1}\n id={label}\n use:highlighted={!disabled && highlighted}\n />,\n );\n}\n\nconst NestingContext = React.createContext(null);\n\nfunction Nesting({ styles, disabled }) {\n const SDropdownMenuNesting = Root;\n const contextValue = React.useMemo(() => ({ disabled }), [disabled]);\n\n return (\n <NestingContext.Provider value={contextValue}>\n {sstyled(styles)(<SDropdownMenuNesting aria-haspopup='true' render={DropdownMenu.Item} />)}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingTrigger(props) {\n const { styles, visible, onNestedVisibleChange } = props;\n const SDropdownMenuItem = Root;\n const nestingContext = React.useContext(NestingContext);\n const disabled = props.disabled || nestingContext?.disabled;\n\n const lastUserInteractionRef = React.useRef(undefined);\n React.useEffect(() => {\n onNestedVisibleChange(lastUserInteractionRef.current);\n }, [visible]);\n\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n\n React.useEffect(() => {\n document.addEventListener('mouseover', handleMouseEvent, { capture: true });\n document.addEventListener('keydown', handleKeyboardEvent, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='hint' />);\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='title' />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
@@ -11,12 +11,12 @@ var _core = require("@semcore/core");
11
11
  *
12
12
  * We will figure out what to do with it and remove it.
13
13
  * */
14
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_14qq5_gg_:after,.___SShadowHorizontal_14qq5_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_14qq5_gg_._position_median_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_median_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_start_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_end_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_:after,.___SShadowVertical_14qq5_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_14qq5_gg_._position_median_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_median_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_start_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_end_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "14qq5_gg_") /*__reshadow_css_end__*/, {
15
- "__SShadowHorizontal": "___SShadowHorizontal_14qq5_gg_",
16
- "_position_median": "_position_median_14qq5_gg_",
17
- "_position_start": "_position_start_14qq5_gg_",
18
- "_position_end": "_position_end_14qq5_gg_",
19
- "__SShadowVertical": "___SShadowVertical_14qq5_gg_"
14
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1unxt_gg_:after,.___SShadowHorizontal_1unxt_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_1unxt_gg_._position_median_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_median_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_start_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_end_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_:after,.___SShadowVertical_1unxt_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_1unxt_gg_._position_median_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_median_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_start_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_end_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "1unxt_gg_") /*__reshadow_css_end__*/, {
15
+ "__SShadowHorizontal": "___SShadowHorizontal_1unxt_gg_",
16
+ "_position_median": "_position_median_1unxt_gg_",
17
+ "_position_start": "_position_start_1unxt_gg_",
18
+ "_position_end": "_position_end_1unxt_gg_",
19
+ "__SShadowVertical": "___SShadowVertical_1unxt_gg_"
20
20
  });
21
21
  var _default = scrollStyles;
22
22
  exports["default"] = _default;
@@ -23,29 +23,30 @@ import React from 'react';
23
23
  import cn from 'classnames';
24
24
  import createComponent, { Component, sstyled, Root } from '@semcore/core';
25
25
  import Dropdown from '@semcore/dropdown';
26
- import { Flex, useBox, useFlex } from '@semcore/flex-box';
26
+ import { Flex, useBox } from '@semcore/flex-box';
27
27
  import ScrollAreaComponent from '@semcore/scroll-area';
28
28
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
29
29
  import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
30
30
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
31
31
  import { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';
32
+ import { hasParent } from '@semcore/utils/lib/hasParent';
32
33
  import scrollStyles from './styleScrollArea';
33
34
  /*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
34
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_zu4im_gg_,.___SDropdownMenuList_zu4im_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_zu4im_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_zu4im_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_zu4im_gg_:focus{outline:0}.___SDropdownMenuItem_zu4im_gg_.__selected_zu4im_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_.__selected_zu4im_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_zu4im_gg_.__highlighted_zu4im_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_zu4im_gg_.__disabled_zu4im_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_zu4im_gg_._size_l_zu4im_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_zu4im_gg_._size_m_zu4im_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_zu4im_gg_.__notInteractive_zu4im_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_.__notInteractive_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_._variant_hint_zu4im_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_._variant_hint_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_._variant_title_zu4im_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zu4im_gg_._variant_title_zu4im_gg_:hover{background:0 0}}.___SDropdownMenuItem_zu4im_gg_.__visible_zu4im_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_zu4im_gg_.__nesting-trigger_zu4im_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_zu4im_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_zu4im_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_zu4im_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_zu4im_gg_,.___SDropdownMenuNesting_zu4im_gg_._size_l_zu4im_gg_,.___SDropdownMenuNesting_zu4im_gg_._size_m_zu4im_gg_{padding:0}.___SDropdownMenuNesting_zu4im_gg_.__highlighted_zu4im_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}" /*__inner_css_end__*/, "zu4im_gg_") /*__reshadow_css_end__*/, {
35
- "__SDropdownMenuList": "___SDropdownMenuList_zu4im_gg_",
36
- "__SDropdownMenuItem": "___SDropdownMenuItem_zu4im_gg_",
37
- "_highlighted": "__highlighted_zu4im_gg_",
38
- "_disabled": "__disabled_zu4im_gg_",
39
- "_size_l": "_size_l_zu4im_gg_",
40
- "_size_m": "_size_m_zu4im_gg_",
41
- "_visible": "__visible_zu4im_gg_",
42
- "_nesting-trigger": "__nesting-trigger_zu4im_gg_",
43
- "__SDropdownMenuNesting": "___SDropdownMenuNesting_zu4im_gg_",
44
- "_selected": "__selected_zu4im_gg_",
45
- "_notInteractive": "__notInteractive_zu4im_gg_",
46
- "_variant_hint": "_variant_hint_zu4im_gg_",
47
- "_variant_title": "_variant_title_zu4im_gg_",
48
- "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_zu4im_gg_"
35
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_zbx7u_gg_,.___SDropdownMenuList_zbx7u_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_zbx7u_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_zbx7u_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_zbx7u_gg_:focus{outline:0}.___SDropdownMenuItem_zbx7u_gg_.__selected_zbx7u_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_.__selected_zbx7u_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_zbx7u_gg_.__highlighted_zbx7u_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_zbx7u_gg_.__disabled_zbx7u_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_zbx7u_gg_._size_l_zbx7u_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_zbx7u_gg_._size_m_zbx7u_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_zbx7u_gg_.__notInteractive_zbx7u_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_.__notInteractive_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_._variant_hint_zbx7u_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_._variant_hint_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_._variant_title_zbx7u_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_zbx7u_gg_._variant_title_zbx7u_gg_:hover{background:0 0}}.___SDropdownMenuItem_zbx7u_gg_.__visible_zbx7u_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_zbx7u_gg_.__nesting-trigger_zbx7u_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_zbx7u_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_zbx7u_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_zbx7u_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_zbx7u_gg_,.___SDropdownMenuNesting_zbx7u_gg_._size_l_zbx7u_gg_,.___SDropdownMenuNesting_zbx7u_gg_._size_m_zbx7u_gg_{padding:0}.___SDropdownMenuNesting_zbx7u_gg_.__highlighted_zbx7u_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}" /*__inner_css_end__*/, "zbx7u_gg_") /*__reshadow_css_end__*/, {
36
+ "__SDropdownMenuList": "___SDropdownMenuList_zbx7u_gg_",
37
+ "__SDropdownMenuItem": "___SDropdownMenuItem_zbx7u_gg_",
38
+ "_highlighted": "__highlighted_zbx7u_gg_",
39
+ "_disabled": "__disabled_zbx7u_gg_",
40
+ "_size_l": "_size_l_zbx7u_gg_",
41
+ "_size_m": "_size_m_zbx7u_gg_",
42
+ "_visible": "__visible_zbx7u_gg_",
43
+ "_nesting-trigger": "__nesting-trigger_zbx7u_gg_",
44
+ "__SDropdownMenuNesting": "___SDropdownMenuNesting_zbx7u_gg_",
45
+ "_selected": "__selected_zbx7u_gg_",
46
+ "_notInteractive": "__notInteractive_zbx7u_gg_",
47
+ "_variant_hint": "_variant_hint_zbx7u_gg_",
48
+ "_variant_title": "_variant_title_zbx7u_gg_",
49
+ "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_zbx7u_gg_"
49
50
  });
50
51
  import { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';
51
52
  import { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';
@@ -84,11 +85,9 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
84
85
  visible = _this$asProps.visible,
85
86
  highlightedIndex = _this$asProps.highlightedIndex,
86
87
  placement = _this$asProps.placement;
87
- if (e.key === ' ' && ['INPUT', 'TEXTAREA', 'BUTTON'].includes(targetTagName)) return;
88
- if (e.key === 'Enter') {
89
- if (targetTagName === 'TEXTAREA') return;
90
- if (place === 'popper' && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;
91
- }
88
+ if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;
89
+ if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;
90
+ if (place === 'popper' && (e.key === ' ' || e.key === 'Enter') && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;
92
91
  if (visible && e.key === 'Tab') {
93
92
  var item = highlightedIndex !== null && _this.itemRefs[highlightedIndex];
94
93
  if (item && getFocusableIn(item).length !== 0) {
@@ -202,6 +201,17 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
202
201
  _defineProperty(_assertThisInitialized(_this), "handleTriggerKeyboardFocus", function () {
203
202
  if (_this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;
204
203
  });
204
+ _defineProperty(_assertThisInitialized(_this), "handleItemFocusOut", function (event) {
205
+ if (event.relatedTarget === _this.popperRef.current) return;
206
+ var focused = event.relatedTarget;
207
+ if (hasParent(focused, _this.popperRef.current)) {
208
+ _this.handlers.highlightedIndex(null);
209
+ _this.setState({
210
+ focusLockItemIndex: null
211
+ });
212
+ focused.focus();
213
+ }
214
+ });
205
215
  _defineProperty(_assertThisInitialized(_this), "handleNestingClick", function (event) {
206
216
  var _focusable$;
207
217
  var itemIndex = _this.itemRefs.indexOf(event.currentTarget);
@@ -338,7 +348,9 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
338
348
  highlightedIndex = _this$asProps6.highlightedIndex,
339
349
  uid = _this$asProps6.uid;
340
350
  var highlighted = index === highlightedIndex;
341
- var ref = this.itemRefs[index];
351
+ var ref = function ref(node) {
352
+ _this3.itemRefs[index] = node;
353
+ };
342
354
  this.itemProps[index] = props;
343
355
  if (highlighted) {
344
356
  ref = function ref(node) {
@@ -353,7 +365,8 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
353
365
  focusLock: this.state.focusLockItemIndex === index,
354
366
  triggerRef: this.triggerRef,
355
367
  ref: ref,
356
- index: index
368
+ index: index,
369
+ handleFocusOut: this.handleItemFocusOut
357
370
  };
358
371
  }
359
372
  }, {
@@ -481,10 +494,11 @@ function Item(_ref16) {
481
494
  triggerRef = _ref16.triggerRef,
482
495
  focusLock = _ref16.focusLock,
483
496
  disabled = _ref16.disabled,
484
- highlighted = _ref16.highlighted;
497
+ highlighted = _ref16.highlighted,
498
+ handleFocusOut = _ref16.handleFocusOut;
485
499
  var SDropdownMenuItem = Flex;
486
500
  var ref = React.useRef();
487
- useFocusLock(ref, false, triggerRef, !focusLock || disabled, true);
501
+ useFocusLock(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);
488
502
  return _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownMenuItem, _ref11.cn("SDropdownMenuItem", _objectSpread({}, _assignProps4({
489
503
  "ref": ref,
490
504
  "role": 'menuitem',
@@ -493,22 +507,33 @@ function Item(_ref16) {
493
507
  "use:highlighted": !disabled && highlighted
494
508
  }, _ref4))));
495
509
  }
510
+ var NestingContext = /*#__PURE__*/React.createContext(null);
496
511
  function Nesting(_ref17) {
497
512
  var _ref5 = arguments[0],
498
513
  _ref12;
499
- var styles = _ref17.styles;
514
+ var styles = _ref17.styles,
515
+ disabled = _ref17.disabled;
500
516
  var SDropdownMenuNesting = DropdownMenu.Item;
501
- return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownMenuNesting, _ref12.cn("SDropdownMenuNesting", _objectSpread({}, _assignProps5({
517
+ var contextValue = React.useMemo(function () {
518
+ return {
519
+ disabled: disabled
520
+ };
521
+ }, [disabled]);
522
+ return /*#__PURE__*/React.createElement(NestingContext.Provider, {
523
+ value: contextValue
524
+ }, (_ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownMenuNesting, _ref12.cn("SDropdownMenuNesting", _objectSpread({}, _assignProps5({
502
525
  "aria-haspopup": 'true'
503
- }, _ref5))));
526
+ }, _ref5))))));
504
527
  }
505
- function NestingTrigger(_ref18) {
528
+ function NestingTrigger(props) {
506
529
  var _ref6 = arguments[0],
507
530
  _ref13;
508
- var styles = _ref18.styles,
509
- visible = _ref18.visible,
510
- onNestedVisibleChange = _ref18.onNestedVisibleChange;
531
+ var styles = props.styles,
532
+ visible = props.visible,
533
+ onNestedVisibleChange = props.onNestedVisibleChange;
511
534
  var SDropdownMenuItem = Flex;
535
+ var nestingContext = React.useContext(NestingContext);
536
+ var disabled = props.disabled || (nestingContext === null || nestingContext === void 0 ? void 0 : nestingContext.disabled);
512
537
  var lastUserInteractionRef = React.useRef(undefined);
513
538
  React.useEffect(function () {
514
539
  onNestedVisibleChange(lastUserInteractionRef.current);
@@ -535,10 +560,12 @@ function NestingTrigger(_ref18) {
535
560
  });
536
561
  };
537
562
  }, []);
538
- return _ref13 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownMenuItem, _ref13.cn("SDropdownMenuItem", _objectSpread({}, _assignProps6({
563
+ return /*#__PURE__*/React.createElement(NestingContext.Provider, {
564
+ value: null
565
+ }, (_ref13 = sstyled(styles), /*#__PURE__*/React.createElement(SDropdownMenuItem, _ref13.cn("SDropdownMenuItem", _objectSpread({}, _assignProps6({
539
566
  "nesting-trigger": true,
540
- "tabIndex": 0
541
- }, _ref6))));
567
+ "tabIndex": !disabled ? 0 : undefined
568
+ }, _ref6))))));
542
569
  }
543
570
  function Addon(props) {
544
571
  var _useBox = useBox(props, props.forwardRef),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","useFlex","ScrollAreaComponent","uniqueIDEnhancement","i18nEnhance","localizedMessages","useFocusLock","scrollStyles","style","_sstyled","insert","setFocus","isFocusInside","getFocusableIn","DropdownMenuRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","focusLockItemIndex","createRef","trigger","triggerRef","current","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass","value","uncontrolledProps","_this2","getTriggerProps","_this$asProps3","uid","disablePortal","getI18nText","id","focusHint","undefined","bindHandlerKeyDown","ref","onKeyboardFocus","handleTriggerKeyboardFocus","getListProps","_this$asProps4","index","getPopperProps","_this$asProps5","ignorePortalsStacking","interaction","tabIndex","focusMaster","hideFocus","getItemProps","props","_this3","_this$asProps6","highlighted","itemProps","scrollToNode","focusLock","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","findIndex","selected","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","_assignProps","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref10","SDropdownMenuList","styles","_objectSpread","_assignProps2","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps3","Item","_ref16","_ref4","_ref11","label","SDropdownMenuItem","useRef","_assignProps4","Nesting","_ref17","_ref5","_ref12","SDropdownMenuNesting","_assignProps5","NestingTrigger","_ref18","_ref6","_ref13","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","_assignProps6","Addon","_useBox","forwardRef","_useBox2","_slicedToArray","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties","_excluded","_extends","Hint","_ref7","_ref14","_assignProps7","Title","_ref8","_ref15","_assignProps8","Trigger","_ref9","_assignProps9","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n state = {\n focusLockItemIndex: null,\n };\n\n popperRef = React.createRef();\n triggerRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n ignoreTriggerKeyboardFocusUntil = 0;\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n }\n },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA', 'BUTTON'].includes(targetTagName)) return;\n if (e.key === 'Enter') {\n if (targetTagName === 'TEXTAREA') return;\n if (place === 'popper' && (targetTagName === 'BUTTON' || targetTagName === 'A')) return;\n }\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n const focusable = getFocusableIn(item);\n if (focusable.length > 0 && item) {\n const focusedIndex = focusable.indexOf(document.activeElement);\n if (e.key === 'ArrowRight') {\n if (focusedIndex === -1) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n }\n const nextFocused = focusable[focusedIndex + 1];\n if (nextFocused) {\n e.preventDefault();\n e.stopPropagation();\n nextFocused.focus();\n }\n } else if (e.key === 'ArrowLeft') {\n if (focusedIndex === 0) {\n this.setState({ focusLockItemIndex: null });\n }\n const prevFocused = focusable[focusedIndex - 1];\n if (prevFocused) {\n e.preventDefault();\n e.stopPropagation();\n prevFocused.focus();\n }\n }\n }\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n if (visible) {\n this.moveHighlightedIndex(amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible) {\n this.moveHighlightedIndex(-amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n } else {\n if (place === 'trigger') {\n this.handlers.visible(false);\n\n e.preventDefault();\n }\n }\n break;\n }\n };\n\n handleTriggerKeyboardFocus = () => {\n if (this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText, highlightedIndex } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-popper`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n ref: this.triggerRef,\n onKeyboardFocus: this.handleTriggerKeyboardFocus,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n return {\n size,\n uid,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: 0,\n onKeyDown: this.bindHandlerKeyDown('popper'),\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex, uid } = this.asProps;\n const highlighted = index === highlightedIndex;\n let ref = this.itemRefs[index];\n this.itemProps[index] = props;\n if (highlighted) {\n ref = (node) => {\n this.itemRefs[index] = node;\n this.scrollToNode(node);\n };\n }\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n highlighted,\n focusLock: this.state.focusLockItemIndex === index,\n triggerRef: this.triggerRef,\n ref,\n index,\n };\n }\n\n handleNestingClick = (event) => {\n const itemIndex = this.itemRefs.indexOf(event.currentTarget);\n if (itemIndex === -1) return;\n const focusable = getFocusableIn(event.currentTarget);\n focusable[0]?.focus();\n if (focusable[0] && this.state.focusLockItemIndex === null) {\n this.setState({ focusLockItemIndex: null });\n event.preventDefault();\n event.stopPropagation();\n }\n };\n handleNestingKeyDown = (event) => {\n if (event.key === ' ') {\n this.handleNestingClick(event);\n }\n };\n getNestingProps = () => {\n const { size } = this.asProps;\n return {\n size,\n onClick: this.handleNestingClick,\n onKeyDown: this.handleNestingKeyDown,\n };\n };\n handleNestedVisibleChange = (lastUserInteraction) => {\n if (\n this.asProps.visible &&\n this.asProps.highlightedIndex === null &&\n lastUserInteraction === 'keyboard'\n ) {\n this.handlers.highlightedIndex(0);\n }\n };\n getNestingTriggerProps = () => {\n const { size, visible } = this.asProps;\n return {\n size,\n visible,\n onNestedVisibleChange: this.handleNestedVisibleChange,\n };\n };\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n if (node) {\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current) {\n highlightedIndex = this.prevHighlightedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\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 <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({ styles, label, triggerRef, focusLock, disabled, highlighted }) {\n const SDropdownMenuItem = Root;\n const ref = React.useRef();\n\n useFocusLock(ref, false, triggerRef, !focusLock || disabled, true);\n\n return sstyled(styles)(\n <SDropdownMenuItem\n ref={ref}\n render={Flex}\n role='menuitem'\n tabIndex={-1}\n id={label}\n use:highlighted={!disabled && highlighted}\n />,\n );\n}\n\nfunction Nesting({ styles }) {\n const SDropdownMenuNesting = Root;\n\n return sstyled(styles)(<SDropdownMenuNesting aria-haspopup='true' render={DropdownMenu.Item} />);\n}\n\nfunction NestingTrigger({ styles, visible, onNestedVisibleChange }) {\n const SDropdownMenuItem = Root;\n\n const lastUserInteractionRef = React.useRef(undefined);\n React.useEffect(() => {\n onNestedVisibleChange(lastUserInteractionRef.current);\n }, [visible]);\n\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n\n React.useEffect(() => {\n document.addEventListener('mouseover', handleMouseEvent, { capture: true });\n document.addEventListener('keydown', handleKeyboardEvent, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return sstyled(styles)(<SDropdownMenuItem nesting-trigger tabIndex={0} render={Flex} />);\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='hint' />);\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='title' />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","ScrollAreaComponent","uniqueIDEnhancement","i18nEnhance","localizedMessages","useFocusLock","hasParent","scrollStyles","style","_sstyled","insert","setFocus","isFocusInside","getFocusableIn","DropdownMenuRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","focusLockItemIndex","createRef","trigger","triggerRef","current","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","relatedTarget","focused","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass","value","uncontrolledProps","_this2","getTriggerProps","_this$asProps3","uid","disablePortal","getI18nText","id","focusHint","undefined","bindHandlerKeyDown","ref","onKeyboardFocus","handleTriggerKeyboardFocus","getListProps","_this$asProps4","index","getPopperProps","_this$asProps5","ignorePortalsStacking","interaction","tabIndex","focusMaster","hideFocus","getItemProps","props","_this3","_this$asProps6","highlighted","itemProps","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","findIndex","selected","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","_assignProps","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref10","SDropdownMenuList","styles","_objectSpread","_assignProps2","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps3","Item","_ref16","_ref4","_ref11","label","SDropdownMenuItem","useRef","_assignProps4","NestingContext","createContext","Nesting","_ref17","_ref5","_ref12","SDropdownMenuNesting","contextValue","useMemo","Provider","_assignProps5","NestingTrigger","_ref6","_ref13","nestingContext","useContext","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","_assignProps6","Addon","_useBox","forwardRef","_useBox2","_slicedToArray","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties","_excluded","_extends","Hint","_ref7","_ref14","_assignProps7","Title","_ref8","_ref15","_assignProps8","Trigger","_ref9","_assignProps9","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n state = {\n focusLockItemIndex: null,\n };\n\n popperRef = React.createRef();\n triggerRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n ignoreTriggerKeyboardFocusUntil = 0;\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n }\n },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n const focusable = getFocusableIn(item);\n if (focusable.length > 0 && item) {\n const focusedIndex = focusable.indexOf(document.activeElement);\n if (e.key === 'ArrowRight') {\n if (focusedIndex === -1) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n }\n const nextFocused = focusable[focusedIndex + 1];\n if (nextFocused) {\n e.preventDefault();\n e.stopPropagation();\n nextFocused.focus();\n }\n } else if (e.key === 'ArrowLeft') {\n if (focusedIndex === 0) {\n this.setState({ focusLockItemIndex: null });\n }\n const prevFocused = focusable[focusedIndex - 1];\n if (prevFocused) {\n e.preventDefault();\n e.stopPropagation();\n prevFocused.focus();\n }\n }\n }\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n if (visible) {\n this.moveHighlightedIndex(amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible) {\n this.moveHighlightedIndex(-amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n } else {\n if (place === 'trigger') {\n this.handlers.visible(false);\n\n e.preventDefault();\n }\n }\n break;\n }\n };\n\n handleTriggerKeyboardFocus = () => {\n if (this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText, highlightedIndex } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-popper`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n ref: this.triggerRef,\n onKeyboardFocus: this.handleTriggerKeyboardFocus,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n return {\n size,\n uid,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: 0,\n onKeyDown: this.bindHandlerKeyDown('popper'),\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex, uid } = this.asProps;\n const highlighted = index === highlightedIndex;\n let ref = (node) => {\n this.itemRefs[index] = node;\n };\n this.itemProps[index] = props;\n if (highlighted) {\n ref = (node) => {\n this.itemRefs[index] = node;\n this.scrollToNode(node);\n };\n }\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n highlighted,\n focusLock: this.state.focusLockItemIndex === index,\n triggerRef: this.triggerRef,\n ref,\n index,\n handleFocusOut: this.handleItemFocusOut,\n };\n }\n\n handleItemFocusOut = (event) => {\n if (event.relatedTarget === this.popperRef.current) return;\n const focused = event.relatedTarget;\n\n if (hasParent(focused, this.popperRef.current)) {\n this.handlers.highlightedIndex(null);\n this.setState({ focusLockItemIndex: null });\n focused.focus();\n }\n };\n\n handleNestingClick = (event) => {\n const itemIndex = this.itemRefs.indexOf(event.currentTarget);\n if (itemIndex === -1) return;\n const focusable = getFocusableIn(event.currentTarget);\n focusable[0]?.focus();\n if (focusable[0] && this.state.focusLockItemIndex === null) {\n this.setState({ focusLockItemIndex: null });\n event.preventDefault();\n event.stopPropagation();\n }\n };\n handleNestingKeyDown = (event) => {\n if (event.key === ' ') {\n this.handleNestingClick(event);\n }\n };\n getNestingProps = () => {\n const { size } = this.asProps;\n return {\n size,\n onClick: this.handleNestingClick,\n onKeyDown: this.handleNestingKeyDown,\n };\n };\n handleNestedVisibleChange = (lastUserInteraction) => {\n if (\n this.asProps.visible &&\n this.asProps.highlightedIndex === null &&\n lastUserInteraction === 'keyboard'\n ) {\n this.handlers.highlightedIndex(0);\n }\n };\n getNestingTriggerProps = () => {\n const { size, visible } = this.asProps;\n return {\n size,\n visible,\n onNestedVisibleChange: this.handleNestedVisibleChange,\n };\n };\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n if (node) {\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current) {\n highlightedIndex = this.prevHighlightedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\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 <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({ styles, label, triggerRef, focusLock, disabled, highlighted, handleFocusOut }) {\n const SDropdownMenuItem = Root;\n const ref = React.useRef();\n\n useFocusLock(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);\n\n return sstyled(styles)(\n <SDropdownMenuItem\n ref={ref}\n render={Flex}\n role='menuitem'\n tabIndex={-1}\n id={label}\n use:highlighted={!disabled && highlighted}\n />,\n );\n}\n\nconst NestingContext = React.createContext(null);\n\nfunction Nesting({ styles, disabled }) {\n const SDropdownMenuNesting = Root;\n const contextValue = React.useMemo(() => ({ disabled }), [disabled]);\n\n return (\n <NestingContext.Provider value={contextValue}>\n {sstyled(styles)(<SDropdownMenuNesting aria-haspopup='true' render={DropdownMenu.Item} />)}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingTrigger(props) {\n const { styles, visible, onNestedVisibleChange } = props;\n const SDropdownMenuItem = Root;\n const nestingContext = React.useContext(NestingContext);\n const disabled = props.disabled || nestingContext?.disabled;\n\n const lastUserInteractionRef = React.useRef(undefined);\n React.useEffect(() => {\n onNestedVisibleChange(lastUserInteractionRef.current);\n }, [visible]);\n\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n\n React.useEffect(() => {\n document.addEventListener('mouseover', handleMouseEvent, { capture: true });\n document.addEventListener('keydown', handleKeyboardEvent, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='hint' />);\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='title' />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
@@ -5,12 +5,12 @@ import { sstyled as _sstyled } from "@semcore/core";
5
5
  *
6
6
  * We will figure out what to do with it and remove it.
7
7
  * */
8
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_14qq5_gg_:after,.___SShadowHorizontal_14qq5_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_14qq5_gg_._position_median_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_median_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_start_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_14qq5_gg_._position_end_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_:after,.___SShadowVertical_14qq5_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_14qq5_gg_._position_median_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_median_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_start_14qq5_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_14qq5_gg_._position_end_14qq5_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "14qq5_gg_") /*__reshadow_css_end__*/, {
9
- "__SShadowHorizontal": "___SShadowHorizontal_14qq5_gg_",
10
- "_position_median": "_position_median_14qq5_gg_",
11
- "_position_start": "_position_start_14qq5_gg_",
12
- "_position_end": "_position_end_14qq5_gg_",
13
- "__SShadowVertical": "___SShadowVertical_14qq5_gg_"
8
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1unxt_gg_:after,.___SShadowHorizontal_1unxt_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_1unxt_gg_._position_median_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_median_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_start_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_1unxt_gg_._position_end_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_:after,.___SShadowVertical_1unxt_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_1unxt_gg_._position_median_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_median_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_start_1unxt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_1unxt_gg_._position_end_1unxt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "1unxt_gg_") /*__reshadow_css_end__*/, {
9
+ "__SShadowHorizontal": "___SShadowHorizontal_1unxt_gg_",
10
+ "_position_median": "_position_median_1unxt_gg_",
11
+ "_position_start": "_position_start_1unxt_gg_",
12
+ "_position_end": "_position_end_1unxt_gg_",
13
+ "__SShadowVertical": "___SShadowVertical_1unxt_gg_"
14
14
  });
15
15
  export default scrollStyles;
16
16
  //# sourceMappingURL=styleScrollArea.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/dropdown-menu",
3
3
  "description": "Semrush DropdownMenu Component",
4
- "version": "4.21.1",
4
+ "version": "4.22.1-prerelease.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,14 +9,14 @@
9
9
  "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@semcore/dropdown": "4.19.5",
13
- "@semcore/flex-box": "5.19.2",
14
- "@semcore/scroll-area": "5.20.4",
15
- "@semcore/utils": "4.20.3",
12
+ "@semcore/dropdown": "4.19.6-prerelease.1",
13
+ "@semcore/flex-box": "5.19.3-prerelease.1",
14
+ "@semcore/scroll-area": "5.20.5-prerelease.1",
15
+ "@semcore/utils": "4.20.4-prerelease.1",
16
16
  "classnames": "2.2.6"
17
17
  },
18
18
  "peerDependencies": {
19
- "@semcore/core": "^2.17.3",
19
+ "@semcore/core": "^2.17.4-prerelease.1",
20
20
  "react": "16.8 - 18",
21
21
  "react-dom": "16.8 - 18"
22
22
  },
@@ -33,7 +33,7 @@
33
33
  "@semcore/testing-utils": "1.0.0",
34
34
  "@semcore/base-trigger": "4.26.1",
35
35
  "@semcore/icon": "4.26.0",
36
- "@semcore/button": "5.20.3-prerelease.10"
36
+ "@semcore/button": "5.20.4-prerelease.1"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "pnpm semcore-builder --source=js"