import * as React from "react"; import * as MenubarPrimitive from "@radix-ui/react-menubar"; import { cls } from "../util"; import { CheckIcon, ChevronRightIcon } from "../icons"; import { usePortalContainer } from "../hooks/PortalContainerContext"; export function Menubar({ children, onSelect, className }: { children: React.ReactNode, onSelect?: (event: React.SyntheticEvent) => void, className?: string }) { return ( {children} ) } export function MenubarMenu({ children, }: { children: React.ReactNode }) { return ( {children} ) } export function MenubarTrigger({ children, onSelect, className }: { children: React.ReactNode, onSelect?: (event: React.SyntheticEvent) => void, className?: string }) { return ( {children} ) } export function MenubarPortal({ children, portalContainer, }: { children: React.ReactNode; portalContainer?: HTMLElement | null; }) { // Get the portal container from context const contextContainer = usePortalContainer(); // Prioritize manual prop, fallback to context container const finalContainer = (portalContainer ?? contextContainer ?? undefined) as HTMLElement | undefined; return ( {children} ) } export function MenubarContent({ children, className, align, sideOffset, alignOffset, onSelect, ...rest }: { children: React.ReactNode, className?: string, onSelect?: (event: React.SyntheticEvent) => void, align?: "start" | "center" | "end", sideOffset?: number, alignOffset?: number }) { return ( {children} ) } export function MenubarItem({ children, leftPadding, className, disabled, onSelect, ...rest }: { children: React.ReactNode, onSelect?: (event: Event) => void; leftPadding?: boolean, className?: string, disabled?: boolean }) { return ( {children} ) } export function MenubarSeparator({ children, className, ...rest }: { children?: React.ReactNode, className?: string, }) { return ( {children} ) } export function MenubarSub({ children, ...rest }: { children?: React.ReactNode, }) { return ( {children} ) } export function MenubarSubTrigger({ children, className, onSelect, ...rest }: { children?: React.ReactNode, onSelect?: (event: React.SyntheticEvent) => void, className?: string, }) { return ( {children} ) } export function MenubarSubContent({ children, alignOffset, className, onSelect, ...rest }: { children?: React.ReactNode, onSelect?: (event: React.SyntheticEvent) => void, alignOffset?: number, className?: string, }) { return ( {children} ) } export function MenubarCheckboxItem({ children, checked, onCheckedChange, className, onSelect, ...rest }: { children?: React.ReactNode, onSelect?: (event: Event) => void; checked?: boolean, onCheckedChange?: () => void, className?: string, }) { return ( {children} ) } export function MenubarItemIndicator({ children, className, ...rest }: { children?: React.ReactNode, className?: string, }) { return ( {children ?? } ) } export function MenubarRadioGroup({ children, className, value, onValueChange, onSelect, ...rest }: { children?: React.ReactNode, onSelect?: (event: React.SyntheticEvent) => void, value?: string, onValueChange?: (value: string) => void, className?: string, }) { return ( {children ?? } ) } export function MenubarRadioItem({ children, className, value, onSelect, ...rest }: { children?: React.ReactNode, onSelect?: (event: Event) => void; value: string, className?: string, }) { return ( {children ?? } ) } export function MenubarShortcut({ children, className, ...rest }: { children?: React.ReactNode, className?: string, }) { return (
{children}
) } export function MenubarSubTriggerIndicator() { return (
) }