@semcore/dropdown-menu 4.39.1 → 4.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","Box","ScrollAreaComponent","hideScrollBarsFromScreenReadersContext","uniqueIDEnhancement","useUID","i18nEnhance","localizedMessages","style","_sstyled","insert","setFocus","isFocusInside","useFocusSource","isAdvanceMode","ButtonComponent","forkRef","focusSourceEnhance","ListBoxContextProvider","_ref22","children","createElement","Provider","value","selectedIndexContext","createContext","menuItemContext","DropdownMenuRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","preventDefault","handlers","visible","setTimeout","element","itemRefs","asProps","highlightedIndex","focus","place","amount","shiftKey","targetTagName","target","tagName","_this$asProps","placement","inlineActions","key","includes","getAttribute","handleClickTrigger","show","startsWith","hide","isMenuItem","_this$itemRefs$_this$","stopPropagation","_this$triggerRef$curr","triggerRef","current","_this$itemRefs$newHig","newHighlightedIndex","getHighlightedIndex","_this$itemRefs$_newHi","_this$itemRefs$_newHi2","_this$itemRefs$_newHi3","highlightedItemRef","click","node","scrollIntoView","prevHighlightedIndex","block","inline","_this$itemProps$newIn","itemsLastIndex","itemProps","selectedIndex","findIndex","item","selected","newIndex","disabled","_createClass","uncontrolledProps","_this2","index","getTriggerProps","_this$asProps2","size","uid","disablePortal","getI18nText","id","undefined","focusHint","onKeyDown","bindHandlerKeyDown","onClick","ref","getListProps","_this$triggerRef$curr2","_this$asProps3","triggerId","tabIndex","menuRef","role","getActionsProps","getPopperProps","_this$asProps4","ignorePortalsStacking","interaction","popperRef","focusMaster","hideFocus","getGroupProps","getItemProps","props","_this3","_this$asProps5","document","activeElement","scrollToNode","onMouseEnter","tag","_props$use","_props$theme","_props$size","use","theme","getItemHintProps","getItemTitleProps","componentDidUpdate","prevProps","visibilityChanged","body","focusSourceRef","render","_ref","_this$asProps6","Children","timeout","_assignProps","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","List","_ref23","_ref2","arguments[0]","_ref14","styles","SDropdownMenuList","_objectSpread","_assignProps2","Container","Bar","orientation","Actions","_ref24","_ref3","_ref15","SDropdownMenuActions","_assignProps3","Menu","_ref4","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps4","Item","_ref25","_ref5","_ref16","forwardRef","SDropdownMenuItemContainer","itemRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","highlighted","setHighlighted","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","displayName","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","_assignProps5","Addon","_useBox","_useBox2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties","_excluded","_extends","Trigger","_ref6","_assignProps6","Group","_ref26","_ref7","_ref17","title","subTitle","SGroup","SGroupTitle","SGroupHint","uidTitle","uidSubTitle","groupAriaProps","Fragment","_assignProps7","ItemContent","_ref27","_ref8","_ref18","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","parent","parentElement","prev","add","_assignProps8","_toConsumableArray","join","ItemHint","_ref28","_ref9","_ref19","SItemHint","_React$useContext","_assignProps9","_ref10","_ref20","_assignProps10","Title","_ref11","_ref21","_assignProps11","Nesting","_ref29","_ref12","_assignProps12","NestingTrigger","_ref30","_ref13","_assignProps13","ItemTitle"],"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, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport uniqueIDEnhancement, { useUID } from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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 { useFocusSource } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport ButtonComponent from '@semcore/button';\nimport { forkRef } from '@semcore/utils/lib/ref';\nimport focusSourceEnhance from '@semcore/utils/lib/enhances/focusSourceEnhance';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst selectedIndexContext = React.createContext(0);\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), focusSourceEnhance()];\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 popperRef = React.createRef();\n triggerRef = React.createRef();\n menuRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n selectedIndex: null,\n highlightedIndex: [\n null,\n (index) => {\n this.handlers.selectedIndex(index);\n },\n ],\n visible: null,\n };\n }\n\n handleClickTrigger = (e) => {\n e.preventDefault();\n this.handlers.visible(true);\n\n setTimeout(() => {\n const element = this.itemRefs[this.asProps.highlightedIndex];\n\n element?.focus();\n }, 0);\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, inlineActions } = 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 (\n place === 'trigger' &&\n ['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(e.key) &&\n e.target.getAttribute('role') !== 'menuitem'\n ) {\n this.handleClickTrigger(e);\n }\n\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 e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role') === 'menuitem';\n\n if (place === 'trigger' && (!visible || inlineActions) && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n this.itemRefs[this.asProps.highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return;\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 this.triggerRef.current?.focus();\n\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n\n if (place === 'list') {\n switch (e.key) {\n case 'ArrowDown': {\n if (visible && !inlineActions) {\n const newHighlightedIndex = this.getHighlightedIndex(amount);\n this.itemRefs[newHighlightedIndex]?.focus();\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowRight': {\n if (visible && inlineActions) {\n const newHighlightedIndex = this.getHighlightedIndex(amount);\n this.itemRefs[newHighlightedIndex]?.focus();\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible && !inlineActions) {\n const newHighlightedIndex = this.getHighlightedIndex(-amount);\n this.itemRefs[newHighlightedIndex]?.focus();\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowLeft': {\n if (visible && inlineActions) {\n const newHighlightedIndex = this.getHighlightedIndex(-amount);\n this.itemRefs[newHighlightedIndex]?.focus();\n this.handlers.highlightedIndex(newHighlightedIndex, e);\n\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current && highlightedIndex !== null) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n }\n\n break;\n }\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n onClick: this.handleClickTrigger,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n const triggerId = this.triggerRef.current?.id;\n\n return {\n size,\n index: this.asProps.highlightedIndex,\n tabIndex: -1,\n onKeyDown: this.bindHandlerKeyDown('list'),\n ref: this.menuRef,\n id: `igc-${uid}-list`,\n role: 'menu',\n 'aria-labelledby': triggerId,\n };\n }\n\n getActionsProps() {\n return this.getListProps();\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: -1,\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n 'use:role': null,\n 'use:autoFocus': false,\n };\n }\n\n getGroupProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemProps(props, index) {\n const { size, uid } = this.asProps;\n\n const ref = (node) => {\n if (node?.getAttribute('role') === 'menuitem') {\n this.itemRefs[index] = node;\n }\n\n if (node === document.activeElement) {\n this.scrollToNode(node);\n }\n };\n this.itemProps[index] = props;\n\n const itemProps = {\n id: `igc-${uid}-option-${index}`,\n size,\n ref,\n index,\n onMouseEnter: () => this.handlers.selectedIndex(index),\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 }\n\n return itemProps;\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 getHighlightedIndex = (amount) => {\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.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);\n } else if (!this.itemProps[newIndex]) {\n return 0;\n } else {\n return newIndex;\n }\n };\n\n componentDidUpdate(prevProps) {\n const visibilityChanged = this.asProps.visible !== prevProps.visible;\n if (visibilityChanged && prevProps.visible !== undefined) {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n this.highlightedItemRef.current = null;\n if (\n (document.activeElement === document.body || isFocusInside(this.popperRef.current)) &&\n this.asProps.focusSourceRef.current === 'keyboard'\n ) {\n setFocus(this.triggerRef.current);\n }\n }\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\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true}>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <ScrollAreaComponent.Bar orientation='horizontal' />\n <ScrollAreaComponent.Bar 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}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({ id, styles, disabled, Children, forwardRef }) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n };\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 };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n const focusSourceRef = useFocusSource();\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Box}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && focusSourceRef.current === 'keyboard'}\n role={advancedMode ? undefined : 'menuitem'}\n use:id={advancedMode ? undefined : id}\n tabIndex={advancedMode ? undefined : -1}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.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 Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\n\nfunction Group({ styles, title, Children, subTitle, size }) {\n const SGroup = Root;\n const SDropdownMenuItemContainer = Box;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownMenuItemContainer notInteractive aria-hidden={'true'} tabindex={-1} size={size}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownMenuItemContainer>\n <SGroup render={Box} role={'group'} {...groupAriaProps} __excludeProps={['title']}>\n <Children />\n </SGroup>\n </>,\n );\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={'menuitem'}\n id={menuItemCtxValue.contentId}\n tabIndex={-1}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n alignItems={menuItemCtxValue.hasSubMenu ? 'center' : undefined}\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\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\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(<SDropdownMenuItemContainer render={Flex} variant='hint' />);\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(<SDropdownMenuItemContainer render={Flex} variant='title' />);\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role={'menuitem'}\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","sstyled","Root","Dropdown","AbstractDropdown","selectedIndexContext","enhance","Flex","useBox","Box","ScrollAreaComponent","hideScrollBarsFromScreenReadersContext","useUID","localizedMessages","style","_sstyled","insert","useFocusSource","isAdvanceMode","forkRef","callAllEventHandlers","ButtonComponent","ListBoxContextProvider","_ref20","children","createElement","Provider","value","menuItemContext","createContext","DropdownMenuRoot","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","itemRef","props","index","node","_get","_getPrototypeOf","prototype","document","activeElement","getTriggerProps","_this$asProps","asProps","Children","uid","visible","hasMenu","DropdownMenu","Menu","displayName","ariaControls","_objectSpread","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleKeyDownForMenu","undefined","getListProps","handleArrowKeyDown","getPopperProps","handlePreventPopperKeyDown","getActionsProps","getItemProps","_this2","highlightedIndex","isHighlighted","itemProps","tabIndex","ref","tag","_props$use","_props$theme","_props$size","use","theme","size","place","_this3","e","_this3$asProps","placement","inlineActions","show","startsWith","hide","isMenuItem","target","getAttribute","handlers","setTimeout","_this3$itemRefs$highl","itemRefs","focus","preventDefault","stopPropagation","_this3$triggerRef$cur","triggerRef","current","render","_ref","_this$asProps2","selectedIndex","interaction","timeout","_assignProps","Object","values","defaultVisible","defaultHighlightedIndex","defaultSelectedIndex","i18n","locale","List","_ref21","_ref2","arguments[0]","_ref13","styles","SDropdownMenuList","_assignProps2","Container","Bar","orientation","Actions","_ref22","_ref3","_ref14","SDropdownMenuActions","_assignProps3","_ref4","disablePortal","ignorePortalsStacking","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","Popper","_extends","role","_assignProps4","Item","_ref23","_ref5","_ref15","id","disabled","forwardRef","SDropdownMenuItemContainer","useRef","_React$useState","useState","_React$useState2","_slicedToArray","highlighted","setHighlighted","menuItemContextValue","contentId","ariaDescribes","hasSubMenu","hasHint","Hint","advancedMode","Content","hintId","push","useEffect","onFocus","onBlur","addEventListener","capture","removeEventListener","focusSourceRef","_assignProps5","Addon","_useBox","_useBox2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties","_excluded","Trigger","_ref6","_assignProps6","ItemContent","_ref24","_ref7","_ref16","SItemContent","menuItemCtxValue","useContext","subMenu","_React$useState3","Set","_React$useState4","describedby","setDescribedby","element","parent","parentElement","prev","add","_assignProps7","_toConsumableArray","join","ItemHint","_ref25","_ref8","_ref17","SItemHint","_React$useContext","_assignProps8","_ref9","_ref18","_assignProps9","Title","_ref10","_ref19","_assignProps10","Nesting","_ref26","_ref11","_assignProps11","NestingTrigger","_ref27","_ref12","_assignProps12","ItemTitle","Group"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { sstyled, Root } from '@semcore/core';\nimport Dropdown, { AbstractDropdown, selectedIndexContext, enhance } from '@semcore/dropdown';\nimport { Flex, useBox, Box } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport { useUID } from '@semcore/utils/lib/uniqueID';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport style from './style/dropdown-menu.shadow.css';\nimport { useFocusSource } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport { forkRef } from '@semcore/utils/lib/ref';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ButtonComponent from '@semcore/button';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nconst menuItemContext = React.createContext({});\n\nclass DropdownMenuRoot extends AbstractDropdown {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = Object.values(enhance);\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: 0,\n defaultSelectedIndex: 0,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n inlineActions: false,\n placement: 'bottom-start',\n timeout: 0,\n };\n\n role = 'menu';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n if (node === document.activeElement) {\n super.scrollToNode(node);\n }\n }\n\n getTriggerProps() {\n const { Children, uid, visible } = this.asProps;\n const hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);\n const ariaControls = hasMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleKeyDownForMenu('trigger'),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': hasMenu ? 'true' : 'dialog',\n };\n }\n\n getListProps() {\n return {\n ...super.getListProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleKeyDownForMenu('list'),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n // this.handleKeyDownForPopper.bind(this),\n ),\n };\n }\n\n getActionsProps() {\n return this.getListProps();\n }\n\n getItemProps(props, index) {\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n const itemProps = {\n ...super.getItemProps(props, index),\n tabIndex: isHighlighted ? 0 : -1,\n ref: (node) => this.itemRef(props, index, node),\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 }\n\n return itemProps;\n }\n\n handleKeyDownForMenu(place) {\n return (e) => {\n const { visible, placement, inlineActions } = this.asProps;\n\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 e.key === 'Escape';\n const isMenuItem = e.target.getAttribute('role') === super.childRole;\n\n if (place === 'trigger' && (!visible || inlineActions) && show && isMenuItem) {\n this.handlers.visible(true);\n this.handlers.highlightedIndex(0);\n setTimeout(() => {\n const { highlightedIndex } = this.asProps;\n this.itemRefs[highlightedIndex]?.focus();\n }, 0);\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (place === 'list' && visible && hide && isMenuItem) {\n if (\n !inlineActions ||\n (inlineActions && (e.key === 'Escape' || this.asProps.highlightedIndex === 0))\n ) {\n this.handlers.visible(false);\n this.triggerRef.current?.focus();\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\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\n return sstyled(styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList render={ScrollAreaComponent} shadow={true}>\n <ScrollAreaComponent.Container tabIndex={undefined}>\n <Children />\n </ScrollAreaComponent.Container>\n <ScrollAreaComponent.Bar orientation='horizontal' />\n <ScrollAreaComponent.Bar 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({ id, styles, disabled, Children, forwardRef, role }) {\n const SDropdownMenuItemContainer = Root;\n const itemRef = React.useRef();\n\n const [highlighted, setHighlighted] = React.useState(false);\n\n const menuItemContextValue = {\n contentId: id,\n ref: forkRef(forwardRef, itemRef),\n role,\n };\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 };\n\n document.addEventListener('focus', onFocus, { capture: true });\n document.addEventListener('blur', onBlur, { capture: true });\n\n return () => {\n document.removeEventListener('focus', onFocus, { capture: true });\n document.removeEventListener('blur', onBlur, { capture: true });\n };\n }, [itemRef.current]);\n\n const focusSourceRef = useFocusSource();\n\n return sstyled(styles)(\n <menuItemContext.Provider value={menuItemContextValue}>\n <SDropdownMenuItemContainer\n render={Dropdown.Item}\n ref={advancedMode ? undefined : menuItemContextValue.ref}\n use:highlighted={!disabled && highlighted && focusSourceRef.current === 'keyboard'}\n use:role={advancedMode ? undefined : role}\n use:id={advancedMode ? undefined : id}\n tabIndex={advancedMode ? undefined : -1}\n >\n <Children />\n </SDropdownMenuItemContainer>\n </menuItemContext.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 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={-1}\n ref={forkRef(menuItemCtxValue.ref, ref)}\n use:aria-describedby={[...describedby].join(' ')}\n aria-haspopup={menuItemCtxValue.hasSubMenu ? 'true' : undefined}\n aria-expanded={subMenu}\n alignItems={menuItemCtxValue.hasSubMenu ? 'center' : undefined}\n justifyContent={menuItemCtxValue.hasSubMenu ? 'space-between' : undefined}\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\n/**\n * @deprecated Use Item hint\n */\nfunction Hint(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='hint' />,\n );\n}\n/**\n * @deprecated Use Group with title prop\n */\nfunction Title(props) {\n const SDropdownMenuItemContainer = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItemContainer render={Dropdown.Item} variant='title' />,\n );\n}\n\n/**\n * @deprecated\n */\nfunction Nesting({ forwardRef }) {\n return <Root render={DropdownMenu.Item} ref={forwardRef} />;\n}\n\n/**\n * @deprecated\n */\nfunction NestingTrigger({ forwardRef }) {\n return (\n <Root\n render={DropdownMenu.Item.Content}\n tag={DropdownMenu.Trigger}\n ref={forwardRef}\n use:role={'menuitem'}\n />\n );\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Actions,\n Menu,\n Item: [Item, { Addon, Content: ItemContent, Hint: ItemHint }],\n /**\n * @deprecated. Use just Item. See examples on\n */\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n Group: Dropdown.Group,\n },\n {\n parent: [Dropdown],\n },\n);\n\nDropdownMenu.selectedIndexContext = selectedIndexContext;\n\nexport default DropdownMenu;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport Dropdown, {\n DropdownContext,\n DropdownProps,\n DropdownHandlers,\n DropdownTriggerProps,\n} from '@semcore/dropdown';\nimport { Box, BoxProps, FlexProps, Flex } from '@semcore/flex-box';\nimport { ScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IDropdownMenuProps extends DropdownMenuProps, UnknownProperties {}\nexport type DropdownMenuProps = DropdownProps & {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number | null;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number | null;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number | null) => void;\n locale?: string;\n /**\n * Flag for menu that using as actions on DropdownMenu.Item\n */\n inlineActions?: boolean;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuListProps extends DropdownMenuListProps, UnknownProperties {}\nexport type DropdownMenuListProps = BoxProps &\n ScrollAreaProps & {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n };\n\n/** @deprecated */\nexport interface IDropdownMenuMenuProps extends DropdownMenuMenuProps, UnknownProperties {}\nexport type DropdownMenuMenuProps = DropdownMenuListProps & {};\n\n/** @deprecated */\nexport interface IDropdownMenuItemProps extends DropdownMenuItemProps, UnknownProperties {}\nexport type DropdownMenuItemProps = FlexProps & {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables item\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Disables hover state\n * @deprecated use `disabled` instead\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuItemHintProps extends DropdownMenuItemHintProps, UnknownProperties {}\nexport type DropdownMenuItemHintProps = FlexProps & {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuItemTitleProps\n extends DropdownMenuItemTitleProps,\n UnknownProperties {}\nexport type DropdownMenuItemTitleProps = FlexProps & {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuContext extends DropdownMenuContext, UnknownProperties {}\nexport type DropdownMenuContext = DropdownContext & {\n highlightedIndex?: number;\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuHandlers extends DropdownMenuHandlers, UnknownProperties {}\nexport type DropdownMenuHandlers = DropdownHandlers & {\n highlightedIndex: (index: number) => void;\n};\n\nexport type DropdownMenuTriggerProps = DropdownTriggerProps;\n\nexport type DropdownMenuGroupProps = BoxProps & {\n /** Title for group of dropdown menu items */\n title: React.ReactNode;\n /** Subtitle for group of dropdown menu items */\n subTitle?: string;\n};\n\ndeclare const DropdownMenu: Intergalactic.Component<\n 'div',\n DropdownMenuProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n> & {\n Trigger: typeof Dropdown.Trigger;\n Popper: Intergalactic.Component<'div', DropdownMenuProps>;\n List: Intergalactic.Component<\n 'div',\n DropdownMenuListProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Actions: Intergalactic.Component<\n typeof Flex,\n DropdownMenuListProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Menu: Intergalactic.Component<\n 'div',\n DropdownMenuMenuProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Item: Intergalactic.Component<\n 'div',\n DropdownMenuItemProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n > & {\n Addon: typeof Box;\n Content: typeof Flex;\n Hint: typeof Flex;\n };\n /**\n * @deprecated Use Group with title prop\n */\n ItemTitle: Intergalactic.Component<'div', DropdownMenuItemTitleProps>;\n /**\n * @deprecated Use prop subTitle on Group or Item component\n */\n ItemHint: Intergalactic.Component<'div', DropdownMenuItemHintProps>;\n Group: Intergalactic.Component<'div', DropdownMenuGroupProps>;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Nesting: Intergalactic.Component<\n 'div',\n DropdownMenuItemProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n > & {\n /**\n * @deprecated Use Item instead of Nesting\n */\n Trigger: Intergalactic.Component<'div', DropdownMenuItemProps>;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Item: Intergalactic.Component<'div', DropdownMenuItemProps>;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Addon: typeof Box;\n };\n\n selectedIndexContext: React.Context<number>;\n};\n\nexport default DropdownMenu;\n\nexport { DropdownMenu as DropdownMenuOld };\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport Dropdown, {\n DropdownContext,\n DropdownProps,\n DropdownHandlers,\n DropdownTriggerProps,\n} from '@semcore/dropdown';\nimport { Box, BoxProps, FlexProps, Flex } from '@semcore/flex-box';\nimport { ScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IDropdownMenuProps extends DropdownMenuProps, UnknownProperties {}\nexport type DropdownMenuProps = DropdownProps & {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number | null;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number | null;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number | null) => void;\n locale?: string;\n /**\n * Flag for menu that using as actions on DropdownMenu.Item\n */\n inlineActions?: boolean;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuListProps extends DropdownMenuListProps, UnknownProperties {}\nexport type DropdownMenuListProps = BoxProps &\n ScrollAreaProps & {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n };\n\n/** @deprecated */\nexport interface IDropdownMenuMenuProps extends DropdownMenuMenuProps, UnknownProperties {}\nexport type DropdownMenuMenuProps = DropdownMenuListProps & {};\n\n/** @deprecated */\nexport interface IDropdownMenuItemProps extends DropdownMenuItemProps, UnknownProperties {}\nexport type DropdownMenuItemProps = FlexProps & {\n /**\n * Enables selected state\n * @deprecated Dropdown menu item can't have that state\n */\n selected?: boolean;\n /**\n * Disables item\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Disables hover state\n * @deprecated use `disabled` instead\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuItemHintProps extends DropdownMenuItemHintProps, UnknownProperties {}\nexport type DropdownMenuItemHintProps = FlexProps & {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuItemTitleProps\n extends DropdownMenuItemTitleProps,\n UnknownProperties {}\nexport type DropdownMenuItemTitleProps = FlexProps & {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuContext extends DropdownMenuContext, UnknownProperties {}\nexport type DropdownMenuContext = DropdownContext & {\n highlightedIndex?: number;\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IDropdownMenuHandlers extends DropdownMenuHandlers, UnknownProperties {}\nexport type DropdownMenuHandlers = DropdownHandlers & {\n highlightedIndex: (index: number) => void;\n};\n\nexport type DropdownMenuTriggerProps = DropdownTriggerProps;\n\ndeclare const DropdownMenu: Intergalactic.Component<\n 'div',\n DropdownMenuProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n> & {\n Trigger: typeof Dropdown.Trigger;\n Popper: Intergalactic.Component<'div', DropdownMenuProps>;\n List: Intergalactic.Component<\n 'div',\n DropdownMenuListProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Actions: Intergalactic.Component<\n typeof Flex,\n DropdownMenuListProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Menu: Intergalactic.Component<\n 'div',\n DropdownMenuMenuProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n >;\n Item: Intergalactic.Component<\n typeof Dropdown.Item,\n DropdownMenuItemProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n > & {\n Addon: typeof Box;\n Content: typeof Flex;\n Hint: typeof Flex;\n };\n /**\n * @deprecated Use Group with title prop\n */\n ItemTitle: Intergalactic.Component<'div', DropdownMenuItemTitleProps>;\n /**\n * @deprecated Use prop subTitle on Group or Item component\n */\n ItemHint: Intergalactic.Component<'div', DropdownMenuItemHintProps>;\n Group: typeof Dropdown.Group;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Nesting: Intergalactic.Component<\n 'div',\n DropdownMenuItemProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n > & {\n /**\n * @deprecated Use Item instead of Nesting\n */\n Trigger: Intergalactic.Component<'div', DropdownMenuItemProps>;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Item: Intergalactic.Component<'div', DropdownMenuItemProps>;\n /**\n * @deprecated Use Item instead of Nesting\n */\n Addon: typeof Box;\n };\n\n selectedIndexContext: React.Context<number>;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
package/lib/es6/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export { default } from './DropdownMenu';
2
- export { default as DropdownMenuOld } from './DropdownMenuOld';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","DropdownMenuOld"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './DropdownMenu';\n\nexport { default as DropdownMenuOld } from './DropdownMenuOld';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB;AAExC,SAASA,OAAO,IAAIC,eAAe,QAAQ,mBAAmB"}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './DropdownMenu';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB"}
@@ -95,90 +95,6 @@ SDropdownMenuList {
95
95
  }
