@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.
- package/CHANGELOG.md +20 -0
- package/lib/cjs/DropdownMenu.js +449 -413
- package/lib/cjs/DropdownMenu.js.map +1 -1
- package/lib/cjs/DropdownMenuOld.js +682 -0
- package/lib/cjs/DropdownMenuOld.js.map +1 -0
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/index.js +7 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/dropdown-menu-old.shadow.css +224 -0
- package/lib/cjs/style/dropdown-menu.shadow.css +24 -14
- package/lib/es6/DropdownMenu.js +453 -414
- package/lib/es6/DropdownMenu.js.map +1 -1
- package/lib/es6/DropdownMenuOld.js +683 -0
- package/lib/es6/DropdownMenuOld.js.map +1 -0
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/dropdown-menu-old.shadow.css +224 -0
- package/lib/es6/style/dropdown-menu.shadow.css +24 -14
- package/lib/types/index.d.ts +43 -1
- package/package.json +7 -6
|
@@ -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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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -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
package/lib/es6/index.js.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
178
|
+
SDropdownMenuItemContainer[visible] {
|
|
181
179
|
background-color: var(--intergalactic-dropdown-menu-item-hover, #f4f5f9);
|
|
182
180
|
}
|
|
183
181
|
|
|
184
|
-
|
|
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
|
|
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
|
+
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
13
|
-
"@semcore/flex-box": "5.
|
|
14
|
-
"@semcore/scroll-area": "5.
|
|
15
|
-
"@semcore/utils": "4.
|
|
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
|
+
"@semcore/button": "5.36.0"
|
|
35
36
|
},
|
|
36
37
|
"scripts": {
|
|
37
38
|
"build": "pnpm semcore-builder --source=js"
|