{"version":3,"file":"index.mjs","sources":["../../node_modules/@radix-ui/react-navigation-menu/dist/index.mjs","../../src/components/ui/navigation-menu/navigation-menu.tsx"],"sourcesContent":["\"use client\";\n\n// src/navigation-menu.tsx\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\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar NAVIGATION_MENU_NAME = \"NavigationMenu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n  NAVIGATION_MENU_NAME,\n  [createCollectionScope, createFocusGroupCollectionScope]\n);\nvar [NavigationMenuProviderImpl, useNavigationMenuContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar NavigationMenu = React.forwardRef(\n  (props, 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: (value2) => {\n        const isOpen = value2 !== \"\";\n        const hasSkipDelayDuration = skipDelayDuration > 0;\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        onValueChange?.(value2);\n      },\n      defaultProp: defaultValue ?? \"\",\n      caller: NAVIGATION_MENU_NAME\n    });\n    const startCloseTimer = React.useCallback(() => {\n      window.clearTimeout(closeTimerRef.current);\n      closeTimerRef.current = window.setTimeout(() => setValue(\"\"), 150);\n    }, [setValue]);\n    const handleOpen = React.useCallback(\n      (itemValue) => {\n        window.clearTimeout(closeTimerRef.current);\n        setValue(itemValue);\n      },\n      [setValue]\n    );\n    const handleDelayedOpen = React.useCallback(\n      (itemValue) => {\n        const isOpenItem = value === itemValue;\n        if (isOpenItem) {\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    React.useEffect(() => {\n      return () => {\n        window.clearTimeout(openTimerRef.current);\n        window.clearTimeout(closeTimerRef.current);\n        window.clearTimeout(skipDelayTimerRef.current);\n      };\n    }, []);\n    return /* @__PURE__ */ jsx(\n      NavigationMenuProvider,\n      {\n        scope: __scopeNavigationMenu,\n        isRootMenu: true,\n        value,\n        dir: direction,\n        orientation,\n        rootNavigationMenu: navigationMenu,\n        onTriggerEnter: (itemValue) => {\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        children: /* @__PURE__ */ jsx(\n          Primitive.nav,\n          {\n            \"aria-label\": \"Main\",\n            \"data-orientation\": orientation,\n            dir: direction,\n            ...NavigationMenuProps,\n            ref: composedRef\n          }\n        )\n      }\n    );\n  }\n);\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\nvar SUB_NAME = \"NavigationMenuSub\";\nvar NavigationMenuSub = React.forwardRef(\n  (props, 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      caller: SUB_NAME\n    });\n    return /* @__PURE__ */ jsx(\n      NavigationMenuProvider,\n      {\n        scope: __scopeNavigationMenu,\n        isRootMenu: false,\n        value,\n        dir: context.dir,\n        orientation,\n        rootNavigationMenu: context.rootNavigationMenu,\n        onTriggerEnter: (itemValue) => setValue(itemValue),\n        onItemSelect: (itemValue) => setValue(itemValue),\n        onItemDismiss: () => setValue(\"\"),\n        children: /* @__PURE__ */ jsx(Primitive.div, { \"data-orientation\": orientation, ...subProps, ref: forwardedRef })\n      }\n    );\n  }\n);\nNavigationMenuSub.displayName = SUB_NAME;\nvar NavigationMenuProvider = (props) => {\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(/* @__PURE__ */ new Map());\n  const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n  return /* @__PURE__ */ jsx(\n    NavigationMenuProviderImpl,\n    {\n      scope,\n      isRootMenu,\n      rootNavigationMenu,\n      value,\n      previousValue: usePrevious(value),\n      baseId: useId(),\n      dir,\n      orientation,\n      viewport,\n      onViewportChange: setViewport,\n      indicatorTrack,\n      onIndicatorTrackChange: setIndicatorTrack,\n      onTriggerEnter: useCallbackRef(onTriggerEnter),\n      onTriggerLeave: useCallbackRef(onTriggerLeave),\n      onContentEnter: useCallbackRef(onContentEnter),\n      onContentLeave: useCallbackRef(onContentLeave),\n      onItemSelect: useCallbackRef(onItemSelect),\n      onItemDismiss: useCallbackRef(onItemDismiss),\n      onViewportContentChange: React.useCallback((contentValue, contentData) => {\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      children: /* @__PURE__ */ jsx(Collection.Provider, { scope, children: /* @__PURE__ */ jsx(ViewportContentProvider, { scope, items: viewportContent, children }) })\n    }\n  );\n};\nvar LIST_NAME = \"NavigationMenuList\";\nvar NavigationMenuList = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeNavigationMenu, ...listProps } = props;\n    const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n    const list = /* @__PURE__ */ jsx(Primitive.ul, { \"data-orientation\": context.orientation, ...listProps, ref: forwardedRef });\n    return /* @__PURE__ */ jsx(Primitive.div, { style: { position: \"relative\" }, ref: context.onIndicatorTrackChange, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: list }) : list }) });\n  }\n);\nNavigationMenuList.displayName = LIST_NAME;\nvar ITEM_NAME = \"NavigationMenuItem\";\nvar [NavigationMenuItemContextProvider, useNavigationMenuItemContext] = createNavigationMenuContext(ITEM_NAME);\nvar NavigationMenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n    const autoValue = useId();\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    });\n    const wasEscapeCloseRef = React.useRef(false);\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    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    return /* @__PURE__ */ jsx(\n      NavigationMenuItemContextProvider,\n      {\n        scope: __scopeNavigationMenu,\n        value,\n        triggerRef,\n        contentRef,\n        focusProxyRef,\n        wasEscapeCloseRef,\n        onEntryKeyDown: handleContentEntry,\n        onFocusProxyEnter: handleContentEntry,\n        onRootContentClose: handleContentExit,\n        onContentFocusOutside: handleContentExit,\n        children: /* @__PURE__ */ jsx(Primitive.li, { ...itemProps, ref: forwardedRef })\n      }\n    );\n  }\n);\nNavigationMenuItem.displayName = ITEM_NAME;\nvar TRIGGER_NAME = \"NavigationMenuTrigger\";\nvar NavigationMenuTrigger = React.forwardRef((props, 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  return /* @__PURE__ */ jsxs(Fragment, { children: [\n    /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeNavigationMenu, value: itemContext.value, children: /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        id: triggerId,\n        disabled,\n        \"data-disabled\": disabled ? \"\" : void 0,\n        \"data-state\": getOpenState(open),\n        \"aria-expanded\": open,\n        \"aria-controls\": contentId,\n        ...triggerProps,\n        ref: composedRefs,\n        onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {\n          wasClickCloseRef.current = false;\n          itemContext.wasEscapeCloseRef.current = false;\n        }),\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse(() => {\n            if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)\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 }[context.orientation];\n          if (open && event.key === entryKey) {\n            itemContext.onEntryKeyDown();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }),\n    open && /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        VisuallyHiddenPrimitive.Root,\n        {\n          \"aria-hidden\": true,\n          tabIndex: 0,\n          ref: itemContext.focusProxyRef,\n          onFocus: (event) => {\n            const content = itemContext.contentRef.current;\n            const prevFocusedElement = event.relatedTarget;\n            const wasTriggerFocused = prevFocusedElement === ref.current;\n            const wasFocusFromContent = content?.contains(prevFocusedElement);\n            if (wasTriggerFocused || !wasFocusFromContent) {\n              itemContext.onFocusProxyEnter(wasTriggerFocused ? \"start\" : \"end\");\n            }\n          }\n        }\n      ),\n      context.viewport && /* @__PURE__ */ jsx(\"span\", { \"aria-owns\": contentId })\n    ] })\n  ] });\n});\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\nvar LINK_NAME = \"NavigationMenuLink\";\nvar LINK_SELECT = \"navigationMenu.linkSelect\";\nvar NavigationMenuLink = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n    return /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n      Primitive.a,\n      {\n        \"data-active\": active ? \"\" : void 0,\n        \"aria-current\": active ? \"page\" : void 0,\n        ...linkProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(\n          props.onClick,\n          (event) => {\n            const target = event.target;\n            const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n              bubbles: true,\n              cancelable: true\n            });\n            target.addEventListener(LINK_SELECT, (event2) => onSelect?.(event2), { once: true });\n            dispatchDiscreteCustomEvent(target, linkSelectEvent);\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);\nNavigationMenuLink.displayName = LINK_NAME;\nvar INDICATOR_NAME = \"NavigationMenuIndicator\";\nvar NavigationMenuIndicator = React.forwardRef((props, forwardedRef) => {\n  const { forceMount, ...indicatorProps } = props;\n  const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n  const isVisible = Boolean(context.value);\n  return context.indicatorTrack ? ReactDOM.createPortal(\n    /* @__PURE__ */ jsx(Presence, { present: forceMount || isVisible, children: /* @__PURE__ */ jsx(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),\n    context.indicatorTrack\n  ) : null;\n});\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\nvar NavigationMenuIndicatorImpl = React.forwardRef((props, 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(null);\n  const isHorizontal = context.orientation === \"horizontal\";\n  const isVisible = Boolean(context.value);\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  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  return position ? /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"aria-hidden\": true,\n      \"data-state\": isVisible ? \"visible\" : \"hidden\",\n      \"data-orientation\": context.orientation,\n      ...indicatorProps,\n      ref: forwardedRef,\n      style: {\n        position: \"absolute\",\n        ...isHorizontal ? {\n          left: 0,\n          width: position.size + \"px\",\n          transform: `translateX(${position.offset}px)`\n        } : {\n          top: 0,\n          height: position.size + \"px\",\n          transform: `translateY(${position.offset}px)`\n        },\n        ...indicatorProps.style\n      }\n    }\n  ) : null;\n});\nvar CONTENT_NAME = \"NavigationMenuContent\";\nvar NavigationMenuContent = React.forwardRef((props, 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  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  return !context.viewport ? /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n    NavigationMenuContentImpl,\n    {\n      \"data-state\": getOpenState(open),\n      ...commonProps,\n      ref: composedRefs,\n      onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n      onPointerLeave: composeEventHandlers(\n        props.onPointerLeave,\n        whenMouse(context.onContentLeave)\n      ),\n      style: {\n        // Prevent interaction when animating out\n        pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n        ...commonProps.style\n      }\n    }\n  ) }) : /* @__PURE__ */ jsx(ViewportContentMounter, { forceMount, ...commonProps, ref: composedRefs });\n});\nNavigationMenuContent.displayName = CONTENT_NAME;\nvar ViewportContentMounter = React.forwardRef((props, forwardedRef) => {\n  const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n  const { onViewportContentChange, onViewportContentRemove } = context;\n  useLayoutEffect(() => {\n    onViewportContentChange(props.value, {\n      ref: forwardedRef,\n      ...props\n    });\n  }, [props, forwardedRef, onViewportContentChange]);\n  useLayoutEffect(() => {\n    return () => onViewportContentRemove(props.value);\n  }, [props.value, onViewportContentRemove]);\n  return null;\n});\nvar ROOT_CONTENT_DISMISS = \"navigationMenu.rootContentDismiss\";\nvar NavigationMenuContentImpl = React.forwardRef((props, 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  const { onItemDismiss } = context;\n  React.useEffect(() => {\n    const content = ref.current;\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  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    if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n    const attribute = (() => {\n      if (index !== prevIndex) {\n        if (isSelected && prevIndex !== -1) return index > prevIndex ? \"from-end\" : \"from-start\";\n        if (wasSelected && index !== -1) return index > prevIndex ? \"to-start\" : \"to-end\";\n      }\n      return null;\n    })();\n    prevMotionAttributeRef.current = attribute;\n    return attribute;\n  }, [context.previousValue, context.value, context.dir, getItems, value]);\n  return /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: /* @__PURE__ */ jsx(\n    DismissableLayer,\n    {\n      id: contentId,\n      \"aria-labelledby\": triggerId,\n      \"data-motion\": motionAttribute,\n      \"data-orientation\": context.orientation,\n      ...contentProps,\n      ref: composedRefs,\n      disableOutsidePointerEvents: false,\n      onDismiss: () => {\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;\n        if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n      }),\n      onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n        const target = event.target;\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 ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);\n          if (focusFirst(nextCandidates)) {\n            event.preventDefault();\n          } else {\n            focusProxyRef.current?.focus();\n          }\n        }\n      }),\n      onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n        wasEscapeCloseRef.current = true;\n      })\n    }\n  ) });\n});\nvar VIEWPORT_NAME = \"NavigationMenuViewport\";\nvar NavigationMenuViewport = React.forwardRef((props, forwardedRef) => {\n  const { forceMount, ...viewportProps } = props;\n  const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n  const open = Boolean(context.value);\n  return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });\n});\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\nvar NavigationMenuViewportImpl = React.forwardRef((props, 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(null);\n  const [content, setContent] = React.useState(null);\n  const viewportWidth = size ? size?.width + \"px\" : void 0;\n  const viewportHeight = size ? size?.height + \"px\" : void 0;\n  const open = Boolean(context.value);\n  const activeContentValue = open ? context.value : context.previousValue;\n  const handleSizeChange = () => {\n    if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n  };\n  useResizeObserver(content, handleSizeChange);\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"data-state\": getOpenState(open),\n      \"data-orientation\": context.orientation,\n      ...viewportImplProps,\n      ref: composedRefs,\n      style: {\n        // Prevent interaction when animating out\n        pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n        [\"--radix-navigation-menu-viewport-width\"]: viewportWidth,\n        [\"--radix-navigation-menu-viewport-height\"]: viewportHeight,\n        ...viewportImplProps.style\n      },\n      onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n      onPointerLeave: composeEventHandlers(props.onPointerLeave, whenMouse(context.onContentLeave)),\n      children: Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props2 }]) => {\n        const isActive = activeContentValue === value;\n        return /* @__PURE__ */ jsx(Presence, { present: forceMount || isActive, children: /* @__PURE__ */ jsx(\n          NavigationMenuContentImpl,\n          {\n            ...props2,\n            ref: composeRefs(ref, (node) => {\n              if (isActive && node) setContent(node);\n            })\n          }\n        ) }, value);\n      })\n    }\n  );\n});\nvar FOCUS_GROUP_NAME = \"FocusGroup\";\nvar FocusGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeNavigationMenu, ...groupProps } = props;\n    const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n    return /* @__PURE__ */ jsx(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });\n  }\n);\nvar ARROW_KEYS = [\"ArrowRight\", \"ArrowLeft\", \"ArrowUp\", \"ArrowDown\"];\nvar FOCUS_GROUP_ITEM_NAME = \"FocusGroupItem\";\nvar FocusGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeNavigationMenu, ...groupProps } = props;\n    const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n    const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n    return /* @__PURE__ */ jsx(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        ...groupProps,\n        ref: forwardedRef,\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\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            setTimeout(() => focusFirst(candidateNodes));\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction focusFirst(candidates) {\n  const previouslyFocusedElement = document.activeElement;\n  return candidates.some((candidate) => {\n    if (candidate === previouslyFocusedElement) return true;\n    candidate.focus();\n    return document.activeElement !== previouslyFocusedElement;\n  });\n}\nfunction removeFromTabOrder(candidates) {\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;\n      candidate.setAttribute(\"tabindex\", prevTabIndex);\n    });\n  };\n}\nfunction useResizeObserver(element, onResize) {\n  const handleResize = useCallbackRef(onResize);\n  useLayoutEffect(() => {\n    let rAF = 0;\n    if (element) {\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}\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction makeTriggerId(baseId, value) {\n  return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n  return `${baseId}-content-${value}`;\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = NavigationMenu;\nvar Sub = NavigationMenuSub;\nvar List = NavigationMenuList;\nvar Item = NavigationMenuItem;\nvar Trigger = NavigationMenuTrigger;\nvar Link = NavigationMenuLink;\nvar Indicator = NavigationMenuIndicator;\nvar Content = NavigationMenuContent;\nvar Viewport = NavigationMenuViewport;\nexport {\n  Content,\n  Indicator,\n  Item,\n  Link,\n  List,\n  NavigationMenu,\n  NavigationMenuContent,\n  NavigationMenuIndicator,\n  NavigationMenuItem,\n  NavigationMenuLink,\n  NavigationMenuList,\n  NavigationMenuSub,\n  NavigationMenuTrigger,\n  NavigationMenuViewport,\n  Root2 as Root,\n  Sub,\n  Trigger,\n  Viewport,\n  createNavigationMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction NavigationMenu({\n\tclassName,\n\tchildren,\n\tviewport = true,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n\tviewport?: boolean;\n}) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Root\n\t\t\tdata-slot=\"navigation-menu\"\n\t\t\tdata-viewport={viewport}\n\t\t\tclassName={cn(\n\t\t\t\t\"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t{viewport && <NavigationMenuViewport />}\n\t\t</NavigationMenuPrimitive.Root>\n\t);\n}\n\nfunction NavigationMenuList({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.List\n\t\t\tdata-slot=\"navigation-menu-list\"\n\t\t\tclassName={cn(\"group flex flex-1 list-none items-center justify-center gap-1\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction NavigationMenuItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Item\n\t\t\tdata-slot=\"navigation-menu-item\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst navigationMenuTriggerStyle = cva(\n\t\"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\",\n);\n\nfunction NavigationMenuTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Trigger\n\t\t\tdata-slot=\"navigation-menu-trigger\"\n\t\t\tclassName={cn(navigationMenuTriggerStyle(), \"group\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}{\" \"}\n\t\t\t<ChevronDownIcon\n\t\t\t\tclassName=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t</NavigationMenuPrimitive.Trigger>\n\t);\n}\n\nfunction NavigationMenuContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Content\n\t\t\tdata-slot=\"navigation-menu-content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n\t\t\t\t\"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction NavigationMenuViewport({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n\treturn (\n\t\t<div className={cn(\"absolute top-full left-0 isolate z-50 flex justify-center\")}>\n\t\t\t<NavigationMenuPrimitive.Viewport\n\t\t\t\tdata-slot=\"navigation-menu-viewport\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction NavigationMenuLink({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Link\n\t\t\tdata-slot=\"navigation-menu-link\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction NavigationMenuIndicator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n\treturn (\n\t\t<NavigationMenuPrimitive.Indicator\n\t\t\tdata-slot=\"navigation-menu-indicator\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n\t\t</NavigationMenuPrimitive.Indicator>\n\t);\n}\n\nexport {\n\tNavigationMenu,\n\tNavigationMenuList,\n\tNavigationMenuItem,\n\tNavigationMenuContent,\n\tNavigationMenuTrigger,\n\tNavigationMenuLink,\n\tNavigationMenuIndicator,\n\tNavigationMenuViewport,\n\tnavigationMenuTriggerStyle,\n};\n"],"names":["NavigationMenu","value","NavigationMenuList","NavigationMenuItem","NavigationMenuTrigger","VisuallyHiddenPrimitive.Root","NavigationMenuLink","event","NavigationMenuIndicator","ReactDOM","NavigationMenuContent","useLayoutEffect","NavigationMenuViewport","props","Root","className","children","viewport","NavigationMenuPrimitive","data-slot","data-viewport","cn","navigationMenuTriggerStyle","cva","ChevronDownIcon","aria-hidden","div"],"mappings":"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","x_google_ignoreList":[0]}