@semcore/dropdown-menu 17.0.0-prerelease.30 → 17.0.0-prerelease.34

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,7 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.0.0] - 2026-03-09
5
+ ## [17.0.0] - 2026-04-08
6
6
 
7
7
  ### BREAK
8
8
 
@@ -113,6 +113,8 @@ class DropdownMenuRoot extends _dropdown.AbstractDropdown {
113
113
  selected,
114
114
  options
115
115
  } = this.menuElements;
116
+ const isFocusAlreadyInPopper = (0, _isFocusInside.isFocusInside)(this.popperRef.current);
117
+ if (isFocusAlreadyInPopper) return;
116
118
  if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;
117
119
  super.afterOpenPopper();
118
120
  }
@@ -491,20 +493,17 @@ function ItemContent({
491
493
  }
492
494
  function ItemContentText({
493
495
  styles,
494
- ellipsis = false,
495
- hintProps = {}
496
+ ellipsis = false
496
497
  }) {
497
498
  var _ref9 = arguments[0],
498
499
  _ref14;
499
500
  const SItemContentText = _typography.Text;
500
501
  const menuItemCtxValue = _react.default.useContext(menuItemContext);
501
- if (menuItemCtxValue.ref) {
502
- hintProps.triggerRef = menuItemCtxValue.ref;
503
- }
504
502
  return _ref14 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(SItemContentText, _ref14.cn("SItemContentText", {
505
503
  ...(0, _core.assignProps)({
506
504
  "ellipsis": ellipsis,
507
- "hintProps": hintProps
505
+ "hint:triggerRef": menuItemCtxValue.ref,
506
+ "hint:placement": 'right'
508
507
  }, _ref9)
509
508
  })));
510
509
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_assignProps1","_findComponent","_isFocusInside","_setFocus","_ref16","_uniqueID","_dropdown","_interopRequireWildcard","_typography","_react","_Context","_VirtualList","_intergalacticDynamicLocales","style","sstyled","insert","menuItemContext","React","createContext","DropdownMenuRoot","AbstractDropdown","constructor","args","_defineProperty2","default","createRef","uncontrolledProps","visible","setTimeout","focusAndScrollToSelected","menuElements","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","isFocusAlreadyInPopper","isFocusInside","popperRef","dataset","isVirtual","scrollToNodeAsync","then","asProps","focus","preventScroll","selectedIndex","Array","from","indexOf","handlers","highlightedIndex","afterOpenPopper","itemRef","props","index","node","document","activeElement","scrollToNode","getTriggerProps","Children","uid","hasMenu","isAdvanceMode","DropdownMenu","Menu","displayName","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","undefined","getListProps","onKeyDown","handleArrowKeyDown","getVirtualListProps","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemTabIndex","itemIndex","disabled","isHighlighted","shouldRecalculateItemTabIndex","getItemProps","realIndex","itemProps","tabIndex","tag","ButtonComponent","use","theme","size","innerOutline","childRole","onClick","place","e","placement","inlineActions","contains","target","stopPropagation","show","key","startsWith","hide","isMenuItem","getAttribute","highlightedIndexProps","findIndex","p","itemRefs","preventDefault","triggerRef","setFocus","render","_ref","interaction","timeout","createElement","selectedIndexContext","Provider","value","Dropdown","assignProps","Object","values","enhance","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","localizedMessages","locale","trigger","popper","List","styles","_ref2","arguments[0]","_ref1","SDropdownMenuList","ScrollAreaComponent","SBar","Bar","SScrollContainer","Container","ListBoxContextProvider","cn","Actions","_ref3","_ref10","SDropdownMenuActions","Flex","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends2","role","Item","id","forwardRef","ariaChecked","_ref5","_ref11","SDropdownMenuItemContainer","useRef","highlighted","setHighlighted","useState","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","useUID","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","forkRef","lastInteraction","isKeyboard","Addon","_ref6","_ref12","SDropdownMenuItemAddon","Box","Trigger","_ref7","ItemContent","_ref8","_ref13","SItemContent","menuItemCtxValue","useContext","subMenu","describedby","setDescribedby","Set","element","parent","parentElement","prev","add","join","ItemContentText","ellipsis","hintProps","_ref9","_ref14","SItemContentText","Text","Fragment","ItemHint","_ref0","_ref15","SItemHint","createComponent","VirtualList","Group","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import { Flex, ScrollArea as ScrollAreaComponent, Box } from '@semcore/base-components';\nimport ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport { ListBoxContextProvider } from './components/Context';\nimport { VirtualList } from './components/VirtualList';\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n /**\n * TODO: It needs to be reconsidered in a future implementation so that component accepts items as a prop instead of JSX.\n * Tab index recalculation flag.\n *\n * When an item becomes disabled while highlighted, we need to transfer focus\n * to the next available focusable item. This flag ensures the focus lock\n * remains within proper boundaries during the initial render cycle.\n */\n shouldRecalculateItemTabIndex = false;\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 50);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]:not([disabled])');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n let { selected, options } = this.menuElements;\n\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (!selected || !options || this.menuRef.current?.dataset.isVirtual || isFocusAlreadyInPopper) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n\n if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getVirtualListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemTabIndex(props, itemIndex) {\n const { disabled, index } = props;\n const { highlightedIndex, visible } = this.asProps;\n\n if (!visible) return -1;\n\n const isHighlighted = (index ?? itemIndex) === highlightedIndex;\n if (isHighlighted && !disabled) {\n return 0;\n }\n\n if (disabled && isHighlighted) {\n this.shouldRecalculateItemTabIndex = true;\n }\n\n if (!isHighlighted && !disabled && this.shouldRecalculateItemTabIndex) {\n this.shouldRecalculateItemTabIndex = false;\n return 0;\n }\n\n return -1;\n }\n\n getItemProps(props, index) {\n const realIndex = props.index ?? index;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: this.getItemTabIndex(props, index),\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n let { highlightedIndex } = this.asProps;\n const highlightedIndexProps = this.itemProps[highlightedIndex];\n\n if (highlightedIndexProps?.disabled) {\n highlightedIndex = this.itemProps.findIndex((p) => !p.disabled);\n }\n\n if (highlightedIndex === -1) return;\n\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n const SScrollContainer = ScrollAreaComponent.Container;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <SScrollContainer tabIndex={undefined}>\n <Children />\n </SScrollContainer>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: itemRef,\n forwardRef,\n role,\n tabIndex,\n ariaChecked,\n disabled,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n });\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : forkRef(itemRef, forwardRef)}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, menuItemCtxValue.forwardRef, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n disabled={menuItemCtxValue.disabled}\n />,\n );\n}\n\nfunction ItemContentText({ styles, ellipsis = false, hintProps = {} }) {\n const SItemContentText = Root;\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n if (menuItemCtxValue.ref) {\n hintProps.triggerRef = menuItemCtxValue.ref;\n }\n\n return sstyled(styles)(\n <>\n <SItemContentText\n render={Text}\n ellipsis={ellipsis}\n hintProps={hintProps}\n />\n </>,\n );\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n VirtualList,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownMenu.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_assignProps1","_findComponent","_isFocusInside","_setFocus","_ref16","_uniqueID","_dropdown","_interopRequireWildcard","_typography","_react","_Context","_VirtualList","_intergalacticDynamicLocales","style","sstyled","insert","menuItemContext","React","createContext","DropdownMenuRoot","AbstractDropdown","constructor","args","_defineProperty2","default","createRef","uncontrolledProps","visible","setTimeout","focusAndScrollToSelected","menuElements","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","isFocusAlreadyInPopper","isFocusInside","popperRef","dataset","isVirtual","scrollToNodeAsync","then","asProps","focus","preventScroll","selectedIndex","Array","from","indexOf","handlers","highlightedIndex","afterOpenPopper","itemRef","props","index","node","document","activeElement","scrollToNode","getTriggerProps","Children","uid","hasMenu","isAdvanceMode","DropdownMenu","Menu","displayName","ariaControls","callAllEventHandlers","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","undefined","getListProps","onKeyDown","handleArrowKeyDown","getVirtualListProps","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemTabIndex","itemIndex","disabled","isHighlighted","shouldRecalculateItemTabIndex","getItemProps","realIndex","itemProps","tabIndex","tag","ButtonComponent","use","theme","size","innerOutline","childRole","onClick","place","e","placement","inlineActions","contains","target","stopPropagation","show","key","startsWith","hide","isMenuItem","getAttribute","highlightedIndexProps","findIndex","p","itemRefs","preventDefault","triggerRef","setFocus","render","_ref","interaction","timeout","createElement","selectedIndexContext","Provider","value","Dropdown","assignProps","Object","values","enhance","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","localizedMessages","locale","trigger","popper","List","styles","_ref2","arguments[0]","_ref1","SDropdownMenuList","ScrollAreaComponent","SBar","Bar","SScrollContainer","Container","ListBoxContextProvider","cn","Actions","_ref3","_ref10","SDropdownMenuActions","Flex","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends2","role","Item","id","forwardRef","ariaChecked","_ref5","_ref11","SDropdownMenuItemContainer","useRef","highlighted","setHighlighted","useState","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","useUID","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","forkRef","lastInteraction","isKeyboard","Addon","_ref6","_ref12","SDropdownMenuItemAddon","Box","Trigger","_ref7","ItemContent","_ref8","_ref13","SItemContent","menuItemCtxValue","useContext","subMenu","describedby","setDescribedby","Set","element","parent","parentElement","prev","add","join","ItemContentText","ellipsis","_ref9","_ref14","SItemContentText","Text","Fragment","ItemHint","_ref0","_ref15","SItemHint","createComponent","VirtualList","Group","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import { Flex, ScrollArea as ScrollAreaComponent, Box } from '@semcore/base-components';\nimport ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport { ListBoxContextProvider } from './components/Context';\nimport { VirtualList } from './components/VirtualList';\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n /**\n * TODO: It needs to be reconsidered in a future implementation so that component accepts items as a prop instead of JSX.\n * Tab index recalculation flag.\n *\n * When an item becomes disabled while highlighted, we need to transfer focus\n * to the next available focusable item. This flag ensures the focus lock\n * remains within proper boundaries during the initial render cycle.\n */\n shouldRecalculateItemTabIndex = false;\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 50);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]:not([disabled])');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n let { selected, options } = this.menuElements;\n\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (!selected || !options || this.menuRef.current?.dataset.isVirtual || isFocusAlreadyInPopper) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (isFocusAlreadyInPopper) return;\n if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getVirtualListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemTabIndex(props, itemIndex) {\n const { disabled, index } = props;\n const { highlightedIndex, visible } = this.asProps;\n\n if (!visible) return -1;\n\n const isHighlighted = (index ?? itemIndex) === highlightedIndex;\n if (isHighlighted && !disabled) {\n return 0;\n }\n\n if (disabled && isHighlighted) {\n this.shouldRecalculateItemTabIndex = true;\n }\n\n if (!isHighlighted && !disabled && this.shouldRecalculateItemTabIndex) {\n this.shouldRecalculateItemTabIndex = false;\n return 0;\n }\n\n return -1;\n }\n\n getItemProps(props, index) {\n const realIndex = props.index ?? index;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: this.getItemTabIndex(props, index),\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n let { highlightedIndex } = this.asProps;\n const highlightedIndexProps = this.itemProps[highlightedIndex];\n\n if (highlightedIndexProps?.disabled) {\n highlightedIndex = this.itemProps.findIndex((p) => !p.disabled);\n }\n\n if (highlightedIndex === -1) return;\n\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n const SScrollContainer = ScrollAreaComponent.Container;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <SScrollContainer tabIndex={undefined}>\n <Children />\n </SScrollContainer>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: itemRef,\n forwardRef,\n role,\n tabIndex,\n ariaChecked,\n disabled,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n });\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : forkRef(itemRef, forwardRef)}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, menuItemCtxValue.forwardRef, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n disabled={menuItemCtxValue.disabled}\n />,\n );\n}\n\nfunction ItemContentText({ styles, ellipsis = false }) {\n const SItemContentText = Root;\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n return sstyled(styles)(\n <>\n <SItemContentText\n render={Text}\n ellipsis={ellipsis}\n hint:triggerRef={menuItemCtxValue.ref}\n hint:placement='right'\n />\n </>,\n );\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n VirtualList,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -116,6 +116,8 @@ class DropdownMenuRoot extends AbstractDropdown {
116
116
  selected,
117
117
  options
118
118
  } = this.menuElements;
119
+ const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);
120
+ if (isFocusAlreadyInPopper) return;
119
121
  if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;
