@semcore/dropdown-menu 4.29.1 → 4.29.2-prerelease.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [4.29.2] - 2024-05-15
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- If currently highlighted item was hidden (e.g. with filtering), items keyboard navigation was not working.
|
|
10
|
+
|
|
5
11
|
## [4.29.1] - 2024-05-13
|
|
6
12
|
|
|
7
13
|
### Fixed
|
package/lib/cjs/DropdownMenu.js
CHANGED
|
@@ -34,22 +34,22 @@ var _getFocusableIn = require("@semcore/utils/lib/focus-lock/getFocusableIn");
|
|
|
34
34
|
var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
|
|
35
35
|
var _excluded = ["className"];
|
|
36
36
|
/*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
|
37
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
38
|
-
"__SDropdownMenuList": "
|
|
39
|
-
"__SDropdownMenuItem": "
|
|
40
|
-
"_highlighted": "
|
|
41
|
-
"_disabled": "
|
|
42
|
-
"_size_l": "
|
|
43
|
-
"_size_m": "
|
|
44
|
-
"_visible": "
|
|
45
|
-
"_nesting-trigger": "__nesting-
|
|
46
|
-
"__SDropdownMenuNesting": "
|
|
47
|
-
"__SDropdownNestingItem": "
|
|
48
|
-
"_selected": "
|
|
49
|
-
"_notInteractive": "
|
|
50
|
-
"_variant_hint": "
|
|
51
|
-
"_variant_title": "
|
|
52
|
-
"__SDropdownMenuItemAddon": "
|
|
37
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_cjh9h_gg_,.___SDropdownMenuList_cjh9h_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_cjh9h_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_cjh9h_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_cjh9h_gg_:focus{outline:0}.___SDropdownMenuItem_cjh9h_gg_.__selected_cjh9h_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_.__selected_cjh9h_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_cjh9h_gg_.__highlighted_cjh9h_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_cjh9h_gg_.__disabled_cjh9h_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_cjh9h_gg_._size_l_cjh9h_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_cjh9h_gg_._size_m_cjh9h_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_cjh9h_gg_.__notInteractive_cjh9h_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_.__notInteractive_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_._variant_hint_cjh9h_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_._variant_hint_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_._variant_title_cjh9h_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_._variant_title_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_.__visible_cjh9h_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_cjh9h_gg_.__nesting-trigger_cjh9h_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_cjh9h_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_cjh9h_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_cjh9h_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_cjh9h_gg_,.___SDropdownMenuNesting_cjh9h_gg_._size_l_cjh9h_gg_,.___SDropdownMenuNesting_cjh9h_gg_._size_m_cjh9h_gg_{padding:0}.___SDropdownMenuNesting_cjh9h_gg_.__highlighted_cjh9h_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownNestingItem_cjh9h_gg_._size_l_cjh9h_gg_,.___SDropdownNestingItem_cjh9h_gg_._size_m_cjh9h_gg_{padding-right:0}.___SDropdownNestingItem_cjh9h_gg_ .___SDropdownMenuItem_cjh9h_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}" /*__inner_css_end__*/, "cjh9h_gg_") /*__reshadow_css_end__*/, {
|
|
38
|
+
"__SDropdownMenuList": "___SDropdownMenuList_cjh9h_gg_",
|
|
39
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_cjh9h_gg_",
|
|
40
|
+
"_highlighted": "__highlighted_cjh9h_gg_",
|
|
41
|
+
"_disabled": "__disabled_cjh9h_gg_",
|
|
42
|
+
"_size_l": "_size_l_cjh9h_gg_",
|
|
43
|
+
"_size_m": "_size_m_cjh9h_gg_",
|
|
44
|
+
"_visible": "__visible_cjh9h_gg_",
|
|
45
|
+
"_nesting-trigger": "__nesting-trigger_cjh9h_gg_",
|
|
46
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_cjh9h_gg_",
|
|
47
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_cjh9h_gg_",
|
|
48
|
+
"_selected": "__selected_cjh9h_gg_",
|
|
49
|
+
"_notInteractive": "__notInteractive_cjh9h_gg_",
|
|
50
|
+
"_variant_hint": "_variant_hint_cjh9h_gg_",
|
|
51
|
+
"_variant_title": "_variant_title_cjh9h_gg_",
|
|
52
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_cjh9h_gg_"
|
|
53
53
|
});
|
|
54
54
|
var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
55
55
|
(0, _inherits2["default"])(DropdownMenuRoot, _Component);
|
|
@@ -436,6 +436,8 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
|
436
436
|
}
|
|
437
437
|
if ((_this$itemProps$newIn = this.itemProps[newIndex]) !== null && _this$itemProps$newIn !== void 0 && _this$itemProps$newIn.disabled) {
|
|
438
438
|
this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);
|
|
439
|
+
} else if (!this.itemProps[newIndex]) {
|
|
440
|
+
this.handlers.highlightedIndex(0, e);
|
|
439
441
|
} else {
|
|
440
442
|
this.handlers.highlightedIndex(newIndex, e);
|
|
441
443
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_classnames","_dropdown","_flexBox","_scrollArea","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_hasParent","_styleScrollArea","_setFocus","_isFocusInside","_getFocusableIn","_keyboardFocusEnhance","_excluded","style","sstyled","insert","DropdownMenuRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","focusLockItemIndex","keyboardFocused","React","createRef","trigger","triggerRef","current","isFocusInside","setFocus","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","getFocusableIn","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","relatedTarget","focused","hasParent","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","getNestingTriggerProps","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass2","value","uncontrolledProps","_this2","selectedItemIndex","itemProps","findIndex","selected","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","_this3","_this$asProps6","highlighted","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","triggerKeyboardFocused","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","Dropdown","assignProps","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref11","SDropdownMenuList","ScrollAreaComponent","styles","cn","_objectSpread2","scrollStyles","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","Item","_ref18","_ref4","_ref12","label","SDropdownMenuItem","Flex","useRef","useFocusLock","NestingContext","createContext","Nesting","_ref19","_ref5","_ref13","SDropdownMenuNesting","contextValue","useMemo","Provider","NestingTrigger","_ref6","_ref14","nestingContext","useContext","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","NestingItem","_ref7","_ref15","SDropdownNestingItem","Addon","_useBox","useBox","forwardRef","_useBox2","_slicedToArray2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties2","_extends2","Hint","_ref8","_ref16","Title","_ref9","_ref17","Trigger","_ref20","_ref10","enhance","keyboardFocusEnhance","createComponent","ItemTitle","ItemHint","parent","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n } else {\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 },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (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 };\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 {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n this.highlightedItemRef.current = null;\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({\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, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingItem(props) {\n const { styles } = props;\n const SDropdownNestingItem = Root;\n\n return sstyled(styles)(<SDropdownNestingItem render={NestingTrigger} 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
|
+
{"version":3,"file":"DropdownMenu.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_classnames","_dropdown","_flexBox","_scrollArea","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_useFocusLock","_hasParent","_styleScrollArea","_setFocus","_isFocusInside","_getFocusableIn","_keyboardFocusEnhance","_excluded","style","sstyled","insert","DropdownMenuRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","focusLockItemIndex","keyboardFocused","React","createRef","trigger","triggerRef","current","isFocusInside","setFocus","place","e","amount","shiftKey","targetTagName","target","tagName","_this$asProps","asProps","visible","highlightedIndex","placement","key","includes","item","itemRefs","getFocusableIn","setState","handlers","state","verticalPlacement","startsWith","preventDefault","show","hide","visibleChanged","stopPropagation","focusable","focusedIndex","indexOf","document","activeElement","nextFocused","focus","prevFocused","moveHighlightedIndex","popperRef","focusTrigger","highlightedItemRef","click","ignoreTriggerKeyboardFocusUntil","Date","now","event","relatedTarget","focused","hasParent","_focusable$","itemIndex","currentTarget","handleNestingClick","size","onClick","onKeyDown","handleNestingKeyDown","lastUserInteraction","_this$asProps2","onNestedVisibleChange","handleNestedVisibleChange","getNestingTriggerProps","node","setTimeout","scrollIntoView","prevHighlightedIndex","block","inline","_createClass2","value","uncontrolledProps","_this2","selectedItemIndex","itemProps","findIndex","selected","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","_this3","_this$asProps6","highlighted","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","triggerKeyboardFocused","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","Dropdown","assignProps","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref11","SDropdownMenuList","ScrollAreaComponent","styles","cn","_objectSpread2","scrollStyles","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","Item","_ref18","_ref4","_ref12","label","SDropdownMenuItem","Flex","useRef","useFocusLock","NestingContext","createContext","Nesting","_ref19","_ref5","_ref13","SDropdownMenuNesting","contextValue","useMemo","Provider","NestingTrigger","_ref6","_ref14","nestingContext","useContext","lastUserInteractionRef","useEffect","handleMouseEvent","useCallback","handleKeyboardEvent","addEventListener","capture","removeEventListener","NestingItem","_ref7","_ref15","SDropdownNestingItem","Addon","_useBox","useBox","forwardRef","_useBox2","_slicedToArray2","SDropdownMenuItemAddon","_useBox2$","className","other","_objectWithoutProperties2","_extends2","Hint","_ref8","_ref16","Title","_ref9","_ref17","Trigger","_ref20","_ref10","enhance","keyboardFocusEnhance","createComponent","ItemTitle","ItemHint","parent","_default","exports"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n } else {\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 },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (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 };\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() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n this.highlightedItemRef.current = null;\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({\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, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingItem(props) {\n const { styles } = props;\n const SDropdownNestingItem = Root;\n\n return sstyled(styles)(<SDropdownNestingItem render={NestingTrigger} 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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"}
|
|
@@ -11,12 +11,12 @@ var _core = require("@semcore/core");
|
|
|
11
11
|
*
|
|
12
12
|
* We will figure out what to do with it and remove it.
|
|
13
13
|
* */
|
|
14
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
15
|
-
"__SShadowHorizontal": "
|
|
16
|
-
"_position_median": "
|
|
17
|
-
"_position_start": "
|
|
18
|
-
"_position_end": "
|
|
19
|
-
"__SShadowVertical": "
|
|
14
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_8done_gg_:after,.___SShadowHorizontal_8done_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_8done_gg_._position_median_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_median_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_start_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_end_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_:after,.___SShadowVertical_8done_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_8done_gg_._position_median_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_median_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_start_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_end_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "8done_gg_") /*__reshadow_css_end__*/, {
|
|
15
|
+
"__SShadowHorizontal": "___SShadowHorizontal_8done_gg_",
|
|
16
|
+
"_position_median": "_position_median_8done_gg_",
|
|
17
|
+
"_position_start": "_position_start_8done_gg_",
|
|
18
|
+
"_position_end": "_position_end_8done_gg_",
|
|
19
|
+
"__SShadowVertical": "___SShadowVertical_8done_gg_"
|
|
20
20
|
});
|
|
21
21
|
var _default = scrollStyles;
|
|
22
22
|
exports["default"] = _default;
|
package/lib/es6/DropdownMenu.js
CHANGED
|
@@ -33,22 +33,22 @@ import { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';
|
|
|
33
33
|
import { hasParent } from '@semcore/utils/lib/hasParent';
|
|
34
34
|
import scrollStyles from './styleScrollArea';
|
|
35
35
|
/*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
|
36
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
37
|
-
"__SDropdownMenuList": "
|
|
38
|
-
"__SDropdownMenuItem": "
|
|
39
|
-
"_highlighted": "
|
|
40
|
-
"_disabled": "
|
|
41
|
-
"_size_l": "
|
|
42
|
-
"_size_m": "
|
|
43
|
-
"_visible": "
|
|
44
|
-
"_nesting-trigger": "__nesting-
|
|
45
|
-
"__SDropdownMenuNesting": "
|
|
46
|
-
"__SDropdownNestingItem": "
|
|
47
|
-
"_selected": "
|
|
48
|
-
"_notInteractive": "
|
|
49
|
-
"_variant_hint": "
|
|
50
|
-
"_variant_title": "
|
|
51
|
-
"__SDropdownMenuItemAddon": "
|
|
36
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDropdownMenuItem_cjh9h_gg_,.___SDropdownMenuList_cjh9h_gg_{position:relative;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_cjh9h_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0}.___SDropdownMenuItem_cjh9h_gg_{display:flex;align-items:center;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}}.___SDropdownMenuItem_cjh9h_gg_:focus{outline:0}.___SDropdownMenuItem_cjh9h_gg_.__selected_cjh9h_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));box-shadow:2px 0 0 0 var(--intergalactic-control-primary-info, #008ff8) inset}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_.__selected_cjh9h_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SDropdownMenuItem_cjh9h_gg_.__highlighted_cjh9h_gg_:not(:focus-within){z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownMenuItem_cjh9h_gg_.__disabled_cjh9h_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_cjh9h_gg_._size_l_cjh9h_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);min-height:40px}.___SDropdownMenuItem_cjh9h_gg_._size_m_cjh9h_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x, 8px);min-height:32px}.___SDropdownMenuItem_cjh9h_gg_.__notInteractive_cjh9h_gg_{cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_.__notInteractive_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_._variant_hint_cjh9h_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_._variant_hint_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_._variant_title_cjh9h_gg_{font-weight:var(--intergalactic-bold, 700);cursor:default}@media (hover:hover){.___SDropdownMenuItem_cjh9h_gg_._variant_title_cjh9h_gg_:hover{background:0 0}}.___SDropdownMenuItem_cjh9h_gg_.__visible_cjh9h_gg_{background-color:var(--intergalactic-dropdown-menu-item-hover, #f4f5f9)}.___SDropdownMenuItem_cjh9h_gg_.__nesting-trigger_cjh9h_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_cjh9h_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDropdownMenuItemAddon_cjh9h_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_cjh9h_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_cjh9h_gg_,.___SDropdownMenuNesting_cjh9h_gg_._size_l_cjh9h_gg_,.___SDropdownMenuNesting_cjh9h_gg_._size_m_cjh9h_gg_{padding:0}.___SDropdownMenuNesting_cjh9h_gg_.__highlighted_cjh9h_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownNestingItem_cjh9h_gg_._size_l_cjh9h_gg_,.___SDropdownNestingItem_cjh9h_gg_._size_m_cjh9h_gg_{padding-right:0}.___SDropdownNestingItem_cjh9h_gg_ .___SDropdownMenuItem_cjh9h_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}" /*__inner_css_end__*/, "cjh9h_gg_") /*__reshadow_css_end__*/, {
|
|
37
|
+
"__SDropdownMenuList": "___SDropdownMenuList_cjh9h_gg_",
|
|
38
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_cjh9h_gg_",
|
|
39
|
+
"_highlighted": "__highlighted_cjh9h_gg_",
|
|
40
|
+
"_disabled": "__disabled_cjh9h_gg_",
|
|
41
|
+
"_size_l": "_size_l_cjh9h_gg_",
|
|
42
|
+
"_size_m": "_size_m_cjh9h_gg_",
|
|
43
|
+
"_visible": "__visible_cjh9h_gg_",
|
|
44
|
+
"_nesting-trigger": "__nesting-trigger_cjh9h_gg_",
|
|
45
|
+
"__SDropdownMenuNesting": "___SDropdownMenuNesting_cjh9h_gg_",
|
|
46
|
+
"__SDropdownNestingItem": "___SDropdownNestingItem_cjh9h_gg_",
|
|
47
|
+
"_selected": "__selected_cjh9h_gg_",
|
|
48
|
+
"_notInteractive": "__notInteractive_cjh9h_gg_",
|
|
49
|
+
"_variant_hint": "_variant_hint_cjh9h_gg_",
|
|
50
|
+
"_variant_title": "_variant_title_cjh9h_gg_",
|
|
51
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_cjh9h_gg_"
|
|
52
52
|
});
|
|
53
53
|
import { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';
|
|
54
54
|
import { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';
|
|
@@ -439,6 +439,8 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
|
439
439
|
}
|
|
440
440
|
if ((_this$itemProps$newIn = this.itemProps[newIndex]) !== null && _this$itemProps$newIn !== void 0 && _this$itemProps$newIn.disabled) {
|
|
441
441
|
this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);
|
|
442
|
+
} else if (!this.itemProps[newIndex]) {
|
|
443
|
+
this.handlers.highlightedIndex(0, e);
|
|
442
444
|
} else {
|
|
443
445
|
this.handlers.highlightedIndex(newIndex, e);
|
|
444
446
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","ScrollAreaComponent","uniqueIDEnhancement","i18nEnhance","localizedMessages","useFocusLock","hasParent","scrollStyles","style","_sstyled","insert","setFocus","isFocusInside","getFocusableIn","keyboardFocusEnhance","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","value","uncontrolledProps","_this2","selectedItemIndex","itemProps","findIndex","selected","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","_this3","_this$asProps6","highlighted","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","triggerKeyboardFocused","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","_assignProps","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref11","SDropdownMenuList","styles","_objectSpread","_assignProps2","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps3","Item","_ref18","_ref4","_ref12","label","SDropdownMenuItem","useRef","_assignProps4","NestingContext","createContext","Nesting","_ref19","_ref5","_ref13","SDropdownMenuNesting","contextValue","useMemo","Provider","_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","_ref20","_ref10","_assignProps10","enhance","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n } else {\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 },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (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 };\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 {\n this.handlers.highlightedIndex(newIndex, e);\n }\n }\n\n componentDidUpdate() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n this.highlightedItemRef.current = null;\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({\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, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingItem(props) {\n const { styles } = props;\n const SDropdownNestingItem = Root;\n\n return sstyled(styles)(<SDropdownNestingItem render={NestingTrigger} 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
|
+
{"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","ScrollAreaComponent","uniqueIDEnhancement","i18nEnhance","localizedMessages","useFocusLock","hasParent","scrollStyles","style","_sstyled","insert","setFocus","isFocusInside","getFocusableIn","keyboardFocusEnhance","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","value","uncontrolledProps","_this2","selectedItemIndex","itemProps","findIndex","selected","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","_this3","_this$asProps6","highlighted","scrollToNode","focusLock","handleFocusOut","handleItemFocusOut","triggerKeyboardFocused","getItemHintProps","getItemTitleProps","_this$itemProps$newIn","itemsLastIndex","selectedIndex","newIndex","disabled","componentDidUpdate","_this4","render","_ref","Children","createElement","_assignProps","defaultVisible","defaultHighlightedIndex","i18n","locale","List","_ref2","arguments[0]","_ref11","SDropdownMenuList","styles","_objectSpread","_assignProps2","Menu","_ref3","disableEnforceFocus","autoFocus","animationsDisabled","popperProps","DropdownMenu","Popper","_assignProps3","Item","_ref18","_ref4","_ref12","label","SDropdownMenuItem","useRef","_assignProps4","NestingContext","createContext","Nesting","_ref19","_ref5","_ref13","SDropdownMenuNesting","contextValue","useMemo","Provider","_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","_ref20","_ref10","_assignProps10","enhance","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { hasParent } from '@semcore/utils/lib/hasParent';\n\nimport scrollStyles from './styleScrollArea';\nimport style from './style/dropdown-menu.shadow.css';\nimport { setFocus } from '@semcore/utils/lib/focus-lock/setFocus';\nimport { isFocusInside } from '@semcore/utils/lib/focus-lock/isFocusInside';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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: [\n null,\n (visible) => {\n if (!visible) {\n this.ignoreTriggerKeyboardFocusUntil = Date.now() + 100;\n } else {\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 },\n ],\n };\n }\n\n focusTrigger = () => {\n const trigger = this.triggerRef.current;\n if (!trigger) return;\n if (isFocusInside(trigger)) return;\n setFocus(trigger);\n };\n\n bindHandlerKeyDown = (place) => (e) => {\n const amount = e.shiftKey ? 5 : 1;\n const targetTagName = e.target.tagName;\n\n const { visible, highlightedIndex, placement } = this.asProps;\n\n if (e.key === ' ' && ['INPUT', 'TEXTAREA'].includes(targetTagName)) return;\n if (e.key === 'Enter' && targetTagName === 'TEXTAREA') return;\n if (\n place === 'popper' &&\n (e.key === ' ' || e.key === 'Enter') &&\n (targetTagName === 'BUTTON' || targetTagName === 'A')\n )\n return;\n\n if (visible && e.key === 'Tab') {\n const item = highlightedIndex !== null && this.itemRefs[highlightedIndex];\n if (item && getFocusableIn(item).length !== 0) {\n this.setState({ focusLockItemIndex: highlightedIndex });\n } else {\n this.handlers.highlightedIndex(null);\n }\n return;\n }\n\n if (e.key === 'Escape' && this.state.focusLockItemIndex !== null) {\n this.setState({ focusLockItemIndex: null });\n return false;\n }\n\n const verticalPlacement =\n !placement || placement.startsWith('top') || placement.startsWith('bottom');\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key) && verticalPlacement) {\n e.preventDefault();\n this.handlers.visible(true);\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.key) && !verticalPlacement) {\n const show =\n (e.key === 'ArrowRight' && placement.startsWith('right')) ||\n (e.key === 'ArrowLeft' && placement.startsWith('left'));\n const hide =\n (e.key === 'ArrowLeft' && placement.startsWith('right')) ||\n (e.key === 'ArrowRight' && placement.startsWith('left'));\n const visibleChanged = (visible && hide) || (!visible && show);\n if (show) {\n this.handlers.visible(true);\n } else if (hide) {\n this.handlers.visible(false);\n }\n if (visibleChanged) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n if (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 };\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() {\n if (!this.asProps.visible) {\n this.handlers.highlightedIndex(null);\n this.highlightedItemRef.current = null;\n }\n if (\n (this.state.focusLockItemIndex !== this.asProps.highlightedIndex || !this.asProps.visible) &&\n this.state.focusLockItemIndex !== null\n ) {\n setTimeout(() => {\n this.setState({ focusLockItemIndex: null });\n }, 0);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n const { uid } = props;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n tabIndex={null}\n role='menu'\n aria-labelledby={`igc-${uid}-trigger`}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu(props) {\n const {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n } = props;\n const popperProps = {\n visible,\n disablePortal,\n ignorePortalsStacking,\n disableEnforceFocus,\n interaction,\n autoFocus,\n animationsDisabled,\n };\n return (\n <DropdownMenu.Popper {...popperProps}>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item({\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, { capture: true });\n return () => {\n document.removeEventListener('mouseover', handleMouseEvent, { capture: true });\n document.removeEventListener('keydown', handleKeyboardEvent, { capture: true });\n };\n }, []);\n\n return (\n <NestingContext.Provider value={null}>\n {sstyled(styles)(\n <SDropdownMenuItem nesting-trigger tabIndex={!disabled ? 0 : undefined} render={Flex} />,\n )}\n </NestingContext.Provider>\n );\n}\n\nfunction NestingItem(props) {\n const { styles } = props;\n const SDropdownNestingItem = Root;\n\n return sstyled(styles)(<SDropdownNestingItem render={NestingTrigger} 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":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAOC,eAAe,IAAIC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACzE,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,SAASC,IAAI,EAAEC,MAAM,QAAQ,mBAAmB;AAChD,OAAOC,mBAAmB,MAAM,sBAAsB;AACtD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,WAAW,MAAM,yCAAyC;AACjE,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,SAASC,YAAY,QAAQ,qCAAqC;AAClE,SAASC,SAAS,QAAQ,8BAA8B;AAExD,OAAOC,YAAY,MAAM,mBAAmB;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAE7C,SAASC,QAAQ,QAAQ,wCAAwC;AACjE,SAASC,aAAa,QAAQ,6CAA6C;AAC3E,SAASC,cAAc,QAAQ,8CAA8C;AAC7E,OAAOC,oBAAoB,MAAM,kDAAkD;AAAC,IAE9EC,gBAAgB,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,gBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,gBAAA;EAAA,SAAAA,iBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,gBAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,YAcZ;MACNa,kBAAkB,EAAE,IAAI;MACxBC,eAAe,EAAE;IACnB,CAAC;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,6BAEW5B,KAAK,CAAC2C,SAAS,EAAE;IAAAJ,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,8BAChB5B,KAAK,CAAC2C,SAAS,EAAE;IAAAJ,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,gBAElB,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,eACH,EAAE;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sCAEQ5B,KAAK,CAAC2C,SAAS,EAAE;IAAAJ,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sCAEJ,CAAC;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BACZ,IAAI;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,mBAsBZ,YAAM;MACnB,IAAMgB,OAAO,GAAGhB,KAAA,CAAKiB,UAAU,CAACC,OAAO;MACvC,IAAI,CAACF,OAAO,EAAE;MACd,IAAIxB,aAAa,CAACwB,OAAO,CAAC,EAAE;MAC5BzB,QAAQ,CAACyB,OAAO,CAAC;IACnB,CAAC;IAAAL,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,UAACmB,KAAK;MAAA,OAAK,UAACC,CAAC,EAAK;QACrC,IAAMC,MAAM,GAAGD,CAAC,CAACE,QAAQ,GAAG,CAAC,GAAG,CAAC;QACjC,IAAMC,aAAa,GAAGH,CAAC,CAACI,MAAM,CAACC,OAAO;QAEtC,IAAAC,aAAA,GAAiD1B,KAAA,CAAK2B,OAAO;UAArDC,OAAO,GAAAF,aAAA,CAAPE,OAAO;UAAEC,gBAAgB,GAAAH,aAAA,CAAhBG,gBAAgB;UAAEC,SAAS,GAAAJ,aAAA,CAATI,SAAS;QAE5C,IAAIV,CAAC,CAACW,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAACC,QAAQ,CAACT,aAAa,CAAC,EAAE;QACpE,IAAIH,CAAC,CAACW,GAAG,KAAK,OAAO,IAAIR,aAAa,KAAK,UAAU,EAAE;QACvD,IACEJ,KAAK,KAAK,QAAQ,KACjBC,CAAC,CAACW,GAAG,KAAK,GAAG,IAAIX,CAAC,CAACW,GAAG,KAAK,OAAO,CAAC,KACnCR,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,GAAG,CAAC,EAErD;QAEF,IAAIK,OAAO,IAAIR,CAAC,CAACW,GAAG,KAAK,KAAK,EAAE;UAC9B,IAAME,IAAI,GAAGJ,gBAAgB,KAAK,IAAI,IAAI7B,KAAA,CAAKkC,QAAQ,CAACL,gBAAgB,CAAC;UACzE,IAAII,IAAI,IAAIxC,cAAc,CAACwC,IAAI,CAAC,CAAC7B,MAAM,KAAK,CAAC,EAAE;YAC7CJ,KAAA,CAAKmC,QAAQ,CAAC;cAAEtB,kBAAkB,EAAEgB;YAAiB,CAAC,CAAC;UACzD,CAAC,MAAM;YACL7B,KAAA,CAAKoC,QAAQ,CAACP,gBAAgB,CAAC,IAAI,CAAC;UACtC;UACA;QACF;QAEA,IAAIT,CAAC,CAACW,GAAG,KAAK,QAAQ,IAAI/B,KAAA,CAAKqC,KAAK,CAACxB,kBAAkB,KAAK,IAAI,EAAE;UAChEb,KAAA,CAAKmC,QAAQ,CAAC;YAAEtB,kBAAkB,EAAE;UAAK,CAAC,CAAC;UAC3C,OAAO,KAAK;QACd;QAEA,IAAMyB,iBAAiB,GACrB,CAACR,SAAS,IAAIA,SAAS,CAACS,UAAU,CAAC,KAAK,CAAC,IAAIT,SAAS,CAACS,UAAU,CAAC,QAAQ,CAAC;QAE7E,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAACP,QAAQ,CAACZ,CAAC,CAACW,GAAG,CAAC,IAAIO,iBAAiB,EAAE;UACjElB,CAAC,CAACoB,cAAc,EAAE;UAClBxC,KAAA,CAAKoC,QAAQ,CAACR,OAAO,CAAC,IAAI,CAAC;QAC7B;QACA,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAACI,QAAQ,CAACZ,CAAC,CAACW,GAAG,CAAC,IAAI,CAACO,iBAAiB,EAAE;UACrE,IAAMG,IAAI,GACPrB,CAAC,CAACW,GAAG,KAAK,YAAY,IAAID,SAAS,CAACS,UAAU,CAAC,OAAO,CAAC,IACvDnB,CAAC,CAACW,GAAG,KAAK,WAAW,IAAID,SAAS,CAACS,UAAU,CAAC,MAAM,CAAE;UACzD,IAAMG,IAAI,GACPtB,CAAC,CAACW,GAAG,KAAK,WAAW,IAAID,SAAS,CAACS,UAAU,CAAC,OAAO,CAAC,IACtDnB,CAAC,CAACW,GAAG,KAAK,YAAY,IAAID,SAAS,CAACS,UAAU,CAAC,MAAM,CAAE;UAC1D,IAAMI,cAAc,GAAIf,OAAO,IAAIc,IAAI,IAAM,CAACd,OAAO,IAAIa,IAAK;UAC9D,IAAIA,IAAI,EAAE;YACRzC,KAAA,CAAKoC,QAAQ,CAACR,OAAO,CAAC,IAAI,CAAC;UAC7B,CAAC,MAAM,IAAIc,IAAI,EAAE;YACf1C,KAAA,CAAKoC,QAAQ,CAACR,OAAO,CAAC,KAAK,CAAC;UAC9B;UACA,IAAIe,cAAc,EAAE;YAClBvB,CAAC,CAACoB,cAAc,EAAE;YAClBpB,CAAC,CAACwB,eAAe,EAAE;YACnB;UACF;QACF;QACA,IAAIxB,CAAC,CAACW,GAAG,CAACQ,UAAU,CAAC,OAAO,CAAC,IAAI,CAACvC,KAAA,CAAKqC,KAAK,CAACvB,eAAe,EAAE;UAC5Dd,KAAA,CAAKmC,QAAQ,CAAC;YAAErB,eAAe,EAAE;UAAK,CAAC,CAAC;QAC1C;QACA,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAACkB,QAAQ,CAACZ,CAAC,CAACW,GAAG,CAAC,EAAE;UAC/C,IAAME,KAAI,GAAGJ,gBAAgB,KAAK,IAAI,IAAI7B,KAAA,CAAKkC,QAAQ,CAACL,gBAAgB,CAAC;UACzE,IAAMgB,SAAS,GAAGpD,cAAc,CAACwC,KAAI,CAAC;UACtC,IAAIY,SAAS,CAACzC,MAAM,GAAG,CAAC,IAAI6B,KAAI,EAAE;YAChC,IAAMa,YAAY,GAAGD,SAAS,CAACE,OAAO,CAACC,QAAQ,CAACC,aAAa,CAAC;YAC9D,IAAI7B,CAAC,CAACW,GAAG,KAAK,YAAY,EAAE;cAC1B,IAAIe,YAAY,KAAK,CAAC,CAAC,EAAE;gBACvB9C,KAAA,CAAKmC,QAAQ,CAAC;kBAAEtB,kBAAkB,EAAEgB;gBAAiB,CAAC,CAAC;cACzD;cACA,IAAMqB,WAAW,GAAGL,SAAS,CAACC,YAAY,GAAG,CAAC,CAAC;cAC/C,IAAII,WAAW,EAAE;gBACf9B,CAAC,CAACoB,cAAc,EAAE;gBAClBpB,CAAC,CAACwB,eAAe,EAAE;gBACnBM,WAAW,CAACC,KAAK,EAAE;cACrB;YACF,CAAC,MAAM,IAAI/B,CAAC,CAACW,GAAG,KAAK,WAAW,EAAE;cAChC,IAAIe,YAAY,KAAK,CAAC,EAAE;gBACtB9C,KAAA,CAAKmC,QAAQ,CAAC;kBAAEtB,kBAAkB,EAAE;gBAAK,CAAC,CAAC;cAC7C;cACA,IAAMuC,WAAW,GAAGP,SAAS,CAACC,YAAY,GAAG,CAAC,CAAC;cAC/C,IAAIM,WAAW,EAAE;gBACfhC,CAAC,CAACoB,cAAc,EAAE;gBAClBpB,CAAC,CAACwB,eAAe,EAAE;gBACnBQ,WAAW,CAACD,KAAK,EAAE;cACrB;YACF;UACF;QACF;QAEA,QAAQ/B,CAAC,CAACW,GAAG;UACX,KAAK,WAAW;YAAE;cAChB,IAAIH,OAAO,EAAE;gBACX5B,KAAA,CAAKqD,oBAAoB,CAAChC,MAAM,EAAED,CAAC,CAAC;gBACpC,IAAI5B,aAAa,CAACQ,KAAA,CAAKsD,SAAS,CAACpC,OAAO,CAAC,EAAE;kBACzClB,KAAA,CAAKuD,YAAY,EAAE;gBACrB;gBACAnC,CAAC,CAACoB,cAAc,EAAE;gBAClBpB,CAAC,CAACwB,eAAe,EAAE;cACrB;cACA;YACF;UACA,KAAK,SAAS;YAAE;cACd,IAAIhB,OAAO,EAAE;gBACX5B,KAAA,CAAKqD,oBAAoB,CAAC,CAAChC,MAAM,EAAED,CAAC,CAAC;gBACrC,IAAI5B,aAAa,CAACQ,KAAA,CAAKsD,SAAS,CAACpC,OAAO,CAAC,EAAE;kBACzClB,KAAA,CAAKuD,YAAY,EAAE;gBACrB;gBACAnC,CAAC,CAACoB,cAAc,EAAE;gBAClBpB,CAAC,CAACwB,eAAe,EAAE;cACrB;cACA;YACF;UACA,KAAK,GAAG;UACR,KAAK,OAAO;YACV,IAAI5C,KAAA,CAAKwD,kBAAkB,CAACtC,OAAO,IAAIW,gBAAgB,KAAK,IAAI,EAAE;cAChET,CAAC,CAACwB,eAAe,EAAE;cACnBxB,CAAC,CAACoB,cAAc,EAAE;cAClBxC,KAAA,CAAKwD,kBAAkB,CAACtC,OAAO,CAACuC,KAAK,EAAE;YACzC,CAAC,MAAM;cACL,IAAItC,KAAK,KAAK,SAAS,EAAE;gBACvBnB,KAAA,CAAKoC,QAAQ,CAACR,OAAO,CAAC,KAAK,CAAC;gBAE5BR,CAAC,CAACoB,cAAc,EAAE;cACpB;YACF;YACA;QAAM;MAEZ,CAAC;IAAA;IAAA7B,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,iCAE4B,YAAM;MACjC,IAAIA,KAAA,CAAK0D,+BAA+B,GAAGC,IAAI,CAACC,GAAG,EAAE,EAAE,OAAO,KAAK;IACrE,CAAC;IAAAjD,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,8CACyC,UAACc,eAAe,EAAK;MAC7Dd,KAAA,CAAKmC,QAAQ,CAAC;QAAErB,eAAe,EAAfA;MAAgB,CAAC,CAAC;IACpC,CAAC;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAwEoB,UAAC6D,KAAK,EAAK;MAC9B,IAAIA,KAAK,CAACC,aAAa,KAAK9D,KAAA,CAAKsD,SAAS,CAACpC,OAAO,EAAE;MACpD,IAAM6C,OAAO,GAAGF,KAAK,CAACC,aAAa;MAEnC,IAAI5E,SAAS,CAAC6E,OAAO,EAAE/D,KAAA,CAAKsD,SAAS,CAACpC,OAAO,CAAC,EAAE;QAC9ClB,KAAA,CAAKoC,QAAQ,CAACP,gBAAgB,CAAC,IAAI,CAAC;QACpC7B,KAAA,CAAKmC,QAAQ,CAAC;UAAEtB,kBAAkB,EAAE;QAAK,CAAC,CAAC;QAC3CkD,OAAO,CAACZ,KAAK,EAAE;MACjB;IACF,CAAC;IAAAxC,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,UAAC6D,KAAK,EAAK;MAAA,IAAAG,WAAA;MAC9B,IAAMC,SAAS,GAAGjE,KAAA,CAAKkC,QAAQ,CAACa,OAAO,CAACc,KAAK,CAACK,aAAa,CAAC;MAC5D,IAAID,SAAS,KAAK,CAAC,CAAC,EAAE;MACtB,IAAMpB,SAAS,GAAGpD,cAAc,CAACoE,KAAK,CAACK,aAAa,CAAC;MACrD,CAAAF,WAAA,GAAAnB,SAAS,CAAC,CAAC,CAAC,cAAAmB,WAAA,uBAAZA,WAAA,CAAcb,KAAK,EAAE;MACrB,IAAIN,SAAS,CAAC,CAAC,CAAC,IAAI7C,KAAA,CAAKqC,KAAK,CAACxB,kBAAkB,KAAK,IAAI,EAAE;QAC1Db,KAAA,CAAKmC,QAAQ,CAAC;UAAEtB,kBAAkB,EAAE;QAAK,CAAC,CAAC;QAC3CgD,KAAK,CAACrB,cAAc,EAAE;QACtBqB,KAAK,CAACjB,eAAe,EAAE;MACzB;IACF,CAAC;IAAAjC,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BACsB,UAAC6D,KAAK,EAAK;MAChC,IAAIA,KAAK,CAAC9B,GAAG,KAAK,GAAG,EAAE;QACrB/B,KAAA,CAAKmE,kBAAkB,CAACN,KAAK,CAAC;MAChC;IACF,CAAC;IAAAlD,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sBACiB,YAAM;MACtB,IAAQoE,IAAI,GAAKpE,KAAA,CAAK2B,OAAO,CAArByC,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA,IAAI;QACJC,OAAO,EAAErE,KAAA,CAAKmE,kBAAkB;QAChCG,SAAS,EAAEtE,KAAA,CAAKuE;MAClB,CAAC;IACH,CAAC;IAAA5D,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,gCAC2B,UAACwE,mBAAmB,EAAK;MACnD,IACExE,KAAA,CAAK2B,OAAO,CAACC,OAAO,IACpB5B,KAAA,CAAK2B,OAAO,CAACE,gBAAgB,KAAK,IAAI,IACtC2C,mBAAmB,KAAK,UAAU,EAClC;QACAxE,KAAA,CAAKoC,QAAQ,CAACP,gBAAgB,CAAC,CAAC,CAAC;MACnC;IACF,CAAC;IAAAlB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,6BACwB,YAAM;MAC7B,IAAAyE,cAAA,GAA0BzE,KAAA,CAAK2B,OAAO;QAA9ByC,IAAI,GAAAK,cAAA,CAAJL,IAAI;QAAExC,OAAO,GAAA6C,cAAA,CAAP7C,OAAO;MACrB,OAAO;QACLwC,IAAI,EAAJA,IAAI;QACJxC,OAAO,EAAPA,OAAO;QACP8C,qBAAqB,EAAE1E,KAAA,CAAK2E;MAC9B,CAAC;IACH,CAAC;IAAAhE,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,0BACqB,YAAM;MAC1B,OAAOA,KAAA,CAAK4E,sBAAsB,EAAE;IACtC,CAAC;IAAAjE,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,mBAgBc,UAAC6E,IAAI,EAAK;MACvB,IAAIA,IAAI,EAAE;QACR7E,KAAA,CAAKwD,kBAAkB,CAACtC,OAAO,GAAG2D,IAAI;MACxC;MACAC,UAAU,CAAC,YAAM;QACf,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,cAAc,EAAE;UACxB,IAAI/E,KAAA,CAAK2B,OAAO,CAACE,gBAAgB,KAAK7B,KAAA,CAAKgF,oBAAoB,EAAE;YAC/DhF,KAAA,CAAKgF,oBAAoB,GAAGhF,KAAA,CAAK2B,OAAO,CAACE,gBAAgB;YACzDgD,IAAI,CAACE,cAAc,CAAC;cAClBE,KAAK,EAAE,SAAS;cAChBC,MAAM,EAAE;YACV,CAAC,CAAC;UACJ;QACF;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA,OAAAlF,KAAA;EAAA;EAAAmF,YAAA,CAAAxF,gBAAA;IAAAoC,GAAA;IAAAqD,KAAA,EA7TD,SAAAC,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAO;QACLzD,gBAAgB,EAAE,IAAI;QACtBD,OAAO,EAAE,CACP,IAAI,EACJ,UAACA,OAAO,EAAK;UACX,IAAI,CAACA,OAAO,EAAE;YACZ0D,MAAI,CAAC5B,+BAA+B,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAG,GAAG;UACzD,CAAC,MAAM;YACLkB,UAAU,CAAC,YAAM;cACf,IAAMS,iBAAiB,GAAGD,MAAI,CAACE,SAAS,CAACC,SAAS,CAAC,UAACxD,IAAI;gBAAA,OAAKA,IAAI,CAACyD,QAAQ;cAAA,EAAC;cAC3E,IAAIH,iBAAiB,KAAK,CAAC,CAAC,IAAID,MAAI,CAAC3D,OAAO,CAACE,gBAAgB,KAAK,IAAI,EAAE;cACxEyD,MAAI,CAAClD,QAAQ,CAACP,gBAAgB,CAAC0D,iBAAiB,CAAC;YACnD,CAAC,EAAE,CAAC,CAAC;UACP;QACF,CAAC;MAEL,CAAC;IACH;EAAC;IAAAxD,GAAA;IAAAqD,KAAA,EAgJD,SAAAO,gBAAA,EAAkB;MAChB,IAAAC,cAAA,GAA6E,IAAI,CAACjE,OAAO;QAAjFyC,IAAI,GAAAwB,cAAA,CAAJxB,IAAI;QAAEyB,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEC,aAAa,GAAAF,cAAA,CAAbE,aAAa;QAAElE,OAAO,GAAAgE,cAAA,CAAPhE,OAAO;QAAEmE,WAAW,GAAAH,cAAA,CAAXG,WAAW;QAAElE,gBAAgB,GAAA+D,cAAA,CAAhB/D,gBAAgB;MAExE,OAAO;QACLuC,IAAI,EAAJA,IAAI;QACJ4B,EAAE,SAAAtF,MAAA,CAASmF,GAAG,aAAU;QACxB,eAAe,SAAAnF,MAAA,CAASmF,GAAG,YAAS;QACpCI,SAAS,EAAErE,OAAO,IAAI,CAACkE,aAAa,GAAGC,WAAW,CAAC,aAAa,CAAC,GAAGG,SAAS;QAC7E,eAAe,EAAEtE,OAAO,GAAG,MAAM,GAAG,OAAO;QAC3C,uBAAuB,EACrBA,OAAO,IAAIC,gBAAgB,KAAK,IAAI,UAAAnB,MAAA,CAAUmF,GAAG,cAAAnF,MAAA,CAAWmB,gBAAgB,IAAKqE,SAAS;QAC5F5B,SAAS,EAAE,IAAI,CAAC6B,kBAAkB,CAAC,SAAS,CAAC;QAC7CC,GAAG,EAAE,IAAI,CAACnF,UAAU;QACpBoF,eAAe,EAAE,IAAI,CAACC,0BAA0B;QAChDC,4BAA4B,EAAE,IAAI,CAACC;MACrC,CAAC;IACH;EAAC;IAAAzE,GAAA;IAAAqD,KAAA,EAED,SAAAqB,aAAA,EAAe;MACb,IAAAC,cAAA,GAAsB,IAAI,CAAC/E,OAAO;QAA1ByC,IAAI,GAAAsC,cAAA,CAAJtC,IAAI;QAAEyB,GAAG,GAAAa,cAAA,CAAHb,GAAG;MACjB,OAAO;QACLzB,IAAI,EAAJA,IAAI;QACJyB,GAAG,EAAHA,GAAG;QACHc,KAAK,EAAE,IAAI,CAAChF,OAAO,CAACE;MACtB,CAAC;IACH;EAAC;IAAAE,GAAA;IAAAqD,KAAA,EAED,SAAAwB,eAAA,EAAiB;MACf,IAAAC,cAAA,GACE,IAAI,CAAClF,OAAO;QADNkE,GAAG,GAAAgB,cAAA,CAAHhB,GAAG;QAAEC,aAAa,GAAAe,cAAA,CAAbf,aAAa;QAAEgB,qBAAqB,GAAAD,cAAA,CAArBC,qBAAqB;QAAEC,WAAW,GAAAF,cAAA,CAAXE,WAAW;QAAElF,gBAAgB,GAAAgF,cAAA,CAAhBhF,gBAAgB;MAGhF,OAAO;QACLuE,GAAG,EAAE,IAAI,CAAC9C,SAAS;QACnB0D,QAAQ,EAAE,CAAC;QACX1C,SAAS,EAAE,IAAI,CAAC6B,kBAAkB,CAAC,QAAQ,CAAC;QAC5CH,EAAE,SAAAtF,MAAA,CAASmF,GAAG,YAAS;QACvBC,aAAa,EAAbA,aAAa;QACbgB,qBAAqB,EAArBA,qBAAqB;QACrBG,WAAW,EAAEF,WAAW,KAAK,OAAO;QACpCG,SAAS,EAAErF,gBAAgB,KAAK;MAClC,CAAC;IACH;EAAC;IAAAE,GAAA;IAAAqD,KAAA,EAED,SAAA+B,aAAaC,KAAK,EAAET,KAAK,EAAE;MAAA,IAAAU,MAAA;MACzB,IAAAC,cAAA,GAAwC,IAAI,CAAC3F,OAAO;QAA5CyC,IAAI,GAAAkD,cAAA,CAAJlD,IAAI;QAAEvC,gBAAgB,GAAAyF,cAAA,CAAhBzF,gBAAgB;QAAEgE,GAAG,GAAAyB,cAAA,CAAHzB,GAAG;MACnC,IAAM0B,WAAW,GAAGZ,KAAK,KAAK9E,gBAAgB;MAC9C,IAAIuE,GAAG,GAAG,SAAAA,IAACvB,IAAI,EAAK;QAClBwC,MAAI,CAACnF,QAAQ,CAACyE,KAAK,CAAC,GAAG9B,IAAI;MAC7B,CAAC;MACD,IAAI,CAACW,SAAS,CAACmB,KAAK,CAAC,GAAGS,KAAK;MAC7B,IAAIG,WAAW,EAAE;QACfnB,GAAG,GAAG,SAAAA,IAACvB,IAAI,EAAK;UACdwC,MAAI,CAACnF,QAAQ,CAACyE,KAAK,CAAC,GAAG9B,IAAI;UAC3BwC,MAAI,CAACG,YAAY,CAAC3C,IAAI,CAAC;QACzB,CAAC;MACH;MAEA,OAAO;QACLmB,EAAE,SAAAtF,MAAA,CAASmF,GAAG,cAAAnF,MAAA,CAAWiG,KAAK,CAAE;QAChCvC,IAAI,EAAJA,IAAI;QACJmD,WAAW,EAAXA,WAAW;QACXE,SAAS,EAAE,IAAI,CAACpF,KAAK,CAACxB,kBAAkB,KAAK8F,KAAK;QAClD1F,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BmF,GAAG,EAAHA,GAAG;QACHO,KAAK,EAALA,KAAK;QACLe,cAAc,EAAE,IAAI,CAACC,kBAAkB;QACvCC,sBAAsB,EAAE,IAAI,CAACvF,KAAK,CAACvB;MACrC,CAAC;IACH;EAAC;IAAAiB,GAAA;IAAAqD,KAAA,EA0DD,SAAAyC,iBAAA,EAAmB;MACjB,IAAQzD,IAAI,GAAK,IAAI,CAACzC,OAAO,CAArByC,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAArC,GAAA;IAAAqD,KAAA,EAED,SAAA0C,kBAAA,EAAoB;MAClB,IAAQ1D,IAAI,GAAK,IAAI,CAACzC,OAAO,CAArByC,IAAI;MACZ,OAAO;QACLA,IAAI,EAAJA;MACF,CAAC;IACH;EAAC;IAAArC,GAAA;IAAAqD,KAAA,EAmBD,SAAA/B,qBAAqBhC,MAAM,EAAED,CAAC,EAAE;MAAA,IAAA2G,qBAAA;MAC9B,IAAMlG,gBAAgB,GAAK,IAAI,CAACF,OAAO,CAAjCE,gBAAgB;MACtB,IAAMmG,cAAc,GAAG,IAAI,CAACxC,SAAS,CAACpF,MAAM,GAAG,CAAC;MAChD,IAAM6H,aAAa,GAAG,IAAI,CAACzC,SAAS,CAACC,SAAS,CAAC,UAACxD,IAAI;QAAA,OAAKA,IAAI,CAACyD,QAAQ;MAAA,EAAC;MAEvE,IAAIsC,cAAc,GAAG,CAAC,EAAE;MAExB,IAAInG,gBAAgB,IAAI,IAAI,EAAE;QAC5B,IAAIoG,aAAa,KAAK,CAAC,CAAC,EAAE;UACxBpG,gBAAgB,GAAGoG,aAAa;QAClC,CAAC,MAAM,IAAI,IAAI,CAACzE,kBAAkB,CAACtC,OAAO,EAAE;UAC1CW,gBAAgB,GAAG,IAAI,CAACmD,oBAAoB;QAC9C,CAAC,MAAM;UACLnD,gBAAgB,GAAGR,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG2G,cAAc;QACpD;MACF;MAEA,IAAIE,QAAQ,GAAGrG,gBAAgB,GAAGR,MAAM;MACxC,IAAI6G,QAAQ,GAAG,CAAC,EAAE;QAChBA,QAAQ,GAAG7G,MAAM,GAAG2G,cAAc,GAAG,CAAC;MACxC,CAAC,MAAM,IAAIE,QAAQ,GAAGF,cAAc,EAAE;QACpCE,QAAQ,GAAGA,QAAQ,GAAGF,cAAc,GAAG,CAAC;MAC1C;MAEA,KAAAD,qBAAA,GAAI,IAAI,CAACvC,SAAS,CAAC0C,QAAQ,CAAC,cAAAH,qBAAA,eAAxBA,qBAAA,CAA0BI,QAAQ,EAAE;QACtC,IAAI,CAAC9E,oBAAoB,CAAChC,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC,EAAED,CAAC,CAAC;MACpE,CAAC,MAAM,IAAI,CAAC,IAAI,CAACoE,SAAS,CAAC0C,QAAQ,CAAC,EAAE;QACpC,IAAI,CAAC9F,QAAQ,CAACP,gBAAgB,CAAC,CAAC,EAAET,CAAC,CAAC;MACtC,CAAC,MAAM;QACL,IAAI,CAACgB,QAAQ,CAACP,gBAAgB,CAACqG,QAAQ,EAAE9G,CAAC,CAAC;MAC7C;IACF;EAAC;IAAAW,GAAA;IAAAqD,KAAA,EAED,SAAAgD,mBAAA,EAAqB;MAAA,IAAAC,MAAA;MACnB,IAAI,CAAC,IAAI,CAAC1G,OAAO,CAACC,OAAO,EAAE;QACzB,IAAI,CAACQ,QAAQ,CAACP,gBAAgB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC2B,kBAAkB,CAACtC,OAAO,GAAG,IAAI;MACxC;MACA,IACE,CAAC,IAAI,CAACmB,KAAK,CAACxB,kBAAkB,KAAK,IAAI,CAACc,OAAO,CAACE,gBAAgB,IAAI,CAAC,IAAI,CAACF,OAAO,CAACC,OAAO,KACzF,IAAI,CAACS,KAAK,CAACxB,kBAAkB,KAAK,IAAI,EACtC;QACAiE,UAAU,CAAC,YAAM;UACfuD,MAAI,CAAClG,QAAQ,CAAC;YAAEtB,kBAAkB,EAAE;UAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC;MACP;IACF;EAAC;IAAAkB,GAAA;IAAAqD,KAAA,EAED,SAAAkD,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAA5G,OAAA;MACP,IAAQ6G,QAAQ,GAAK,IAAI,CAAC7G,OAAO,CAAzB6G,QAAQ;MAEhB,IAAI,CAAChD,SAAS,GAAG,EAAE;MAEnB,oBACEpH,KAAA,CAAAqK,aAAA,CAAc/J,QAAQ,EAAAgK,YAAA,KAAAH,IAAA,gBACpBnK,KAAA,CAAAqK,aAAA,CAACD,QAAQ,OAAG,CACP;IAEX;EAAC;EAAA,OAAA7I,gBAAA;AAAA,EAvZ4BpB,SAAS;AAAAoC,eAAA,CAAlChB,gBAAgB,iBACC,cAAc;AAAAgB,eAAA,CAD/BhB,gBAAgB,WAELP,KAAK;AAAAuB,eAAA,CAFhBhB,gBAAgB,aAGH,CAACb,mBAAmB,EAAE,EAAEC,WAAW,CAACC,iBAAiB,CAAC,CAAC;AAAA2B,eAAA,CAHpEhB,gBAAgB,kBAKE;EACpByE,IAAI,EAAE,GAAG;EACTuE,cAAc,EAAE,KAAK;EACrBC,uBAAuB,EAAE,IAAI;EAC7BC,IAAI,EAAE7J,iBAAiB;EACvB8J,MAAM,EAAE,IAAI;EACZ/B,WAAW,EAAE;AACf,CAAC;AA8YH,SAASgC,IAAIA,CAAC3B,KAAK,EAAE;EAAA,IAAA4B,KAAA,GAAAC,YAAA;IAAAC,MAAA;EACnB,IAAMC,iBAAiB,GAKXtK,mBAAmB;EAJ/B,IAAQgH,GAAG,GAAKuB,KAAK,CAAbvB,GAAG;EAEX,OAAAqD,MAAA,GAAO1K,OAAO,CAAC4I,KAAK,CAACgC,MAAM,CAAC,eAC1BhL,KAAA,CAAAqK,aAAA,CAACU,iBAAiB,EAAAD,MAAA,CAAA7K,EAAA,sBAAAgL,aAAA,KAAAC,aAAA;IAAA,YAEN,IAAI;IAAA,QACT,MAAM;IAAA,0BAAA5I,MAAA,CACamF,GAAG;IAAA,UACnB,IAAI;IAAA,UACJ1G;EAAY,GAAA6J,KAAA,IACpB;AAEN;AAEA,SAASO,IAAIA,CAACnC,KAAK,EAAE;EAAA,IAAAoC,KAAA,GAAAP,YAAA;EACnB,IACErH,OAAO,GAOLwF,KAAK,CAPPxF,OAAO;IACPkE,aAAa,GAMXsB,KAAK,CANPtB,aAAa;IACbgB,qBAAqB,GAKnBM,KAAK,CALPN,qBAAqB;IACrB2C,mBAAmB,GAIjBrC,KAAK,CAJPqC,mBAAmB;IACnB1C,WAAW,GAGTK,KAAK,CAHPL,WAAW;IACX2C,SAAS,GAEPtC,KAAK,CAFPsC,SAAS;IACTC,kBAAkB,GAChBvC,KAAK,CADPuC,kBAAkB;EAEpB,IAAMC,WAAW,GAAG;IAClBhI,OAAO,EAAPA,OAAO;IACPkE,aAAa,EAAbA,aAAa;IACbgB,qBAAqB,EAArBA,qBAAqB;IACrB2C,mBAAmB,EAAnBA,mBAAmB;IACnB1C,WAAW,EAAXA,WAAW;IACX2C,SAAS,EAATA,SAAS;IACTC,kBAAkB,EAAlBA;EACF,CAAC;EACD,oBACEvL,KAAA,CAAAqK,aAAA,CAACoB,YAAY,CAACC,MAAM,EAAKF,WAAW,eAClCxL,KAAA,CAAAqK,aAAA,CAAcoB,YAAY,CAACd,IAAI,EAAAgB,aAAA,KAAAP,KAAA,EAAI,CACf;AAE1B;AAEA,SAASQ,IAAIA,CAAAC,MAAA,EASV;EAAA,IAAAC,KAAA,GAAAjB,YAAA;IAAAkB,MAAA;EAAA,IARDf,MAAM,GAAAa,MAAA,CAANb,MAAM;IACNgB,KAAK,GAAAH,MAAA,CAALG,KAAK;IACLnJ,UAAU,GAAAgJ,MAAA,CAAVhJ,UAAU;IACVwG,SAAS,GAAAwC,MAAA,CAATxC,SAAS;IACTU,QAAQ,GAAA8B,MAAA,CAAR9B,QAAQ;IACRZ,WAAW,GAAA0C,MAAA,CAAX1C,WAAW;IACXG,cAAc,GAAAuC,MAAA,CAAdvC,cAAc;IACdE,sBAAsB,GAAAqC,MAAA,CAAtBrC,sBAAsB;EAEtB,IAAMyC,iBAAiB,GAQX1L,IAAI;EAPhB,IAAMyH,GAAG,GAAGhI,KAAK,CAACkM,MAAM,EAAE;EAE1BrL,YAAY,CAACmH,GAAG,EAAE,KAAK,EAAEnF,UAAU,EAAE,CAACwG,SAAS,IAAIU,QAAQ,EAAE,IAAI,EAAET,cAAc,CAAC;EAElF,OAAAyC,MAAA,GAAO3L,OAAO,CAAC4K,MAAM,CAAC,eACpBhL,KAAA,CAAAqK,aAAA,CAAC4B,iBAAiB,EAAAF,MAAA,CAAA9L,EAAA,sBAAAgL,aAAA,KAAAkB,aAAA;IAAA,OACXnE,GAAG;IAAA,QAEH,UAAU;IAAA,YACL,CAAC,CAAC;IAAA,MACRgE,KAAK;IAAA,mBACQ,CAACjC,QAAQ,IAAIZ,WAAW,IAAIK;EAAsB,GAAAsC,KAAA,IACnE;AAEN;AAEA,IAAMM,cAAc,gBAAGpM,KAAK,CAACqM,aAAa,CAAC,IAAI,CAAC;AAEhD,SAASC,OAAOA,CAAAC,MAAA,EAAuB;EAAA,IAAAC,KAAA,GAAA3B,YAAA;IAAA4B,MAAA;EAAA,IAApBzB,MAAM,GAAAuB,MAAA,CAANvB,MAAM;IAAEjB,QAAQ,GAAAwC,MAAA,CAARxC,QAAQ;EACjC,IAAM2C,oBAAoB,GAK8CjB,YAAY,CAACG,IAAI;EAJzF,IAAMe,YAAY,GAAG3M,KAAK,CAAC4M,OAAO,CAAC;IAAA,OAAO;MAAE7C,QAAQ,EAARA;IAAS,CAAC;EAAA,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEpE,oBACE/J,KAAA,CAAAqK,aAAA,CAAC+B,cAAc,CAACS,QAAQ;IAAC7F,KAAK,EAAE2F;EAAa,IAAAF,MAAA,GAC1CrM,OAAO,CAAC4K,MAAM,CAAC,eAAChL,KAAA,CAAAqK,aAAA,CAACqC,oBAAoB,EAAAD,MAAA,CAAAxM,EAAA,yBAAAgL,aAAA,KAAA6B,aAAA;IAAA,iBAAe;EAAM,GAAAN,KAAA,IAA8B,EACjE;AAE9B;AAEA,SAASO,cAAcA,CAAC/D,KAAK,EAAE;EAAA,IAAAgE,KAAA,GAAAnC,YAAA;IAAAoC,MAAA;EAC7B,IAAQjC,MAAM,GAAqChC,KAAK,CAAhDgC,MAAM;IAAExH,OAAO,GAA4BwF,KAAK,CAAxCxF,OAAO;IAAE8C,qBAAqB,GAAK0C,KAAK,CAA/B1C,qBAAqB;EAC9C,IAAM2F,iBAAiB,GA4B+D1L,IAAI;EA3B1F,IAAM2M,cAAc,GAAGlN,KAAK,CAACmN,UAAU,CAACf,cAAc,CAAC;EACvD,IAAMrC,QAAQ,GAAGf,KAAK,CAACe,QAAQ,KAAImD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEnD,QAAQ;EAE3D,IAAMqD,sBAAsB,GAAGpN,KAAK,CAACkM,MAAM,CAACpE,SAAS,CAAC;EACtD9H,KAAK,CAACqN,SAAS,CAAC,YAAM;IACpB/G,qBAAqB,CAAC8G,sBAAsB,CAACtK,OAAO,CAAC;EACvD,CAAC,EAAE,CAACU,OAAO,CAAC,CAAC;EAEb,IAAM8J,gBAAgB,GAAGtN,KAAK,CAACuN,WAAW,CAAC,YAAM;IAC/CH,sBAAsB,CAACtK,OAAO,GAAG,OAAO;EAC1C,CAAC,EAAE,EAAE,CAAC;EACN,IAAM0K,mBAAmB,GAAGxN,KAAK,CAACuN,WAAW,CAAC,YAAM;IAClDH,sBAAsB,CAACtK,OAAO,GAAG,UAAU;EAC7C,CAAC,EAAE,EAAE,CAAC;EAEN9C,KAAK,CAACqN,SAAS,CAAC,YAAM;IACpBzI,QAAQ,CAAC6I,gBAAgB,CAAC,WAAW,EAAEH,gBAAgB,EAAE;MAAEI,OAAO,EAAE;IAAK,CAAC,CAAC;IAC3E9I,QAAQ,CAAC6I,gBAAgB,CAAC,SAAS,EAAED,mBAAmB,EAAE;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;IAC5E,OAAO,YAAM;MACX9I,QAAQ,CAAC+I,mBAAmB,CAAC,WAAW,EAAEL,gBAAgB,EAAE;QAAEI,OAAO,EAAE;MAAK,CAAC,CAAC;MAC9E9I,QAAQ,CAAC+I,mBAAmB,CAAC,SAAS,EAAEH,mBAAmB,EAAE;QAAEE,OAAO,EAAE;MAAK,CAAC,CAAC;IACjF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE1N,KAAA,CAAAqK,aAAA,CAAC+B,cAAc,CAACS,QAAQ;IAAC7F,KAAK,EAAE;EAAK,IAAAiG,MAAA,GAClC7M,OAAO,CAAC4K,MAAM,CAAC,eACdhL,KAAA,CAAAqK,aAAA,CAAC4B,iBAAiB,EAAAgB,MAAA,CAAAhN,EAAA,sBAAAgL,aAAA,KAAA2C,aAAA;IAAA;IAAA,YAA2B,CAAC7D,QAAQ,GAAG,CAAC,GAAGjC;EAAS,GAAAkF,KAAA,IAAkB,EAElE;AAE9B;AAEA,SAASa,WAAWA,CAAC7E,KAAK,EAAE;EAAA,IAAA8E,KAAA,GAAAjD,YAAA;IAAAkD,MAAA;EAC1B,IAAQ/C,MAAM,GAAKhC,KAAK,CAAhBgC,MAAM;EACd,IAAMgD,oBAAoB,GAE2BjB,cAAc;EAAnE,OAAAgB,MAAA,GAAO3N,OAAO,CAAC4K,MAAM,CAAC,eAAChL,KAAA,CAAAqK,aAAA,CAAC2D,oBAAoB,EAAAD,MAAA,CAAA9N,EAAA,yBAAAgL,aAAA,KAAAgD,aAAA;IAAA,YAAmC,CAAC;EAAC,GAAAH,KAAA,IAAI;AACvF;AAEA,SAASI,KAAKA,CAAClF,KAAK,EAAE;EACpB,IAAAmF,OAAA,GAA0D3N,MAAM,CAACwI,KAAK,EAAEA,KAAK,CAACoF,UAAU,CAAC;IAAAC,QAAA,GAAAC,cAAA,CAAAH,OAAA;IAAlFI,sBAAsB,GAAAF,QAAA;IAAAG,SAAA,GAAAH,QAAA;IAAII,SAAS,GAAAD,SAAA,CAATC,SAAS;IAAKC,KAAK,GAAAC,wBAAA,CAAAH,SAAA,EAAAI,SAAA;EACpD,IAAM5D,MAAM,GAAG5K,OAAO,CAAC4I,KAAK,CAACgC,MAAM,CAAC;EACpC,oBACEhL,KAAA,CAAAqK,aAAA,CAACkE,sBAAsB,EAAAM,QAAA;IACrBJ,SAAS,EAAExO,EAAE,CAAC+K,MAAM,CAAC/K,EAAE,CAAC,wBAAwB,EAAE+I,KAAK,CAAC,CAACyF,SAAS,EAAEA,SAAS,CAAC,IAAI3G;EAAU,GACxF4G,KAAK,EACT;AAEN;AAEA,SAASI,IAAIA,CAAC9F,KAAK,EAAE;EAAA,IAAA+F,KAAA,GAAAlE,YAAA;IAAAmE,MAAA;EACnB,IAAM/C,iBAAiB,GACiC1L,IAAI;EAA5D,OAAAyO,MAAA,GAAO5O,OAAO,CAAC4I,KAAK,CAACgC,MAAM,CAAC,eAAChL,KAAA,CAAAqK,aAAA,CAAC4B,iBAAiB,EAAA+C,MAAA,CAAA/O,EAAA,sBAAAgL,aAAA,KAAAgE,aAAA;IAAA,WAAuB;EAAM,GAAAF,KAAA,IAAG;AACjF;AAEA,SAASG,KAAKA,CAAClG,KAAK,EAAE;EAAA,IAAAmG,KAAA,GAAAtE,YAAA;IAAAuE,MAAA;EACpB,IAAMnD,iBAAiB,GACiC1L,IAAI;EAA5D,OAAA6O,MAAA,GAAOhP,OAAO,CAAC4I,KAAK,CAACgC,MAAM,CAAC,eAAChL,KAAA,CAAAqK,aAAA,CAAC4B,iBAAiB,EAAAmD,MAAA,CAAAnP,EAAA,sBAAAgL,aAAA,KAAAoE,aAAA;IAAA,WAAuB;EAAO,GAAAF,KAAA,IAAG;AAClF;AAEA,SAASG,OAAOA,CAAAC,MAAA,EAAoD;EAAA,IAAAC,MAAA,GAAA3E,YAAA;EAAA,IAAjDnI,eAAe,GAAA6M,MAAA,CAAf7M,eAAe;IAAEyF,4BAA4B,GAAAoH,MAAA,CAA5BpH,4BAA4B;EAC9DnI,KAAK,CAACqN,SAAS,CAAC,YAAM;IACpBlF,4BAA4B,CAACzF,eAAe,CAAC;EAC/C,CAAC,EAAE,CAACA,eAAe,EAAEyF,4BAA4B,CAAC,CAAC;EAEnD,oBAAOnI,KAAA,CAAAqK,aAAA,CAAc/J,QAAQ,CAACgP,OAAO,EAAAG,cAAA;IAAA,iBAAgB;EAAM,GAAAD,MAAA,EAAG;AAChE;AACAF,OAAO,CAACI,OAAO,GAAG,CAACpO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE/C,IAAMmK,YAAY,GAAGvL,eAAe,CAClCqB,gBAAgB,EAChB;EACE+N,OAAO,EAAPA,OAAO;EACP5D,MAAM,EAAEpL,QAAQ,CAACoL,MAAM;EACvBf,IAAI,EAAJA,IAAI;EACJQ,IAAI,EAAJA,IAAI;EACJS,IAAI,EAAE,CAACA,IAAI,EAAE;IAAEsC,KAAK,EAALA;EAAM,CAAC,CAAC;EACvB5B,OAAO,EAAE,CAACA,OAAO,EAAE;IAAEgD,OAAO,EAAEvC,cAAc;IAAEmB,KAAK,EAALA,KAAK;IAAEtC,IAAI,EAAEiC;EAAY,CAAC,CAAC;EACzE8B,SAAS,EAAET,KAAK;EAChBU,QAAQ,EAAEd;AACZ,CAAC,EACD;EACEe,MAAM,EAAE,CAACvP,QAAQ;AACnB,CAAC,CACF;AAED,eAAemL,YAAY"}
|
|
@@ -5,12 +5,12 @@ import { sstyled as _sstyled } from "@semcore/core";
|
|
|
5
5
|
*
|
|
6
6
|
* We will figure out what to do with it and remove it.
|
|
7
7
|
* */
|
|
8
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
9
|
-
"__SShadowHorizontal": "
|
|
10
|
-
"_position_median": "
|
|
11
|
-
"_position_start": "
|
|
12
|
-
"_position_end": "
|
|
13
|
-
"__SShadowVertical": "
|
|
8
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_8done_gg_:after,.___SShadowHorizontal_8done_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowHorizontal_8done_gg_._position_median_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_median_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_start_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowHorizontal_8done_gg_._position_end_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_:after,.___SShadowVertical_8done_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SShadowVertical_8done_gg_._position_median_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_median_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_start_8done_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SShadowVertical_8done_gg_._position_end_8done_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}" /*__inner_css_end__*/, "8done_gg_") /*__reshadow_css_end__*/, {
|
|
9
|
+
"__SShadowHorizontal": "___SShadowHorizontal_8done_gg_",
|
|
10
|
+
"_position_median": "_position_median_8done_gg_",
|
|
11
|
+
"_position_start": "_position_start_8done_gg_",
|
|
12
|
+
"_position_end": "_position_end_8done_gg_",
|
|
13
|
+
"__SShadowVertical": "___SShadowVertical_8done_gg_"
|
|
14
14
|
});
|
|
15
15
|
export default scrollStyles;
|
|
16
16
|
//# sourceMappingURL=styleScrollArea.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/dropdown-menu",
|
|
3
3
|
"description": "Semrush DropdownMenu Component",
|
|
4
|
-
"version": "4.29.1",
|
|
4
|
+
"version": "4.29.2-prerelease.1",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@semcore/dropdown": "4.
|
|
13
|
-
"@semcore/flex-box": "5.
|
|
14
|
-
"@semcore/scroll-area": "5.
|
|
15
|
-
"@semcore/utils": "4.
|
|
12
|
+
"@semcore/dropdown": "4.27.0-prerelease.1",
|
|
13
|
+
"@semcore/flex-box": "5.24.0-prerelease.1",
|
|
14
|
+
"@semcore/scroll-area": "5.26.0-prerelease.1",
|
|
15
|
+
"@semcore/utils": "4.25.0-prerelease.1",
|
|
16
16
|
"classnames": "2.2.6"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@semcore/core": "^2.
|
|
19
|
+
"@semcore/core": "^2.22.0-prerelease.1",
|
|
20
20
|
"react": "16.8 - 18",
|
|
21
21
|
"react-dom": "16.8 - 18"
|
|
22
22
|
},
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@semcore/testing-utils": "1.0.0",
|
|
34
34
|
"@semcore/base-trigger": "4.26.1",
|
|
35
35
|
"@semcore/icon": "4.26.0",
|
|
36
|
-
"@semcore/button": "5.
|
|
36
|
+
"@semcore/button": "5.25.0-prerelease.1"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "pnpm semcore-builder --source=js"
|