{"mappings":"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","sources":["packages/react/menu/src/index.ts","packages/react/menu/src/Menu.tsx"],"sourcesContent":["export {\n createMenuScope,\n //\n Menu,\n MenuAnchor,\n MenuPortal,\n MenuContent,\n MenuGroup,\n MenuLabel,\n MenuItem,\n MenuCheckboxItem,\n MenuRadioGroup,\n MenuRadioItem,\n MenuItemIndicator,\n MenuSeparator,\n MenuArrow,\n MenuSub,\n MenuSubTrigger,\n MenuSubContent,\n //\n Root,\n Anchor,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n} from './Menu';\nexport type {\n MenuProps,\n MenuAnchorProps,\n MenuPortalProps,\n MenuContentProps,\n MenuGroupProps,\n MenuLabelProps,\n MenuItemProps,\n MenuCheckboxItemProps,\n MenuRadioGroupProps,\n MenuRadioItemProps,\n MenuItemIndicatorProps,\n MenuSeparatorProps,\n MenuArrowProps,\n MenuSubProps,\n MenuSubTriggerProps,\n MenuSubContentProps,\n} from './Menu';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs, composeRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { useId } from '@radix-ui/react-id';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Slot } from '@radix-ui/react-slot';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { hideOthers } from 'aria-hidden';\nimport { RemoveScroll } from 'react-remove-scroll';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\nconst SELECTION_KEYS = ['Enter', ' '];\nconst FIRST_KEYS = ['ArrowDown', 'PageUp', 'Home'];\nconst LAST_KEYS = ['ArrowUp', 'PageDown', 'End'];\nconst FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nconst SUB_OPEN_KEYS: Record = {\n ltr: [...SELECTION_KEYS, 'ArrowRight'],\n rtl: [...SELECTION_KEYS, 'ArrowLeft'],\n};\nconst SUB_CLOSE_KEYS: Record = {\n ltr: ['ArrowLeft'],\n rtl: ['ArrowRight'],\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Menu\n * -----------------------------------------------------------------------------------------------*/\n\nconst MENU_NAME = 'Menu';\n\ntype ItemData = { disabled: boolean; textValue: string };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n MenuItemElement,\n ItemData\n>(MENU_NAME);\n\ntype ScopedProps

= P & { __scopeMenu?: Scope };\nconst [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope,\n]);\nconst usePopperScope = createPopperScope();\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype MenuContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n content: MenuContentElement | null;\n onContentChange(content: MenuContentElement | null): void;\n};\n\nconst [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\n\ntype MenuRootContextValue = {\n onClose(): void;\n isUsingKeyboardRef: React.RefObject;\n dir: Direction;\n modal: boolean;\n};\n\nconst [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\n\ninterface MenuProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n}\n\nconst Menu: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n\n React.useEffect(() => {\n // Capture phase ensures we set the boolean before any side effects execute\n // in response to the key or pointer event as they might depend on this value.\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener('pointerdown', handlePointer, { capture: true, once: true });\n document.addEventListener('pointermove', handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => (isUsingKeyboardRef.current = false);\n document.addEventListener('keydown', handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener('keydown', handleKeyDown, { capture: true });\n document.removeEventListener('pointerdown', handlePointer, { capture: true });\n document.removeEventListener('pointermove', handlePointer, { capture: true });\n };\n }, []);\n\n return (\n \n \n handleOpenChange(false), [handleOpenChange])}\n isUsingKeyboardRef={isUsingKeyboardRef}\n dir={direction}\n modal={modal}\n >\n {children}\n \n \n \n );\n};\n\nMenu.displayName = MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'MenuAnchor';\n\ntype MenuAnchorElement = React.ElementRef;\ntype PopperAnchorProps = Radix.ComponentPropsWithoutRef;\ninterface MenuAnchorProps extends PopperAnchorProps {}\n\nconst MenuAnchor = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return ;\n }\n);\n\nMenuAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'MenuPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface MenuPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuPortal: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nMenuPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'MenuContent';\n\ntype MenuContentContextValue = {\n onItemEnter(event: React.PointerEvent): void;\n onItemLeave(event: React.PointerEvent): void;\n onTriggerLeave(event: React.PointerEvent): void;\n searchRef: React.RefObject;\n pointerGraceTimerRef: React.MutableRefObject;\n onPointerGraceIntentChange(intent: GraceIntent | null): void;\n};\nconst [MenuContentProvider, useMenuContentContext] =\n createMenuContext(CONTENT_NAME);\n\ntype MenuContentElement = MenuRootContentTypeElement;\n/**\n * We purposefully don't union MenuRootContent and MenuSubContent props here because\n * they have conflicting prop types. We agreed that we would allow MenuSubContent to\n * accept props that it would just ignore.\n */\ninterface MenuContentProps extends MenuRootContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n\n return (\n \n \n \n {rootContext.modal ? (\n \n ) : (\n \n )}\n \n \n \n );\n }\n);\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuRootContentTypeElement = MenuContentImplElement;\ninterface MenuRootContentTypeProps\n extends Omit {}\n\nconst MenuRootContentModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n // Hide everything from ARIA except the `MenuContent`\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n onDismiss={() => context.onOpenChange(false)}\n />\n );\n }\n);\n\nconst MenuRootContentNonModal = React.forwardRef<\n MenuRootContentTypeElement,\n MenuRootContentTypeProps\n>((props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return (\n context.onOpenChange(false)}\n />\n );\n});\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuContentImplElement = React.ElementRef;\ntype FocusScopeProps = Radix.ComponentPropsWithoutRef;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef;\ntype MenuContentImplPrivateProps = {\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n onDismiss?: DismissableLayerProps['onDismiss'];\n disableOutsidePointerEvents?: DismissableLayerProps['disableOutsidePointerEvents'];\n\n /**\n * Whether scrolling outside the `MenuContent` should be prevented\n * (default: `false`)\n */\n disableOutsideScroll?: boolean;\n\n /**\n * Whether focus should be trapped within the `MenuContent`\n * (default: false)\n */\n trapFocus?: FocusScopeProps['trapped'];\n};\ninterface MenuContentImplProps\n extends MenuContentImplPrivateProps,\n Omit {\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: RovingFocusGroupProps['loop'];\n\n onEntryFocus?: RovingFocusGroupProps['onEntryFocus'];\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n onFocusOutside?: DismissableLayerProps['onFocusOutside'];\n onInteractOutside?: DismissableLayerProps['onInteractOutside'];\n}\n\nconst MenuContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef('');\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef('right');\n const lastPointerXRef = React.useRef(0);\n\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll\n ? { as: Slot, allowPinchZoom: true }\n : undefined;\n\n const handleTypeaheadSearch = (key: string) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n\n // Reset `searchRef` 1 second after it was last updated\n (function updateSearch(value: string) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== '') timerRef.current = window.setTimeout(() => updateSearch(''), 1000);\n })(search);\n\n if (newItem) {\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => (newItem as HTMLElement).focus());\n }\n };\n\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n\n // Make sure the whole tree has focus guards as our `MenuContent` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n const isPointerMovingToSubmenu = React.useCallback((event: React.PointerEvent) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n\n return (\n {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n )}\n onItemLeave={React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n )}\n onTriggerLeave={React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n )}\n pointerGraceTimerRef={pointerGraceTimerRef}\n onPointerGraceIntentChange={React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, [])}\n >\n \n {\n // when opening, explicitly focus the content area only and leave\n // `onEntryFocus` in control of focusing first item\n event.preventDefault();\n contentRef.current?.focus();\n })}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n \n {\n // only focus first item when using keyboard\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n })}\n >\n {\n // submenu key events bubble through portals. We only care about keys in this menu.\n const target = event.target as HTMLElement;\n const isKeyDownInside =\n target.closest('[data-radix-menu-content]') === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n // menus should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n // focus first/last item based on key pressed\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current!);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n })}\n onBlur={composeEventHandlers(props.onBlur, (event) => {\n // clear search buffer when leaving the menu\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = '';\n }\n })}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target as HTMLElement;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n\n // We don't use `event.movementX` for this check because Safari will\n // always return `0` on a pointer event.\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? 'right' : 'left';\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )}\n />\n \n \n \n \n \n );\n }\n);\n\nMenuContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'MenuGroup';\n\ntype MenuGroupElement = React.ElementRef;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef;\ninterface MenuGroupProps extends PrimitiveDivProps {}\n\nconst MenuGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return ;\n }\n);\n\nMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'MenuLabel';\n\ntype MenuLabelElement = React.ElementRef;\ninterface MenuLabelProps extends PrimitiveDivProps {}\n\nconst MenuLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return ;\n }\n);\n\nMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'MenuItem';\nconst ITEM_SELECT = 'menu.itemSelect';\n\ntype MenuItemElement = MenuItemImplElement;\ninterface MenuItemProps extends Omit {\n onSelect?: (event: Event) => void;\n}\n\nconst MenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n\n return (\n {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n }}\n onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n // Pointer down can move to a different menu item which should activate it on pointer up.\n // We dispatch a click for selection to allow composition with click based triggers and to\n // prevent Firefox from getting stuck in text selection mode when the menu closes.\n if (!isPointerDownRef.current) event.currentTarget?.click();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== '';\n if (disabled || (isTypingAhead && event.key === ' ')) return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n /**\n * We prevent default browser behaviour for selection keys as they should trigger\n * a selection only:\n * - prevents space from scrolling the page.\n * - if keydown causes focus to move, prevents keydown from firing on the new target.\n */\n event.preventDefault();\n }\n })}\n />\n );\n }\n);\n\nMenuItem.displayName = ITEM_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuItemImplElement = React.ElementRef;\ninterface MenuItemImplProps extends PrimitiveDivProps {\n disabled?: boolean;\n textValue?: string;\n}\n\nconst MenuItemImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n\n // get the item's `.textContent` as default strategy for typeahead `textValue`\n const [textContent, setTextContent] = React.useState('');\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? '').trim());\n }\n }, [itemProps.children]);\n\n return (\n \n \n {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus();\n }\n }\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n )}\n onFocus={composeEventHandlers(props.onFocus, () => setIsFocused(true))}\n onBlur={composeEventHandlers(props.onBlur, () => setIsFocused(false))}\n />\n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * MenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'MenuCheckboxItem';\n\ntype MenuCheckboxItemElement = MenuItemElement;\n\ntype CheckedState = boolean | 'indeterminate';\n\ninterface MenuCheckboxItemProps extends MenuItemProps {\n checked?: CheckedState;\n // `onCheckedChange` can never be called with `\"indeterminate\"` from the inside\n onCheckedChange?: (checked: boolean) => void;\n}\n\nconst MenuCheckboxItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return (\n \n onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'MenuRadioGroup';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: undefined, onValueChange: () => {} }\n);\n\ntype MenuRadioGroupElement = React.ElementRef;\ninterface MenuRadioGroupProps extends MenuGroupProps {\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst MenuRadioGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return (\n \n \n \n );\n }\n);\n\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'MenuRadioItem';\n\ntype MenuRadioItemElement = React.ElementRef;\ninterface MenuRadioItemProps extends MenuItemProps {\n value: string;\n}\n\nconst MenuRadioItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return (\n \n context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_INDICATOR_NAME = 'MenuItemIndicator';\n\ntype CheckboxContextValue = { checked: CheckedState };\n\nconst [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\n\ntype MenuItemIndicatorElement = React.ElementRef;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef;\ninterface MenuItemIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuItemIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return (\n \n \n \n );\n }\n);\n\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'MenuSeparator';\n\ntype MenuSeparatorElement = React.ElementRef;\ninterface MenuSeparatorProps extends PrimitiveDivProps {}\n\nconst MenuSeparator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return (\n \n );\n }\n);\n\nMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'MenuArrow';\n\ntype MenuArrowElement = React.ElementRef;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef;\ninterface MenuArrowProps extends PopperArrowProps {}\n\nconst MenuArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return ;\n }\n);\n\nMenuArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'MenuSub';\n\ntype MenuSubContextValue = {\n contentId: string;\n triggerId: string;\n trigger: MenuSubTriggerElement | null;\n onTriggerChange(trigger: MenuSubTriggerElement | null): void;\n};\n\nconst [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\n\ninterface MenuSubProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst MenuSub: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n\n // Prevent the parent menu from reopening with open submenus.\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nMenuSub.displayName = SUB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'MenuSubTrigger';\n\ntype MenuSubTriggerElement = MenuItemImplElement;\ninterface MenuSubTriggerProps extends MenuItemImplProps {}\n\nconst MenuSubTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n\n return (\n \n {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n /**\n * We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)\n * and we rely heavily on `onFocusOutside` for submenus to close when switching\n * between separate submenus.\n */\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n }}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n // TODO: make sure to update this when we change positioning logic\n const side = context.content?.dataset.side as Side;\n const rightSide = side === 'right';\n const bleed = rightSide ? -5 : +5;\n const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];\n const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];\n\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom },\n ],\n side,\n });\n\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n\n // There's 100ms where the user may leave an item before the submenu was opened.\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n )}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== '';\n if (props.disabled || (isTypingAhead && event.key === ' ')) return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n // The trigger may hold focus if opened via pointer interaction\n // so we ensure content is given focus again when switching to keyboard.\n context.content?.focus();\n // prevent window from scrolling\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'MenuSubContent';\n\ntype MenuSubContentElement = MenuContentImplElement;\ninterface MenuSubContentProps\n extends Omit<\n MenuContentImplProps,\n keyof MenuContentImplPrivateProps | 'onCloseAutoFocus' | 'onEntryFocus' | 'side' | 'align'\n > {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuSubContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return (\n \n \n \n {\n // when opening a submenu, focus content for keyboard users only\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n }}\n // The menu might close because of focusing another menu item in the parent menu. We\n // don't want it to refocus the trigger in that case so we handle trigger focus ourselves.\n onCloseAutoFocus={(event) => event.preventDefault()}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n // We prevent closing when the trigger is focused to avoid triggering a re-open animation\n // on pointer interaction.\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n })}\n onEscapeKeyDown={composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n // ensure pressing escape in submenu doesn't escape full screen mode\n event.preventDefault();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n // Submenu key events bubble through portals. We only care about keys in this menu.\n const isKeyDownInside = event.currentTarget.contains(event.target as HTMLElement);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n // We focus manually because we prevented it in `onCloseAutoFocus`\n subContext.trigger?.focus();\n // prevent window from scrolling\n event.preventDefault();\n }\n })}\n />\n \n \n \n );\n }\n);\n\nMenuSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getOpenState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nfunction isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {\n return checked === 'indeterminate';\n}\n\nfunction getCheckedState(checked: CheckedState) {\n return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nfunction getNextMatch(values: string[], search: string, currentMatch?: string) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find((value) =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : undefined;\n}\n\ntype Point = { x: number; y: number };\ntype Polygon = Point[];\ntype Side = 'left' | 'right';\ntype GraceIntent = { area: Polygon; side: Side };\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n\n return inside;\n}\n\nfunction isPointerInGraceArea(event: React.PointerEvent, area?: Polygon) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\n\nfunction whenMouse(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType === 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = Menu;\nconst Anchor = MenuAnchor;\nconst Portal = MenuPortal;\nconst Content = MenuContent;\nconst Group = MenuGroup;\nconst Label = MenuLabel;\nconst Item = MenuItem;\nconst CheckboxItem = MenuCheckboxItem;\nconst RadioGroup = MenuRadioGroup;\nconst RadioItem = MenuRadioItem;\nconst ItemIndicator = MenuItemIndicator;\nconst Separator = MenuSeparator;\nconst Arrow = MenuArrow;\nconst Sub = MenuSub;\nconst SubTrigger = MenuSubTrigger;\nconst SubContent = MenuSubContent;\n\nexport {\n createMenuScope,\n //\n Menu,\n MenuAnchor,\n MenuPortal,\n MenuContent,\n MenuGroup,\n MenuLabel,\n MenuItem,\n MenuCheckboxItem,\n MenuRadioGroup,\n MenuRadioItem,\n MenuItemIndicator,\n MenuSeparator,\n MenuArrow,\n MenuSub,\n MenuSubTrigger,\n MenuSubContent,\n //\n Root,\n Anchor,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n MenuProps,\n MenuAnchorProps,\n MenuPortalProps,\n MenuContentProps,\n MenuGroupProps,\n MenuLabelProps,\n MenuItemProps,\n MenuCheckboxItemProps,\n MenuRadioGroupProps,\n MenuRadioItemProps,\n MenuItemIndicatorProps,\n MenuSeparatorProps,\n MenuArrowProps,\n MenuSubProps,\n MenuSubTriggerProps,\n MenuSubContentProps,\n};\n"],"names":["createMenuScope","Menu","MenuAnchor","MenuPortal","MenuContent","MenuGroup","MenuLabel","MenuItem","MenuCheckboxItem","MenuRadioGroup","MenuRadioItem","MenuItemIndicator","MenuSeparator","MenuArrow","MenuSub","MenuSubTrigger","MenuSubContent","Root","Anchor","Portal","Content","Group","Label","Item","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow","Sub","SubTrigger","SubContent","React","composeEventHandlers","createCollection","useComposedRefs","composeRefs","createContextScope","useDirection","DismissableLayer","useFocusGuards","FocusScope","useId","PopperPrimitive","createPopperScope","PortalPrimitive","Presence","Primitive","dispatchDiscreteCustomEvent","RovingFocusGroup","createRovingFocusGroupScope","Slot","useCallbackRef","hideOthers","RemoveScroll","SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createMenuContext","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","useState","isUsingKeyboardRef","useRef","handleOpenChange","direction","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","useCallback","ANCHOR_NAME","forwardRef","forwardedRef","anchorProps","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","undefined","container","context","CONTENT_NAME","MenuContentProvider","useMenuContentContext","portalContext","contentProps","rootContext","MenuRootContentModal","ref","composedRefs","onFocusOutside","event","preventDefault","checkForDefaultPrevented","MenuRootContentNonModal","MenuContentImpl","loop","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","onDismiss","disableOutsideScroll","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","onContentChange","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","Fragment","scrollLockWrapperProps","as","allowPinchZoom","handleTypeaheadSearch","key","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","values","map","nextMatch","getNextMatch","newItem","updateSearch","value","window","clearTimeout","setTimeout","focus","isPointerMovingToSubmenu","isMovingTowards","side","isPointerInGraceArea","area","intent","getOpenState","outline","style","onKeyDown","target","isKeyDownInside","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","length","includes","candidateNodes","reverse","focusFirst","onBlur","contains","onPointerMove","whenMouse","pointerXHasChanged","clientX","newDir","GROUP_NAME","groupProps","LABEL_NAME","labelProps","ITEM_NAME","ITEM_SELECT","onSelect","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","defaultPrevented","onClose","onClick","onPointerDown","onPointerUp","click","isTypingAhead","MenuItemImpl","isFocused","setIsFocused","textContent","setTextContent","trim","onItemLeave","onItemEnter","onPointerLeave","onFocus","CHECKBOX_ITEM_NAME","checked","onCheckedChange","checkboxItemProps","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","handleValueChange","RADIO_ITEM_NAME","radioItemProps","ITEM_INDICATOR_NAME","ItemIndicatorProvider","useItemIndicatorContext","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","separatorProps","ARROW_NAME","arrowProps","SUB_NAME","MenuSubProvider","useMenuSubContext","parentMenuContext","trigger","setTrigger","SUB_TRIGGER_NAME","subContext","openTimerRef","onPointerGraceIntentChange","scope","clearOpenTimer","pointerGraceTimer","triggerId","contentId","onTriggerChange","contentRect","getBoundingClientRect","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","x","y","clientY","top","bottom","onTriggerLeave","SUB_CONTENT_NAME","subContentProps","isCloseKey","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","wrapArray","array","startIndex","_","index","isRepeated","Array","from","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","Math","max","excludeCurrentMatch","v","toLowerCase","startsWith","isPointInPolygon","point","polygon","inside","i","j","xi","yi","xj","yj","intersect","cursorPos","handler","pointerType"],"version":3,"file":"index.js.map"}