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 (
)
}