@semcore/dropdown-menu 4.35.5 → 4.38.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenuOld.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","ScrollAreaComponent","hideScrollBarsFromScreenReadersContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","useFocusLock","hasParent","style","_sstyled","insert","setFocus","isFocusInside","getFocusableIn","keyboardFocusEnhance","ListBoxContextProvider","_ref18","children","createElement","Provider","value","DropdownMenuRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","focusLockItemIndex","keyboardFocused","createRef","trigger","triggerRef","current","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","relatedTarget","focused","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","getNestingTriggerProps","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass","uncontrolledProps","getTriggerProps","_this$asProps3","uid","disablePortal","getI18nText","id","focusHint","undefined","bindHandlerKeyDown","ref","onKeyboardFocus","handleTriggerKeyboardFocus","onKeyboardFocusedStateChange","handleTriggerKeyboardFocusedStateChange","getListProps","_this$asProps4","index","getPopperProps","_this$asProps5","ignorePortalsStacking","interaction","tabIndex","focusMaster","hideFocus","getItemProps","props","_this2","_this$asProps6","highlighted","itemProps","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","triggerKeyboardFocused","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","findIndex","selected","newIndex","disabled","componentDidUpdate","prevProps","_this3","visibilityChanged","body","selectedItemIndex","render","_ref","Children","_assignProps","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref11","SDropdownMenuList","styles","_objectSpread","_assignProps2","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps3","Item","_ref19","_ref4","_ref12","label","SDropdownMenuItem","useRef","_assignProps4","NestingContext","createContext","Nesting","_ref20","_ref5","_ref13","SDropdownMenuNesting","contextValue","useMemo","_assignProps5","NestingTrigger","_ref6","_ref14","nestingContext","useContext","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","_assignProps6","NestingItem","_ref7","_ref15","SDropdownNestingItem","_assignProps7","Addon","_useBox","forwardRef","_useBox2","_slicedToArray","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties","_excluded","_extends","Hint","_ref8","_ref16","_assignProps8","Title","_ref9","_ref17","_assignProps9","Trigger","_ref21","_ref10","_assignProps10","enhance","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenuOld.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport style from './style/dropdown-menu-old.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nconst ListBoxContextProvider = ({ children }) => (\n <hideScrollBarsFromScreenReadersContext.Provider value={true}>\n {children}\n </hideScrollBarsFromScreenReadersContext.Provider>\n);\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n state = {\n focusLockItemIndex: null,\n keyboardFocused: false,\n };\n\n popperRef = React.createRef();\n triggerRef = React.createRef();\n\n itemProps = [];\n itemRefs = [];\n\n highlightedItemRef = React.createRef();\n\n ignoreTriggerKeyboardFocusUntil = 0;\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: null,\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (e.key.startsWith('Arrow') && !this.state.keyboardFocused) {\n this.setState({ keyboardFocused: true });\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n const focusable = getFocusableIn(item);\n if (focusable.length > 0 && item) {\n const focusedIndex = focusable.indexOf(document.activeElement);\n if (e.key === 'ArrowRight') {\n if (focusedIndex === -1) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n }\n const nextFocused = focusable[focusedIndex + 1];\n if (nextFocused) {\n e.preventDefault();\n e.stopPropagation();\n nextFocused.focus();\n }\n } else if (e.key === 'ArrowLeft') {\n if (focusedIndex === 0) {\n this.setState({ focusLockItemIndex: null });\n }\n const prevFocused = focusable[focusedIndex - 1];\n if (prevFocused) {\n e.preventDefault();\n e.stopPropagation();\n prevFocused.focus();\n }\n }\n }\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n if (visible) {\n this.moveHighlightedIndex(amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case 'ArrowUp': {\n if (visible) {\n this.moveHighlightedIndex(-amount, e);\n if (isFocusInside(this.popperRef.current)) {\n this.focusTrigger();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n }\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current && highlightedIndex !== null) {\n e.stopPropagation();\n e.preventDefault();\n this.highlightedItemRef.current.click();\n } else {\n if (place === 'trigger') {\n this.handlers.visible(false);\n\n e.preventDefault();\n }\n }\n break;\n }\n };\n\n handleTriggerKeyboardFocus = () => {\n if (this.ignoreTriggerKeyboardFocusUntil > Date.now()) return false;\n };\n handleTriggerKeyboardFocusedStateChange = (keyboardFocused) => {\n this.setState({ keyboardFocused });\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText, highlightedIndex } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-popper`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null ? `igc-${uid}-option-${highlightedIndex}` : undefined,\n onKeyDown: this.bindHandlerKeyDown('trigger'),\n ref: this.triggerRef,\n onKeyboardFocus: this.handleTriggerKeyboardFocus,\n onKeyboardFocusedStateChange: this.handleTriggerKeyboardFocusedStateChange,\n };\n }\n\n getListProps() {\n const { size, uid } = this.asProps;\n return {\n size,\n uid,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction, highlightedIndex } =\n this.asProps;\n\n return {\n ref: this.popperRef,\n tabIndex: 0,\n onKeyDown: this.bindHandlerKeyDown('popper'),\n id: `igc-${uid}-popper`,\n disablePortal,\n ignorePortalsStacking,\n focusMaster: interaction === 'click',\n hideFocus: highlightedIndex !== null,\n 'use:role': null,\n 'use:autoFocus': false,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex, uid } = this.asProps;\n const highlighted = index === highlightedIndex;\n let ref = (node) => {\n this.itemRefs[index] = node;\n };\n this.itemProps[index] = props;\n if (highlighted) {\n ref = (node) => {\n this.itemRefs[index] = node;\n this.scrollToNode(node);\n };\n }\n\n return {\n id: `igc-${uid}-option-${index}`,\n size,\n highlighted,\n focusLock: this.state.focusLockItemIndex === index,\n triggerRef: this.triggerRef,\n ref,\n index,\n handleFocusOut: this.handleItemFocusOut,\n triggerKeyboardFocused: this.state.keyboardFocused,\n };\n }\n\n handleItemFocusOut = (event) => {\n if (event.relatedTarget === this.popperRef.current) return;\n const focused = event.relatedTarget;\n\n if (hasParent(focused, this.popperRef.current)) {\n this.handlers.highlightedIndex(null);\n this.setState({ focusLockItemIndex: null });\n focused.focus();\n }\n };\n\n handleNestingClick = (event) => {\n const itemIndex = this.itemRefs.indexOf(event.currentTarget);\n if (itemIndex === -1) return;\n const focusable = getFocusableIn(event.currentTarget);\n focusable[0]?.focus();\n if (focusable[0] && this.state.focusLockItemIndex === null) {\n this.setState({ focusLockItemIndex: null });\n event.preventDefault();\n event.stopPropagation();\n }\n };\n handleNestingKeyDown = (event) => {\n if (event.key === ' ') {\n this.handleNestingClick(event);\n }\n };\n getNestingProps = () => {\n const { size } = this.asProps;\n return {\n size,\n onClick: this.handleNestingClick,\n onKeyDown: this.handleNestingKeyDown,\n };\n };\n handleNestedVisibleChange = (lastUserInteraction) => {\n if (\n this.asProps.visible &&\n this.asProps.highlightedIndex === null &&\n lastUserInteraction === 'keyboard'\n ) {\n this.handlers.highlightedIndex(0);\n }\n };\n getNestingTriggerProps = () => {\n const { size, visible } = this.asProps;\n return {\n size,\n visible,\n onNestedVisibleChange: this.handleNestedVisibleChange,\n };\n };\n getNestingItemProps = () => {\n return this.getNestingTriggerProps();\n };\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n if (node) {\n this.highlightedItemRef.current = node;\n }\n setTimeout(() => {\n if (node?.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }, 0);\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else if (this.highlightedItemRef.current) {\n highlightedIndex = this.prevHighlightedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex]?.disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else if (!this.itemProps[newIndex]) {\n this.handlers.highlightedIndex(0, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\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 this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n if (document.activeElement === document.body || isFocusInside(this.popperRef.current)) {\n setFocus(this.triggerRef.current);\n }\n }\n }\n if (visibilityChanged && this.asProps.visible) {\n setTimeout(() => {\n const selectedItemIndex = this.itemProps.findIndex((item) => item.selected);\n if (selectedItemIndex === -1 || this.asProps.highlightedIndex !== null) return;\n this.handlers.highlightedIndex(selectedItemIndex);\n }, 0);\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <ListBoxContextProvider>\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n />\n </ListBoxContextProvider>,\n );\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <ListBoxContextProvider>\n <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n </ListBoxContextProvider>\n );\n}\n\nfunction Item({\n styles,\n label,\n triggerRef,\n focusLock,\n disabled,\n highlighted,\n handleFocusOut,\n triggerKeyboardFocused,\n}) {\n const SDropdownMenuItem = Root;\n const ref = React.useRef();\n\n useFocusLock(ref, false, triggerRef, !focusLock || disabled, true, handleFocusOut);\n\n return sstyled(styles)(\n <SDropdownMenuItem\n ref={ref}\n render={Flex}\n role='menuitem'\n tabIndex={-1}\n id={label}\n use:highlighted={!disabled && highlighted && triggerKeyboardFocused}\n />,\n );\n}\n\nconst NestingContext = React.createContext(null);\n\nfunction Nesting({ styles, disabled }) {\n const SDropdownMenuNesting = Root;\n const contextValue = React.useMemo(() => ({ disabled }), [disabled]);\n\n return (\n <NestingContext.Provider value={contextValue}>\n {sstyled(styles)(<SDropdownMenuNesting aria-haspopup='true' render={DropdownMenu.Item} />)}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingTrigger(props) {\n const { styles, visible, onNestedVisibleChange } = props;\n const SDropdownMenuItem = Root;\n const nestingContext = React.useContext(NestingContext);\n const disabled = props.disabled || nestingContext?.disabled;\n\n const lastUserInteractionRef = React.useRef(undefined);\n React.useEffect(() => {\n onNestedVisibleChange(lastUserInteractionRef.current);\n }, [visible]);\n\n const handleMouseEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'mouse';\n }, []);\n const handleKeyboardEvent = React.useCallback(() => {\n lastUserInteractionRef.current = 'keyboard';\n }, []);\n\n React.useEffect(() => {\n document.addEventListener('mouseover', handleMouseEvent, { capture: true });\n document.addEventListener('keydown', handleKeyboardEvent, {\n capture: true,\n });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, {\n capture: true,\n });\n document.removeEventListener('keydown', handleKeyboardEvent, {\n capture: true,\n });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem\n nesting-trigger\n use:tabIndex={!disabled ? 0 : undefined}\n render={Flex}\n />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingItem(props) {\n const { styles } = props;\n const SDropdownNestingItem = Root;\n\n return sstyled(styles)(<SDropdownNestingItem render={NestingTrigger} use:tabIndex={-1} />);\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='hint' />);\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(<SDropdownMenuItem render={Flex} variant='title' />);\n}\n\nfunction Trigger({ keyboardFocused, onKeyboardFocusedStateChange }) {\n React.useEffect(() => {\n onKeyboardFocusedStateChange(keyboardFocused);\n }, [keyboardFocused, onKeyboardFocusedStateChange]);\n\n return <Root render={Dropdown.Trigger} aria-haspopup='true' />;\n}\nTrigger.enhance = [keyboardFocusEnhance(false)];\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n Nesting: [Nesting, { Trigger: NestingTrigger, Addon, Item: NestingItem }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\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 } 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\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\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 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 };\n ItemTitle: Intergalactic.Component<'div', DropdownMenuItemTitleProps>;\n ItemHint: Intergalactic.Component<'div', DropdownMenuItemHintProps>;\n Nesting: Intergalactic.Component<\n 'div',\n DropdownMenuItemProps,\n DropdownMenuContext,\n [handlers: DropdownMenuHandlers]\n > & {\n Trigger: Intergalactic.Component<'div', DropdownMenuItemProps>;\n Item: Intergalactic.Component<'div', DropdownMenuItemProps>;\n Addon: typeof Box;\n };\n};\n\nexport default DropdownMenu;\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 */\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":""}
package/lib/es6/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { default } from './DropdownMenu';
2
+ export { default as DropdownMenuOld } from './DropdownMenuOld';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './DropdownMenu';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB"}
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"}
@@ -0,0 +1,224 @@
1
+ SDropdownMenuList {
2
+ max-height: 240px;
3
+ padding: var(--intergalactic-spacing-1x, 4px) 0;
4
+ position: relative;
5
+ min-height: 26px;
6
+ min-width: 32px;
7
+ box-sizing: content-box;
8
+ z-index: 0;
9
+ color: var(--intergalactic-text-primary, #191b23);
10
+
11
+ SShadowHorizontal {
12
+ &:before,
13
+ &:after {
14
+ width: 16px;
15
+ height: 100%;
16
+ border-radius: var(--intergalactic-control-rounded, 6px);
17
+ }
18
+ }
19
+
20
+ SShadowHorizontal[position='median'] {
21
+ &:before {
22
+ background: var(
23
+ --intergalactic-scroll-area-dropdown-menu-left,
24
+ linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
25
+ );
26
+ }
27
+
28
+ &:after {
29
+ background: var(
30
+ --intergalactic-scroll-area-dropdown-menu-right,
31
+ linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
32
+ );
33
+ }
34
+ }
35
+
36
+ SShadowHorizontal[position='start'] {
37
+ &:before {
38
+ background: var(
39
+ --intergalactic-scroll-area-dropdown-menu-left,
40
+ linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
41
+ );
42
+ }
43
+ }
44
+
45
+ SShadowHorizontal[position='end'] {
46
+ &:after {
47
+ background: var(
48
+ --intergalactic-scroll-area-dropdown-menu-right,
49
+ linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
50
+ );
51
+ }
52
+ }
53
+
54
+ SShadowVertical {
55
+ &:before,
56
+ &:after {
57
+ width: 100%;
58
+ height: 16px;
59
+ border-radius: var(--intergalactic-control-rounded, 6px);
60
+ }
61
+ }
62
+
63
+ SShadowVertical[position='median'] {
64
+ &:before {
65
+ background: var(
66
+ --intergalactic-scroll-area-dropdown-menu-top,
67
+ linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
68
+ );
69
+ }
70
+
71
+ &:after {
72
+ background: var(
73
+ --intergalactic-scroll-area-dropdown-menu-bottom,
74
+ linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
75
+ );
76
+ }
77
+ }
78
+
79
+ SShadowVertical[position='start'] {
80
+ &:before {
81
+ background: var(
82
+ --intergalactic-scroll-area-dropdown-menu-top,
83
+ linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
84
+ );
85
+ }
86
+ }
87
+
88
+ SShadowVertical[position='end'] {
89
+ &:after {
90
+ background: var(
91
+ --intergalactic-scroll-area-dropdown-menu-bottom,
92
+ linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
93
+ );
94
+ }
95
+ }
96
+ }
97
+
98
+ SDropdownMenuItem {
99
+ display: flex;
100
+ align-items: center;
101
+ position: relative;
102
+ text-decoration: none;
103
+ box-sizing: border-box;
104
+ cursor: pointer;
105
+ width: 100%;
106
+ text-align: left;
107
+ line-height: normal;
108
+ color: var(--intergalactic-text-primary, #191b23);
109
+
110
+ &:hover {
111
+ background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
112
+ }
113
+
114
+ &:focus {
115
+ outline: none;
116
+ }
117
+ }
118
+
119
+
120
+ SDropdownMenuItem[selected] {
121
+ background-color: var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));
122
+ box-shadow: 2px 0px 0px 0px var(--intergalactic-control-primary-info, #008ff8) inset;
123
+
124
+ &:hover {
125
+ background-color: var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe);
126
+ }
127
+ }
128
+
129
+ SDropdownMenuItem[highlighted]:not(:focus-within) {
130
+ z-index: 1;
131
+ box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset;
132
+ }
133
+
134
+ SDropdownMenuItem[disabled] {
135
+ opacity: var(--intergalactic-disabled-opacity, 0.3);
136
+ cursor: default;
137
+ pointer-events: none;
138
+ }
139
+
140
+ SDropdownMenuItem[size='l'] {
141
+ font-size: var(--intergalactic-fs-300, 16px);
142
+ line-height: var(--intergalactic-lh-300, 150%);
143
+ padding: var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);
144
+ min-height: 40px;
145
+ }
146
+
147
+ SDropdownMenuItem[size='m'] {
148
+ font-size: var(--intergalactic-fs-200, 14px);
149
+ line-height: var(--intergalactic-lh-200, 142%);
150
+ padding: calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);
151
+ min-height: 32px;
152
+ }
153
+
154
+ SDropdownMenuItem[notInteractive] {
155
+ cursor: default;
156
+
157
+ &:hover {
158
+ background: none;
159
+ }
160
+ }
161
+
162
+ SDropdownMenuItem[variant='hint'] {
163
+ color: var(--intergalactic-text-secondary, #6c6e79);
164
+ cursor: default;
165
+
166
+ &:hover {
167
+ background: none;
168
+ }
169
+ }
170
+
171
+ SDropdownMenuItem[variant='title'] {
172
+ font-weight: var(--intergalactic-bold, 700);
173
+ cursor: default;
174
+
175
+ &:hover {
176
+ background: none;
177
+ }
178
+ }
179
+
180
+ SDropdownMenuItem[visible] {
181
+ background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
182
+ }
183
+
184
+ SDropdownMenuItem[nesting-trigger] {
185
+ justify-content: space-between;
186
+ }
187
+
188
+ SDropdownMenuItemAddon {
189
+ display: inline-flex;
190
+ margin-left: var(--intergalactic-spacing-2x, 8px);
191
+ margin-right: var(--intergalactic-spacing-2x, 8px);
192
+
193
+ &:first-child {
194
+ margin-left: 0;
195
+ }
196
+
197
+ &:last-child {
198
+ margin-right: 0;
199
+ }
200
+ }
201
+
202
+ SDropdownMenuNesting,
203
+ SDropdownMenuNesting[size='l'],
204
+ SDropdownMenuNesting[size='m'] {
205
+ padding: 0;
206
+ }
207
+
208
+ SDropdownMenuNesting[highlighted] {
209
+ z-index: 1;
210
+ box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset;
211
+ }
212
+
213
+ SDropdownNestingItem[size='l'],
214
+ SDropdownNestingItem[size='m'] {
215
+ padding-right: 0;
216
+ }
217
+
218
+ SDropdownNestingItem SDropdownMenuItem {
219
+ width: auto;
220
+ padding-top: 0;
221
+ padding-bottom: 0;
222
+ padding-left: 0;
223
+ min-height: auto;
224
+ }
@@ -95,9 +95,7 @@ SDropdownMenuList {
95
95
  }
96
96
  }
