{"version":3,"file":"static/chunks/6994-4f6342e4c77be788.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack://_N_E/../../node_modules/react-use/esm/useMeasure.js","webpack://_N_E/../../node_modules/react-use/esm/useEffectOnce.js","webpack://_N_E/../../node_modules/react-use/esm/useUnmount.js","webpack://_N_E/../../node_modules/react-use/esm/useRafState.js","webpack://_N_E/../../node_modules/react-use/esm/useScroll.js","webpack://_N_E/../src/navigation-menu.tsx","webpack://_N_E/../../node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/motion-minimal.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/resolve-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/resize/handle-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/resize/handle-window.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/resize/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-scroll.mjs"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import { useRef } from 'react';\nimport useEffectOnce from './useEffectOnce';\nvar useUnmount = function (fn) {\n var fnRef = useRef(fn);\n // update the ref each render so if it change the newest callback will be invoked\n fnRef.current = fn;\n useEffectOnce(function () { return function () { return fnRef.current(); }; });\n};\nexport default useUnmount;\n","import { useCallback, useRef, useState } from 'react';\nimport useUnmount from './useUnmount';\nvar useRafState = function (initialState) {\n var frame = useRef(0);\n var _a = useState(initialState), state = _a[0], setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(frame.current);\n frame.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(frame.current);\n });\n return [state, setRafState];\n};\nexport default useRafState;\n","import { useEffect } from 'react';\nimport useRafState from './useRafState';\nimport { off, on } from './misc/util';\nvar useScroll = function (ref) {\n if (process.env.NODE_ENV === 'development') {\n if (typeof ref !== 'object' || typeof ref.current === 'undefined') {\n console.error('`useScroll` expects a single ref argument.');\n }\n }\n var _a = useRafState({\n x: 0,\n y: 0,\n }), state = _a[0], setState = _a[1];\n useEffect(function () {\n var handler = function () {\n if (ref.current) {\n setState({\n x: ref.current.scrollLeft,\n y: ref.current.scrollTop,\n });\n }\n };\n if (ref.current) {\n on(ref.current, 'scroll', handler, {\n capture: false,\n passive: true,\n });\n }\n return function () {\n if (ref.current) {\n off(ref.current, 'scroll', handler);\n }\n };\n }, [ref]);\n return state;\n};\nexport default useScroll;\n","/// \n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { composeRefs, useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Orientation = 'vertical' | 'horizontal';\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAVIGATION_MENU_NAME = 'NavigationMenu';\n\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n NavigationMenuTriggerElement,\n { value: string }\n>(NAVIGATION_MENU_NAME);\n\nconst [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] =\n createCollection(NAVIGATION_MENU_NAME);\n\ntype ScopedProps

= P & { __scopeNavigationMenu?: Scope };\nconst [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope, createFocusGroupCollectionScope]\n);\n\ntype ContentData = {\n ref?: React.Ref;\n} & ViewportContentMounterProps;\n\ntype NavigationMenuContextValue = {\n isRootMenu: boolean;\n value: string;\n previousValue: string;\n baseId: string;\n dir: Direction;\n orientation: Orientation;\n rootNavigationMenu: NavigationMenuElement | null;\n indicatorTrack: HTMLDivElement | null;\n onIndicatorTrackChange(indicatorTrack: HTMLDivElement | null): void;\n viewport: NavigationMenuViewportElement | null;\n onViewportChange(viewport: NavigationMenuViewportElement | null): void;\n onViewportContentChange(contentValue: string, contentData: ContentData): void;\n onViewportContentRemove(contentValue: string): void;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave(): void;\n onContentEnter(): void;\n onContentLeave(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n};\n\nconst [NavigationMenuProviderImpl, useNavigationMenuContext] =\n createNavigationMenuContext(NAVIGATION_MENU_NAME);\n\nconst [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext<{\n items: Map;\n}>(NAVIGATION_MENU_NAME);\n\ntype NavigationMenuElement = React.ElementRef;\ntype PrimitiveNavProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuProps\n extends Omit,\n PrimitiveNavProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n dir?: Direction;\n orientation?: Orientation;\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened.\n * @defaultValue 200\n */\n delayDuration?: number;\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @defaultValue 300\n */\n skipDelayDuration?: number;\n}\n\nconst NavigationMenu = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = 'horizontal',\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: (value) => {\n const isOpen = value !== '';\n const hasSkipDelayDuration = skipDelayDuration > 0;\n\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n\n onValueChange?.(value);\n },\n defaultProp: defaultValue,\n });\n\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(''), 150);\n }, [setValue]);\n\n const handleOpen = React.useCallback(\n (itemValue: string) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n\n const handleDelayedOpen = React.useCallback(\n (itemValue: string) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n // If the item is already open (e.g. we're transitioning from the content to the trigger)\n // then we want to clear the close timer immediately.\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n\n return (\n {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n }}\n onTriggerLeave={() => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n }}\n onContentEnter={() => window.clearTimeout(closeTimerRef.current)}\n onContentLeave={startCloseTimer}\n onItemSelect={(itemValue) => {\n setValue((prevValue) => (prevValue === itemValue ? '' : itemValue));\n }}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'NavigationMenuSub';\n\ntype NavigationMenuSubElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuSubProps\n extends Omit,\n PrimitiveDivProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n orientation?: Orientation;\n}\n\nconst NavigationMenuSub = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue,\n });\n\n return (\n setValue(itemValue)}\n onItemSelect={(itemValue) => setValue(itemValue)}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenuSub.displayName = SUB_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ninterface NavigationMenuProviderPrivateProps {\n isRootMenu: boolean;\n scope: Scope;\n children: React.ReactNode;\n orientation: Orientation;\n dir: Direction;\n rootNavigationMenu: NavigationMenuElement | null;\n value: string;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave?(): void;\n onContentEnter?(): void;\n onContentLeave?(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n}\n\ninterface NavigationMenuProviderProps extends NavigationMenuProviderPrivateProps {}\n\nconst NavigationMenuProvider: React.FC = (\n props: ScopedProps\n) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave,\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState>(new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n\n return (\n {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, [])}\n onViewportContentRemove={React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, [])}\n >\n \n \n {children}\n \n \n \n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuList\n * -----------------------------------------------------------------------------------------------*/\n\nconst LIST_NAME = 'NavigationMenuList';\n\ntype NavigationMenuListElement = React.ElementRef;\ntype PrimitiveUnorderedListProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuListProps extends PrimitiveUnorderedListProps {}\n\nconst NavigationMenuList = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n\n const list = (\n \n );\n\n return (\n \n \n {context.isRootMenu ? {list} : list}\n \n \n );\n }\n);\n\nNavigationMenuList.displayName = LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'NavigationMenuItem';\n\ntype FocusProxyElement = React.ElementRef;\n\ntype NavigationMenuItemContextValue = {\n value: string;\n triggerRef: React.RefObject;\n contentRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onEntryKeyDown(): void;\n onFocusProxyEnter(side: 'start' | 'end'): void;\n onRootContentClose(): void;\n onContentFocusOutside(): void;\n};\n\nconst [NavigationMenuItemContextProvider, useNavigationMenuItemContext] =\n createNavigationMenuContext(ITEM_NAME);\n\ntype NavigationMenuItemElement = React.ElementRef;\ntype PrimitiveListItemProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuItemProps extends PrimitiveListItemProps {\n value?: string;\n}\n\nconst NavigationMenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n // We need to provide an initial deterministic value as `useId` will return\n // empty string on the first render and we don't want to match our internal \"closed\" value.\n const value = valueProp || autoValue || 'LEGACY_REACT_AUTO_VALUE';\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {});\n const wasEscapeCloseRef = React.useRef(false);\n\n const handleContentEntry = React.useCallback((side = 'start') => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === 'start' ? candidates : candidates.reverse());\n }\n }, []);\n\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n\n return (\n \n \n \n );\n }\n);\n\nNavigationMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'NavigationMenuTrigger';\n\ntype NavigationMenuTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuTriggerProps extends PrimitiveButtonProps {}\n\nconst NavigationMenuTrigger = React.forwardRef<\n NavigationMenuTriggerElement,\n NavigationMenuTriggerProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n\n return (\n <>\n \n \n {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n })}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (\n disabled ||\n wasClickCloseRef.current ||\n itemContext.wasEscapeCloseRef.current ||\n hasPointerMoveOpenedRef.current\n )\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n )}\n onClick={composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === 'rtl' ? 'ArrowLeft' : 'ArrowRight';\n const entryKey = { horizontal: 'ArrowDown', vertical: verticalEntryKey }[\n context.orientation\n ];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n // Prevent FocusGroupItem from handling the event\n event.preventDefault();\n }\n })}\n />\n \n \n\n {/* Proxy tab order between trigger and content */}\n {open && (\n <>\n {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget as HTMLElement | null;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? 'start' : 'end');\n }\n }}\n />\n\n {/* Restructure a11y tree to make content accessible to screen reader when using the viewport */}\n {context.viewport && }\n \n )}\n \n );\n});\n\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuLink\n * -----------------------------------------------------------------------------------------------*/\n\nconst LINK_NAME = 'NavigationMenuLink';\nconst LINK_SELECT = 'navigationMenu.linkSelect';\n\ntype NavigationMenuLinkElement = React.ElementRef;\ntype PrimitiveLinkProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuLinkProps extends Omit {\n active?: boolean;\n onSelect?: (event: Event) => void;\n}\n\nconst NavigationMenuLink = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n\n return (\n \n {\n const target = event.target as HTMLElement;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true,\n });\n target.addEventListener(LINK_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nNavigationMenuLink.displayName = LINK_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'NavigationMenuIndicator';\n\ntype NavigationMenuIndicatorElement = NavigationMenuIndicatorImplElement;\ninterface NavigationMenuIndicatorProps extends NavigationMenuIndicatorImplProps {\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 NavigationMenuIndicator = React.forwardRef<\n NavigationMenuIndicatorElement,\n NavigationMenuIndicatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n\n return context.indicatorTrack\n ? ReactDOM.createPortal(\n \n \n ,\n context.indicatorTrack\n )\n : null;\n});\n\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\n\ntype NavigationMenuIndicatorImplElement = React.ElementRef;\ninterface NavigationMenuIndicatorImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuIndicatorImpl = React.forwardRef<\n NavigationMenuIndicatorImplElement,\n NavigationMenuIndicatorImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState<{ size: number; offset: number } | null>(null);\n const isHorizontal = context.orientation === 'horizontal';\n const isVisible = Boolean(context.value);\n\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n\n /**\n * Update position when the indicator or parent track size changes\n */\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop,\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n\n // We need to wait for the indicator position to be available before rendering to\n // snap immediately into position rather than transitioning from initial\n return position ? (\n \n ) : null;\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'NavigationMenuContent';\n\ntype NavigationMenuContentElement = NavigationMenuContentImplElement;\ninterface NavigationMenuContentProps\n extends Omit {\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 NavigationMenuContent = React.forwardRef<\n NavigationMenuContentElement,\n NavigationMenuContentProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps,\n };\n\n return !context.viewport ? (\n \n \n \n ) : (\n \n );\n});\n\nNavigationMenuContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ViewportContentMounterElement = NavigationMenuContentImplElement;\ninterface ViewportContentMounterProps extends NavigationMenuContentImplProps {\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 ViewportContentMounter = React.forwardRef<\n ViewportContentMounterElement,\n ViewportContentMounterProps\n>((props: ScopedProps, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n\n useLayoutEffect(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props,\n });\n }, [props, forwardedRef, onViewportContentChange]);\n\n useLayoutEffect(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n\n // Content is proxied into the viewport\n return null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ROOT_CONTENT_DISMISS = 'navigationMenu.rootContentDismiss';\n\ntype MotionAttribute = 'to-start' | 'to-end' | 'from-start' | 'from-end';\ntype NavigationMenuContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\n\ninterface NavigationMenuContentImplPrivateProps {\n value: string;\n triggerRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onContentFocusOutside(): void;\n onRootContentClose(): void;\n}\ninterface NavigationMenuContentImplProps\n extends Omit,\n NavigationMenuContentImplPrivateProps {}\n\nconst NavigationMenuContentImpl = React.forwardRef<\n NavigationMenuContentImplElement,\n NavigationMenuContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n\n const { onItemDismiss } = context;\n\n React.useEffect(() => {\n const content = ref.current;\n\n // Bubble dismiss to the root content node and focus its trigger\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === 'rtl') values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n\n // We only want to update selected and the last selected content\n // this avoids animations being interrupted outside of that range\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n\n const attribute = (() => {\n // Don't provide a direction on the initial open\n if (index !== prevIndex) {\n // If we're moving to this item from another\n if (isSelected && prevIndex !== -1) return index > prevIndex ? 'from-end' : 'from-start';\n // If we're leaving this item for another\n if (wasSelected && index !== -1) return index > prevIndex ? 'to-start' : 'to-end';\n }\n // Otherwise we're entering from closed or leaving the list\n // entirely and should not animate in any direction\n return null;\n })();\n\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n\n return (\n \n {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n }}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target as HTMLElement;\n // Only dismiss content when focus moves outside of the menu\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target as HTMLElement;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === 'Tab' && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards\n ? candidates.slice(0, index).reverse()\n : candidates.slice(index + 1, candidates.length);\n\n if (focusFirst(nextCandidates)) {\n // prevent browser tab keydown because we've handled focus\n event.preventDefault();\n } else {\n // If we can't focus that means we're at the edges\n // so focus the proxy and let browser handle\n // tab/shift+tab keypress on the proxy instead\n focusProxyRef.current?.focus();\n }\n }\n })}\n onEscapeKeyDown={composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n // prevent the dropdown from reopening\n // after the escape key has been pressed\n wasEscapeCloseRef.current = true;\n })}\n />\n \n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'NavigationMenuViewport';\n\ntype NavigationMenuViewportElement = NavigationMenuViewportImplElement;\ninterface NavigationMenuViewportProps\n extends Omit {\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 NavigationMenuViewport = React.forwardRef<\n NavigationMenuViewportElement,\n NavigationMenuViewportProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n\n return (\n \n \n \n );\n});\n\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype NavigationMenuViewportImplElement = React.ElementRef;\ninterface NavigationMenuViewportImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuViewportImpl = React.forwardRef<\n NavigationMenuViewportImplElement,\n NavigationMenuViewportImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState<{ width: number; height: number } | null>(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + 'px' : undefined;\n const viewportHeight = size ? size?.height + 'px' : undefined;\n const open = Boolean(context.value);\n // We persist the last active content value as the viewport may be animating out\n // and we want the content to remain mounted for the lifecycle of the viewport.\n const activeContentValue = open ? context.value : context.previousValue;\n\n /**\n * Update viewport size to match the active content node.\n * We prefer offset dimensions over `getBoundingClientRect` as the latter respects CSS transform.\n * For example, if content animates in from `scale(0.5)` the dimensions would be anything\n * from `0.5` to `1` of the intended size.\n */\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n\n return (\n \n {Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props }]) => {\n const isActive = activeContentValue === value;\n return (\n \n {\n // We only want to update the stored node when another is available\n // as we need to smoothly transition between them.\n if (isActive && node) setContent(node);\n })}\n />\n \n );\n })}\n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst FOCUS_GROUP_NAME = 'FocusGroup';\n\ntype FocusGroupElement = React.ElementRef;\ninterface FocusGroupProps extends PrimitiveDivProps {}\n\nconst FocusGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n\n return (\n \n \n \n \n \n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_KEYS = ['ArrowRight', 'ArrowLeft', 'ArrowUp', 'ArrowDown'];\nconst FOCUS_GROUP_ITEM_NAME = 'FocusGroupItem';\n\ntype FocusGroupItemElement = React.ElementRef;\ninterface FocusGroupItemProps extends PrimitiveButtonProps {}\n\nconst FocusGroupItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n\n return (\n \n {\n const isFocusNavigationKey = ['Home', 'End', ...ARROW_KEYS].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current!);\n const prevItemKey = context.dir === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n const prevKeys = [prevItemKey, 'ArrowUp', 'End'];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\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(() => focusFirst(candidateNodes));\n\n // Prevent page scroll while navigating\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */\nfunction getTabbableCandidates(container: HTMLElement) {\n const nodes: HTMLElement[] = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node: any) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n },\n });\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement);\n // we do not take into account the order of nodes with positive `tabIndex` as it\n // hinders accessibility to have tab order different from visual order.\n return nodes;\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\n\nfunction removeFromTabOrder(candidates: HTMLElement[]) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute('tabindex') || '';\n candidate.setAttribute('tabindex', '-1');\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex as string;\n candidate.setAttribute('tabindex', prevTabIndex);\n });\n };\n}\n\nfunction useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n /**\n * Resize Observer will throw an often benign error that says `ResizeObserver loop\n * completed with undelivered notifications`. This means that ResizeObserver was not\n * able to deliver all observations within a single animation frame, so we use\n * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n * Further reading: https://github.com/WICG/resize-observer/issues/38\n */\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\n\nfunction getOpenState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nfunction whenMouse(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType === 'mouse' ? handler(event) : undefined);\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = NavigationMenu;\nconst Sub = NavigationMenuSub;\nconst List = NavigationMenuList;\nconst Item = NavigationMenuItem;\nconst Trigger = NavigationMenuTrigger;\nconst Link = NavigationMenuLink;\nconst Indicator = NavigationMenuIndicator;\nconst Content = NavigationMenuContent;\nconst Viewport = NavigationMenuViewport;\n\nexport {\n createNavigationMenuScope,\n //\n NavigationMenu,\n NavigationMenuSub,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuContent,\n NavigationMenuViewport,\n //\n Root,\n Sub,\n List,\n Item,\n Trigger,\n Link,\n Indicator,\n Content,\n Viewport,\n};\nexport type {\n NavigationMenuProps,\n NavigationMenuSubProps,\n NavigationMenuListProps,\n NavigationMenuItemProps,\n NavigationMenuTriggerProps,\n NavigationMenuLinkProps,\n NavigationMenuIndicatorProps,\n NavigationMenuContentProps,\n NavigationMenuViewportProps,\n};\n","import * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { loadFeatures } from '../../motion/features/load-features.mjs';\n\n/**\n * Used in conjunction with the `m` component to reduce bundle size.\n *\n * `m` is a version of the `motion` component that only loads functionality\n * critical for the initial render.\n *\n * `LazyMotion` can then be used to either synchronously or asynchronously\n * load animation and gesture support.\n *\n * ```jsx\n * // Synchronous loading\n * import { LazyMotion, m, domAnimation } from \"framer-motion\"\n *\n * function App() {\n * return (\n * \n * \n * \n * )\n * }\n *\n * // Asynchronous loading\n * import { LazyMotion, m } from \"framer-motion\"\n *\n * function App() {\n * return (\n * import('./path/to/domAnimation')}>\n * \n * \n * )\n * }\n * ```\n *\n * @public\n */\nfunction LazyMotion({ children, features, strict = false }) {\n const [, setIsLoaded] = useState(!isLazyBundle(features));\n const loadedRenderer = useRef(undefined);\n /**\n * If this is a synchronous load, load features immediately\n */\n if (!isLazyBundle(features)) {\n const { renderer, ...loadedFeatures } = features;\n loadedRenderer.current = renderer;\n loadFeatures(loadedFeatures);\n }\n useEffect(() => {\n if (isLazyBundle(features)) {\n features().then(({ renderer, ...loadedFeatures }) => {\n loadFeatures(loadedFeatures);\n loadedRenderer.current = renderer;\n setIsLoaded(true);\n });\n }\n }, []);\n return (React.createElement(LazyContext.Provider, { value: { renderer: loadedRenderer.current, strict } }, children));\n}\nfunction isLazyBundle(features) {\n return typeof features === \"function\";\n}\n\nexport { LazyMotion };\n","import { createMotionProxy } from './motion-proxy.mjs';\nimport { createDomMotionConfig } from './utils/create-config.mjs';\n\n/**\n * @public\n */\nconst m = createMotionProxy(createDomMotionConfig);\n\nexport { m };\n","import { invariant } from '../../../utils/errors.mjs';\n\nfunction resolveElements(elements, scope, selectorCache) {\n var _a;\n if (typeof elements === \"string\") {\n let root = document;\n if (scope) {\n invariant(Boolean(scope.current), \"Scope provided, but no element detected.\");\n root = scope.current;\n }\n if (selectorCache) {\n (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : (selectorCache[elements] = root.querySelectorAll(elements));\n elements = selectorCache[elements];\n }\n else {\n elements = root.querySelectorAll(elements);\n }\n }\n else if (elements instanceof Element) {\n elements = [elements];\n }\n /**\n * Return an empty array\n */\n return Array.from(elements || []);\n}\n\nexport { resolveElements };\n","import { resolveElements } from '../utils/resolve-element.mjs';\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nfunction getElementSize(target, borderBoxSize) {\n if (borderBoxSize) {\n const { inlineSize, blockSize } = borderBoxSize[0];\n return { width: inlineSize, height: blockSize };\n }\n else if (target instanceof SVGElement && \"getBBox\" in target) {\n return target.getBBox();\n }\n else {\n return {\n width: target.offsetWidth,\n height: target.offsetHeight,\n };\n }\n}\nfunction notifyTarget({ target, contentRect, borderBoxSize, }) {\n var _a;\n (_a = resizeHandlers.get(target)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => {\n handler({\n target,\n contentSize: contentRect,\n get size() {\n return getElementSize(target, borderBoxSize);\n },\n });\n });\n}\nfunction notifyAll(entries) {\n entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n if (typeof ResizeObserver === \"undefined\")\n return;\n observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n if (!observer)\n createResizeObserver();\n const elements = resolveElements(target);\n elements.forEach((element) => {\n let elementHandlers = resizeHandlers.get(element);\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(element, elementHandlers);\n }\n elementHandlers.add(handler);\n observer === null || observer === void 0 ? void 0 : observer.observe(element);\n });\n return () => {\n elements.forEach((element) => {\n const elementHandlers = resizeHandlers.get(element);\n elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.delete(handler);\n if (!(elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.size)) {\n observer === null || observer === void 0 ? void 0 : observer.unobserve(element);\n }\n });\n };\n}\n\nexport { resizeElement };\n","const windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n windowResizeHandler = () => {\n const size = {\n width: window.innerWidth,\n height: window.innerHeight,\n };\n const info = {\n target: window,\n size,\n contentSize: size,\n };\n windowCallbacks.forEach((callback) => callback(info));\n };\n window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n windowCallbacks.add(callback);\n if (!windowResizeHandler)\n createWindowResizeHandler();\n return () => {\n windowCallbacks.delete(callback);\n if (!windowCallbacks.size && windowResizeHandler) {\n windowResizeHandler = undefined;\n }\n };\n}\n\nexport { resizeWindow };\n","import { resizeElement } from './handle-element.mjs';\nimport { resizeWindow } from './handle-window.mjs';\n\nfunction resize(a, b) {\n return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b);\n}\n\nexport { resize };\n","import { progress } from '../../../utils/progress.mjs';\nimport { velocityPerSecond } from '../../../utils/velocity-per-second.mjs';\n\n/**\n * A time in milliseconds, beyond which we consider the scroll velocity to be 0.\n */\nconst maxElapsed = 50;\nconst createAxisInfo = () => ({\n current: 0,\n offset: [],\n progress: 0,\n scrollLength: 0,\n targetOffset: 0,\n targetLength: 0,\n containerLength: 0,\n velocity: 0,\n});\nconst createScrollInfo = () => ({\n time: 0,\n x: createAxisInfo(),\n y: createAxisInfo(),\n});\nconst keys = {\n x: {\n length: \"Width\",\n position: \"Left\",\n },\n y: {\n length: \"Height\",\n position: \"Top\",\n },\n};\nfunction updateAxisInfo(element, axisName, info, time) {\n const axis = info[axisName];\n const { length, position } = keys[axisName];\n const prev = axis.current;\n const prevTime = info.time;\n axis.current = element[\"scroll\" + position];\n axis.scrollLength = element[\"scroll\" + length] - element[\"client\" + length];\n axis.offset.length = 0;\n axis.offset[0] = 0;\n axis.offset[1] = axis.scrollLength;\n axis.progress = progress(0, axis.scrollLength, axis.current);\n const elapsed = time - prevTime;\n axis.velocity =\n elapsed > maxElapsed\n ? 0\n : velocityPerSecond(axis.current - prev, elapsed);\n}\nfunction updateScrollInfo(element, info, time) {\n updateAxisInfo(element, \"x\", info, time);\n updateAxisInfo(element, \"y\", info, time);\n info.time = time;\n}\n\nexport { createScrollInfo, updateScrollInfo };\n","function calcInset(element, container) {\n const inset = { x: 0, y: 0 };\n let current = element;\n while (current && current !== container) {\n if (current instanceof HTMLElement) {\n inset.x += current.offsetLeft;\n inset.y += current.offsetTop;\n current = current.offsetParent;\n }\n else if (current.tagName === \"svg\") {\n /**\n * This isn't an ideal approach to measuring the offset of tags.\n * It would be preferable, given they behave like HTMLElements in most ways\n * to use offsetLeft/Top. But these don't exist on . Likewise we\n * can't use .getBBox() like most SVG elements as these provide the offset\n * relative to the SVG itself, which for is usually 0x0.\n */\n const svgBoundingBox = current.getBoundingClientRect();\n current = current.parentElement;\n const parentBoundingBox = current.getBoundingClientRect();\n inset.x += svgBoundingBox.left - parentBoundingBox.left;\n inset.y += svgBoundingBox.top - parentBoundingBox.top;\n }\n else if (current instanceof SVGGraphicsElement) {\n const { x, y } = current.getBBox();\n inset.x += x;\n inset.y += y;\n let svg = null;\n let parent = current.parentNode;\n while (!svg) {\n if (parent.tagName === \"svg\") {\n svg = parent;\n }\n parent = current.parentNode;\n }\n current = svg;\n }\n else {\n break;\n }\n }\n return inset;\n}\n\nexport { calcInset };\n","const ScrollOffset = {\n Enter: [\n [0, 1],\n [1, 1],\n ],\n Exit: [\n [0, 0],\n [1, 0],\n ],\n Any: [\n [1, 0],\n [0, 1],\n ],\n All: [\n [0, 0],\n [1, 1],\n ],\n};\n\nexport { ScrollOffset };\n","const namedEdges = {\n start: 0,\n center: 0.5,\n end: 1,\n};\nfunction resolveEdge(edge, length, inset = 0) {\n let delta = 0;\n /**\n * If we have this edge defined as a preset, replace the definition\n * with the numerical value.\n */\n if (namedEdges[edge] !== undefined) {\n edge = namedEdges[edge];\n }\n /**\n * Handle unit values\n */\n if (typeof edge === \"string\") {\n const asNumber = parseFloat(edge);\n if (edge.endsWith(\"px\")) {\n delta = asNumber;\n }\n else if (edge.endsWith(\"%\")) {\n edge = asNumber / 100;\n }\n else if (edge.endsWith(\"vw\")) {\n delta = (asNumber / 100) * document.documentElement.clientWidth;\n }\n else if (edge.endsWith(\"vh\")) {\n delta = (asNumber / 100) * document.documentElement.clientHeight;\n }\n else {\n edge = asNumber;\n }\n }\n /**\n * If the edge is defined as a number, handle as a progress value.\n */\n if (typeof edge === \"number\") {\n delta = length * edge;\n }\n return inset + delta;\n}\n\nexport { namedEdges, resolveEdge };\n","import { namedEdges, resolveEdge } from './edge.mjs';\n\nconst defaultOffset = [0, 0];\nfunction resolveOffset(offset, containerLength, targetLength, targetInset) {\n let offsetDefinition = Array.isArray(offset) ? offset : defaultOffset;\n let targetPoint = 0;\n let containerPoint = 0;\n if (typeof offset === \"number\") {\n /**\n * If we're provided offset: [0, 0.5, 1] then each number x should become\n * [x, x], so we default to the behaviour of mapping 0 => 0 of both target\n * and container etc.\n */\n offsetDefinition = [offset, offset];\n }\n else if (typeof offset === \"string\") {\n offset = offset.trim();\n if (offset.includes(\" \")) {\n offsetDefinition = offset.split(\" \");\n }\n else {\n /**\n * If we're provided a definition like \"100px\" then we want to apply\n * that only to the top of the target point, leaving the container at 0.\n * Whereas a named offset like \"end\" should be applied to both.\n */\n offsetDefinition = [offset, namedEdges[offset] ? offset : `0`];\n }\n }\n targetPoint = resolveEdge(offsetDefinition[0], targetLength, targetInset);\n containerPoint = resolveEdge(offsetDefinition[1], containerLength);\n return targetPoint - containerPoint;\n}\n\nexport { resolveOffset };\n","import { calcInset } from './inset.mjs';\nimport { ScrollOffset } from './presets.mjs';\nimport { resolveOffset } from './offset.mjs';\nimport { interpolate } from '../../../../utils/interpolate.mjs';\nimport { defaultOffset } from '../../../../utils/offsets/default.mjs';\n\nconst point = { x: 0, y: 0 };\nfunction getTargetSize(target) {\n return \"getBBox\" in target && target.tagName !== \"svg\"\n ? target.getBBox()\n : { width: target.clientWidth, height: target.clientHeight };\n}\nfunction resolveOffsets(container, info, options) {\n let { offset: offsetDefinition = ScrollOffset.All } = options;\n const { target = container, axis = \"y\" } = options;\n const lengthLabel = axis === \"y\" ? \"height\" : \"width\";\n const inset = target !== container ? calcInset(target, container) : point;\n /**\n * Measure the target and container. If they're the same thing then we\n * use the container's scrollWidth/Height as the target, from there\n * all other calculations can remain the same.\n */\n const targetSize = target === container\n ? { width: container.scrollWidth, height: container.scrollHeight }\n : getTargetSize(target);\n const containerSize = {\n width: container.clientWidth,\n height: container.clientHeight,\n };\n /**\n * Reset the length of the resolved offset array rather than creating a new one.\n * TODO: More reusable data structures for targetSize/containerSize would also be good.\n */\n info[axis].offset.length = 0;\n /**\n * Populate the offset array by resolving the user's offset definition into\n * a list of pixel scroll offets.\n */\n let hasChanged = !info[axis].interpolate;\n const numOffsets = offsetDefinition.length;\n for (let i = 0; i < numOffsets; i++) {\n const offset = resolveOffset(offsetDefinition[i], containerSize[lengthLabel], targetSize[lengthLabel], inset[axis]);\n if (!hasChanged && offset !== info[axis].interpolatorOffsets[i]) {\n hasChanged = true;\n }\n info[axis].offset[i] = offset;\n }\n /**\n * If the pixel scroll offsets have changed, create a new interpolator function\n * to map scroll value into a progress.\n */\n if (hasChanged) {\n info[axis].interpolate = interpolate(info[axis].offset, defaultOffset(offsetDefinition));\n info[axis].interpolatorOffsets = [...info[axis].offset];\n }\n info[axis].progress = info[axis].interpolate(info[axis].current);\n}\n\nexport { resolveOffsets };\n","import { updateScrollInfo } from './info.mjs';\nimport { resolveOffsets } from './offsets/index.mjs';\n\nfunction measure(container, target = container, info) {\n /**\n * Find inset of target within scrollable container\n */\n info.x.targetOffset = 0;\n info.y.targetOffset = 0;\n if (target !== container) {\n let node = target;\n while (node && node !== container) {\n info.x.targetOffset += node.offsetLeft;\n info.y.targetOffset += node.offsetTop;\n node = node.offsetParent;\n }\n }\n info.x.targetLength =\n target === container ? target.scrollWidth : target.clientWidth;\n info.y.targetLength =\n target === container ? target.scrollHeight : target.clientHeight;\n info.x.containerLength = container.clientWidth;\n info.y.containerLength = container.clientHeight;\n}\nfunction createOnScrollHandler(element, onScroll, info, options = {}) {\n return {\n measure: () => measure(element, options.target, info),\n update: (time) => {\n updateScrollInfo(element, info, time);\n if (options.offset || options.target) {\n resolveOffsets(element, info, options);\n }\n },\n notify: () => onScroll(info),\n };\n}\n\nexport { createOnScrollHandler };\n","import { resize } from '../resize/index.mjs';\nimport { createScrollInfo } from './info.mjs';\nimport { createOnScrollHandler } from './on-scroll-handler.mjs';\nimport { frame, cancelFrame, frameData } from '../../../frameloop/frame.mjs';\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\nconst getEventTarget = (element) => element === document.documentElement ? window : element;\nfunction scrollInfo(onScroll, { container = document.documentElement, ...options } = {}) {\n let containerHandlers = onScrollHandlers.get(container);\n /**\n * Get the onScroll handlers for this container.\n * If one isn't found, create a new one.\n */\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(container, containerHandlers);\n }\n /**\n * Create a new onScroll handler for the provided callback.\n */\n const info = createScrollInfo();\n const containerHandler = createOnScrollHandler(container, onScroll, info, options);\n containerHandlers.add(containerHandler);\n /**\n * Check if there's a scroll event listener for this container.\n * If not, create one.\n */\n if (!scrollListeners.has(container)) {\n const measureAll = () => {\n for (const handler of containerHandlers)\n handler.measure();\n };\n const updateAll = () => {\n for (const handler of containerHandlers) {\n handler.update(frameData.timestamp);\n }\n };\n const notifyAll = () => {\n for (const handler of containerHandlers)\n handler.notify();\n };\n const listener = () => {\n frame.read(measureAll, false, true);\n frame.update(updateAll, false, true);\n frame.update(notifyAll, false, true);\n };\n scrollListeners.set(container, listener);\n const target = getEventTarget(container);\n window.addEventListener(\"resize\", listener, { passive: true });\n if (container !== document.documentElement) {\n resizeListeners.set(container, resize(container, listener));\n }\n target.addEventListener(\"scroll\", listener, { passive: true });\n }\n const listener = scrollListeners.get(container);\n frame.read(listener, false, true);\n return () => {\n var _a;\n cancelFrame(listener);\n /**\n * Check if we even have any handlers for this container.\n */\n const currentHandlers = onScrollHandlers.get(container);\n if (!currentHandlers)\n return;\n currentHandlers.delete(containerHandler);\n if (currentHandlers.size)\n return;\n /**\n * If no more handlers, remove the scroll listener too.\n */\n const scrollListener = scrollListeners.get(container);\n scrollListeners.delete(container);\n if (scrollListener) {\n getEventTarget(container).removeEventListener(\"scroll\", scrollListener);\n (_a = resizeListeners.get(container)) === null || _a === void 0 ? void 0 : _a();\n window.removeEventListener(\"resize\", scrollListener);\n }\n };\n}\n\nexport { scrollInfo };\n","import { motionValue } from './index.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useEffect } from 'react';\nimport { warning } from '../utils/errors.mjs';\nimport { scrollInfo } from '../render/dom/scroll/track.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\n\nfunction refWarning(name, ref) {\n warning(Boolean(!ref || ref.current), `You have defined a ${name} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref, or setting its \\`layoutEffect: false\\` option.`);\n}\nconst createScrollMotionValues = () => ({\n scrollX: motionValue(0),\n scrollY: motionValue(0),\n scrollXProgress: motionValue(0),\n scrollYProgress: motionValue(0),\n});\nfunction useScroll({ container, target, layoutEffect = true, ...options } = {}) {\n const values = useConstant(createScrollMotionValues);\n const useLifecycleEffect = layoutEffect\n ? useIsomorphicLayoutEffect\n : useEffect;\n useLifecycleEffect(() => {\n refWarning(\"target\", target);\n refWarning(\"container\", container);\n return scrollInfo(({ x, y }) => {\n values.scrollX.set(x.current);\n values.scrollXProgress.set(x.progress);\n values.scrollY.set(y.current);\n values.scrollYProgress.set(y.progress);\n }, {\n ...options,\n container: (container === null || container === void 0 ? void 0 : container.current) || undefined,\n target: (target === null || target === void 0 ? void 0 : target.current) || undefined,\n });\n }, [container, target, JSON.stringify(options.offset)]);\n return values;\n}\n\nexport { useScroll };\n"],"names":["useIsomorphicLayoutEffect","isBrowser","useLayoutEffect","useEffect","defaultState","x","y","width","height","top","left","bottom","right","esm_useMeasure","window","ResizeObserver","_a","useState","element","ref","_b","rect","setRect","observer","useMemo","entries","contentRect","observe","disconnect","noop","esm_useEffectOnce","effect","esm_useUnmount","fn","fnRef","useRef","current","useEffectOnce","esm_useRafState","initialState","frame","state","setState","setRafState","useCallback","value","cancelAnimationFrame","requestAnimationFrame","useUnmount","esm_useScroll","useRafState","handler","scrollLeft","scrollTop","on","capture","passive","off","NAVIGATION_MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","FocusGroupCollection","useFocusGroupCollection","createFocusGroupCollectionScope","createNavigationMenuContext","createNavigationMenuScope","createContextScope","NavigationMenuProviderImpl","useNavigationMenuContext","ViewportContentProvider","useViewportContentContext","NavigationMenu","React","props","forwardedRef","__scopeNavigationMenu","valueProp","onValueChange","defaultValue","delayDuration","skipDelayDuration","orientation","dir","NavigationMenuProps","navigationMenu","setNavigationMenu","composedRef","useComposedRefs","node","direction","useDirection","openTimerRef","closeTimerRef","skipDelayTimerRef","isOpenDelayed","setIsOpenDelayed","setValue","useControllableState","prop","onChange","hasSkipDelayDuration","clearTimeout","setTimeout","defaultProp","startCloseTimer","handleOpen","itemValue","handleDelayedOpen","jsx","NavigationMenuProvider","scope","isRootMenu","rootNavigationMenu","onTriggerEnter","onTriggerLeave","onContentEnter","onContentLeave","onItemSelect","prevValue","onItemDismiss","children","Primitive","nav","displayName","SUB_NAME","NavigationMenuSub","subProps","context","div","viewport","setViewport","viewportContent","setViewportContent","Map","indicatorTrack","setIndicatorTrack","previousValue","usePrevious","baseId","useId","onViewportChange","onIndicatorTrackChange","useCallbackRef","onViewportContentChange","contentValue","contentData","prevContent","set","onViewportContentRemove","has","delete","Provider","items","LIST_NAME","NavigationMenuList","listProps","list","ul","style","position","Slot","FocusGroup","asChild","ITEM_NAME","NavigationMenuItemContextProvider","useNavigationMenuItemContext","NavigationMenuItem","itemProps","autoValue","contentRef","triggerRef","focusProxyRef","restoreContentTabOrderRef","wasEscapeCloseRef","handleContentEntry","side","candidates","getTabbableCandidates","length","focusFirst","reverse","handleContentExit","forEach","candidate","dataset","tabindex","getAttribute","setAttribute","prevTabIndex","onEntryKeyDown","onFocusProxyEnter","onRootContentClose","onContentFocusOutside","li","TRIGGER_NAME","NavigationMenuTrigger","disabled","triggerProps","itemContext","composedRefs","triggerId","makeTriggerId","contentId","makeContentId","hasPointerMoveOpenedRef","wasClickCloseRef","open","jsxs","Fragment","ItemSlot","FocusGroupItem","button","id","getOpenState","onPointerEnter","composeEventHandlers","onPointerMove","whenMouse","onPointerLeave","onClick","onKeyDown","entryKey","horizontal","vertical","event","key","preventDefault","VisuallyHiddenPrimitive","tabIndex","onFocus","content","prevFocusedElement","relatedTarget","wasTriggerFocused","wasFocusFromContent","contains","LINK_SELECT","NavigationMenuLink","active","onSelect","linkProps","a","target","linkSelectEvent","CustomEvent","bubbles","cancelable","addEventListener","once","dispatchDiscreteCustomEvent","defaultPrevented","metaKey","rootContentDismissEvent","ROOT_CONTENT_DISMISS","checkForDefaultPrevented","INDICATOR_NAME","NavigationMenuIndicator","forceMount","indicatorProps","isVisible","Boolean","ReactDOM","Presence","present","NavigationMenuIndicatorImpl","getItems","activeTrigger","setActiveTrigger","setPosition","isHorizontal","triggerNode","find","item","handlePositionChange","size","offsetWidth","offsetHeight","offset","offsetLeft","offsetTop","useResizeObserver","transform","concat","CONTENT_NAME","NavigationMenuContent","contentProps","commonProps","ViewportContentMounter","NavigationMenuContentImpl","pointerEvents","prevMotionAttributeRef","handleClose","document","activeElement","focus","removeEventListener","motionAttribute","values","map","index","indexOf","prevIndex","isSelected","wasSelected","attribute","DismissableLayer","disableOutsidePointerEvents","onDismiss","Event","dispatchEvent","onFocusOutside","onPointerDownOutside","isTrigger","some","isRootViewport","isMetaKey","altKey","ctrlKey","currentTarget","focusedElement","findIndex","isMovingBackwards","shiftKey","slice","onEscapeKeyDown","VIEWPORT_NAME","NavigationMenuViewport","viewportProps","NavigationMenuViewportImpl","viewportImplProps","viewportContentContext","setSize","setContent","viewportWidth","viewportHeight","activeContentValue","Array","from","param","isActive","composeRefs","groupProps","ARROW_KEYS","includes","candidateNodes","prevKeys","currentIndex","container","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","tagName","type","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","push","currentNode","previouslyFocusedElement","onResize","handleResize","rAF","resizeObserver","unobserve","pointerType","Root","List","Item","Trigger","Link","Content","Viewport","LazyMotion","features","strict","setIsLoaded","react__WEBPACK_IMPORTED_MODULE_0__","isLazyBundle","loadedRenderer","undefined","renderer","loadedFeatures","_motion_features_load_features_mjs__WEBPACK_IMPORTED_MODULE_1__","K","then","createElement","_context_LazyContext_mjs__WEBPACK_IMPORTED_MODULE_2__","u","m","_motion_proxy_mjs__WEBPACK_IMPORTED_MODULE_0__","D","_utils_create_config_mjs__WEBPACK_IMPORTED_MODULE_1__","w","windowResizeHandler","resizeHandlers","WeakMap","notifyTarget","borderBoxSize","get","contentSize","getElementSize","inlineSize","blockSize","SVGElement","getBBox","notifyAll","windowCallbacks","Set","createAxisInfo","progress","scrollLength","targetOffset","targetLength","containerLength","velocity","createScrollInfo","time","keys","updateAxisInfo","axisName","info","axis","prev","prevTime","Y","elapsed","velocity_per_second","R","namedEdges","start","center","end","resolveEdge","edge","inset","delta","asNumber","parseFloat","endsWith","documentElement","clientWidth","clientHeight","defaultOffset","point","scrollListeners","resizeListeners","onScrollHandlers","getEventTarget","refWarning","name","errors","createScrollMotionValues","scrollX","BX","scrollY","scrollXProgress","scrollYProgress","useScroll","layoutEffect","options","use_constant","h","useLifecycleEffect","use_isomorphic_effect","L","react","scrollInfo","onScroll","containerHandlers","containerHandler","createOnScrollHandler","measure","offsetParent","scrollWidth","scrollHeight","update","resolveOffsets","offsetDefinition","lengthLabel","calcInset","HTMLElement","svgBoundingBox","getBoundingClientRect","parentBoundingBox","parentElement","SVGGraphicsElement","svg","parent","parentNode","targetSize","containerSize","hasChanged","interpolate","numOffsets","i","resolveOffset","targetInset","isArray","targetPoint","trim","split","interpolatorOffsets","s","offsets_default","notify","add","measureAll","updateAll","frameloop_frame","frameData","timestamp","listener","Wi","read","innerWidth","innerHeight","callback","resizeElement","elements","root","querySelectorAll","Element","elementHandlers","Pn","currentHandlers","scrollListener","JSON","stringify"],"sourceRoot":""}