{"version":3,"file":"index-zIaBOKQ3.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/circle.js","../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\nconst Circle = createLucideIcon(\"Circle\", __iconNode);\n\nexport { __iconNode, Circle as default };\n//# sourceMappingURL=circle.js.map\n","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n  ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n  rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n  ltr: [\"ArrowLeft\"],\n  rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n  createCollectionScope,\n  createPopperScope,\n  createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n  const popperScope = usePopperScope(__scopeMenu);\n  const [content, setContent] = React.useState(null);\n  const isUsingKeyboardRef = React.useRef(false);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  const direction = useDirection(dir);\n  React.useEffect(() => {\n    const handleKeyDown = () => {\n      isUsingKeyboardRef.current = true;\n      document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n      document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n    };\n    const handlePointer = () => isUsingKeyboardRef.current = false;\n    document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n      document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n      document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuRootProvider,\n        {\n          scope: __scopeMenu,\n          onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n          isUsingKeyboardRef,\n          dir: direction,\n          modal,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...anchorProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar MenuPortal = (props) => {\n  const { __scopeMenu, forceMount, children, container } = props;\n  const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n  }\n);\nvar MenuRootContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      const content = ref.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: context.open,\n        disableOutsideScroll: true,\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        ),\n        onDismiss: () => context.onOpenChange(false)\n      }\n    );\n  }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n  const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n  return /* @__PURE__ */ jsx(\n    MenuContentImpl,\n    {\n      ...props,\n      ref: forwardedRef,\n      trapFocus: false,\n      disableOutsidePointerEvents: false,\n      disableOutsideScroll: false,\n      onDismiss: () => context.onOpenChange(false)\n    }\n  );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeMenu,\n      loop = false,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEntryFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      disableOutsideScroll,\n      ...contentProps\n    } = props;\n    const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n    const popperScope = usePopperScope(__scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const getItems = useCollection(__scopeMenu);\n    const [currentItemId, setCurrentItemId] = React.useState(null);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n    const timerRef = React.useRef(0);\n    const searchRef = React.useRef(\"\");\n    const pointerGraceTimerRef = React.useRef(0);\n    const pointerGraceIntentRef = React.useRef(null);\n    const pointerDirRef = React.useRef(\"right\");\n    const lastPointerXRef = React.useRef(0);\n    const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n    const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n    const handleTypeaheadSearch = (key) => {\n      const search = searchRef.current + key;\n      const items = getItems().filter((item) => !item.disabled);\n      const currentItem = document.activeElement;\n      const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n      const values = items.map((item) => item.textValue);\n      const nextMatch = getNextMatch(values, search, currentMatch);\n      const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n      if (newItem) {\n        setTimeout(() => newItem.focus());\n      }\n    };\n    React.useEffect(() => {\n      return () => window.clearTimeout(timerRef.current);\n    }, []);\n    useFocusGuards();\n    const isPointerMovingToSubmenu = React.useCallback((event) => {\n      const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n      return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentProvider,\n      {\n        scope: __scopeMenu,\n        searchRef,\n        onItemEnter: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onItemLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) return;\n            contentRef.current?.focus();\n            setCurrentItemId(null);\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onTriggerLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        pointerGraceTimerRef,\n        onPointerGraceIntentChange: React.useCallback((intent) => {\n          pointerGraceIntentRef.current = intent;\n        }, []),\n        children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: trapFocus,\n            onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n              event.preventDefault();\n              contentRef.current?.focus({ preventScroll: true });\n            }),\n            onUnmountAutoFocus: onCloseAutoFocus,\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside,\n                onInteractOutside,\n                onDismiss,\n                children: /* @__PURE__ */ jsx(\n                  RovingFocusGroup.Root,\n                  {\n                    asChild: true,\n                    ...rovingFocusGroupScope,\n                    dir: rootContext.dir,\n                    orientation: \"vertical\",\n                    loop,\n                    currentTabStopId: currentItemId,\n                    onCurrentTabStopIdChange: setCurrentItemId,\n                    onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n                      if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n                    }),\n                    preventScrollOnEntryFocus: true,\n                    children: /* @__PURE__ */ jsx(\n                      PopperPrimitive.Content,\n                      {\n                        role: \"menu\",\n                        \"aria-orientation\": \"vertical\",\n                        \"data-state\": getOpenState(context.open),\n                        \"data-radix-menu-content\": \"\",\n                        dir: rootContext.dir,\n                        ...popperScope,\n                        ...contentProps,\n                        ref: composedRefs,\n                        style: { outline: \"none\", ...contentProps.style },\n                        onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                          const target = event.target;\n                          const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n                          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                          const isCharacterKey = event.key.length === 1;\n                          if (isKeyDownInside) {\n                            if (event.key === \"Tab\") event.preventDefault();\n                            if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n                          }\n                          const content = contentRef.current;\n                          if (event.target !== content) return;\n                          if (!FIRST_LAST_KEYS.includes(event.key)) return;\n                          event.preventDefault();\n                          const items = getItems().filter((item) => !item.disabled);\n                          const candidateNodes = items.map((item) => item.ref.current);\n                          if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n                          focusFirst(candidateNodes);\n                        }),\n                        onBlur: composeEventHandlers(props.onBlur, (event) => {\n                          if (!event.currentTarget.contains(event.target)) {\n                            window.clearTimeout(timerRef.current);\n                            searchRef.current = \"\";\n                          }\n                        }),\n                        onPointerMove: composeEventHandlers(\n                          props.onPointerMove,\n                          whenMouse((event) => {\n                            const target = event.target;\n                            const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n                            if (event.currentTarget.contains(target) && pointerXHasChanged) {\n                              const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n                              pointerDirRef.current = newDir;\n                              lastPointerXRef.current = event.clientX;\n                            }\n                          })\n                        )\n                      }\n                    )\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...groupProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n  }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...labelProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n  }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { disabled = false, onSelect, ...itemProps } = props;\n    const ref = React.useRef(null);\n    const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const isPointerDownRef = React.useRef(false);\n    const handleSelect = () => {\n      const menuItem = ref.current;\n      if (!disabled && menuItem) {\n        const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n        menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n        dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n        if (itemSelectEvent.defaultPrevented) {\n          isPointerDownRef.current = false;\n        } else {\n          rootContext.onClose();\n        }\n      }\n    };\n    return /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        ...itemProps,\n        ref: composedRefs,\n        disabled,\n        onClick: composeEventHandlers(props.onClick, handleSelect),\n        onPointerDown: (event) => {\n          props.onPointerDown?.(event);\n          isPointerDownRef.current = true;\n        },\n        onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n          if (!isPointerDownRef.current) event.currentTarget?.click();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (disabled || isTypingAhead && event.key === \" \") return;\n          if (SELECTION_KEYS.includes(event.key)) {\n            event.currentTarget.click();\n            event.preventDefault();\n          }\n        })\n      }\n    );\n  }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n    const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const [isFocused, setIsFocused] = React.useState(false);\n    const [textContent, setTextContent] = React.useState(\"\");\n    React.useEffect(() => {\n      const menuItem = ref.current;\n      if (menuItem) {\n        setTextContent((menuItem.textContent ?? \"\").trim());\n      }\n    }, [itemProps.children]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeMenu,\n        disabled,\n        textValue: textValue ?? textContent,\n        children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"menuitem\",\n            \"data-highlighted\": isFocused ? \"\" : void 0,\n            \"aria-disabled\": disabled || void 0,\n            \"data-disabled\": disabled ? \"\" : void 0,\n            ...itemProps,\n            ref: composedRefs,\n            onPointerMove: composeEventHandlers(\n              props.onPointerMove,\n              whenMouse((event) => {\n                if (disabled) {\n                  contentContext.onItemLeave(event);\n                } else {\n                  contentContext.onItemEnter(event);\n                  if (!event.defaultPrevented) {\n                    const item = event.currentTarget;\n                    item.focus({ preventScroll: true });\n                  }\n                }\n              })\n            ),\n            onPointerLeave: composeEventHandlers(\n              props.onPointerLeave,\n              whenMouse((event) => contentContext.onItemLeave(event))\n            ),\n            onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n            onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n          }\n        ) })\n      }\n    );\n  }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemcheckbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        ...checkboxItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          checkboxItemProps.onSelect,\n          () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n  RADIO_GROUP_NAME,\n  { value: void 0, onValueChange: () => {\n  } }\n);\nvar MenuRadioGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, onValueChange, ...groupProps } = props;\n    const handleValueChange = useCallbackRef(onValueChange);\n    return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n  }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, ...radioItemProps } = props;\n    const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n    const checked = value === context.value;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemradio\",\n        \"aria-checked\": checked,\n        ...radioItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          radioItemProps.onSelect,\n          () => context.onValueChange?.(value),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n  ITEM_INDICATOR_NAME,\n  { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n    const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            ...itemIndicatorProps,\n            ref: forwardedRef,\n            \"data-state\": getCheckedState(indicatorContext.checked)\n          }\n        )\n      }\n    );\n  }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        role: \"separator\",\n        \"aria-orientation\": \"horizontal\",\n        ...separatorProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n  const { __scopeMenu, children, open = false, onOpenChange } = props;\n  const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n  const popperScope = usePopperScope(__scopeMenu);\n  const [trigger, setTrigger] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  React.useEffect(() => {\n    if (parentMenuContext.open === false) handleOpenChange(false);\n    return () => handleOpenChange(false);\n  }, [parentMenuContext.open, handleOpenChange]);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuSubProvider,\n        {\n          scope: __scopeMenu,\n          contentId: useId(),\n          triggerId: useId(),\n          trigger,\n          onTriggerChange: setTrigger,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const openTimerRef = React.useRef(null);\n    const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n    const scope = { __scopeMenu: props.__scopeMenu };\n    const clearOpenTimer = React.useCallback(() => {\n      if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n      openTimerRef.current = null;\n    }, []);\n    React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n    React.useEffect(() => {\n      const pointerGraceTimer = pointerGraceTimerRef.current;\n      return () => {\n        window.clearTimeout(pointerGraceTimer);\n        onPointerGraceIntentChange(null);\n      };\n    }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n    return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        id: subContext.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": subContext.contentId,\n        \"data-state\": getOpenState(context.open),\n        ...props,\n        ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n        onClick: (event) => {\n          props.onClick?.(event);\n          if (props.disabled || event.defaultPrevented) return;\n          event.currentTarget.focus();\n          if (!context.open) context.onOpenChange(true);\n        },\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse((event) => {\n            contentContext.onItemEnter(event);\n            if (event.defaultPrevented) return;\n            if (!props.disabled && !context.open && !openTimerRef.current) {\n              contentContext.onPointerGraceIntentChange(null);\n              openTimerRef.current = window.setTimeout(() => {\n                context.onOpenChange(true);\n                clearOpenTimer();\n              }, 100);\n            }\n          })\n        ),\n        onPointerLeave: composeEventHandlers(\n          props.onPointerLeave,\n          whenMouse((event) => {\n            clearOpenTimer();\n            const contentRect = context.content?.getBoundingClientRect();\n            if (contentRect) {\n              const side = context.content?.dataset.side;\n              const rightSide = side === \"right\";\n              const bleed = rightSide ? -5 : 5;\n              const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n              const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n              contentContext.onPointerGraceIntentChange({\n                area: [\n                  // Apply a bleed on clientX to ensure that our exit point is\n                  // consistently within polygon bounds\n                  { x: event.clientX + bleed, y: event.clientY },\n                  { x: contentNearEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.bottom },\n                  { x: contentNearEdge, y: contentRect.bottom }\n                ],\n                side\n              });\n              window.clearTimeout(pointerGraceTimerRef.current);\n              pointerGraceTimerRef.current = window.setTimeout(\n                () => contentContext.onPointerGraceIntentChange(null),\n                300\n              );\n            } else {\n              contentContext.onTriggerLeave(event);\n              if (event.defaultPrevented) return;\n              contentContext.onPointerGraceIntentChange(null);\n            }\n          })\n        ),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (props.disabled || isTypingAhead && event.key === \" \") return;\n          if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n            context.onOpenChange(true);\n            context.content?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        id: subContext.contentId,\n        \"aria-labelledby\": subContext.triggerId,\n        ...subContentProps,\n        ref: composedRefs,\n        align: \"start\",\n        side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n        disableOutsidePointerEvents: false,\n        disableOutsideScroll: false,\n        trapFocus: false,\n        onOpenAutoFocus: (event) => {\n          if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n          event.preventDefault();\n        },\n        onCloseAutoFocus: (event) => event.preventDefault(),\n        onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n          if (event.target !== subContext.trigger) context.onOpenChange(false);\n        }),\n        onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n          rootContext.onClose();\n          event.preventDefault();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isKeyDownInside = event.currentTarget.contains(event.target);\n          const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n          if (isKeyDownInside && isCloseKey) {\n            context.onOpenChange(false);\n            subContext.trigger?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }) });\n  }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus();\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n  let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n  const excludeCurrentMatch = normalizedSearch.length === 1;\n  if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n  const nextMatch = wrappedValues.find(\n    (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n  if (!area) return false;\n  const cursorPos = { x: event.clientX, y: event.clientY };\n  return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  CheckboxItem,\n  Content2 as Content,\n  Group,\n  Item2 as Item,\n  ItemIndicator,\n  Label,\n  Menu,\n  MenuAnchor,\n  MenuArrow,\n  MenuCheckboxItem,\n  MenuContent,\n  MenuGroup,\n  MenuItem,\n  MenuItemIndicator,\n  MenuLabel,\n  MenuPortal,\n  MenuRadioGroup,\n  MenuRadioItem,\n  MenuSeparator,\n  MenuSub,\n  MenuSubContent,\n  MenuSubTrigger,\n  Portal,\n  RadioGroup,\n  RadioItem,\n  Root3 as Root,\n  Separator,\n  Sub,\n  SubContent,\n  SubTrigger,\n  createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["PopperPrimitive.Root","PopperPrimitive.Anchor","PortalPrimitive","RemoveScroll","RovingFocusGroup.Root","PopperPrimitive.Content","RovingFocusGroup.Item","PopperPrimitive.Arrow","Root","Anchor","Content","Item","Arrow"],"mappings":"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","x_google_ignoreList":[0,1]}