120
122
  super.afterOpenPopper();
121
123
  }
@@ -494,20 +496,17 @@ function ItemContent({
494
496
  }
495
497
  function ItemContentText({
496
498
  styles,
497
- ellipsis = false,
498
- hintProps = {}
499
+ ellipsis = false
499
500
  }) {
500
501
  var _ref9 = arguments[0],
501
502
  _ref14;
502
503
  const SItemContentText = Text;
503
504
  const menuItemCtxValue = React.useContext(menuItemContext);
504
- if (menuItemCtxValue.ref) {
505
- hintProps.triggerRef = menuItemCtxValue.ref;
506
- }
507
505
  return _ref14 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SItemContentText, _ref14.cn("SItemContentText", {
508
506
  ..._assignProps9({
509
507
  "ellipsis": ellipsis,
510
- "hintProps": hintProps
508
+ "hint:triggerRef": menuItemCtxValue.ref,
509
+ "hint:placement": 'right'
511
510
  }, _ref9)
512
511
  })));
513
512
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","names":["Flex","ScrollArea","ScrollAreaComponent","Box","ButtonComponent","createComponent","sstyled","Root","lastInteraction","callAllEventHandlers","isAdvanceMode","isFocusInside","setFocus","forkRef","useUID","Dropdown","AbstractDropdown","selectedIndexContext","enhance","Text","React","ListBoxContextProvider","VirtualList","style","_sstyled","insert","localizedMessages","menuItemContext","createContext","DropdownMenuRoot","constructor","args","_defineProperty","createRef","uncontrolledProps","visible","setTimeout","focusAndScrollToSelected","menuElements","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","isFocusAlreadyInPopper","popperRef","dataset","isVirtual","scrollToNodeAsync","then","asProps","focus","preventScroll","selectedIndex","Array","from","indexOf","handlers","highlightedIndex","afterOpenPopper","itemRef","props","index","node","document","activeElement","scrollToNode","getTriggerProps","Children","uid","hasMenu","DropdownMenu","Menu","displayName","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","undefined","getListProps","onKeyDown","handleArrowKeyDown","getVirtualListProps","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemTabIndex","itemIndex","disabled","isHighlighted","shouldRecalculateItemTabIndex","getItemProps","realIndex","itemProps","tabIndex","tag","use","theme","size","innerOutline","childRole","onClick","place","e","placement","inlineActions","contains","target","stopPropagation","show","key","startsWith","hide","isMenuItem","getAttribute","highlightedIndexProps","findIndex","p","itemRefs","preventDefault","triggerRef","render","_ref","interaction","timeout","createElement","Provider","value","_assignProps","Object","values","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","trigger","popper","List","styles","_ref2","arguments[0]","_ref1","SDropdownMenuList","SBar","Bar","SScrollContainer","Container","cn","_assignProps2","Actions","_ref3","_ref10","SDropdownMenuActions","_assignProps3","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends","role","_assignProps4","Item","id","forwardRef","ariaChecked","_ref5","_ref11","SDropdownMenuItemContainer","useRef","highlighted","setHighlighted","useState","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","_assignProps5","isKeyboard","Addon","_ref6","_ref12","SDropdownMenuItemAddon","_assignProps6","Trigger","_ref7","_assignProps7","ItemContent","_ref8","_ref13","SItemContent","menuItemCtxValue","useContext","subMenu","describedby","setDescribedby","Set","element","parent","parentElement","prev","add","_assignProps8","join","ItemContentText","ellipsis","hintProps","_ref9","_ref14","SItemContentText","Fragment","_assignProps9","ItemHint","_ref0","_ref15","SItemHint","_assignProps0","Group"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import { Flex, ScrollArea as ScrollAreaComponent, Box } from '@semcore/base-components';\nimport ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport { ListBoxContextProvider } from './components/Context';\nimport { VirtualList } from './components/VirtualList';\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n /**\n * TODO: It needs to be reconsidered in a future implementation so that component accepts items as a prop instead of JSX.\n * Tab index recalculation flag.\n *\n * When an item becomes disabled while highlighted, we need to transfer focus\n * to the next available focusable item. This flag ensures the focus lock\n * remains within proper boundaries during the initial render cycle.\n */\n shouldRecalculateItemTabIndex = false;\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 50);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]:not([disabled])');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n let { selected, options } = this.menuElements;\n\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (!selected || !options || this.menuRef.current?.dataset.isVirtual || isFocusAlreadyInPopper) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n\n if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getVirtualListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemTabIndex(props, itemIndex) {\n const { disabled, index } = props;\n const { highlightedIndex, visible } = this.asProps;\n\n if (!visible) return -1;\n\n const isHighlighted = (index ?? itemIndex) === highlightedIndex;\n if (isHighlighted && !disabled) {\n return 0;\n }\n\n if (disabled && isHighlighted) {\n this.shouldRecalculateItemTabIndex = true;\n }\n\n if (!isHighlighted && !disabled && this.shouldRecalculateItemTabIndex) {\n this.shouldRecalculateItemTabIndex = false;\n return 0;\n }\n\n return -1;\n }\n\n getItemProps(props, index) {\n const realIndex = props.index ?? index;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: this.getItemTabIndex(props, index),\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n let { highlightedIndex } = this.asProps;\n const highlightedIndexProps = this.itemProps[highlightedIndex];\n\n if (highlightedIndexProps?.disabled) {\n highlightedIndex = this.itemProps.findIndex((p) => !p.disabled);\n }\n\n if (highlightedIndex === -1) return;\n\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n const SScrollContainer = ScrollAreaComponent.Container;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <SScrollContainer tabIndex={undefined}>\n <Children />\n </SScrollContainer>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: itemRef,\n forwardRef,\n role,\n tabIndex,\n ariaChecked,\n disabled,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n });\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : forkRef(itemRef, forwardRef)}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, menuItemCtxValue.forwardRef, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n disabled={menuItemCtxValue.disabled}\n />,\n );\n}\n\nfunction ItemContentText({ styles, ellipsis = false, hintProps = {} }) {\n const SItemContentText = Root;\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n if (menuItemCtxValue.ref) {\n hintProps.triggerRef = menuItemCtxValue.ref;\n }\n\n return sstyled(styles)(\n <>\n <SItemContentText\n render={Text}\n ellipsis={ellipsis}\n hintProps={hintProps}\n />\n </>,\n );\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n VirtualList,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownMenu.js","names":["Flex","ScrollArea","ScrollAreaComponent","Box","ButtonComponent","createComponent","sstyled","Root","lastInteraction","callAllEventHandlers","isAdvanceMode","isFocusInside","setFocus","forkRef","useUID","Dropdown","AbstractDropdown","selectedIndexContext","enhance","Text","React","ListBoxContextProvider","VirtualList","style","_sstyled","insert","localizedMessages","menuItemContext","createContext","DropdownMenuRoot","constructor","args","_defineProperty","createRef","uncontrolledProps","visible","setTimeout","focusAndScrollToSelected","menuElements","menuElement","menuRef","current","selected","options","querySelectorAll","querySelector","isFocusAlreadyInPopper","popperRef","dataset","isVirtual","scrollToNodeAsync","then","asProps","focus","preventScroll","selectedIndex","Array","from","indexOf","handlers","highlightedIndex","afterOpenPopper","itemRef","props","index","node","document","activeElement","scrollToNode","getTriggerProps","Children","uid","hasMenu","DropdownMenu","Menu","displayName","ariaControls","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","undefined","getListProps","onKeyDown","handleArrowKeyDown","getVirtualListProps","getPopperProps","handlePreventPopperKeyDown","getActionsProps","ref","actionsRef","handlePreventTabOnActions","getItemTabIndex","itemIndex","disabled","isHighlighted","shouldRecalculateItemTabIndex","getItemProps","realIndex","itemProps","tabIndex","tag","use","theme","size","innerOutline","childRole","onClick","place","e","placement","inlineActions","contains","target","stopPropagation","show","key","startsWith","hide","isMenuItem","getAttribute","highlightedIndexProps","findIndex","p","itemRefs","preventDefault","triggerRef","render","_ref","interaction","timeout","createElement","Provider","value","_assignProps","Object","values","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","trigger","popper","List","styles","_ref2","arguments[0]","_ref1","SDropdownMenuList","SBar","Bar","SScrollContainer","Container","cn","_assignProps2","Actions","_ref3","_ref10","SDropdownMenuActions","_assignProps3","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends","role","_assignProps4","Item","id","forwardRef","ariaChecked","_ref5","_ref11","SDropdownMenuItemContainer","useRef","highlighted","setHighlighted","useState","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","_assignProps5","isKeyboard","Addon","_ref6","_ref12","SDropdownMenuItemAddon","_assignProps6","Trigger","_ref7","_assignProps7","ItemContent","_ref8","_ref13","SItemContent","menuItemCtxValue","useContext","subMenu","describedby","setDescribedby","Set","element","parent","parentElement","prev","add","_assignProps8","join","ItemContentText","ellipsis","_ref9","_ref14","SItemContentText","Fragment","_assignProps9","ItemHint","_ref0","_ref15","SItemHint","_assignProps0","Group"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import { Flex, ScrollArea as ScrollAreaComponent, Box } from '@semcore/base-components';\nimport ButtonComponent from '@semcore/button';\nimport { createComponent, sstyled, Root, lastInteraction } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\nimport { setFocus } from '@semcore/core/lib/utils/focus-lock/setFocus';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport { ListBoxContextProvider } from './components/Context';\nimport { VirtualList } from './components/VirtualList';\nimport style from './style/dropdown-menu.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n static nestedMenuInteraction = {\n trigger: [\n ['onClick', 'onMouseEnter'],\n ['onClick', 'onMouseLeave'],\n ],\n popper: [['onMouseEnter'], ['onMouseLeave']],\n };\n\n actionsRef = React.createRef();\n role = 'menu';\n\n /**\n * TODO: It needs to be reconsidered in a future implementation so that component accepts items as a prop instead of JSX.\n * Tab index recalculation flag.\n *\n * When an item becomes disabled while highlighted, we need to transfer focus\n * to the next available focusable item. This flag ensures the focus lock\n * remains within proper boundaries during the initial render cycle.\n */\n shouldRecalculateItemTabIndex = false;\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n setTimeout(() => {\n this.focusAndScrollToSelected();\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 50);\n }\n },\n ],\n };\n }\n\n get menuElements() {\n const menuElement = this.menuRef.current;\n\n if (!menuElement) {\n return { selected: null, options: null };\n }\n\n const options = menuElement.querySelectorAll(\n '[role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]',\n );\n const selected = menuElement.querySelector('[aria-checked=\"true\"]:not([disabled])');\n\n return { selected, options };\n }\n\n focusAndScrollToSelected() {\n let { selected, options } = this.menuElements;\n\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (!selected || !options || this.menuRef.current?.dataset.isVirtual || isFocusAlreadyInPopper) return;\n\n this.scrollToNodeAsync(selected, true).then(() => {\n if (this.asProps.visible) {\n selected.focus({ preventScroll: true });\n }\n });\n\n const selectedIndex = Array.from(options).indexOf(selected);\n\n if (selectedIndex !== -1) {\n this.handlers.highlightedIndex(selectedIndex);\n }\n }\n\n afterOpenPopper() {\n const { selected, options } = this.menuElements;\n const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);\n\n if (isFocusAlreadyInPopper) return;\n if (selected && options && !this.menuRef.current?.dataset.isVirtual) return;\n\n super.afterOpenPopper();\n }\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n 'onKeyDown': callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getVirtualListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return {\n ...this.getListProps(),\n ref: this.actionsRef,\n onKeyDown: callAllEventHandlers(\n this.handlePreventTabOnActions.bind(this),\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getItemTabIndex(props, itemIndex) {\n const { disabled, index } = props;\n const { highlightedIndex, visible } = this.asProps;\n\n if (!visible) return -1;\n\n const isHighlighted = (index ?? itemIndex) === highlightedIndex;\n if (isHighlighted && !disabled) {\n return 0;\n }\n\n if (disabled && isHighlighted) {\n this.shouldRecalculateItemTabIndex = true;\n }\n\n if (!isHighlighted && !disabled && this.shouldRecalculateItemTabIndex) {\n this.shouldRecalculateItemTabIndex = false;\n return 0;\n }\n\n return -1;\n }\n\n getItemProps(props, index) {\n const realIndex = props.index ?? index;\n const itemProps = {\n ...super.getItemProps(props, realIndex),\n tabIndex: this.getItemTabIndex(props, index),\n ref: (node) => this.itemRef(props, realIndex, node),\n actionsRef: this.actionsRef,\n };\n\n if (props.tag === ButtonComponent) {\n itemProps.use = props.use ?? 'tertiary';\n itemProps.theme = props.theme ?? 'muted';\n itemProps.size = props.size ?? 's';\n itemProps.innerOutline = false;\n }\n\n if (props.selected) {\n itemProps['aria-checked'] = true;\n }\n\n if (super.childRole === 'menuitemradio') {\n itemProps.onClick = () => {\n this.handlers.visible(false);\n };\n }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\n // stop propagation keyboard events if it calls not on DropdownMenu.Items\n if (place === 'list' && !this.menuRef.current?.contains(e.target) && !inlineActions) {\n e.stopPropagation();\n return false;\n }\n\n const show =\n (e.key === 'ArrowRight' && placement?.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement?.startsWith('left')) ||\n ((e.key === 'Enter' || e.key === ' ') && !inlineActions);\n const hide =\n (e.key === 'ArrowLeft' && placement?.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement?.startsWith('left')) ||\n e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role')?.startsWith(super.childRole);\n\n if (place === 'trigger' && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n let { highlightedIndex } = this.asProps;\n const highlightedIndexProps = this.itemProps[highlightedIndex];\n\n if (highlightedIndexProps?.disabled) {\n highlightedIndex = this.itemProps.findIndex((p) => !p.disabled);\n }\n\n if (highlightedIndex === -1) return;\n\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n if (this.triggerRef.current) {\n setFocus(this.triggerRef.current);\n }\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n };\n }\n\n handlePreventTabOnActions(e) {\n if (e.key === 'Tab') {\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n }\n\n render() {\n const { Children, selectedIndex, interaction, timeout } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <selectedIndexContext.Provider value={selectedIndex}>\n <Root\n render={Dropdown}\n timeout={timeout || (interaction === 'hover' ? [0, 100] : undefined)}\n >\n <Children />\n </Root>\n </selectedIndexContext.Provider>\n );\n }\n}\n\nfunction List({ styles, Children }) {\n const SDropdownMenuList = Root;\n const SBar = ScrollAreaComponent.Bar;\n const SScrollContainer = ScrollAreaComponent.Container;\n\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true} shadowSize={16} shadowTheme='light'>\n <SScrollContainer tabIndex={undefined}>\n <Children />\n </SScrollContainer>\n <SBar orientation='horizontal' />\n <SBar orientation='vertical' />\n </SDropdownMenuList>\n </ListBoxContextProvider>,\n );\n}\nfunction Actions({ styles }) {\n const SDropdownMenuActions = Root;\n\n return sstyled(styles)(<SDropdownMenuActions render={Flex} />);\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps} role={null}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n id,\n styles,\n disabled,\n Children,\n forwardRef,\n role,\n tabIndex,\n actionsRef,\n 'aria-checked': ariaChecked,\n}) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: itemRef,\n forwardRef,\n role,\n tabIndex,\n ariaChecked,\n disabled,\n };\n const ariaDescribes = [];\n\n const hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);\n const hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);\n const advancedMode =\n isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;\n\n if (hasHint) {\n const hintId = `igc-${useUID()}-option-hint`;\n\n menuItemContextValue.hintId = hintId;\n ariaDescribes.push(hintId);\n }\n\n if (hasSubMenu) {\n menuItemContextValue.hasSubMenu = true;\n }\n\n menuItemContextValue.ariaDescribes = ariaDescribes;\n\n React.useEffect(() => {\n const onFocus = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(true);\n\n if (hasSubMenu) {\n e.stopPropagation();\n }\n }\n };\n const onBlur = (e) => {\n if (e.target === itemRef.current) {\n setHighlighted(false);\n\n if (actionsRef.current) {\n itemRef.current.tabIndex = -1;\n }\n }\n };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n });\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : forkRef(itemRef, forwardRef)}\n use:highlighted={!disabled && highlighted && lastInteraction.isKeyboard()}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n use:tabIndex={advancedMode ? undefined : tabIndex}\n use:aria-checked={advancedMode ? undefined : ariaChecked}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.Provider>,\n );\n}\n\nfunction Addon(props) {\n const SDropdownMenuItemAddon = Root;\n return sstyled(props.styles)(<SDropdownMenuItemAddon render={Box} />);\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} />;\n}\n\nfunction ItemContent({ styles }) {\n const SItemContent = Root;\n const ref = React.useRef();\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n let subMenu = undefined;\n\n if (menuItemCtxValue.hasSubMenu) {\n subMenu = 'true';\n }\n\n const [describedby, setDescribedby] = React.useState(new Set(menuItemCtxValue.ariaDescribes));\n\n React.useEffect(() => {\n const element = ref.current;\n const parent = element?.parentElement;\n\n if (\n parent.getAttribute('aria-haspopup') === 'true' &&\n parent.getAttribute('aria-describedby')\n ) {\n setDescribedby((prev) => {\n prev.add(parent.getAttribute('aria-describedby'));\n\n return new Set(prev);\n });\n }\n }, [menuItemCtxValue.ariaDescribes]);\n\n return sstyled(styles)(\n <SItemContent\n render={Flex}\n role={menuItemCtxValue.role}\n id={menuItemCtxValue.contentId}\n tabIndex={menuItemCtxValue.tabIndex}\n ref={forkRef(menuItemCtxValue.ref, menuItemCtxValue.forwardRef, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n aria-checked={menuItemCtxValue.ariaChecked}\n alignItems='center'\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\n disabled={menuItemCtxValue.disabled}\n />,\n );\n}\n\nfunction ItemContentText({ styles, ellipsis = false }) {\n const SItemContentText = Root;\n const menuItemCtxValue = React.useContext(menuItemContext);\n\n return sstyled(styles)(\n <>\n <SItemContentText\n render={Text}\n ellipsis={ellipsis}\n hint:triggerRef={menuItemCtxValue.ref}\n hint:placement='right'\n />\n </>,\n );\n}\n\nfunction ItemHint({ styles }) {\n const SItemHint = Root;\n const { hintId } = React.useContext(menuItemContext);\n\n return sstyled(styles)(<SItemHint render={Flex} id={hintId} aria-hidden='true' />);\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n VirtualList,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Text: ItemContentText, Hint: ItemHint }],\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import { createComponent, sstyled, assignProps, lastInteraction } from "@semcore/core";
3
+ import { sstyled, createComponent, assignProps, lastInteraction } from "@semcore/core";
4
4
  import { Flex, Box, ScrollArea } from "@semcore/base-components";
5
5
  import ButtonComponent from "@semcore/button";
6
6
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
@@ -104,6 +104,8 @@ class DropdownMenuRoot extends AbstractDropdown {
104
104
  selected,
105
105
  options
106
106
  } = this.menuElements;
107
+ const isFocusAlreadyInPopper = isFocusInside(this.popperRef.current);
108
+ if (isFocusAlreadyInPopper) return;
107
109
  if (selected && options && !((_a = this.menuRef.current) == null ? void 0 : _a.dataset.isVirtual)) return;
108
110
  super.afterOpenPopper();
109
111
  }
@@ -477,19 +479,16 @@ function ItemContent({
477
479
  }
478
480
  function ItemContentText({
479
481
  styles,
480
- ellipsis = false,
481
- hintProps = {}
482
+ ellipsis = false
482
483
  }) {
483
484
  var _ref9 = arguments[0], _ref14;
484
485
  const SItemContentText = Text;
485
486
  const menuItemCtxValue = React.useContext(menuItemContext);
486
- if (menuItemCtxValue.ref) {
487
- hintProps.triggerRef = menuItemCtxValue.ref;
488
- }
489
487
  return _ref14 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SItemContentText, _ref14.cn("SItemContentText", {
490
488
  ...assignProps({
491
489
  "ellipsis": ellipsis,
492
- "hintProps": hintProps
490
+ "hint:triggerRef": menuItemCtxValue.ref,
491
+ "hint:placement": "right"
493
492
  }, _ref9)
494
493
  })));
495
494
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/dropdown-menu",
3
3
  "description": "Semrush DropdownMenu Component",
4
- "version": "17.0.0-prerelease.30",
4
+ "version": "17.0.0-prerelease.34",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,9 +14,9 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/button": "^17.0.0-prerelease.30",
18
- "@semcore/dropdown": "^17.0.0-prerelease.30",
19
- "@semcore/typography": "^17.0.0-prerelease.30",
17
+ "@semcore/button": "^17.0.0-prerelease.34",
18
+ "@semcore/dropdown": "^17.0.0-prerelease.34",
19
+ "@semcore/typography": "^17.0.0-prerelease.34",
20
20
  "classnames": "2.2.6"
21
21
  },
22
22
  "peerDependencies": {
@@ -30,12 +30,12 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/classnames": "2.2.6",
33
- "@semcore/core": "17.0.0-prerelease.30",
34
- "@semcore/base-components": "17.0.0-prerelease.30",
33
+ "@semcore/base-components": "17.0.0-prerelease.34",
34
+ "@semcore/core": "17.0.0-prerelease.34",
35
+ "@semcore/base-trigger": "17.0.0-prerelease.34",
35
36
  "@semcore/testing-utils": "1.0.0",
36
- "@semcore/base-trigger": "17.0.0-prerelease.30",
37
- "@semcore/icon": "16.7.2-prerelease.30",
38
- "@semcore/button": "17.0.0-prerelease.30"
37
+ "@semcore/button": "17.0.0-prerelease.34",
38
+ "@semcore/icon": "16.7.2-prerelease.34"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "pnpm semcore-builder --source=js,ts && pnpm vite build"