96
96
  }
97
97
 
98
- SDropdownMenuItemContainer {
99
- position: relative;
100
- text-decoration: none;
101
- box-sizing: border-box;
102
- cursor: pointer;
103
- width: 100%;
104
- text-align: left;
105
- line-height: normal;
106
- color: var(--intergalactic-text-primary, #191b23);
107
-
108
- &:hover {
109
- background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
110
- }
111
-
112
- &:focus {
113
- outline: none;
114
- }
115
- }
116
-
117
-
118
- SDropdownMenuItemContainer[selected] {
119
- background-color: var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));
120
- box-shadow: 2px 0px 0px 0px var(--intergalactic-control-primary-info, #008ff8) inset;
121
-
122
- &:hover {
123
- background-color: var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe);
124
- }
125
- }
126
-
127
- SDropdownMenuItemContainer[highlighted] {
128
- z-index: 1;
129
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset;
130
- }
131
-
132
- SDropdownMenuItemContainer[disabled] {
133
- opacity: var(--intergalactic-disabled-opacity, 0.3);
134
- cursor: default;
135
- pointer-events: none;
136
- }
137
-
138
- SDropdownMenuItemContainer[size='l'] {
139
- font-size: var(--intergalactic-fs-300, 16px);
140
- line-height: var(--intergalactic-lh-300, 150%);
141
- padding: var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);
142
- min-height: 40px;
143
- }
144
-
145
- SDropdownMenuItemContainer[size='m'] {
146
- font-size: var(--intergalactic-fs-200, 14px);
147
- line-height: var(--intergalactic-lh-200, 142%);
148
- padding: calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);
149
- min-height: 32px;
150
- }
151
-
152
- SDropdownMenuItemContainer[notInteractive] {
153
- cursor: default;
154
-
155
- &:hover {
156
- background: none;
157
- }
158
- }
159
-
160
- SDropdownMenuItemContainer[variant='hint'] {
161
- color: var(--intergalactic-text-secondary, #6c6e79);
162
- cursor: default;
163
-
164
- &:hover {
165
- background: none;
166
- }
167
- }
168
-
169
- SDropdownMenuItemContainer[variant='title'] {
170
- font-weight: var(--intergalactic-bold, 700);
171
- cursor: default;
172
-
173
- &:hover {
174
- background: none;
175
- }
176
- }
177
-
178
- SDropdownMenuItemContainer[visible] {
179
- background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
180
- }
181
-
182
98
  SDropdownMenuItemContainer[nesting-trigger] {
183
99
  justify-content: space-between;
184
100
  }
@@ -221,14 +137,10 @@ SDropdownNestingItem SDropdownMenuItemContainer {
221
137
  min-height: auto;
222
138
  }
223
139
 
224
- SGroupTitle {
225
- font-weight: var(--intergalactic-bold, 700);
140
+ SItemContent:focus {
141
+ outline: none;
226
142
  }
227
143
 
228
- SGroupHint, SItemHint {
144
+ SItemHint {
229
145
  color: var(--intergalactic-text-secondary, #6c6e79);
230
146
  }
231
-
232
- SItemContent:focus {
233
- outline: none;
234
- }
@@ -1,3 +1 @@
1
- {
2
- "triggerHint": "Press Tab to go to popover"
3
- }
1
+ {}
@@ -58,6 +58,7 @@ export interface IDropdownMenuItemProps extends DropdownMenuItemProps, UnknownPr
58
58
  export type DropdownMenuItemProps = FlexProps & {
59
59
  /**
60
60
  * Enables selected state
61
+ * @deprecated Dropdown menu item can't have that state
61
62
  */
62
63
  selected?: boolean;
63
64
  /**
@@ -120,13 +121,6 @@ export type DropdownMenuHandlers = DropdownHandlers & {
120
121
 
121
122
  export type DropdownMenuTriggerProps = DropdownTriggerProps;
122
123
 
123
- export type DropdownMenuGroupProps = BoxProps & {
124
- /** Title for group of dropdown menu items */
125
- title: React.ReactNode;
126
- /** Subtitle for group of dropdown menu items */
127
- subTitle?: string;
128
- };
129
-
130
124
  declare const DropdownMenu: Intergalactic.Component<
131
125
  'div',
132
126
  DropdownMenuProps,
@@ -154,7 +148,7 @@ declare const DropdownMenu: Intergalactic.Component<
154
148
  [handlers: DropdownMenuHandlers]
155
149
  >;
156
150
  Item: Intergalactic.Component<
157
- 'div',
151
+ typeof Dropdown.Item,
158
152
  DropdownMenuItemProps,
159
153
  DropdownMenuContext,
160
154
  [handlers: DropdownMenuHandlers]
@@ -171,7 +165,7 @@ declare const DropdownMenu: Intergalactic.Component<
171
165
  * @deprecated Use prop subTitle on Group or Item component
172
166
  */
173
167
  ItemHint: Intergalactic.Component<'div', DropdownMenuItemHintProps>;
174
- Group: Intergalactic.Component<'div', DropdownMenuGroupProps>;
168
+ Group: typeof Dropdown.Group;
175
169
  /**
176
170
  * @deprecated Use Item instead of Nesting
177
171
  */
@@ -199,5 +193,3 @@ declare const DropdownMenu: Intergalactic.Component<
199
193
  };
200
194
 
201
195
  export default DropdownMenu;
202
-
203
- export { DropdownMenu as DropdownMenuOld };
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.39.1",
4
+ "version": "4.40.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,11 +9,11 @@
9
9
  "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@semcore/dropdown": "4.37.1",
13
- "@semcore/flex-box": "5.33.1",
14
- "@semcore/scroll-area": "5.37.1",
15
- "@semcore/utils": "4.36.2",
16
- "@semcore/icon": "4.46.0",
12
+ "@semcore/dropdown": "4.38.0",
13
+ "@semcore/flex-box": "5.34.0",
14
+ "@semcore/scroll-area": "5.38.0",
15
+ "@semcore/utils": "4.38.0",
16
+ "@semcore/icon": "4.47.0",
17
17
  "classnames": "2.2.6"
18
18
  },
19
19
  "peerDependencies": {
@@ -32,7 +32,7 @@
32
32
  "@semcore/testing-utils": "1.0.0",
33
33
  "@semcore/base-trigger": "4.26.1",
34
34
  "@semcore/icon": "4.26.0",
35
- "@semcore/button": "5.37.1"
35
+ "@semcore/button": "5.37.2"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "pnpm semcore-builder --source=js"