@react-spectrum/menu 3.11.2-nightly.3976 → 3.11.2-nightly.3985
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/dist/import.mjs +3 -7
- package/dist/main.js +3 -7
- package/dist/main.js.map +1 -1
- package/dist/module.js +3 -7
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +29 -29
- package/src/Menu.tsx +31 -32
package/dist/import.mjs
CHANGED
|
@@ -704,12 +704,6 @@ function $49b26f4b606348f6$var$Menu(props, ref) {
|
|
|
704
704
|
}
|
|
705
705
|
}, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$FocusScope), {
|
|
706
706
|
contain: state.expandedKeys.size > 0
|
|
707
|
-
}, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
|
|
708
|
-
ref: scopedRef,
|
|
709
|
-
style: {
|
|
710
|
-
display: "inline-flex",
|
|
711
|
-
overflow: "hidden"
|
|
712
|
-
}
|
|
713
707
|
}, /*#__PURE__*/ (0, $9SHwR$react).createElement("ul", {
|
|
714
708
|
...menuProps,
|
|
715
709
|
...styleProps,
|
|
@@ -732,7 +726,9 @@ function $49b26f4b606348f6$var$Menu(props, ref) {
|
|
|
732
726
|
});
|
|
733
727
|
if (item.wrapper) menuItem = item.wrapper(menuItem);
|
|
734
728
|
return menuItem;
|
|
735
|
-
})))
|
|
729
|
+
})), /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
|
|
730
|
+
ref: scopedRef
|
|
731
|
+
})));
|
|
736
732
|
}
|
|
737
733
|
/**
|
|
738
734
|
* Menus display a list of actions or options that a user can choose.
|
package/dist/main.js
CHANGED
|
@@ -711,12 +711,6 @@ function $63a7dff9cbe2d046$var$Menu(props, ref) {
|
|
|
711
711
|
}
|
|
712
712
|
}, /*#__PURE__*/ (0, ($parcel$interopDefault($3ThwF$react))).createElement((0, $3ThwF$reactariafocus.FocusScope), {
|
|
713
713
|
contain: state.expandedKeys.size > 0
|
|
714
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($3ThwF$react))).createElement("div", {
|
|
715
|
-
ref: scopedRef,
|
|
716
|
-
style: {
|
|
717
|
-
display: "inline-flex",
|
|
718
|
-
overflow: "hidden"
|
|
719
|
-
}
|
|
720
714
|
}, /*#__PURE__*/ (0, ($parcel$interopDefault($3ThwF$react))).createElement("ul", {
|
|
721
715
|
...menuProps,
|
|
722
716
|
...styleProps,
|
|
@@ -739,7 +733,9 @@ function $63a7dff9cbe2d046$var$Menu(props, ref) {
|
|
|
739
733
|
});
|
|
740
734
|
if (item.wrapper) menuItem = item.wrapper(menuItem);
|
|
741
735
|
return menuItem;
|
|
742
|
-
})))))
|
|
736
|
+
})), /*#__PURE__*/ (0, ($parcel$interopDefault($3ThwF$react))).createElement("div", {
|
|
737
|
+
ref: scopedRef
|
|
738
|
+
})));
|
|
743
739
|
}
|
|
744
740
|
/**
|
|
745
741
|
* Menus display a list of actions or options that a user can choose.
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/menu/src/index.ts","packages/@react-spectrum/menu/src/MenuTrigger.tsx","packages/@react-spectrum/menu/src/context.ts","packages/@adobe/spectrum-css-temp/components/menu/vars.css","packages/@react-spectrum/menu/src/Menu.tsx","packages/@react-spectrum/menu/src/MenuItem.tsx","packages/@react-spectrum/menu/src/*.js","packages/@react-spectrum/menu/intl/ar-AE.json","packages/@react-spectrum/menu/intl/bg-BG.json","packages/@react-spectrum/menu/intl/cs-CZ.json","packages/@react-spectrum/menu/intl/da-DK.json","packages/@react-spectrum/menu/intl/de-DE.json","packages/@react-spectrum/menu/intl/el-GR.json","packages/@react-spectrum/menu/intl/en-US.json","packages/@react-spectrum/menu/intl/es-ES.json","packages/@react-spectrum/menu/intl/et-EE.json","packages/@react-spectrum/menu/intl/fi-FI.json","packages/@react-spectrum/menu/intl/fr-FR.json","packages/@react-spectrum/menu/intl/he-IL.json","packages/@react-spectrum/menu/intl/hr-HR.json","packages/@react-spectrum/menu/intl/hu-HU.json","packages/@react-spectrum/menu/intl/it-IT.json","packages/@react-spectrum/menu/intl/ja-JP.json","packages/@react-spectrum/menu/intl/ko-KR.json","packages/@react-spectrum/menu/intl/lt-LT.json","packages/@react-spectrum/menu/intl/lv-LV.json","packages/@react-spectrum/menu/intl/nb-NO.json","packages/@react-spectrum/menu/intl/nl-NL.json","packages/@react-spectrum/menu/intl/pl-PL.json","packages/@react-spectrum/menu/intl/pt-BR.json","packages/@react-spectrum/menu/intl/pt-PT.json","packages/@react-spectrum/menu/intl/ro-RO.json","packages/@react-spectrum/menu/intl/ru-RU.json","packages/@react-spectrum/menu/intl/sk-SK.json","packages/@react-spectrum/menu/intl/sl-SI.json","packages/@react-spectrum/menu/intl/sr-SP.json","packages/@react-spectrum/menu/intl/sv-SE.json","packages/@react-spectrum/menu/intl/tr-TR.json","packages/@react-spectrum/menu/intl/uk-UA.json","packages/@react-spectrum/menu/intl/zh-CN.json","packages/@react-spectrum/menu/intl/zh-TW.json","packages/@react-spectrum/menu/src/MenuSection.tsx","packages/@react-spectrum/menu/src/ActionMenu.tsx","packages/@react-spectrum/menu/src/MenuDialogTrigger.tsx","packages/@adobe/spectrum-css-temp/components/contextualhelp/vars.css"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {MenuTrigger} from './MenuTrigger';\nexport {Menu} from './Menu';\nexport {ActionMenu} from './ActionMenu';\nexport {MenuDialogTrigger} from './MenuDialogTrigger';\nexport {Item, Section} from '@react-stately/collections';\nexport type {SpectrumActionMenuProps, SpectrumMenuProps, SpectrumMenuTriggerProps} from '@react-types/menu';\nexport type {SpectrumMenuDialogTriggerProps} from './MenuDialogTrigger';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useDOMRef, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {MenuContext} from './context';\nimport {Placement} from '@react-types/overlays';\nimport {Popover, Tray} from '@react-spectrum/overlays';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {forwardRef, Fragment, useRef} from 'react';\nimport {SpectrumMenuTriggerProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenuTrigger} from '@react-aria/menu';\nimport {useMenuTriggerState} from '@react-stately/menu';\n\nfunction MenuTrigger(props: SpectrumMenuTriggerProps, ref: DOMRef<HTMLElement>) {\n let triggerRef = useRef<HTMLElement>();\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLUListElement>();\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n state,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile ? {\n width: '100%',\n maxHeight: 'inherit'\n } : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile})\n };\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n UNSAFE_style={{clipPath: 'unset'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>\n {overlay}\n </MenuContext.Provider>\n </Fragment>\n );\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nlet _MenuTrigger = forwardRef(MenuTrigger);\nexport {_MenuTrigger as MenuTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {FocusStrategy} from '@react-types/shared';\nimport {MenuTriggerState} from '@react-stately/menu';\nimport React, {HTMLAttributes, MutableRefObject, RefObject, useContext} from 'react';\nimport {TreeState} from '@react-stately/tree';\n\nexport interface MenuContextValue extends Omit<HTMLAttributes<HTMLElement>, 'autoFocus'> {\n onClose?: () => void,\n closeOnSelect?: boolean,\n shouldFocusWrap?: boolean,\n autoFocus?: boolean | FocusStrategy,\n ref?: MutableRefObject<HTMLUListElement>,\n state?: MenuTriggerState\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({});\n\nexport function useMenuContext(): MenuContextValue {\n return useContext(MenuContext);\n}\n\nexport interface MenuDialogContextValue {\n isUnavailable?: boolean,\n triggerRef?: MutableRefObject<HTMLLIElement>\n}\n\nexport const MenuDialogContext = React.createContext<MenuDialogContextValue | undefined>(undefined);\n\nexport function useMenuDialogContext(): MenuDialogContextValue {\n return useContext(MenuDialogContext);\n}\n\nexport interface MenuStateContextValue<T> {\n state?: TreeState<T>,\n container?: RefObject<HTMLElement>,\n menu?: RefObject<HTMLUListElement>\n}\n\nexport const MenuStateContext = React.createContext<MenuStateContextValue<any>>({});\n\nexport function useMenuStateContext<T>(): MenuStateContextValue<T> {\n return useContext(MenuStateContext);\n}\n\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {FocusScope} from '@react-aria/focus';\nimport {MenuContext, MenuStateContext} from './context';\nimport {MenuItem} from './MenuItem';\nimport {MenuSection} from './MenuSection';\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport React, {ReactElement, useContext, useRef} from 'react';\nimport {SpectrumMenuProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenu} from '@react-aria/menu';\nimport {useTreeState} from '@react-stately/tree';\n\nfunction Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLUListElement>) {\n let contextProps = useContext(MenuContext);\n let completeProps = {\n ...mergeProps(contextProps, props)\n };\n\n let domRef = useDOMRef(ref);\n let scopedRef = useRef(null);\n let state = useTreeState(completeProps);\n let {menuProps} = useMenu(completeProps, state, domRef);\n let {styleProps} = useStyleProps(completeProps);\n useSyncRef(contextProps, domRef);\n\n return (\n <MenuStateContext.Provider value={{state, container: scopedRef, menu: domRef}}>\n <FocusScope contain={state.expandedKeys.size > 0}>\n <div ref={scopedRef} style={{display: 'inline-flex', overflow: 'hidden'}}>\n <ul\n {...menuProps}\n {...styleProps}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-Menu',\n styleProps.className\n )\n }>\n {[...state.collection].map(item => {\n if (item.type === 'section') {\n return (\n <MenuSection\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n\n if (item.wrapper) {\n menuItem = item.wrapper(menuItem);\n }\n\n return menuItem;\n })}\n </ul>\n </div>\n </FocusScope>\n </MenuStateContext.Provider>\n );\n}\n\n/**\n * Menus display a list of actions or options that a user can choose.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Menu = React.forwardRef(Menu) as <T>(props: SpectrumMenuProps<T> & {ref?: DOMRef<HTMLUListElement>}) => ReactElement;\nexport {_Menu as Menu};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {DOMAttributes, Node} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useSlotId} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport InfoOutline from '@spectrum-icons/workflow/InfoOutline';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {Key, useMemo, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Text} from '@react-spectrum/text';\nimport {TreeState} from '@react-stately/tree';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useMenuContext, useMenuDialogContext} from './context';\nimport {useMenuItem} from '@react-aria/menu';\n\ninterface MenuItemProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n isVirtualized?: boolean,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuItem<T>(props: MenuItemProps<T>) {\n let {\n item,\n state,\n isVirtualized,\n onAction\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let menuDialogContext = useMenuDialogContext();\n let {triggerRef} = menuDialogContext || {};\n let isMenuDialogTrigger = !!menuDialogContext;\n let isUnavailable = false;\n\n if (isMenuDialogTrigger) {\n isUnavailable = menuDialogContext.isUnavailable;\n }\n\n let domProps = filterDOMProps(item.props);\n\n let {\n onClose,\n closeOnSelect\n } = useMenuContext();\n\n let {\n rendered,\n key\n } = item;\n\n let isSelected = state.selectionManager.isSelected(key);\n let isDisabled = state.disabledKeys.has(key);\n\n let itemref = useRef<HTMLLIElement>(null);\n let ref = useObjectRef(useMemo(() => mergeRefs(itemref, triggerRef), [itemref, triggerRef]));\n\n let {\n menuItemProps,\n labelProps,\n descriptionProps,\n keyboardShortcutProps\n } = useMenuItem(\n {\n isSelected,\n isDisabled,\n 'aria-label': item['aria-label'],\n key,\n onClose,\n closeOnSelect,\n isVirtualized,\n onAction,\n 'aria-haspopup': isMenuDialogTrigger ? 'dialog' : undefined\n },\n state,\n ref\n );\n let endId = useSlotId();\n let endProps: DOMAttributes = {};\n if (endId) {\n endProps.id = endId;\n menuItemProps['aria-describedby'] = [menuItemProps['aria-describedby'], endId].filter(Boolean).join(' ');\n }\n if (isUnavailable) {\n menuItemProps['aria-disabled'] = 'true';\n }\n\n let contents = typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <li\n {...mergeProps(menuItemProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Menu-item',\n {\n 'is-disabled': isDisabled,\n 'is-selected': isSelected,\n 'is-selectable': state.selectionManager.selectionMode !== 'none',\n 'is-open': state.expandedKeys.has(key)\n }\n )}>\n <Grid\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-itemGrid'\n )\n }>\n <ClearSlots>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: styles['spectrum-Menu-itemLabel'], ...labelProps},\n end: {UNSAFE_className: styles['spectrum-Menu-end'], ...endProps},\n icon: {UNSAFE_className: styles['spectrum-Menu-icon'], size: 'S'},\n description: {UNSAFE_className: styles['spectrum-Menu-description'], ...descriptionProps},\n keyboard: {UNSAFE_className: styles['spectrum-Menu-keyboard'], ...keyboardShortcutProps}\n }}>\n {contents}\n {isSelected &&\n <CheckmarkMedium\n slot=\"checkmark\"\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-checkmark'\n )\n } />\n }\n {\n isUnavailable && <InfoOutline slot=\"end\" size=\"XS\" alignSelf=\"center\" aria-label={stringFormatter.format('unavailable')} />\n }\n </SlotProvider>\n </ClearSlots>\n </Grid>\n </li>\n </FocusRing>\n );\n}\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"moreActions\": \"المزيد من الإجراءات\",\n \"unavailable\": \"غير متاح\"\n}\n","{\n \"moreActions\": \"Повече действия\",\n \"unavailable\": \"Недостъпен\"\n}\n","{\n \"moreActions\": \"Další akce\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Ikke tilgængelig\"\n}\n","{\n \"moreActions\": \"Mehr Aktionen\",\n \"unavailable\": \"Nicht verfügbar\"\n}\n","{\n \"moreActions\": \"Περισσότερες ενέργειες\",\n \"unavailable\": \"Μη διαθέσιμο\"\n}\n","{\n \"moreActions\": \"More actions\",\n \"unavailable\": \"Expand for details\"\n}\n","{\n \"moreActions\": \"Más acciones\",\n \"unavailable\": \"No disponible\"\n}\n","{\n \"moreActions\": \"Veel toiminguid\",\n \"unavailable\": \"Kättesaamatu\"\n}\n","{\n \"moreActions\": \"Lisää toimintoja\",\n \"unavailable\": \"Ei saatavilla\"\n}\n","{\n \"moreActions\": \"Autres actions\",\n \"unavailable\": \"Indisponible\"\n}\n","{\n \"moreActions\": \"פעולות נוספות\",\n \"unavailable\": \"לא זמין\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"További lehetőségek\",\n \"unavailable\": \"Nem érhető el\"\n}\n","{\n \"moreActions\": \"Altre azioni\",\n \"unavailable\": \"Non disponibile\"\n}\n","{\n \"moreActions\": \"その他のアクション\",\n \"unavailable\": \"使用不可\"\n}\n","{\n \"moreActions\": \"기타 액션\",\n \"unavailable\": \"사용할 수 없음\"\n}\n","{\n \"moreActions\": \"Daugiau veiksmų\",\n \"unavailable\": \"Nepasiekiama\"\n}\n","{\n \"moreActions\": \"Citas darbības\",\n \"unavailable\": \"Nav pieejams\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Utilgjengelig\"\n}\n","{\n \"moreActions\": \"Meer handelingen\",\n \"unavailable\": \"Niet beschikbaar\"\n}\n","{\n \"moreActions\": \"Więcej akcji\",\n \"unavailable\": \"Niedostępne\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mai multe acțiuni\",\n \"unavailable\": \"Indisponibil\"\n}\n","{\n \"moreActions\": \"Дополнительные действия\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"Ďalšie akcie\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Več možnosti\",\n \"unavailable\": \"Ni na voljo\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"Fler åtgärder\",\n \"unavailable\": \"Ej tillgänglig\"\n}\n","{\n \"moreActions\": \"Daha fazla eylem\",\n \"unavailable\": \"Kullanım dışı\"\n}\n","{\n \"moreActions\": \"Більше дій\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"更多操作\",\n \"unavailable\": \"不可用\"\n}\n","{\n \"moreActions\": \"更多動作\",\n \"unavailable\": \"無法使用\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {getChildNodes} from '@react-stately/collections';\nimport {MenuItem} from './MenuItem';\nimport {Node} from '@react-types/shared';\nimport React, {Fragment, Key} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {TreeState} from '@react-stately/tree';\nimport {useMenuSection} from '@react-aria/menu';\nimport {useSeparator} from '@react-aria/separator';\n\ninterface MenuSectionProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuSection<T>(props: MenuSectionProps<T>) {\n let {item, state, onAction} = props;\n let {itemProps, headingProps, groupProps} = useMenuSection({\n heading: item.rendered,\n 'aria-label': item['aria-label']\n });\n\n let {separatorProps} = useSeparator({\n elementType: 'li'\n });\n\n return (\n <Fragment>\n {item.key !== state.collection.getFirstKey() &&\n <li\n {...separatorProps}\n className={classNames(\n styles,\n 'spectrum-Menu-divider'\n )} />\n }\n <li {...itemProps}>\n {item.rendered &&\n <span\n {...headingProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu-sectionHeading'\n )\n }>\n {item.rendered}\n </span>\n }\n <ul\n {...groupProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu'\n )\n }>\n {[...getChildNodes(item, state.collection)].map(node => {\n let item = (\n <MenuItem\n key={node.key}\n item={node}\n state={state}\n onAction={onAction} />\n );\n\n if (node.wrapper) {\n item = node.wrapper(item);\n }\n\n return item;\n })}\n </ul>\n </li>\n </Fragment>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {FocusableRef} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu} from './Menu';\nimport {MenuTrigger} from './MenuTrigger';\nimport More from '@spectrum-icons/workflow/More';\nimport React, {forwardRef, ReactElement} from 'react';\nimport {SpectrumActionMenuProps} from '@react-types/menu';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSlotProps} from '@react-spectrum/utils';\n\nfunction ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {\n props = useSlotProps(props, 'actionMenu');\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let buttonProps = filterDOMProps(props, {labelable: true});\n if (buttonProps['aria-label'] === undefined) {\n buttonProps['aria-label'] = stringFormatter.format('moreActions');\n }\n\n return (\n <MenuTrigger\n isOpen={props.isOpen}\n defaultOpen={props.defaultOpen}\n onOpenChange={props.onOpenChange}\n align={props.align}\n direction={props.direction}\n shouldFlip={props.shouldFlip}>\n <ActionButton\n ref={ref}\n {...props}\n {...buttonProps}>\n <More />\n </ActionButton>\n <Menu\n children={props.children}\n items={props.items}\n disabledKeys={props.disabledKeys}\n onAction={props.onAction} />\n </MenuTrigger>\n );\n}\n\n/**\n * ActionMenu combines an ActionButton with a Menu for simple \"more actions\" use cases.\n */\nconst _ActionMenu = forwardRef(ActionMenu) as <T>(props: SpectrumActionMenuProps<T> & {ref?: FocusableRef<HTMLButtonElement>}) => ReactElement;\nexport {_ActionMenu as ActionMenu};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DismissButton} from '@react-aria/overlays';\nimport helpStyles from '@adobe/spectrum-css-temp/components/contextualhelp/vars.css';\nimport {ItemProps} from '@react-types/shared';\nimport {MenuDialogContext, useMenuStateContext} from './context';\nimport {Modal, Popover} from '@react-spectrum/overlays';\nimport React, {Key, ReactElement, useRef} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport interface SpectrumMenuDialogTriggerProps<T> extends ItemProps<T> {\n isUnavailable?: boolean,\n targetKey: Key\n}\n\nfunction MenuDialogTrigger<T>(props: SpectrumMenuDialogTriggerProps<T>): ReactElement {\n let {isUnavailable} = props;\n\n let triggerRef = useRef<HTMLLIElement>(null);\n let popoverRef = useRef(null);\n let {state: menuState, container, menu} = useMenuStateContext();\n let state = useOverlayTriggerState({isOpen: menuState.expandedKeys.has(props.targetKey), onOpenChange: (val) => {\n if (!val) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n }});\n let slots = {};\n if (isUnavailable) {\n slots = {\n dialog: {UNSAFE_className: classNames(helpStyles, 'react-spectrum-ContextualHelp-dialog')},\n content: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-content']},\n footer: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-footer']}\n };\n }\n let [trigger] = React.Children.toArray(props.children);\n let [, content] = props.children as [ReactElement, ReactElement];\n\n let isMobile = useIsMobileDevice();\n\n let onExit = () => {\n // if focus was already moved back to a menu item, don't need to do anything\n if (!menu.current.contains(document.activeElement)) {\n // need to return focus to the trigger because hitting Esc causes focus to go to the subdialog, which is then unmounted\n // this leads to blur never being fired nor focus on the body\n triggerRef.current.focus();\n }\n };\n let onBlurWithin = (e) => {\n if (e.relatedTarget && popoverRef.current && !popoverRef.current?.UNSAFE_getDOMNode().contains(e.relatedTarget)) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n };\n return (\n <>\n <MenuDialogContext.Provider value={{isUnavailable, triggerRef}}>{trigger}</MenuDialogContext.Provider>\n <SlotProvider slots={slots}>\n {\n isMobile ? (\n <Modal state={state} isDismissable>\n <DismissButton onDismiss={state.close} />\n {content}\n <DismissButton onDismiss={state.close} />\n </Modal>\n ) : (\n <Popover\n onExit={onExit}\n onBlurWithin={onBlurWithin}\n container={container.current}\n state={state}\n ref={popoverRef}\n triggerRef={triggerRef}\n placement=\"end top\"\n offset={-10}\n hideArrow\n isNonModal\n enableBothDismissButtons\n disableFocusManagement>\n {content}\n </Popover>\n )\n }\n </SlotProvider>\n </>\n );\n}\n\nMenuDialogTrigger.getCollectionNode = function* getCollectionNode<T>(props: ItemProps<T>) {\n let [trigger] = React.Children.toArray(props.children) as ReactElement[];\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {...trigger.props, hasChildItems: true}),\n wrapper: (element) => (\n <MenuDialogTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </MenuDialogTrigger>\n )\n };\n};\n\nlet _Item = MenuDialogTrigger as <T>(props: ItemProps<T> & {isUnavailable?: boolean}) => JSX.Element;\nexport {_Item as MenuDialogTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/menu/src/index.ts","packages/@react-spectrum/menu/src/MenuTrigger.tsx","packages/@react-spectrum/menu/src/context.ts","packages/@adobe/spectrum-css-temp/components/menu/vars.css","packages/@react-spectrum/menu/src/Menu.tsx","packages/@react-spectrum/menu/src/MenuItem.tsx","packages/@react-spectrum/menu/src/*.js","packages/@react-spectrum/menu/intl/ar-AE.json","packages/@react-spectrum/menu/intl/bg-BG.json","packages/@react-spectrum/menu/intl/cs-CZ.json","packages/@react-spectrum/menu/intl/da-DK.json","packages/@react-spectrum/menu/intl/de-DE.json","packages/@react-spectrum/menu/intl/el-GR.json","packages/@react-spectrum/menu/intl/en-US.json","packages/@react-spectrum/menu/intl/es-ES.json","packages/@react-spectrum/menu/intl/et-EE.json","packages/@react-spectrum/menu/intl/fi-FI.json","packages/@react-spectrum/menu/intl/fr-FR.json","packages/@react-spectrum/menu/intl/he-IL.json","packages/@react-spectrum/menu/intl/hr-HR.json","packages/@react-spectrum/menu/intl/hu-HU.json","packages/@react-spectrum/menu/intl/it-IT.json","packages/@react-spectrum/menu/intl/ja-JP.json","packages/@react-spectrum/menu/intl/ko-KR.json","packages/@react-spectrum/menu/intl/lt-LT.json","packages/@react-spectrum/menu/intl/lv-LV.json","packages/@react-spectrum/menu/intl/nb-NO.json","packages/@react-spectrum/menu/intl/nl-NL.json","packages/@react-spectrum/menu/intl/pl-PL.json","packages/@react-spectrum/menu/intl/pt-BR.json","packages/@react-spectrum/menu/intl/pt-PT.json","packages/@react-spectrum/menu/intl/ro-RO.json","packages/@react-spectrum/menu/intl/ru-RU.json","packages/@react-spectrum/menu/intl/sk-SK.json","packages/@react-spectrum/menu/intl/sl-SI.json","packages/@react-spectrum/menu/intl/sr-SP.json","packages/@react-spectrum/menu/intl/sv-SE.json","packages/@react-spectrum/menu/intl/tr-TR.json","packages/@react-spectrum/menu/intl/uk-UA.json","packages/@react-spectrum/menu/intl/zh-CN.json","packages/@react-spectrum/menu/intl/zh-TW.json","packages/@react-spectrum/menu/src/MenuSection.tsx","packages/@react-spectrum/menu/src/ActionMenu.tsx","packages/@react-spectrum/menu/src/MenuDialogTrigger.tsx","packages/@adobe/spectrum-css-temp/components/contextualhelp/vars.css"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {MenuTrigger} from './MenuTrigger';\nexport {Menu} from './Menu';\nexport {ActionMenu} from './ActionMenu';\nexport {MenuDialogTrigger} from './MenuDialogTrigger';\nexport {Item, Section} from '@react-stately/collections';\nexport type {SpectrumActionMenuProps, SpectrumMenuProps, SpectrumMenuTriggerProps} from '@react-types/menu';\nexport type {SpectrumMenuDialogTriggerProps} from './MenuDialogTrigger';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useDOMRef, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {MenuContext} from './context';\nimport {Placement} from '@react-types/overlays';\nimport {Popover, Tray} from '@react-spectrum/overlays';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {forwardRef, Fragment, useRef} from 'react';\nimport {SpectrumMenuTriggerProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenuTrigger} from '@react-aria/menu';\nimport {useMenuTriggerState} from '@react-stately/menu';\n\nfunction MenuTrigger(props: SpectrumMenuTriggerProps, ref: DOMRef<HTMLElement>) {\n let triggerRef = useRef<HTMLElement>();\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLUListElement>();\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n state,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile ? {\n width: '100%',\n maxHeight: 'inherit'\n } : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile})\n };\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n UNSAFE_style={{clipPath: 'unset'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>\n {overlay}\n </MenuContext.Provider>\n </Fragment>\n );\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nlet _MenuTrigger = forwardRef(MenuTrigger);\nexport {_MenuTrigger as MenuTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {FocusStrategy} from '@react-types/shared';\nimport {MenuTriggerState} from '@react-stately/menu';\nimport React, {HTMLAttributes, MutableRefObject, RefObject, useContext} from 'react';\nimport {TreeState} from '@react-stately/tree';\n\nexport interface MenuContextValue extends Omit<HTMLAttributes<HTMLElement>, 'autoFocus'> {\n onClose?: () => void,\n closeOnSelect?: boolean,\n shouldFocusWrap?: boolean,\n autoFocus?: boolean | FocusStrategy,\n ref?: MutableRefObject<HTMLUListElement>,\n state?: MenuTriggerState\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({});\n\nexport function useMenuContext(): MenuContextValue {\n return useContext(MenuContext);\n}\n\nexport interface MenuDialogContextValue {\n isUnavailable?: boolean,\n triggerRef?: MutableRefObject<HTMLLIElement>\n}\n\nexport const MenuDialogContext = React.createContext<MenuDialogContextValue | undefined>(undefined);\n\nexport function useMenuDialogContext(): MenuDialogContextValue {\n return useContext(MenuDialogContext);\n}\n\nexport interface MenuStateContextValue<T> {\n state?: TreeState<T>,\n container?: RefObject<HTMLElement>,\n menu?: RefObject<HTMLUListElement>\n}\n\nexport const MenuStateContext = React.createContext<MenuStateContextValue<any>>({});\n\nexport function useMenuStateContext<T>(): MenuStateContextValue<T> {\n return useContext(MenuStateContext);\n}\n\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {FocusScope} from '@react-aria/focus';\nimport {MenuContext, MenuStateContext} from './context';\nimport {MenuItem} from './MenuItem';\nimport {MenuSection} from './MenuSection';\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport React, {ReactElement, useContext, useRef} from 'react';\nimport {SpectrumMenuProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenu} from '@react-aria/menu';\nimport {useTreeState} from '@react-stately/tree';\n\nfunction Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLUListElement>) {\n let contextProps = useContext(MenuContext);\n let completeProps = {\n ...mergeProps(contextProps, props)\n };\n\n let domRef = useDOMRef(ref);\n let scopedRef = useRef(null);\n let state = useTreeState(completeProps);\n let {menuProps} = useMenu(completeProps, state, domRef);\n let {styleProps} = useStyleProps(completeProps);\n useSyncRef(contextProps, domRef);\n\n return (\n <MenuStateContext.Provider value={{state, container: scopedRef, menu: domRef}}>\n <FocusScope contain={state.expandedKeys.size > 0}>\n <ul\n {...menuProps}\n {...styleProps}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-Menu',\n styleProps.className\n )\n }>\n {[...state.collection].map(item => {\n if (item.type === 'section') {\n return (\n <MenuSection\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n\n if (item.wrapper) {\n menuItem = item.wrapper(menuItem);\n }\n\n return menuItem;\n })}\n </ul>\n <div ref={scopedRef} />\n </FocusScope>\n </MenuStateContext.Provider>\n );\n}\n\n/**\n * Menus display a list of actions or options that a user can choose.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Menu = React.forwardRef(Menu) as <T>(props: SpectrumMenuProps<T> & {ref?: DOMRef<HTMLUListElement>}) => ReactElement;\nexport {_Menu as Menu};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {DOMAttributes, Node} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useSlotId} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport InfoOutline from '@spectrum-icons/workflow/InfoOutline';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {Key, useMemo, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Text} from '@react-spectrum/text';\nimport {TreeState} from '@react-stately/tree';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useMenuContext, useMenuDialogContext} from './context';\nimport {useMenuItem} from '@react-aria/menu';\n\ninterface MenuItemProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n isVirtualized?: boolean,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuItem<T>(props: MenuItemProps<T>) {\n let {\n item,\n state,\n isVirtualized,\n onAction\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let menuDialogContext = useMenuDialogContext();\n let {triggerRef} = menuDialogContext || {};\n let isMenuDialogTrigger = !!menuDialogContext;\n let isUnavailable = false;\n\n if (isMenuDialogTrigger) {\n isUnavailable = menuDialogContext.isUnavailable;\n }\n\n let domProps = filterDOMProps(item.props);\n\n let {\n onClose,\n closeOnSelect\n } = useMenuContext();\n\n let {\n rendered,\n key\n } = item;\n\n let isSelected = state.selectionManager.isSelected(key);\n let isDisabled = state.disabledKeys.has(key);\n\n let itemref = useRef<HTMLLIElement>(null);\n let ref = useObjectRef(useMemo(() => mergeRefs(itemref, triggerRef), [itemref, triggerRef]));\n\n let {\n menuItemProps,\n labelProps,\n descriptionProps,\n keyboardShortcutProps\n } = useMenuItem(\n {\n isSelected,\n isDisabled,\n 'aria-label': item['aria-label'],\n key,\n onClose,\n closeOnSelect,\n isVirtualized,\n onAction,\n 'aria-haspopup': isMenuDialogTrigger ? 'dialog' : undefined\n },\n state,\n ref\n );\n let endId = useSlotId();\n let endProps: DOMAttributes = {};\n if (endId) {\n endProps.id = endId;\n menuItemProps['aria-describedby'] = [menuItemProps['aria-describedby'], endId].filter(Boolean).join(' ');\n }\n if (isUnavailable) {\n menuItemProps['aria-disabled'] = 'true';\n }\n\n let contents = typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <li\n {...mergeProps(menuItemProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Menu-item',\n {\n 'is-disabled': isDisabled,\n 'is-selected': isSelected,\n 'is-selectable': state.selectionManager.selectionMode !== 'none',\n 'is-open': state.expandedKeys.has(key)\n }\n )}>\n <Grid\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-itemGrid'\n )\n }>\n <ClearSlots>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: styles['spectrum-Menu-itemLabel'], ...labelProps},\n end: {UNSAFE_className: styles['spectrum-Menu-end'], ...endProps},\n icon: {UNSAFE_className: styles['spectrum-Menu-icon'], size: 'S'},\n description: {UNSAFE_className: styles['spectrum-Menu-description'], ...descriptionProps},\n keyboard: {UNSAFE_className: styles['spectrum-Menu-keyboard'], ...keyboardShortcutProps}\n }}>\n {contents}\n {isSelected &&\n <CheckmarkMedium\n slot=\"checkmark\"\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-checkmark'\n )\n } />\n }\n {\n isUnavailable && <InfoOutline slot=\"end\" size=\"XS\" alignSelf=\"center\" aria-label={stringFormatter.format('unavailable')} />\n }\n </SlotProvider>\n </ClearSlots>\n </Grid>\n </li>\n </FocusRing>\n );\n}\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"moreActions\": \"المزيد من الإجراءات\",\n \"unavailable\": \"غير متاح\"\n}\n","{\n \"moreActions\": \"Повече действия\",\n \"unavailable\": \"Недостъпен\"\n}\n","{\n \"moreActions\": \"Další akce\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Ikke tilgængelig\"\n}\n","{\n \"moreActions\": \"Mehr Aktionen\",\n \"unavailable\": \"Nicht verfügbar\"\n}\n","{\n \"moreActions\": \"Περισσότερες ενέργειες\",\n \"unavailable\": \"Μη διαθέσιμο\"\n}\n","{\n \"moreActions\": \"More actions\",\n \"unavailable\": \"Expand for details\"\n}\n","{\n \"moreActions\": \"Más acciones\",\n \"unavailable\": \"No disponible\"\n}\n","{\n \"moreActions\": \"Veel toiminguid\",\n \"unavailable\": \"Kättesaamatu\"\n}\n","{\n \"moreActions\": \"Lisää toimintoja\",\n \"unavailable\": \"Ei saatavilla\"\n}\n","{\n \"moreActions\": \"Autres actions\",\n \"unavailable\": \"Indisponible\"\n}\n","{\n \"moreActions\": \"פעולות נוספות\",\n \"unavailable\": \"לא זמין\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"További lehetőségek\",\n \"unavailable\": \"Nem érhető el\"\n}\n","{\n \"moreActions\": \"Altre azioni\",\n \"unavailable\": \"Non disponibile\"\n}\n","{\n \"moreActions\": \"その他のアクション\",\n \"unavailable\": \"使用不可\"\n}\n","{\n \"moreActions\": \"기타 액션\",\n \"unavailable\": \"사용할 수 없음\"\n}\n","{\n \"moreActions\": \"Daugiau veiksmų\",\n \"unavailable\": \"Nepasiekiama\"\n}\n","{\n \"moreActions\": \"Citas darbības\",\n \"unavailable\": \"Nav pieejams\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Utilgjengelig\"\n}\n","{\n \"moreActions\": \"Meer handelingen\",\n \"unavailable\": \"Niet beschikbaar\"\n}\n","{\n \"moreActions\": \"Więcej akcji\",\n \"unavailable\": \"Niedostępne\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mai multe acțiuni\",\n \"unavailable\": \"Indisponibil\"\n}\n","{\n \"moreActions\": \"Дополнительные действия\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"Ďalšie akcie\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Več možnosti\",\n \"unavailable\": \"Ni na voljo\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"Fler åtgärder\",\n \"unavailable\": \"Ej tillgänglig\"\n}\n","{\n \"moreActions\": \"Daha fazla eylem\",\n \"unavailable\": \"Kullanım dışı\"\n}\n","{\n \"moreActions\": \"Більше дій\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"更多操作\",\n \"unavailable\": \"不可用\"\n}\n","{\n \"moreActions\": \"更多動作\",\n \"unavailable\": \"無法使用\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {getChildNodes} from '@react-stately/collections';\nimport {MenuItem} from './MenuItem';\nimport {Node} from '@react-types/shared';\nimport React, {Fragment, Key} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {TreeState} from '@react-stately/tree';\nimport {useMenuSection} from '@react-aria/menu';\nimport {useSeparator} from '@react-aria/separator';\n\ninterface MenuSectionProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuSection<T>(props: MenuSectionProps<T>) {\n let {item, state, onAction} = props;\n let {itemProps, headingProps, groupProps} = useMenuSection({\n heading: item.rendered,\n 'aria-label': item['aria-label']\n });\n\n let {separatorProps} = useSeparator({\n elementType: 'li'\n });\n\n return (\n <Fragment>\n {item.key !== state.collection.getFirstKey() &&\n <li\n {...separatorProps}\n className={classNames(\n styles,\n 'spectrum-Menu-divider'\n )} />\n }\n <li {...itemProps}>\n {item.rendered &&\n <span\n {...headingProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu-sectionHeading'\n )\n }>\n {item.rendered}\n </span>\n }\n <ul\n {...groupProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu'\n )\n }>\n {[...getChildNodes(item, state.collection)].map(node => {\n let item = (\n <MenuItem\n key={node.key}\n item={node}\n state={state}\n onAction={onAction} />\n );\n\n if (node.wrapper) {\n item = node.wrapper(item);\n }\n\n return item;\n })}\n </ul>\n </li>\n </Fragment>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {FocusableRef} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu} from './Menu';\nimport {MenuTrigger} from './MenuTrigger';\nimport More from '@spectrum-icons/workflow/More';\nimport React, {forwardRef, ReactElement} from 'react';\nimport {SpectrumActionMenuProps} from '@react-types/menu';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSlotProps} from '@react-spectrum/utils';\n\nfunction ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {\n props = useSlotProps(props, 'actionMenu');\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let buttonProps = filterDOMProps(props, {labelable: true});\n if (buttonProps['aria-label'] === undefined) {\n buttonProps['aria-label'] = stringFormatter.format('moreActions');\n }\n\n return (\n <MenuTrigger\n isOpen={props.isOpen}\n defaultOpen={props.defaultOpen}\n onOpenChange={props.onOpenChange}\n align={props.align}\n direction={props.direction}\n shouldFlip={props.shouldFlip}>\n <ActionButton\n ref={ref}\n {...props}\n {...buttonProps}>\n <More />\n </ActionButton>\n <Menu\n children={props.children}\n items={props.items}\n disabledKeys={props.disabledKeys}\n onAction={props.onAction} />\n </MenuTrigger>\n );\n}\n\n/**\n * ActionMenu combines an ActionButton with a Menu for simple \"more actions\" use cases.\n */\nconst _ActionMenu = forwardRef(ActionMenu) as <T>(props: SpectrumActionMenuProps<T> & {ref?: FocusableRef<HTMLButtonElement>}) => ReactElement;\nexport {_ActionMenu as ActionMenu};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DismissButton} from '@react-aria/overlays';\nimport helpStyles from '@adobe/spectrum-css-temp/components/contextualhelp/vars.css';\nimport {ItemProps} from '@react-types/shared';\nimport {MenuDialogContext, useMenuStateContext} from './context';\nimport {Modal, Popover} from '@react-spectrum/overlays';\nimport React, {Key, ReactElement, useRef} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport interface SpectrumMenuDialogTriggerProps<T> extends ItemProps<T> {\n isUnavailable?: boolean,\n targetKey: Key\n}\n\nfunction MenuDialogTrigger<T>(props: SpectrumMenuDialogTriggerProps<T>): ReactElement {\n let {isUnavailable} = props;\n\n let triggerRef = useRef<HTMLLIElement>(null);\n let popoverRef = useRef(null);\n let {state: menuState, container, menu} = useMenuStateContext();\n let state = useOverlayTriggerState({isOpen: menuState.expandedKeys.has(props.targetKey), onOpenChange: (val) => {\n if (!val) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n }});\n let slots = {};\n if (isUnavailable) {\n slots = {\n dialog: {UNSAFE_className: classNames(helpStyles, 'react-spectrum-ContextualHelp-dialog')},\n content: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-content']},\n footer: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-footer']}\n };\n }\n let [trigger] = React.Children.toArray(props.children);\n let [, content] = props.children as [ReactElement, ReactElement];\n\n let isMobile = useIsMobileDevice();\n\n let onExit = () => {\n // if focus was already moved back to a menu item, don't need to do anything\n if (!menu.current.contains(document.activeElement)) {\n // need to return focus to the trigger because hitting Esc causes focus to go to the subdialog, which is then unmounted\n // this leads to blur never being fired nor focus on the body\n triggerRef.current.focus();\n }\n };\n let onBlurWithin = (e) => {\n if (e.relatedTarget && popoverRef.current && !popoverRef.current?.UNSAFE_getDOMNode().contains(e.relatedTarget)) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n };\n return (\n <>\n <MenuDialogContext.Provider value={{isUnavailable, triggerRef}}>{trigger}</MenuDialogContext.Provider>\n <SlotProvider slots={slots}>\n {\n isMobile ? (\n <Modal state={state} isDismissable>\n <DismissButton onDismiss={state.close} />\n {content}\n <DismissButton onDismiss={state.close} />\n </Modal>\n ) : (\n <Popover\n onExit={onExit}\n onBlurWithin={onBlurWithin}\n container={container.current}\n state={state}\n ref={popoverRef}\n triggerRef={triggerRef}\n placement=\"end top\"\n offset={-10}\n hideArrow\n isNonModal\n enableBothDismissButtons\n disableFocusManagement>\n {content}\n </Popover>\n )\n }\n </SlotProvider>\n </>\n );\n}\n\nMenuDialogTrigger.getCollectionNode = function* getCollectionNode<T>(props: ItemProps<T>) {\n let [trigger] = React.Children.toArray(props.children) as ReactElement[];\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {...trigger.props, hasChildItems: true}),\n wrapper: (element) => (\n <MenuDialogTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </MenuDialogTrigger>\n )\n };\n};\n\nlet _Item = MenuDialogTrigger as <T>(props: ItemProps<T> & {isUnavailable?: boolean}) => JSX.Element;\nexport {_Item as MenuDialogTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -704,12 +704,6 @@ function $49b26f4b606348f6$var$Menu(props, ref) {
|
|
|
704
704
|
}
|
|
705
705
|
}, /*#__PURE__*/ (0, $9SHwR$react).createElement((0, $9SHwR$FocusScope), {
|
|
706
706
|
contain: state.expandedKeys.size > 0
|
|
707
|
-
}, /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
|
|
708
|
-
ref: scopedRef,
|
|
709
|
-
style: {
|
|
710
|
-
display: "inline-flex",
|
|
711
|
-
overflow: "hidden"
|
|
712
|
-
}
|
|
713
707
|
}, /*#__PURE__*/ (0, $9SHwR$react).createElement("ul", {
|
|
714
708
|
...menuProps,
|
|
715
709
|
...styleProps,
|
|
@@ -732,7 +726,9 @@ function $49b26f4b606348f6$var$Menu(props, ref) {
|
|
|
732
726
|
});
|
|
733
727
|
if (item.wrapper) menuItem = item.wrapper(menuItem);
|
|
734
728
|
return menuItem;
|
|
735
|
-
})))
|
|
729
|
+
})), /*#__PURE__*/ (0, $9SHwR$react).createElement("div", {
|
|
730
|
+
ref: scopedRef
|
|
731
|
+
})));
|
|
736
732
|
}
|
|
737
733
|
/**
|
|
738
734
|
* Menus display a list of actions or options that a user can choose.
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/menu/src/index.ts","packages/@react-spectrum/menu/src/MenuTrigger.tsx","packages/@react-spectrum/menu/src/context.ts","packages/@adobe/spectrum-css-temp/components/menu/vars.css","packages/@react-spectrum/menu/src/Menu.tsx","packages/@react-spectrum/menu/src/MenuItem.tsx","packages/@react-spectrum/menu/src/*.js","packages/@react-spectrum/menu/intl/ar-AE.json","packages/@react-spectrum/menu/intl/bg-BG.json","packages/@react-spectrum/menu/intl/cs-CZ.json","packages/@react-spectrum/menu/intl/da-DK.json","packages/@react-spectrum/menu/intl/de-DE.json","packages/@react-spectrum/menu/intl/el-GR.json","packages/@react-spectrum/menu/intl/en-US.json","packages/@react-spectrum/menu/intl/es-ES.json","packages/@react-spectrum/menu/intl/et-EE.json","packages/@react-spectrum/menu/intl/fi-FI.json","packages/@react-spectrum/menu/intl/fr-FR.json","packages/@react-spectrum/menu/intl/he-IL.json","packages/@react-spectrum/menu/intl/hr-HR.json","packages/@react-spectrum/menu/intl/hu-HU.json","packages/@react-spectrum/menu/intl/it-IT.json","packages/@react-spectrum/menu/intl/ja-JP.json","packages/@react-spectrum/menu/intl/ko-KR.json","packages/@react-spectrum/menu/intl/lt-LT.json","packages/@react-spectrum/menu/intl/lv-LV.json","packages/@react-spectrum/menu/intl/nb-NO.json","packages/@react-spectrum/menu/intl/nl-NL.json","packages/@react-spectrum/menu/intl/pl-PL.json","packages/@react-spectrum/menu/intl/pt-BR.json","packages/@react-spectrum/menu/intl/pt-PT.json","packages/@react-spectrum/menu/intl/ro-RO.json","packages/@react-spectrum/menu/intl/ru-RU.json","packages/@react-spectrum/menu/intl/sk-SK.json","packages/@react-spectrum/menu/intl/sl-SI.json","packages/@react-spectrum/menu/intl/sr-SP.json","packages/@react-spectrum/menu/intl/sv-SE.json","packages/@react-spectrum/menu/intl/tr-TR.json","packages/@react-spectrum/menu/intl/uk-UA.json","packages/@react-spectrum/menu/intl/zh-CN.json","packages/@react-spectrum/menu/intl/zh-TW.json","packages/@react-spectrum/menu/src/MenuSection.tsx","packages/@react-spectrum/menu/src/ActionMenu.tsx","packages/@react-spectrum/menu/src/MenuDialogTrigger.tsx","packages/@adobe/spectrum-css-temp/components/contextualhelp/vars.css"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {MenuTrigger} from './MenuTrigger';\nexport {Menu} from './Menu';\nexport {ActionMenu} from './ActionMenu';\nexport {MenuDialogTrigger} from './MenuDialogTrigger';\nexport {Item, Section} from '@react-stately/collections';\nexport type {SpectrumActionMenuProps, SpectrumMenuProps, SpectrumMenuTriggerProps} from '@react-types/menu';\nexport type {SpectrumMenuDialogTriggerProps} from './MenuDialogTrigger';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useDOMRef, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {MenuContext} from './context';\nimport {Placement} from '@react-types/overlays';\nimport {Popover, Tray} from '@react-spectrum/overlays';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {forwardRef, Fragment, useRef} from 'react';\nimport {SpectrumMenuTriggerProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenuTrigger} from '@react-aria/menu';\nimport {useMenuTriggerState} from '@react-stately/menu';\n\nfunction MenuTrigger(props: SpectrumMenuTriggerProps, ref: DOMRef<HTMLElement>) {\n let triggerRef = useRef<HTMLElement>();\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLUListElement>();\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n state,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile ? {\n width: '100%',\n maxHeight: 'inherit'\n } : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile})\n };\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n UNSAFE_style={{clipPath: 'unset'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>\n {overlay}\n </MenuContext.Provider>\n </Fragment>\n );\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nlet _MenuTrigger = forwardRef(MenuTrigger);\nexport {_MenuTrigger as MenuTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {FocusStrategy} from '@react-types/shared';\nimport {MenuTriggerState} from '@react-stately/menu';\nimport React, {HTMLAttributes, MutableRefObject, RefObject, useContext} from 'react';\nimport {TreeState} from '@react-stately/tree';\n\nexport interface MenuContextValue extends Omit<HTMLAttributes<HTMLElement>, 'autoFocus'> {\n onClose?: () => void,\n closeOnSelect?: boolean,\n shouldFocusWrap?: boolean,\n autoFocus?: boolean | FocusStrategy,\n ref?: MutableRefObject<HTMLUListElement>,\n state?: MenuTriggerState\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({});\n\nexport function useMenuContext(): MenuContextValue {\n return useContext(MenuContext);\n}\n\nexport interface MenuDialogContextValue {\n isUnavailable?: boolean,\n triggerRef?: MutableRefObject<HTMLLIElement>\n}\n\nexport const MenuDialogContext = React.createContext<MenuDialogContextValue | undefined>(undefined);\n\nexport function useMenuDialogContext(): MenuDialogContextValue {\n return useContext(MenuDialogContext);\n}\n\nexport interface MenuStateContextValue<T> {\n state?: TreeState<T>,\n container?: RefObject<HTMLElement>,\n menu?: RefObject<HTMLUListElement>\n}\n\nexport const MenuStateContext = React.createContext<MenuStateContextValue<any>>({});\n\nexport function useMenuStateContext<T>(): MenuStateContextValue<T> {\n return useContext(MenuStateContext);\n}\n\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {FocusScope} from '@react-aria/focus';\nimport {MenuContext, MenuStateContext} from './context';\nimport {MenuItem} from './MenuItem';\nimport {MenuSection} from './MenuSection';\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport React, {ReactElement, useContext, useRef} from 'react';\nimport {SpectrumMenuProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenu} from '@react-aria/menu';\nimport {useTreeState} from '@react-stately/tree';\n\nfunction Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLUListElement>) {\n let contextProps = useContext(MenuContext);\n let completeProps = {\n ...mergeProps(contextProps, props)\n };\n\n let domRef = useDOMRef(ref);\n let scopedRef = useRef(null);\n let state = useTreeState(completeProps);\n let {menuProps} = useMenu(completeProps, state, domRef);\n let {styleProps} = useStyleProps(completeProps);\n useSyncRef(contextProps, domRef);\n\n return (\n <MenuStateContext.Provider value={{state, container: scopedRef, menu: domRef}}>\n <FocusScope contain={state.expandedKeys.size > 0}>\n <div ref={scopedRef} style={{display: 'inline-flex', overflow: 'hidden'}}>\n <ul\n {...menuProps}\n {...styleProps}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-Menu',\n styleProps.className\n )\n }>\n {[...state.collection].map(item => {\n if (item.type === 'section') {\n return (\n <MenuSection\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n\n if (item.wrapper) {\n menuItem = item.wrapper(menuItem);\n }\n\n return menuItem;\n })}\n </ul>\n </div>\n </FocusScope>\n </MenuStateContext.Provider>\n );\n}\n\n/**\n * Menus display a list of actions or options that a user can choose.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Menu = React.forwardRef(Menu) as <T>(props: SpectrumMenuProps<T> & {ref?: DOMRef<HTMLUListElement>}) => ReactElement;\nexport {_Menu as Menu};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {DOMAttributes, Node} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useSlotId} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport InfoOutline from '@spectrum-icons/workflow/InfoOutline';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {Key, useMemo, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Text} from '@react-spectrum/text';\nimport {TreeState} from '@react-stately/tree';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useMenuContext, useMenuDialogContext} from './context';\nimport {useMenuItem} from '@react-aria/menu';\n\ninterface MenuItemProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n isVirtualized?: boolean,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuItem<T>(props: MenuItemProps<T>) {\n let {\n item,\n state,\n isVirtualized,\n onAction\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let menuDialogContext = useMenuDialogContext();\n let {triggerRef} = menuDialogContext || {};\n let isMenuDialogTrigger = !!menuDialogContext;\n let isUnavailable = false;\n\n if (isMenuDialogTrigger) {\n isUnavailable = menuDialogContext.isUnavailable;\n }\n\n let domProps = filterDOMProps(item.props);\n\n let {\n onClose,\n closeOnSelect\n } = useMenuContext();\n\n let {\n rendered,\n key\n } = item;\n\n let isSelected = state.selectionManager.isSelected(key);\n let isDisabled = state.disabledKeys.has(key);\n\n let itemref = useRef<HTMLLIElement>(null);\n let ref = useObjectRef(useMemo(() => mergeRefs(itemref, triggerRef), [itemref, triggerRef]));\n\n let {\n menuItemProps,\n labelProps,\n descriptionProps,\n keyboardShortcutProps\n } = useMenuItem(\n {\n isSelected,\n isDisabled,\n 'aria-label': item['aria-label'],\n key,\n onClose,\n closeOnSelect,\n isVirtualized,\n onAction,\n 'aria-haspopup': isMenuDialogTrigger ? 'dialog' : undefined\n },\n state,\n ref\n );\n let endId = useSlotId();\n let endProps: DOMAttributes = {};\n if (endId) {\n endProps.id = endId;\n menuItemProps['aria-describedby'] = [menuItemProps['aria-describedby'], endId].filter(Boolean).join(' ');\n }\n if (isUnavailable) {\n menuItemProps['aria-disabled'] = 'true';\n }\n\n let contents = typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <li\n {...mergeProps(menuItemProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Menu-item',\n {\n 'is-disabled': isDisabled,\n 'is-selected': isSelected,\n 'is-selectable': state.selectionManager.selectionMode !== 'none',\n 'is-open': state.expandedKeys.has(key)\n }\n )}>\n <Grid\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-itemGrid'\n )\n }>\n <ClearSlots>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: styles['spectrum-Menu-itemLabel'], ...labelProps},\n end: {UNSAFE_className: styles['spectrum-Menu-end'], ...endProps},\n icon: {UNSAFE_className: styles['spectrum-Menu-icon'], size: 'S'},\n description: {UNSAFE_className: styles['spectrum-Menu-description'], ...descriptionProps},\n keyboard: {UNSAFE_className: styles['spectrum-Menu-keyboard'], ...keyboardShortcutProps}\n }}>\n {contents}\n {isSelected &&\n <CheckmarkMedium\n slot=\"checkmark\"\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-checkmark'\n )\n } />\n }\n {\n isUnavailable && <InfoOutline slot=\"end\" size=\"XS\" alignSelf=\"center\" aria-label={stringFormatter.format('unavailable')} />\n }\n </SlotProvider>\n </ClearSlots>\n </Grid>\n </li>\n </FocusRing>\n );\n}\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"moreActions\": \"المزيد من الإجراءات\",\n \"unavailable\": \"غير متاح\"\n}\n","{\n \"moreActions\": \"Повече действия\",\n \"unavailable\": \"Недостъпен\"\n}\n","{\n \"moreActions\": \"Další akce\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Ikke tilgængelig\"\n}\n","{\n \"moreActions\": \"Mehr Aktionen\",\n \"unavailable\": \"Nicht verfügbar\"\n}\n","{\n \"moreActions\": \"Περισσότερες ενέργειες\",\n \"unavailable\": \"Μη διαθέσιμο\"\n}\n","{\n \"moreActions\": \"More actions\",\n \"unavailable\": \"Expand for details\"\n}\n","{\n \"moreActions\": \"Más acciones\",\n \"unavailable\": \"No disponible\"\n}\n","{\n \"moreActions\": \"Veel toiminguid\",\n \"unavailable\": \"Kättesaamatu\"\n}\n","{\n \"moreActions\": \"Lisää toimintoja\",\n \"unavailable\": \"Ei saatavilla\"\n}\n","{\n \"moreActions\": \"Autres actions\",\n \"unavailable\": \"Indisponible\"\n}\n","{\n \"moreActions\": \"פעולות נוספות\",\n \"unavailable\": \"לא זמין\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"További lehetőségek\",\n \"unavailable\": \"Nem érhető el\"\n}\n","{\n \"moreActions\": \"Altre azioni\",\n \"unavailable\": \"Non disponibile\"\n}\n","{\n \"moreActions\": \"その他のアクション\",\n \"unavailable\": \"使用不可\"\n}\n","{\n \"moreActions\": \"기타 액션\",\n \"unavailable\": \"사용할 수 없음\"\n}\n","{\n \"moreActions\": \"Daugiau veiksmų\",\n \"unavailable\": \"Nepasiekiama\"\n}\n","{\n \"moreActions\": \"Citas darbības\",\n \"unavailable\": \"Nav pieejams\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Utilgjengelig\"\n}\n","{\n \"moreActions\": \"Meer handelingen\",\n \"unavailable\": \"Niet beschikbaar\"\n}\n","{\n \"moreActions\": \"Więcej akcji\",\n \"unavailable\": \"Niedostępne\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mai multe acțiuni\",\n \"unavailable\": \"Indisponibil\"\n}\n","{\n \"moreActions\": \"Дополнительные действия\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"Ďalšie akcie\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Več možnosti\",\n \"unavailable\": \"Ni na voljo\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"Fler åtgärder\",\n \"unavailable\": \"Ej tillgänglig\"\n}\n","{\n \"moreActions\": \"Daha fazla eylem\",\n \"unavailable\": \"Kullanım dışı\"\n}\n","{\n \"moreActions\": \"Більше дій\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"更多操作\",\n \"unavailable\": \"不可用\"\n}\n","{\n \"moreActions\": \"更多動作\",\n \"unavailable\": \"無法使用\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {getChildNodes} from '@react-stately/collections';\nimport {MenuItem} from './MenuItem';\nimport {Node} from '@react-types/shared';\nimport React, {Fragment, Key} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {TreeState} from '@react-stately/tree';\nimport {useMenuSection} from '@react-aria/menu';\nimport {useSeparator} from '@react-aria/separator';\n\ninterface MenuSectionProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuSection<T>(props: MenuSectionProps<T>) {\n let {item, state, onAction} = props;\n let {itemProps, headingProps, groupProps} = useMenuSection({\n heading: item.rendered,\n 'aria-label': item['aria-label']\n });\n\n let {separatorProps} = useSeparator({\n elementType: 'li'\n });\n\n return (\n <Fragment>\n {item.key !== state.collection.getFirstKey() &&\n <li\n {...separatorProps}\n className={classNames(\n styles,\n 'spectrum-Menu-divider'\n )} />\n }\n <li {...itemProps}>\n {item.rendered &&\n <span\n {...headingProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu-sectionHeading'\n )\n }>\n {item.rendered}\n </span>\n }\n <ul\n {...groupProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu'\n )\n }>\n {[...getChildNodes(item, state.collection)].map(node => {\n let item = (\n <MenuItem\n key={node.key}\n item={node}\n state={state}\n onAction={onAction} />\n );\n\n if (node.wrapper) {\n item = node.wrapper(item);\n }\n\n return item;\n })}\n </ul>\n </li>\n </Fragment>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {FocusableRef} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu} from './Menu';\nimport {MenuTrigger} from './MenuTrigger';\nimport More from '@spectrum-icons/workflow/More';\nimport React, {forwardRef, ReactElement} from 'react';\nimport {SpectrumActionMenuProps} from '@react-types/menu';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSlotProps} from '@react-spectrum/utils';\n\nfunction ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {\n props = useSlotProps(props, 'actionMenu');\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let buttonProps = filterDOMProps(props, {labelable: true});\n if (buttonProps['aria-label'] === undefined) {\n buttonProps['aria-label'] = stringFormatter.format('moreActions');\n }\n\n return (\n <MenuTrigger\n isOpen={props.isOpen}\n defaultOpen={props.defaultOpen}\n onOpenChange={props.onOpenChange}\n align={props.align}\n direction={props.direction}\n shouldFlip={props.shouldFlip}>\n <ActionButton\n ref={ref}\n {...props}\n {...buttonProps}>\n <More />\n </ActionButton>\n <Menu\n children={props.children}\n items={props.items}\n disabledKeys={props.disabledKeys}\n onAction={props.onAction} />\n </MenuTrigger>\n );\n}\n\n/**\n * ActionMenu combines an ActionButton with a Menu for simple \"more actions\" use cases.\n */\nconst _ActionMenu = forwardRef(ActionMenu) as <T>(props: SpectrumActionMenuProps<T> & {ref?: FocusableRef<HTMLButtonElement>}) => ReactElement;\nexport {_ActionMenu as ActionMenu};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DismissButton} from '@react-aria/overlays';\nimport helpStyles from '@adobe/spectrum-css-temp/components/contextualhelp/vars.css';\nimport {ItemProps} from '@react-types/shared';\nimport {MenuDialogContext, useMenuStateContext} from './context';\nimport {Modal, Popover} from '@react-spectrum/overlays';\nimport React, {Key, ReactElement, useRef} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport interface SpectrumMenuDialogTriggerProps<T> extends ItemProps<T> {\n isUnavailable?: boolean,\n targetKey: Key\n}\n\nfunction MenuDialogTrigger<T>(props: SpectrumMenuDialogTriggerProps<T>): ReactElement {\n let {isUnavailable} = props;\n\n let triggerRef = useRef<HTMLLIElement>(null);\n let popoverRef = useRef(null);\n let {state: menuState, container, menu} = useMenuStateContext();\n let state = useOverlayTriggerState({isOpen: menuState.expandedKeys.has(props.targetKey), onOpenChange: (val) => {\n if (!val) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n }});\n let slots = {};\n if (isUnavailable) {\n slots = {\n dialog: {UNSAFE_className: classNames(helpStyles, 'react-spectrum-ContextualHelp-dialog')},\n content: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-content']},\n footer: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-footer']}\n };\n }\n let [trigger] = React.Children.toArray(props.children);\n let [, content] = props.children as [ReactElement, ReactElement];\n\n let isMobile = useIsMobileDevice();\n\n let onExit = () => {\n // if focus was already moved back to a menu item, don't need to do anything\n if (!menu.current.contains(document.activeElement)) {\n // need to return focus to the trigger because hitting Esc causes focus to go to the subdialog, which is then unmounted\n // this leads to blur never being fired nor focus on the body\n triggerRef.current.focus();\n }\n };\n let onBlurWithin = (e) => {\n if (e.relatedTarget && popoverRef.current && !popoverRef.current?.UNSAFE_getDOMNode().contains(e.relatedTarget)) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n };\n return (\n <>\n <MenuDialogContext.Provider value={{isUnavailable, triggerRef}}>{trigger}</MenuDialogContext.Provider>\n <SlotProvider slots={slots}>\n {\n isMobile ? (\n <Modal state={state} isDismissable>\n <DismissButton onDismiss={state.close} />\n {content}\n <DismissButton onDismiss={state.close} />\n </Modal>\n ) : (\n <Popover\n onExit={onExit}\n onBlurWithin={onBlurWithin}\n container={container.current}\n state={state}\n ref={popoverRef}\n triggerRef={triggerRef}\n placement=\"end top\"\n offset={-10}\n hideArrow\n isNonModal\n enableBothDismissButtons\n disableFocusManagement>\n {content}\n </Popover>\n )\n }\n </SlotProvider>\n </>\n );\n}\n\nMenuDialogTrigger.getCollectionNode = function* getCollectionNode<T>(props: ItemProps<T>) {\n let [trigger] = React.Children.toArray(props.children) as ReactElement[];\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {...trigger.props, hasChildItems: true}),\n wrapper: (element) => (\n <MenuDialogTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </MenuDialogTrigger>\n )\n };\n};\n\nlet _Item = MenuDialogTrigger as <T>(props: ItemProps<T> & {isUnavailable?: boolean}) => JSX.Element;\nexport {_Item as MenuDialogTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC,GAED,0CAA0C;ACZ1C;;;;;;;;;;CAUC;ACVD;;;;;;;;;;CAUC;AAgBM,MAAM,4CAAc,CAAA,GAAA,YAAI,EAAE,cAAgC,CAAC;AAE3D,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB;AAOO,MAAM,4CAAoB,CAAA,GAAA,YAAI,EAAE,cAAkD;AAElF,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB;AAQO,MAAM,4CAAmB,CAAA,GAAA,YAAI,EAAE,cAA0C,CAAC;AAE1E,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE;AACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAvBA,0CAA0C;AAC1C,4CAAkC;AAClC,4CAAiD;AACjD,4CAA4C;AAC5C,4CAAuC;AACvC,4CAAgC;AAChC,4CAAkC;AAClC,4CAA4C;AAC5C,4CAA2C;AAC3C,4CAAsD;AACtD,4CAA0C;AAC1C,4CAA2C;AAC3C,4CAAkC;AAClC,4CAAsC;AACtC,4CAAuC;AACvC,4CAA8C;AAC9C,4CAA2C;AAC3C,4CAA+B;AAC/B,4CAA+B;AAC/B,4CAA+B;AAC/B,4CAAmC;AACnC,4CAA4B;AAC5B,4CAA8B;AAC9B,4CAAgC;;;;;AFChC,SAAS,kCAAY,KAA+B,EAAE,GAAwB;IAC5E,IAAI,aAAa,CAAA,GAAA,aAAK;IACtB,IAAI,SAAS,CAAA,GAAA,gBAAQ,EAAE;IACvB,IAAI,iBAAiB,UAAU;IAC/B,IAAI,UAAU,CAAA,GAAA,aAAK;IACnB,IAAI,YACF,SAAQ,SACR,QAAQ,sBACR,aAAa,kBACb,YAAY,0BACZ,cAAa,WACb,UAAU,UACX,GAAG;IAEJ,IAAI,CAAC,aAAa,KAAK,GAAG,CAAA,GAAA,YAAI,EAAE,SAAS,QAAQ;IACjD,IAAI,QAAQ,CAAA,GAAA,0BAAkB,EAAE;IAEhC,IAAI,oBAAC,iBAAgB,aAAE,UAAS,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;iBAAC;IAAO,GAAG,OAAO;IAErE,IAAI;IACJ,OAAQ;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,mBAAmB,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,QAAQ,WAAW,MAAM,CAAC;YACvE;QACF,KAAK;QACL,KAAK;QACL;YACE,mBAAmB,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9C;IAEA,IAAI,WAAW,CAAA,GAAA,wBAAgB;IAC/B,IAAI,cAAc;QAChB,GAAG,SAAS;eACZ;QACA,KAAK;QACL,SAAS,MAAM;uBACf;QACA,WAAW,MAAM,iBAAiB;QAClC,cAAc,WAAW;YACvB,OAAO;YACP,WAAW;QACb,IAAI;QACJ,kBAAkB,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,gEAAK,GAAG;YAAC,yBAAyB,CAAC;QAAQ;IAC1E;IAEA,gFAAgF;IAChF,IAAI;IACJ,IAAI,UACF,wBACE,gCAAC,CAAA,GAAA,WAAG;QAAE,OAAO;OACV;SAIL,wBACE,gCAAC,CAAA,GAAA,cAAM;QACL,cAAc;YAAC,UAAU;QAAO;QAChC,OAAO;QACP,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAA;QACA,YAAY;OACX;IAKP,qBACE,gCAAC,CAAA,GAAA,eAAO,uBACN,gCAAC,CAAA,GAAA,mBAAW;QAAE,OAAO;YAAC,cAAc;gBAAC,gBAAgB,YAAY;YAAW;QAAC;qBAC3E,gCAAC,CAAA,GAAA,qBAAa;QAAG,GAAG,gBAAgB;QAAE,KAAK;QAAgB,WAAW,MAAM;OACzE,6BAGL,gCAAC,CAAA,GAAA,yCAAU,EAAE;QAAS,OAAO;OAC1B;AAIT;AAEA;;;CAGC,GACD,IAAI,0DAAe,CAAA,GAAA,iBAAS,EAAE;;;AGjH9B;;;;;;;;;;CAUC;;;ACVD;;;;;;;;;;CAUC;;;;;;;;AEVD,4BAAiB;IAAG,eAAe,CAAC,mBAAmB,CAAC;IACtD,eAAe,CAAC,QAAQ,CAAC;AAC3B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,eAAe,CAAC;IAClD,eAAe,CAAC,UAAU,CAAC;AAC7B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,UAAU,CAAC;IAC7C,eAAe,CAAC,UAAU,CAAC;AAC7B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,gBAAgB,CAAC;IACnD,eAAe,CAAC,gBAAgB,CAAC;AACnC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,aAAa,CAAC;IAChD,eAAe,CAAC,eAAe,CAAC;AAClC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,sBAAsB,CAAC;IACzD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,kBAAkB,CAAC;AACrC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,eAAe,CAAC;IAClD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,gBAAgB,CAAC;IACnD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,cAAc,CAAC;IACjD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,aAAa,CAAC;IAChD,eAAe,CAAC,OAAO,CAAC;AAC1B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,cAAc,CAAC;IACjD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,mBAAmB,CAAC;IACtD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,eAAe,CAAC;AAClC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,eAAe,CAAC,IAAI,CAAC;AACvB;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,KAAK,CAAC;IACxC,eAAe,CAAC,QAAQ,CAAC;AAC3B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,eAAe,CAAC;IAClD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,cAAc,CAAC;IACjD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,gBAAgB,CAAC;IACnD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,gBAAgB,CAAC;IACnD,eAAe,CAAC,gBAAgB,CAAC;AACnC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,WAAW,CAAC;AAC9B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,UAAU,CAAC;IAC7C,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,UAAU,CAAC;IAC7C,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,iBAAiB,CAAC;IACpD,eAAe,CAAC,YAAY,CAAC;AAC/B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,uBAAuB,CAAC;IAC1D,eAAe,CAAC,UAAU,CAAC;AAC7B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,UAAU,CAAC;AAC7B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,YAAY,CAAC;IAC/C,eAAe,CAAC,WAAW,CAAC;AAC9B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,cAAc,CAAC;IACjD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,aAAa,CAAC;IAChD,eAAe,CAAC,cAAc,CAAC;AACjC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,gBAAgB,CAAC;IACnD,eAAe,CAAC,aAAa,CAAC;AAChC;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,UAAU,CAAC;IAC7C,eAAe,CAAC,UAAU,CAAC;AAC7B;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,IAAI,CAAC;IACvC,eAAe,CAAC,GAAG,CAAC;AACtB;;;;ACFA,4BAAiB;IAAG,eAAe,CAAC,IAAI,CAAC;IACvC,eAAe,CAAC,IAAI,CAAC;AACvB;;;AlCgCA,4BAAiB;IACf,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;AACX;;;;;;;;;ADhCO,SAAS,0CAAY,KAAuB;IACjD,IAAI,QACF,KAAI,SACJ,MAAK,iBACL,cAAa,YACb,SAAQ,EACT,GAAG;IACJ,IAAI,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,gEAAW;IAC7D,IAAI,oBAAoB,CAAA,GAAA,yCAAmB;IAC3C,IAAI,cAAC,WAAU,EAAC,GAAG,qBAAqB,CAAC;IACzC,IAAI,sBAAsB,CAAC,CAAC;IAC5B,IAAI,gBAAgB;IAEpB,IAAI,qBACF,gBAAgB,kBAAkB;IAGpC,IAAI,WAAW,CAAA,GAAA,qBAAa,EAAE,KAAK;IAEnC,IAAI,WACF,QAAO,iBACP,cAAa,EACd,GAAG,CAAA,GAAA,yCAAa;IAEjB,IAAI,YACF,SAAQ,OACR,IAAG,EACJ,GAAG;IAEJ,IAAI,aAAa,MAAM,iBAAiB,WAAW;IACnD,IAAI,aAAa,MAAM,aAAa,IAAI;IAExC,IAAI,UAAU,CAAA,GAAA,aAAK,EAAiB;IACpC,IAAI,MAAM,CAAA,GAAA,mBAAW,EAAE,CAAA,GAAA,cAAM,EAAE,IAAM,CAAA,GAAA,gBAAQ,EAAE,SAAS,aAAa;QAAC;QAAS;KAAW;IAE1F,IAAI,iBACF,cAAa,cACb,WAAU,oBACV,iBAAgB,yBAChB,sBAAqB,EACtB,GAAG,CAAA,GAAA,kBAAU,EACZ;oBACE;oBACA;QACA,cAAc,IAAI,CAAC,aAAa;aAChC;iBACA;uBACA;uBACA;kBACA;QACA,iBAAiB,sBAAsB,WAAW;IACpD,GACA,OACA;IAEF,IAAI,QAAQ,CAAA,GAAA,gBAAQ;IACpB,IAAI,WAA0B,CAAC;IAC/B,IAAI,OAAO;QACT,SAAS,KAAK;QACd,aAAa,CAAC,mBAAmB,GAAG;YAAC,aAAa,CAAC,mBAAmB;YAAE;SAAM,CAAC,OAAO,SAAS,KAAK;IACtG;IACA,IAAI,eACF,aAAa,CAAC,gBAAgB,GAAG;IAGnC,IAAI,WAAW,OAAO,aAAa,yBAC/B,gCAAC,CAAA,GAAA,WAAG,SAAG,YACP;IAEJ,qBACE,gCAAC,CAAA,GAAA,gBAAQ;QAAE,gBAAgB,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,gEAAK,GAAG;qBAC5C,gCAAC;QACE,GAAG,CAAA,GAAA,iBAAS,EAAE,eAAe,SAAS;QACvC,KAAK;QACL,WAAW,CAAA,GAAA,iBAAS,EAClB,CAAA,GAAA,gEAAK,GACL,sBACA;YACE,eAAe;YACf,eAAe;YACf,iBAAiB,MAAM,iBAAiB,kBAAkB;YAC1D,WAAW,MAAM,aAAa,IAAI;QACpC;qBAEF,gCAAC,CAAA,GAAA,WAAG;QACF,kBACE,CAAA,GAAA,iBAAS,EACP,CAAA,GAAA,gEAAK,GACL;qBAGJ,gCAAC,CAAA,GAAA,iBAAS,uBACR,gCAAC,CAAA,GAAA,mBAAW;QACV,OAAO;YACL,MAAM;gBAAC,kBAAkB,CAAA,GAAA,gEAAK,CAAC,CAAC,0BAA0B;gBAAE,GAAG,UAAU;YAAA;YACzE,KAAK;gBAAC,kBAAkB,CAAA,GAAA,gEAAK,CAAC,CAAC,oBAAoB;gBAAE,GAAG,QAAQ;YAAA;YAChE,MAAM;gBAAC,kBAAkB,CAAA,GAAA,gEAAK,CAAC,CAAC,qBAAqB;gBAAE,MAAM;YAAG;YAChE,aAAa;gBAAC,kBAAkB,CAAA,GAAA,gEAAK,CAAC,CAAC,4BAA4B;gBAAE,GAAG,gBAAgB;YAAA;YACxF,UAAU;gBAAC,kBAAkB,CAAA,GAAA,gEAAK,CAAC,CAAC,yBAAyB;gBAAE,GAAG,qBAAqB;YAAA;QACzF;OACC,UACA,4BACC,gCAAC,CAAA,GAAA,qCAAc;QACb,MAAK;QACL,kBACE,CAAA,GAAA,iBAAS,EACP,CAAA,GAAA,gEAAK,GACL;QAKN,+BAAiB,gCAAC,CAAA,GAAA,uCAAU;QAAE,MAAK;QAAM,MAAK;QAAK,WAAU;QAAS,cAAY,gBAAgB,OAAO;;AAQzH;;;AoC7JA;;;;;;;;;;CAUC;;;;;;;AAmBM,SAAS,0CAAe,KAA0B;IACvD,IAAI,QAAC,KAAI,SAAE,MAAK,YAAE,SAAQ,EAAC,GAAG;IAC9B,IAAI,aAAC,UAAS,gBAAE,aAAY,cAAE,WAAU,EAAC,GAAG,CAAA,GAAA,qBAAa,EAAE;QACzD,SAAS,KAAK;QACd,cAAc,IAAI,CAAC,aAAa;IAClC;IAEA,IAAI,kBAAC,eAAc,EAAC,GAAG,CAAA,GAAA,mBAAW,EAAE;QAClC,aAAa;IACf;IAEA,qBACE,gCAAC,CAAA,GAAA,eAAO,SACL,KAAK,QAAQ,MAAM,WAAW,+BAC7B,gCAAC;QACE,GAAG,cAAc;QAClB,WAAW,CAAA,GAAA,iBAAS,EAClB,CAAA,GAAA,gEAAK,GACL;sBAGN,gCAAC,MAAO,WACL,KAAK,0BACJ,gCAAC;QACE,GAAG,YAAY;QAChB,WACE,CAAA,GAAA,iBAAS,EACP,CAAA,GAAA,gEAAK,GACL;OAGH,KAAK,yBAGV,gCAAC;QACE,GAAG,UAAU;QACd,WACE,CAAA,GAAA,iBAAS,EACP,CAAA,GAAA,gEAAK,GACL;OAGH;WAAI,CAAA,GAAA,oBAAY,EAAE,MAAM,MAAM;KAAY,CAAC,IAAI,CAAA;QAC9C,IAAI,qBACF,gCAAC,CAAA,GAAA,yCAAO;YACN,KAAK,KAAK;YACV,MAAM;YACN,OAAO;YACP,UAAU;;QAGd,IAAI,KAAK,SACP,OAAO,KAAK,QAAQ;QAGtB,OAAO;IACT;AAKV;;;;;;;;ArCjEA,SAAS,2BAAuB,KAA2B,EAAE,GAA6B;IACxF,IAAI,eAAe,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,yCAAU;IACxC,IAAI,gBAAgB;QAClB,GAAG,CAAA,GAAA,iBAAS,EAAE,cAAc,MAAM;IACpC;IAEA,IAAI,SAAS,CAAA,GAAA,gBAAQ,EAAE;IACvB,IAAI,YAAY,CAAA,GAAA,aAAK,EAAE;IACvB,IAAI,QAAQ,CAAA,GAAA,mBAAW,EAAE;IACzB,IAAI,aAAC,UAAS,EAAC,GAAG,CAAA,GAAA,cAAM,EAAE,eAAe,OAAO;IAChD,IAAI,cAAC,WAAU,EAAC,GAAG,CAAA,GAAA,oBAAY,EAAE;IACjC,CAAA,GAAA,iBAAS,EAAE,cAAc;IAEzB,qBACE,gCAAC,CAAA,GAAA,yCAAe,EAAE;QAAS,OAAO;mBAAC;YAAO,WAAW;YAAW,MAAM;QAAM;qBAC1E,gCAAC,CAAA,GAAA,iBAAS;QAAE,SAAS,MAAM,aAAa,OAAO;qBAC7C,gCAAC;QACE,GAAG,SAAS;QACZ,GAAG,UAAU;QACd,KAAK;QACL,WACE,CAAA,GAAA,iBAAS,EACP,CAAA,GAAA,gEAAK,GACL,iBACA,WAAW;OAGd;WAAI,MAAM;KAAW,CAAC,IAAI,CAAA;QACzB,IAAI,KAAK,SAAS,WAChB,qBACE,gCAAC,CAAA,GAAA,yCAAU;YACT,KAAK,KAAK;YACV,MAAM;YACN,OAAO;YACP,UAAU,cAAc;;QAI9B,IAAI,yBACF,gCAAC,CAAA,GAAA,yCAAO;YACN,KAAK,KAAK;YACV,MAAM;YACN,OAAO;YACP,UAAU,cAAc;;QAG5B,IAAI,KAAK,SACP,WAAW,KAAK,QAAQ;QAG1B,OAAO;IACT,mBAEF,gCAAC;QAAI,KAAK;;AAIlB;AAEA;;CAEC,GACD,wFAAwF;AACxF,2GAA2G;AAC3G,MAAM,0DAAQ,CAAA,GAAA,YAAI,EAAE,WAAW;;;AsCzF/B;;;;;;;;;;CAUC;;;;;;;;;AAeD,SAAS,iCAA6B,KAAiC,EAAE,GAAoC;IAC3G,QAAQ,CAAA,GAAA,mBAAW,EAAE,OAAO;IAC5B,IAAI,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,gEAAW;IAC7D,IAAI,cAAc,CAAA,GAAA,qBAAa,EAAE,OAAO;QAAC,WAAW;IAAI;IACxD,IAAI,WAAW,CAAC,aAAa,KAAK,WAChC,WAAW,CAAC,aAAa,GAAG,gBAAgB,OAAO;IAGrD,qBACE,gCAAC,CAAA,GAAA,yCAAU;QACT,QAAQ,MAAM;QACd,aAAa,MAAM;QACnB,cAAc,MAAM;QACpB,OAAO,MAAM;QACb,WAAW,MAAM;QACjB,YAAY,MAAM;qBAClB,gCAAC,CAAA,GAAA,mBAAW;QACV,KAAK;QACJ,GAAG,KAAK;QACR,GAAG,WAAW;qBACf,gCAAC,CAAA,GAAA,gCAAG,yBAEN,gCAAC,CAAA,GAAA,yCAAG;QACF,UAAU,MAAM;QAChB,OAAO,MAAM;QACb,cAAc,MAAM;QACpB,UAAU,MAAM;;AAGxB;AAEA;;CAEC,GACD,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE;;;AC3D/B;;;;;;;;;;CAUC;;;;;;;;ACVD,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAAyD;AACzD,4CAAyD;AACzD,2CAA0D;AAC1D,4CAAyD;;;;;;;ADuBzD,SAAS,wCAAqB,KAAwC;IACpE,IAAI,iBAAC,cAAa,EAAC,GAAG;IAEtB,IAAI,aAAa,CAAA,GAAA,aAAK,EAAiB;IACvC,IAAI,aAAa,CAAA,GAAA,aAAK,EAAE;IACxB,IAAI,EAAC,OAAO,UAAS,aAAE,UAAS,QAAE,KAAI,EAAC,GAAG,CAAA,GAAA,yCAAkB;IAC5D,IAAI,QAAQ,CAAA,GAAA,6BAAqB,EAAE;QAAC,QAAQ,UAAU,aAAa,IAAI,MAAM;QAAY,cAAc,CAAC;YACtG,IAAI,CAAC,KACH;gBAAA,IAAI,UAAU,aAAa,IAAI,MAAM,YACnC,UAAU,UAAU,MAAM;YAC5B;QAEJ;IAAC;IACD,IAAI,QAAQ,CAAC;IACb,IAAI,eACF,QAAQ;QACN,QAAQ;YAAC,kBAAkB,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,gEAAS,GAAG;QAAuC;QACzF,SAAS;YAAC,kBAAkB,CAAA,GAAA,gEAAS,CAAC,CAAC,wCAAwC;QAAA;QAC/E,QAAQ;YAAC,kBAAkB,CAAA,GAAA,gEAAS,CAAC,CAAC,uCAAuC;QAAA;IAC/E;IAEF,IAAI,CAAC,QAAQ,GAAG,CAAA,GAAA,YAAI,EAAE,SAAS,QAAQ,MAAM;IAC7C,IAAI,GAAG,QAAQ,GAAG,MAAM;IAExB,IAAI,WAAW,CAAA,GAAA,wBAAgB;IAE/B,IAAI,SAAS;QACX,4EAA4E;QAC5E,IAAI,CAAC,KAAK,QAAQ,SAAS,SAAS,gBAClC,uHAAuH;QACvH,6DAA6D;QAC7D,WAAW,QAAQ;IAEvB;IACA,IAAI,eAAe,CAAC;YAC4B;QAA9C,IAAI,EAAE,iBAAiB,WAAW,WAAW,CAAC,CAAA,CAAA,sBAAA,WAAW,qBAAX,iCAAA,KAAA,IAAA,oBAAoB,oBAAoB,SAAS,EAAE,cAAa,GAC5G;YAAA,IAAI,UAAU,aAAa,IAAI,MAAM,YACnC,UAAU,UAAU,MAAM;QAC5B;IAEJ;IACA,qBACE,gFACE,gCAAC,CAAA,GAAA,yCAAgB,EAAE;QAAS,OAAO;2BAAC;wBAAe;QAAU;OAAI,wBACjE,gCAAC,CAAA,GAAA,mBAAW;QAAE,OAAO;OAEjB,yBACE,gCAAC,CAAA,GAAA,YAAI;QAAE,OAAO;QAAO,eAAA;qBACnB,gCAAC,CAAA,GAAA,oBAAY;QAAE,WAAW,MAAM;QAC/B,uBACD,gCAAC,CAAA,GAAA,oBAAY;QAAE,WAAW,MAAM;wBAGlC,gCAAC,CAAA,GAAA,cAAM;QACL,QAAQ;QACR,cAAc;QACd,WAAW,UAAU;QACrB,OAAO;QACP,KAAK;QACL,YAAY;QACZ,WAAU;QACV,QAAQ;QACR,WAAA;QACA,YAAA;QACA,0BAAA;QACA,wBAAA;OACC;AAOf;AAEA,wCAAkB,oBAAoB,UAAU,kBAAqB,KAAmB;IACtF,IAAI,CAAC,QAAQ,GAAG,CAAA,GAAA,YAAI,EAAE,SAAS,QAAQ,MAAM;IAC7C,IAAI,GAAG,QAAQ,GAAG,MAAM;IAExB,MAAM;QACJ,uBAAS,CAAA,GAAA,YAAI,EAAE,aAAa,SAAS;YAAC,GAAG,QAAQ,KAAK;YAAE,eAAe;QAAI;QAC3E,SAAS,CAAC,wBACR,gCAAC;gBAAkB,KAAK,QAAQ;gBAAK,WAAW,QAAQ;gBAAM,GAAG,KAAK;eACnE,SACA;IAGP;AACF;AAEA,IAAI,4CAAQ;;","sources":["packages/@react-spectrum/menu/src/index.ts","packages/@react-spectrum/menu/src/MenuTrigger.tsx","packages/@react-spectrum/menu/src/context.ts","packages/@adobe/spectrum-css-temp/components/menu/vars.css","packages/@react-spectrum/menu/src/Menu.tsx","packages/@react-spectrum/menu/src/MenuItem.tsx","packages/@react-spectrum/menu/src/*.js","packages/@react-spectrum/menu/intl/ar-AE.json","packages/@react-spectrum/menu/intl/bg-BG.json","packages/@react-spectrum/menu/intl/cs-CZ.json","packages/@react-spectrum/menu/intl/da-DK.json","packages/@react-spectrum/menu/intl/de-DE.json","packages/@react-spectrum/menu/intl/el-GR.json","packages/@react-spectrum/menu/intl/en-US.json","packages/@react-spectrum/menu/intl/es-ES.json","packages/@react-spectrum/menu/intl/et-EE.json","packages/@react-spectrum/menu/intl/fi-FI.json","packages/@react-spectrum/menu/intl/fr-FR.json","packages/@react-spectrum/menu/intl/he-IL.json","packages/@react-spectrum/menu/intl/hr-HR.json","packages/@react-spectrum/menu/intl/hu-HU.json","packages/@react-spectrum/menu/intl/it-IT.json","packages/@react-spectrum/menu/intl/ja-JP.json","packages/@react-spectrum/menu/intl/ko-KR.json","packages/@react-spectrum/menu/intl/lt-LT.json","packages/@react-spectrum/menu/intl/lv-LV.json","packages/@react-spectrum/menu/intl/nb-NO.json","packages/@react-spectrum/menu/intl/nl-NL.json","packages/@react-spectrum/menu/intl/pl-PL.json","packages/@react-spectrum/menu/intl/pt-BR.json","packages/@react-spectrum/menu/intl/pt-PT.json","packages/@react-spectrum/menu/intl/ro-RO.json","packages/@react-spectrum/menu/intl/ru-RU.json","packages/@react-spectrum/menu/intl/sk-SK.json","packages/@react-spectrum/menu/intl/sl-SI.json","packages/@react-spectrum/menu/intl/sr-SP.json","packages/@react-spectrum/menu/intl/sv-SE.json","packages/@react-spectrum/menu/intl/tr-TR.json","packages/@react-spectrum/menu/intl/uk-UA.json","packages/@react-spectrum/menu/intl/zh-CN.json","packages/@react-spectrum/menu/intl/zh-TW.json","packages/@react-spectrum/menu/src/MenuSection.tsx","packages/@react-spectrum/menu/src/ActionMenu.tsx","packages/@react-spectrum/menu/src/MenuDialogTrigger.tsx","packages/@adobe/spectrum-css-temp/components/contextualhelp/vars.css"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {MenuTrigger} from './MenuTrigger';\nexport {Menu} from './Menu';\nexport {ActionMenu} from './ActionMenu';\nexport {MenuDialogTrigger} from './MenuDialogTrigger';\nexport {Item, Section} from '@react-stately/collections';\nexport type {SpectrumActionMenuProps, SpectrumMenuProps, SpectrumMenuTriggerProps} from '@react-types/menu';\nexport type {SpectrumMenuDialogTriggerProps} from './MenuDialogTrigger';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useDOMRef, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {MenuContext} from './context';\nimport {Placement} from '@react-types/overlays';\nimport {Popover, Tray} from '@react-spectrum/overlays';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {forwardRef, Fragment, useRef} from 'react';\nimport {SpectrumMenuTriggerProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenuTrigger} from '@react-aria/menu';\nimport {useMenuTriggerState} from '@react-stately/menu';\n\nfunction MenuTrigger(props: SpectrumMenuTriggerProps, ref: DOMRef<HTMLElement>) {\n let triggerRef = useRef<HTMLElement>();\n let domRef = useDOMRef(ref);\n let menuTriggerRef = domRef || triggerRef;\n let menuRef = useRef<HTMLUListElement>();\n let {\n children,\n align = 'start',\n shouldFlip = true,\n direction = 'bottom',\n closeOnSelect,\n trigger = 'press'\n } = props;\n\n let [menuTrigger, menu] = React.Children.toArray(children);\n let state = useMenuTriggerState(props);\n\n let {menuTriggerProps, menuProps} = useMenuTrigger({trigger}, state, menuTriggerRef);\n\n let initialPlacement: Placement;\n switch (direction) {\n case 'left':\n case 'right':\n case 'start':\n case 'end':\n initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}` as Placement;\n break;\n case 'bottom':\n case 'top':\n default:\n initialPlacement = `${direction} ${align}` as Placement;\n }\n\n let isMobile = useIsMobileDevice();\n let menuContext = {\n ...menuProps,\n state,\n ref: menuRef,\n onClose: state.close,\n closeOnSelect,\n autoFocus: state.focusStrategy || true,\n UNSAFE_style: isMobile ? {\n width: '100%',\n maxHeight: 'inherit'\n } : undefined,\n UNSAFE_className: classNames(styles, {'spectrum-Menu-popover': !isMobile})\n };\n\n // On small screen devices, the menu is rendered in a tray, otherwise a popover.\n let overlay;\n if (isMobile) {\n overlay = (\n <Tray state={state}>\n {menu}\n </Tray>\n );\n } else {\n overlay = (\n <Popover\n UNSAFE_style={{clipPath: 'unset'}}\n state={state}\n triggerRef={menuTriggerRef}\n scrollRef={menuRef}\n placement={initialPlacement}\n hideArrow\n shouldFlip={shouldFlip}>\n {menu}\n </Popover>\n );\n }\n\n return (\n <Fragment>\n <SlotProvider slots={{actionButton: {holdAffordance: trigger === 'longPress'}}}>\n <PressResponder {...menuTriggerProps} ref={menuTriggerRef} isPressed={state.isOpen}>\n {menuTrigger}\n </PressResponder>\n </SlotProvider>\n <MenuContext.Provider value={menuContext}>\n {overlay}\n </MenuContext.Provider>\n </Fragment>\n );\n}\n\n/**\n * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,\n * linking the Menu's open state with the trigger's press state.\n */\nlet _MenuTrigger = forwardRef(MenuTrigger);\nexport {_MenuTrigger as MenuTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {FocusStrategy} from '@react-types/shared';\nimport {MenuTriggerState} from '@react-stately/menu';\nimport React, {HTMLAttributes, MutableRefObject, RefObject, useContext} from 'react';\nimport {TreeState} from '@react-stately/tree';\n\nexport interface MenuContextValue extends Omit<HTMLAttributes<HTMLElement>, 'autoFocus'> {\n onClose?: () => void,\n closeOnSelect?: boolean,\n shouldFocusWrap?: boolean,\n autoFocus?: boolean | FocusStrategy,\n ref?: MutableRefObject<HTMLUListElement>,\n state?: MenuTriggerState\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({});\n\nexport function useMenuContext(): MenuContextValue {\n return useContext(MenuContext);\n}\n\nexport interface MenuDialogContextValue {\n isUnavailable?: boolean,\n triggerRef?: MutableRefObject<HTMLLIElement>\n}\n\nexport const MenuDialogContext = React.createContext<MenuDialogContextValue | undefined>(undefined);\n\nexport function useMenuDialogContext(): MenuDialogContextValue {\n return useContext(MenuDialogContext);\n}\n\nexport interface MenuStateContextValue<T> {\n state?: TreeState<T>,\n container?: RefObject<HTMLElement>,\n menu?: RefObject<HTMLUListElement>\n}\n\nexport const MenuStateContext = React.createContext<MenuStateContextValue<any>>({});\n\nexport function useMenuStateContext<T>(): MenuStateContextValue<T> {\n return useContext(MenuStateContext);\n}\n\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport {DOMRef} from '@react-types/shared';\nimport {FocusScope} from '@react-aria/focus';\nimport {MenuContext, MenuStateContext} from './context';\nimport {MenuItem} from './MenuItem';\nimport {MenuSection} from './MenuSection';\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport React, {ReactElement, useContext, useRef} from 'react';\nimport {SpectrumMenuProps} from '@react-types/menu';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {useMenu} from '@react-aria/menu';\nimport {useTreeState} from '@react-stately/tree';\n\nfunction Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLUListElement>) {\n let contextProps = useContext(MenuContext);\n let completeProps = {\n ...mergeProps(contextProps, props)\n };\n\n let domRef = useDOMRef(ref);\n let scopedRef = useRef(null);\n let state = useTreeState(completeProps);\n let {menuProps} = useMenu(completeProps, state, domRef);\n let {styleProps} = useStyleProps(completeProps);\n useSyncRef(contextProps, domRef);\n\n return (\n <MenuStateContext.Provider value={{state, container: scopedRef, menu: domRef}}>\n <FocusScope contain={state.expandedKeys.size > 0}>\n <ul\n {...menuProps}\n {...styleProps}\n ref={domRef}\n className={\n classNames(\n styles,\n 'spectrum-Menu',\n styleProps.className\n )\n }>\n {[...state.collection].map(item => {\n if (item.type === 'section') {\n return (\n <MenuSection\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={state}\n onAction={completeProps.onAction} />\n );\n\n if (item.wrapper) {\n menuItem = item.wrapper(menuItem);\n }\n\n return menuItem;\n })}\n </ul>\n <div ref={scopedRef} />\n </FocusScope>\n </MenuStateContext.Provider>\n );\n}\n\n/**\n * Menus display a list of actions or options that a user can choose.\n */\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\n// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref\nconst _Menu = React.forwardRef(Menu) as <T>(props: SpectrumMenuProps<T> & {ref?: DOMRef<HTMLUListElement>}) => ReactElement;\nexport {_Menu as Menu};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, ClearSlots, SlotProvider} from '@react-spectrum/utils';\nimport {DOMAttributes, Node} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useSlotId} from '@react-aria/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport InfoOutline from '@spectrum-icons/workflow/InfoOutline';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {Key, useMemo, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {Text} from '@react-spectrum/text';\nimport {TreeState} from '@react-stately/tree';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useMenuContext, useMenuDialogContext} from './context';\nimport {useMenuItem} from '@react-aria/menu';\n\ninterface MenuItemProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n isVirtualized?: boolean,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuItem<T>(props: MenuItemProps<T>) {\n let {\n item,\n state,\n isVirtualized,\n onAction\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let menuDialogContext = useMenuDialogContext();\n let {triggerRef} = menuDialogContext || {};\n let isMenuDialogTrigger = !!menuDialogContext;\n let isUnavailable = false;\n\n if (isMenuDialogTrigger) {\n isUnavailable = menuDialogContext.isUnavailable;\n }\n\n let domProps = filterDOMProps(item.props);\n\n let {\n onClose,\n closeOnSelect\n } = useMenuContext();\n\n let {\n rendered,\n key\n } = item;\n\n let isSelected = state.selectionManager.isSelected(key);\n let isDisabled = state.disabledKeys.has(key);\n\n let itemref = useRef<HTMLLIElement>(null);\n let ref = useObjectRef(useMemo(() => mergeRefs(itemref, triggerRef), [itemref, triggerRef]));\n\n let {\n menuItemProps,\n labelProps,\n descriptionProps,\n keyboardShortcutProps\n } = useMenuItem(\n {\n isSelected,\n isDisabled,\n 'aria-label': item['aria-label'],\n key,\n onClose,\n closeOnSelect,\n isVirtualized,\n onAction,\n 'aria-haspopup': isMenuDialogTrigger ? 'dialog' : undefined\n },\n state,\n ref\n );\n let endId = useSlotId();\n let endProps: DOMAttributes = {};\n if (endId) {\n endProps.id = endId;\n menuItemProps['aria-describedby'] = [menuItemProps['aria-describedby'], endId].filter(Boolean).join(' ');\n }\n if (isUnavailable) {\n menuItemProps['aria-disabled'] = 'true';\n }\n\n let contents = typeof rendered === 'string'\n ? <Text>{rendered}</Text>\n : rendered;\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <li\n {...mergeProps(menuItemProps, domProps)}\n ref={ref}\n className={classNames(\n styles,\n 'spectrum-Menu-item',\n {\n 'is-disabled': isDisabled,\n 'is-selected': isSelected,\n 'is-selectable': state.selectionManager.selectionMode !== 'none',\n 'is-open': state.expandedKeys.has(key)\n }\n )}>\n <Grid\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-itemGrid'\n )\n }>\n <ClearSlots>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: styles['spectrum-Menu-itemLabel'], ...labelProps},\n end: {UNSAFE_className: styles['spectrum-Menu-end'], ...endProps},\n icon: {UNSAFE_className: styles['spectrum-Menu-icon'], size: 'S'},\n description: {UNSAFE_className: styles['spectrum-Menu-description'], ...descriptionProps},\n keyboard: {UNSAFE_className: styles['spectrum-Menu-keyboard'], ...keyboardShortcutProps}\n }}>\n {contents}\n {isSelected &&\n <CheckmarkMedium\n slot=\"checkmark\"\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Menu-checkmark'\n )\n } />\n }\n {\n isUnavailable && <InfoOutline slot=\"end\" size=\"XS\" alignSelf=\"center\" aria-label={stringFormatter.format('unavailable')} />\n }\n </SlotProvider>\n </ClearSlots>\n </Grid>\n </li>\n </FocusRing>\n );\n}\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"moreActions\": \"المزيد من الإجراءات\",\n \"unavailable\": \"غير متاح\"\n}\n","{\n \"moreActions\": \"Повече действия\",\n \"unavailable\": \"Недостъпен\"\n}\n","{\n \"moreActions\": \"Další akce\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Ikke tilgængelig\"\n}\n","{\n \"moreActions\": \"Mehr Aktionen\",\n \"unavailable\": \"Nicht verfügbar\"\n}\n","{\n \"moreActions\": \"Περισσότερες ενέργειες\",\n \"unavailable\": \"Μη διαθέσιμο\"\n}\n","{\n \"moreActions\": \"More actions\",\n \"unavailable\": \"Expand for details\"\n}\n","{\n \"moreActions\": \"Más acciones\",\n \"unavailable\": \"No disponible\"\n}\n","{\n \"moreActions\": \"Veel toiminguid\",\n \"unavailable\": \"Kättesaamatu\"\n}\n","{\n \"moreActions\": \"Lisää toimintoja\",\n \"unavailable\": \"Ei saatavilla\"\n}\n","{\n \"moreActions\": \"Autres actions\",\n \"unavailable\": \"Indisponible\"\n}\n","{\n \"moreActions\": \"פעולות נוספות\",\n \"unavailable\": \"לא זמין\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"További lehetőségek\",\n \"unavailable\": \"Nem érhető el\"\n}\n","{\n \"moreActions\": \"Altre azioni\",\n \"unavailable\": \"Non disponibile\"\n}\n","{\n \"moreActions\": \"その他のアクション\",\n \"unavailable\": \"使用不可\"\n}\n","{\n \"moreActions\": \"기타 액션\",\n \"unavailable\": \"사용할 수 없음\"\n}\n","{\n \"moreActions\": \"Daugiau veiksmų\",\n \"unavailable\": \"Nepasiekiama\"\n}\n","{\n \"moreActions\": \"Citas darbības\",\n \"unavailable\": \"Nav pieejams\"\n}\n","{\n \"moreActions\": \"Flere handlinger\",\n \"unavailable\": \"Utilgjengelig\"\n}\n","{\n \"moreActions\": \"Meer handelingen\",\n \"unavailable\": \"Niet beschikbaar\"\n}\n","{\n \"moreActions\": \"Więcej akcji\",\n \"unavailable\": \"Niedostępne\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mais ações\",\n \"unavailable\": \"Indisponível\"\n}\n","{\n \"moreActions\": \"Mai multe acțiuni\",\n \"unavailable\": \"Indisponibil\"\n}\n","{\n \"moreActions\": \"Дополнительные действия\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"Ďalšie akcie\",\n \"unavailable\": \"Nedostupné\"\n}\n","{\n \"moreActions\": \"Več možnosti\",\n \"unavailable\": \"Ni na voljo\"\n}\n","{\n \"moreActions\": \"Dodatne radnje\",\n \"unavailable\": \"Nije dostupno\"\n}\n","{\n \"moreActions\": \"Fler åtgärder\",\n \"unavailable\": \"Ej tillgänglig\"\n}\n","{\n \"moreActions\": \"Daha fazla eylem\",\n \"unavailable\": \"Kullanım dışı\"\n}\n","{\n \"moreActions\": \"Більше дій\",\n \"unavailable\": \"Недоступно\"\n}\n","{\n \"moreActions\": \"更多操作\",\n \"unavailable\": \"不可用\"\n}\n","{\n \"moreActions\": \"更多動作\",\n \"unavailable\": \"無法使用\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {getChildNodes} from '@react-stately/collections';\nimport {MenuItem} from './MenuItem';\nimport {Node} from '@react-types/shared';\nimport React, {Fragment, Key} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/menu/vars.css';\nimport {TreeState} from '@react-stately/tree';\nimport {useMenuSection} from '@react-aria/menu';\nimport {useSeparator} from '@react-aria/separator';\n\ninterface MenuSectionProps<T> {\n item: Node<T>,\n state: TreeState<T>,\n onAction?: (key: Key) => void\n}\n\n/** @private */\nexport function MenuSection<T>(props: MenuSectionProps<T>) {\n let {item, state, onAction} = props;\n let {itemProps, headingProps, groupProps} = useMenuSection({\n heading: item.rendered,\n 'aria-label': item['aria-label']\n });\n\n let {separatorProps} = useSeparator({\n elementType: 'li'\n });\n\n return (\n <Fragment>\n {item.key !== state.collection.getFirstKey() &&\n <li\n {...separatorProps}\n className={classNames(\n styles,\n 'spectrum-Menu-divider'\n )} />\n }\n <li {...itemProps}>\n {item.rendered &&\n <span\n {...headingProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu-sectionHeading'\n )\n }>\n {item.rendered}\n </span>\n }\n <ul\n {...groupProps}\n className={\n classNames(\n styles,\n 'spectrum-Menu'\n )\n }>\n {[...getChildNodes(item, state.collection)].map(node => {\n let item = (\n <MenuItem\n key={node.key}\n item={node}\n state={state}\n onAction={onAction} />\n );\n\n if (node.wrapper) {\n item = node.wrapper(item);\n }\n\n return item;\n })}\n </ul>\n </li>\n </Fragment>\n );\n}\n","/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from '@react-spectrum/button';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {FocusableRef} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu} from './Menu';\nimport {MenuTrigger} from './MenuTrigger';\nimport More from '@spectrum-icons/workflow/More';\nimport React, {forwardRef, ReactElement} from 'react';\nimport {SpectrumActionMenuProps} from '@react-types/menu';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSlotProps} from '@react-spectrum/utils';\n\nfunction ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: FocusableRef<HTMLButtonElement>) {\n props = useSlotProps(props, 'actionMenu');\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let buttonProps = filterDOMProps(props, {labelable: true});\n if (buttonProps['aria-label'] === undefined) {\n buttonProps['aria-label'] = stringFormatter.format('moreActions');\n }\n\n return (\n <MenuTrigger\n isOpen={props.isOpen}\n defaultOpen={props.defaultOpen}\n onOpenChange={props.onOpenChange}\n align={props.align}\n direction={props.direction}\n shouldFlip={props.shouldFlip}>\n <ActionButton\n ref={ref}\n {...props}\n {...buttonProps}>\n <More />\n </ActionButton>\n <Menu\n children={props.children}\n items={props.items}\n disabledKeys={props.disabledKeys}\n onAction={props.onAction} />\n </MenuTrigger>\n );\n}\n\n/**\n * ActionMenu combines an ActionButton with a Menu for simple \"more actions\" use cases.\n */\nconst _ActionMenu = forwardRef(ActionMenu) as <T>(props: SpectrumActionMenuProps<T> & {ref?: FocusableRef<HTMLButtonElement>}) => ReactElement;\nexport {_ActionMenu as ActionMenu};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames, SlotProvider, useIsMobileDevice} from '@react-spectrum/utils';\nimport {DismissButton} from '@react-aria/overlays';\nimport helpStyles from '@adobe/spectrum-css-temp/components/contextualhelp/vars.css';\nimport {ItemProps} from '@react-types/shared';\nimport {MenuDialogContext, useMenuStateContext} from './context';\nimport {Modal, Popover} from '@react-spectrum/overlays';\nimport React, {Key, ReactElement, useRef} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport interface SpectrumMenuDialogTriggerProps<T> extends ItemProps<T> {\n isUnavailable?: boolean,\n targetKey: Key\n}\n\nfunction MenuDialogTrigger<T>(props: SpectrumMenuDialogTriggerProps<T>): ReactElement {\n let {isUnavailable} = props;\n\n let triggerRef = useRef<HTMLLIElement>(null);\n let popoverRef = useRef(null);\n let {state: menuState, container, menu} = useMenuStateContext();\n let state = useOverlayTriggerState({isOpen: menuState.expandedKeys.has(props.targetKey), onOpenChange: (val) => {\n if (!val) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n }});\n let slots = {};\n if (isUnavailable) {\n slots = {\n dialog: {UNSAFE_className: classNames(helpStyles, 'react-spectrum-ContextualHelp-dialog')},\n content: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-content']},\n footer: {UNSAFE_className: helpStyles['react-spectrum-ContextualHelp-footer']}\n };\n }\n let [trigger] = React.Children.toArray(props.children);\n let [, content] = props.children as [ReactElement, ReactElement];\n\n let isMobile = useIsMobileDevice();\n\n let onExit = () => {\n // if focus was already moved back to a menu item, don't need to do anything\n if (!menu.current.contains(document.activeElement)) {\n // need to return focus to the trigger because hitting Esc causes focus to go to the subdialog, which is then unmounted\n // this leads to blur never being fired nor focus on the body\n triggerRef.current.focus();\n }\n };\n let onBlurWithin = (e) => {\n if (e.relatedTarget && popoverRef.current && !popoverRef.current?.UNSAFE_getDOMNode().contains(e.relatedTarget)) {\n if (menuState.expandedKeys.has(props.targetKey)) {\n menuState.toggleKey(props.targetKey);\n }\n }\n };\n return (\n <>\n <MenuDialogContext.Provider value={{isUnavailable, triggerRef}}>{trigger}</MenuDialogContext.Provider>\n <SlotProvider slots={slots}>\n {\n isMobile ? (\n <Modal state={state} isDismissable>\n <DismissButton onDismiss={state.close} />\n {content}\n <DismissButton onDismiss={state.close} />\n </Modal>\n ) : (\n <Popover\n onExit={onExit}\n onBlurWithin={onBlurWithin}\n container={container.current}\n state={state}\n ref={popoverRef}\n triggerRef={triggerRef}\n placement=\"end top\"\n offset={-10}\n hideArrow\n isNonModal\n enableBothDismissButtons\n disableFocusManagement>\n {content}\n </Popover>\n )\n }\n </SlotProvider>\n </>\n );\n}\n\nMenuDialogTrigger.getCollectionNode = function* getCollectionNode<T>(props: ItemProps<T>) {\n let [trigger] = React.Children.toArray(props.children) as ReactElement[];\n let [, content] = props.children as [ReactElement, ReactElement];\n\n yield {\n element: React.cloneElement(trigger, {...trigger.props, hasChildItems: true}),\n wrapper: (element) => (\n <MenuDialogTrigger key={element.key} targetKey={element.key} {...props}>\n {element}\n {content}\n </MenuDialogTrigger>\n )\n };\n};\n\nlet _Item = MenuDialogTrigger as <T>(props: ItemProps<T> & {isUnavailable?: boolean}) => JSX.Element;\nexport {_Item as MenuDialogTrigger};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n"],"names":[],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;AC6GA;;;GAGG;AACH,OAAA,IAAI,oJAAsC,CAAC;
|
|
1
|
+
{"mappings":";;;AC6GA;;;GAGG;AACH,OAAA,IAAI,oJAAsC,CAAC;AG7B3C;;GAEG;AAGH,OAAA,MAAM;UAA2E,OAAO,gBAAgB,CAAC;MAAM,YAAY,CAAC;ACjC5H;;GAEG;AACH,OAAA,MAAM;UAAuF,aAAa,iBAAiB,CAAC;MAAM,YAAY,CAAC;ACtC/I,gDAAgD,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,GAAG,CAAA;CACf;AA4FD,OAAA,IAAI;oBAAwE,OAAO;MAAM,WAAW,CAAC;AClGrG,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACzD,YAAY,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,wBAAwB,EAAC,MAAM,mBAAmB,CAAC","sources":["packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/context.ts","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/MenuTrigger.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/MenuItem.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/MenuSection.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/Menu.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/ActionMenu.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/MenuDialogTrigger.tsx","packages/@react-spectrum/menu/src/packages/@react-spectrum/menu/src/index.ts","packages/@react-spectrum/menu/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {MenuTrigger} from './MenuTrigger';\nexport {Menu} from './Menu';\nexport {ActionMenu} from './ActionMenu';\nexport {MenuDialogTrigger} from './MenuDialogTrigger';\nexport {Item, Section} from '@react-stately/collections';\nexport type {SpectrumActionMenuProps, SpectrumMenuProps, SpectrumMenuTriggerProps} from '@react-types/menu';\nexport type {SpectrumMenuDialogTriggerProps} from './MenuDialogTrigger';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/menu",
|
|
3
|
-
"version": "3.11.2-nightly.
|
|
3
|
+
"version": "3.11.2-nightly.3985+a4f8ec34b",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -36,36 +36,36 @@
|
|
|
36
36
|
"url": "https://github.com/adobe/react-spectrum"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@react-aria/focus": "3.0.0-nightly.
|
|
40
|
-
"@react-aria/i18n": "3.0.0-nightly.
|
|
41
|
-
"@react-aria/interactions": "3.0.0-nightly.
|
|
42
|
-
"@react-aria/menu": "3.9.2-nightly.
|
|
43
|
-
"@react-aria/overlays": "3.0.0-nightly.
|
|
44
|
-
"@react-aria/selection": "3.0.0-nightly.
|
|
45
|
-
"@react-aria/separator": "3.0.0-nightly.
|
|
46
|
-
"@react-aria/utils": "3.0.0-nightly.
|
|
47
|
-
"@react-aria/virtualizer": "3.8.2-nightly.
|
|
48
|
-
"@react-spectrum/button": "3.0.0-nightly.
|
|
49
|
-
"@react-spectrum/checkbox": "3.0.0-nightly.
|
|
50
|
-
"@react-spectrum/divider": "3.0.0-nightly.
|
|
51
|
-
"@react-spectrum/layout": "3.5.3-nightly.
|
|
52
|
-
"@react-spectrum/overlays": "3.0.0-nightly.
|
|
53
|
-
"@react-spectrum/text": "3.4.3-nightly.
|
|
54
|
-
"@react-spectrum/utils": "3.0.0-nightly.
|
|
55
|
-
"@react-stately/collections": "3.0.0-nightly.
|
|
56
|
-
"@react-stately/menu": "3.5.3-nightly.
|
|
57
|
-
"@react-stately/overlays": "3.5.3-nightly.
|
|
58
|
-
"@react-stately/tree": "3.0.0-nightly.
|
|
59
|
-
"@react-stately/utils": "3.0.0-nightly.
|
|
60
|
-
"@react-types/menu": "3.9.2-nightly.
|
|
61
|
-
"@react-types/overlays": "3.7.3-nightly.
|
|
62
|
-
"@react-types/shared": "3.0.0-nightly.
|
|
63
|
-
"@spectrum-icons/ui": "3.0.0-nightly.
|
|
64
|
-
"@spectrum-icons/workflow": "3.0.0-nightly.
|
|
39
|
+
"@react-aria/focus": "3.0.0-nightly.2283+a4f8ec34b",
|
|
40
|
+
"@react-aria/i18n": "3.0.0-nightly.2283+a4f8ec34b",
|
|
41
|
+
"@react-aria/interactions": "3.0.0-nightly.2283+a4f8ec34b",
|
|
42
|
+
"@react-aria/menu": "3.9.2-nightly.3985+a4f8ec34b",
|
|
43
|
+
"@react-aria/overlays": "3.0.0-nightly.2283+a4f8ec34b",
|
|
44
|
+
"@react-aria/selection": "3.0.0-nightly.2283+a4f8ec34b",
|
|
45
|
+
"@react-aria/separator": "3.0.0-nightly.2283+a4f8ec34b",
|
|
46
|
+
"@react-aria/utils": "3.0.0-nightly.2283+a4f8ec34b",
|
|
47
|
+
"@react-aria/virtualizer": "3.8.2-nightly.3985+a4f8ec34b",
|
|
48
|
+
"@react-spectrum/button": "3.0.0-nightly.2283+a4f8ec34b",
|
|
49
|
+
"@react-spectrum/checkbox": "3.0.0-nightly.2283+a4f8ec34b",
|
|
50
|
+
"@react-spectrum/divider": "3.0.0-nightly.2283+a4f8ec34b",
|
|
51
|
+
"@react-spectrum/layout": "3.5.3-nightly.3985+a4f8ec34b",
|
|
52
|
+
"@react-spectrum/overlays": "3.0.0-nightly.2283+a4f8ec34b",
|
|
53
|
+
"@react-spectrum/text": "3.4.3-nightly.3985+a4f8ec34b",
|
|
54
|
+
"@react-spectrum/utils": "3.0.0-nightly.2283+a4f8ec34b",
|
|
55
|
+
"@react-stately/collections": "3.0.0-nightly.2283+a4f8ec34b",
|
|
56
|
+
"@react-stately/menu": "3.5.3-nightly.3985+a4f8ec34b",
|
|
57
|
+
"@react-stately/overlays": "3.5.3-nightly.3985+a4f8ec34b",
|
|
58
|
+
"@react-stately/tree": "3.0.0-nightly.2283+a4f8ec34b",
|
|
59
|
+
"@react-stately/utils": "3.0.0-nightly.2283+a4f8ec34b",
|
|
60
|
+
"@react-types/menu": "3.9.2-nightly.3985+a4f8ec34b",
|
|
61
|
+
"@react-types/overlays": "3.7.3-nightly.3985+a4f8ec34b",
|
|
62
|
+
"@react-types/shared": "3.0.0-nightly.2283+a4f8ec34b",
|
|
63
|
+
"@spectrum-icons/ui": "3.0.0-nightly.2283+a4f8ec34b",
|
|
64
|
+
"@spectrum-icons/workflow": "3.0.0-nightly.2283+a4f8ec34b",
|
|
65
65
|
"@swc/helpers": "^0.5.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@adobe/spectrum-css-temp": "3.0.0-nightly.
|
|
68
|
+
"@adobe/spectrum-css-temp": "3.0.0-nightly.2283+a4f8ec34b"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"@react-spectrum/provider": "^3.0.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"publishConfig": {
|
|
76
76
|
"access": "public"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "a4f8ec34b1d9d11b46750a27de04059e5a7e64c8"
|
|
79
79
|
}
|
package/src/Menu.tsx
CHANGED
|
@@ -39,45 +39,44 @@ function Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLULi
|
|
|
39
39
|
return (
|
|
40
40
|
<MenuStateContext.Provider value={{state, container: scopedRef, menu: domRef}}>
|
|
41
41
|
<FocusScope contain={state.expandedKeys.size > 0}>
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<MenuSection
|
|
58
|
-
key={item.key}
|
|
59
|
-
item={item}
|
|
60
|
-
state={state}
|
|
61
|
-
onAction={completeProps.onAction} />
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
let menuItem = (
|
|
66
|
-
<MenuItem
|
|
42
|
+
<ul
|
|
43
|
+
{...menuProps}
|
|
44
|
+
{...styleProps}
|
|
45
|
+
ref={domRef}
|
|
46
|
+
className={
|
|
47
|
+
classNames(
|
|
48
|
+
styles,
|
|
49
|
+
'spectrum-Menu',
|
|
50
|
+
styleProps.className
|
|
51
|
+
)
|
|
52
|
+
}>
|
|
53
|
+
{[...state.collection].map(item => {
|
|
54
|
+
if (item.type === 'section') {
|
|
55
|
+
return (
|
|
56
|
+
<MenuSection
|
|
67
57
|
key={item.key}
|
|
68
58
|
item={item}
|
|
69
59
|
state={state}
|
|
70
60
|
onAction={completeProps.onAction} />
|
|
71
61
|
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
let menuItem = (
|
|
65
|
+
<MenuItem
|
|
66
|
+
key={item.key}
|
|
67
|
+
item={item}
|
|
68
|
+
state={state}
|
|
69
|
+
onAction={completeProps.onAction} />
|
|
70
|
+
);
|
|
72
71
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
if (item.wrapper) {
|
|
73
|
+
menuItem = item.wrapper(menuItem);
|
|
74
|
+
}
|
|
76
75
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
return menuItem;
|
|
77
|
+
})}
|
|
78
|
+
</ul>
|
|
79
|
+
<div ref={scopedRef} />
|
|
81
80
|
</FocusScope>
|
|
82
81
|
</MenuStateContext.Provider>
|
|
83
82
|
);
|