97
97
 
98
- SDropdownMenuItem {
99
- display: flex;
100
- align-items: center;
98
+ SDropdownMenuItemContainer {
101
99
  position: relative;
102
100
  text-decoration: none;
103
101
  box-sizing: border-box;
@@ -117,7 +115,7 @@ SDropdownMenuItem {
117
115
  }
118
116
 
119
117
 
120
- SDropdownMenuItem[selected] {
118
+ SDropdownMenuItemContainer[selected] {
121
119
  background-color: var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));
122
120
  box-shadow: 2px 0px 0px 0px var(--intergalactic-control-primary-info, #008ff8) inset;
123
121
 
@@ -126,32 +124,32 @@ SDropdownMenuItem[selected] {
126
124
  }
127
125
  }
128
126
 
129
- SDropdownMenuItem[highlighted]:not(:focus-within) {
127
+ SDropdownMenuItemContainer[highlighted] {
130
128
  z-index: 1;
131
129
  box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset;
132
130
  }
133
131
 
134
- SDropdownMenuItem[disabled] {
132
+ SDropdownMenuItemContainer[disabled] {
135
133
  opacity: var(--intergalactic-disabled-opacity, 0.3);
136
134
  cursor: default;
137
135
  pointer-events: none;
138
136
  }
139
137
 
140
- SDropdownMenuItem[size='l'] {
138
+ SDropdownMenuItemContainer[size='l'] {
141
139
  font-size: var(--intergalactic-fs-300, 16px);
142
140
  line-height: var(--intergalactic-lh-300, 150%);
143
141
  padding: var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);
144
142
  min-height: 40px;
145
143
  }
146
144
 
147
- SDropdownMenuItem[size='m'] {
145
+ SDropdownMenuItemContainer[size='m'] {
148
146
  font-size: var(--intergalactic-fs-200, 14px);
149
147
  line-height: var(--intergalactic-lh-200, 142%);
150
148
  padding: calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);
151
149
  min-height: 32px;
152
150
  }
153
151
 
154
- SDropdownMenuItem[notInteractive] {
152
+ SDropdownMenuItemContainer[notInteractive] {
155
153
  cursor: default;
156
154
 
157
155
  &:hover {
@@ -159,7 +157,7 @@ SDropdownMenuItem[notInteractive] {
159
157
  }
160
158
  }
161
159
 
162
- SDropdownMenuItem[variant='hint'] {
160
+ SDropdownMenuItemContainer[variant='hint'] {
163
161
  color: var(--intergalactic-text-secondary, #6c6e79);
164
162
  cursor: default;
165
163
 
@@ -168,7 +166,7 @@ SDropdownMenuItem[variant='hint'] {
168
166
  }
169
167
  }
170
168
 
171
- SDropdownMenuItem[variant='title'] {
169
+ SDropdownMenuItemContainer[variant='title'] {
172
170
  font-weight: var(--intergalactic-bold, 700);
173
171
  cursor: default;
174
172
 
@@ -177,11 +175,11 @@ SDropdownMenuItem[variant='title'] {
177
175
  }
178
176
  }
179
177
 
180
- SDropdownMenuItem[visible] {
178
+ SDropdownMenuItemContainer[visible] {
181
179
  background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
182
180
  }
183
181
 
184
- SDropdownMenuItem[nesting-trigger] {
182
+ SDropdownMenuItemContainer[nesting-trigger] {
185
183
  justify-content: space-between;
186
184
  }
187
185
 
@@ -215,10 +213,22 @@ SDropdownNestingItem[size='m'] {
215
213
  padding-right: 0;
216
214
  }
217
215
 
218
- SDropdownNestingItem SDropdownMenuItem {
216
+ SDropdownNestingItem SDropdownMenuItemContainer {
219
217
  width: auto;
220
218
  padding-top: 0;
221
219
  padding-bottom: 0;
222
220
  padding-left: 0;
223
221
  min-height: auto;
224
222
  }
223
+
224
+ SGroupTitle {
225
+ font-weight: var(--intergalactic-bold, 700);
226
+ }
227
+
228
+ SGroupHint, SItemHint {
229
+ color: var(--intergalactic-text-secondary, #6c6e79);
230
+ }
231
+
232
+ SItemContent:focus {
233
+ outline: none;
234
+ }
@@ -5,7 +5,7 @@ import Dropdown, {
5
5
  DropdownHandlers,
6
6
  DropdownTriggerProps,
7
7
  } from '@semcore/dropdown';
8
- import { Box, BoxProps, FlexProps } from '@semcore/flex-box';
8
+ import { Box, BoxProps, FlexProps, Flex } from '@semcore/flex-box';
9
9
  import { ScrollAreaProps } from '@semcore/scroll-area';
10
10
 
11
11
  export type DropdownMenuSize = 'm' | 'l';
@@ -32,6 +32,10 @@ export type DropdownMenuProps = DropdownProps & {
32
32
  */
33
33
  onHighlightedIndexChange?: (highlightedIndex: number | null) => void;
34
34
  locale?: string;
35
+ /**
36
+ * Flag for menu that using as actions on DropdownMenu.Item
37
+ */
38
+ inlineActions?: boolean;
35
39
  };
36
40
 
37
41
  /** @deprecated */
@@ -116,6 +120,13 @@ export type DropdownMenuHandlers = DropdownHandlers & {
116
120
 
117
121
  export type DropdownMenuTriggerProps = DropdownTriggerProps;
118
122
 
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
+
119
130
  declare const DropdownMenu: Intergalactic.Component<
120
131
  'div',
121
132
  DropdownMenuProps,
@@ -130,6 +141,12 @@ declare const DropdownMenu: Intergalactic.Component<
130
141
  DropdownMenuContext,
131
142
  [handlers: DropdownMenuHandlers]
132
143
  >;
144
+ Actions: Intergalactic.Component<
145
+ typeof Flex,
146
+ DropdownMenuListProps,
147
+ DropdownMenuContext,
148
+ [handlers: DropdownMenuHandlers]
149
+ >;
133
150
  Menu: Intergalactic.Component<
134
151
  'div',
135
152
  DropdownMenuMenuProps,
@@ -143,19 +160,44 @@ declare const DropdownMenu: Intergalactic.Component<
143
160
  [handlers: DropdownMenuHandlers]
144
161
  > & {
145
162
  Addon: typeof Box;
163
+ Content: typeof Flex;
164
+ Hint: typeof Flex;
146
165
  };
166
+ /**
167
+ * @deprecated Use Group with title prop
168
+ */
147
169
  ItemTitle: Intergalactic.Component<'div', DropdownMenuItemTitleProps>;
170
+ /**
171
+ * @deprecated Use prop subTitle on Group or Item component
172
+ */
148
173
  ItemHint: Intergalactic.Component<'div', DropdownMenuItemHintProps>;
174
+ Group: Intergalactic.Component<'div', DropdownMenuGroupProps>;
175
+ /**
176
+ * @deprecated Use Item instead of Nesting
177
+ */
149
178
  Nesting: Intergalactic.Component<
150
179
  'div',
151
180
  DropdownMenuItemProps,
152
181
  DropdownMenuContext,
153
182
  [handlers: DropdownMenuHandlers]
154
183
  > & {
184
+ /**
185
+ * @deprecated Use Item instead of Nesting
186
+ */
155
187
  Trigger: Intergalactic.Component<'div', DropdownMenuItemProps>;
188
+ /**
189
+ * @deprecated Use Item instead of Nesting
190
+ */
156
191
  Item: Intergalactic.Component<'div', DropdownMenuItemProps>;
192
+ /**
193
+ * @deprecated Use Item instead of Nesting
194
+ */
157
195
  Addon: typeof Box;
158
196
  };
197
+
198
+ selectedIndexContext: React.Context<number>;
159
199
  };
160
200
 
161
201
  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.35.5",
4
+ "version": "4.38.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,10 +9,11 @@
9
9
  "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@semcore/dropdown": "4.36.3",
13
- "@semcore/flex-box": "5.31.2",
14
- "@semcore/scroll-area": "5.35.0",
15
- "@semcore/utils": "4.32.2",
12
+ "@semcore/dropdown": "4.36.4",
13
+ "@semcore/flex-box": "5.32.0",
14
+ "@semcore/scroll-area": "5.36.0",
15
+ "@semcore/utils": "4.35.0",
16
+ "@semcore/icon": "4.44.1",
16
17
  "classnames": "2.2.6"
17
18
  },
18
19
  "peerDependencies": {
@@ -31,7 +32,7 @@
31
32
  "@semcore/testing-utils": "1.0.0",
32
33
  "@semcore/base-trigger": "4.26.1",
33
34
  "@semcore/icon": "4.26.0",
34
- "@semcore/button": "5.35.2"
35
+ "@semcore/button": "5.36.0"
35
36
  },
36
37
  "scripts": {
37
38
  "build": "pnpm semcore-builder --source=js"