UNPKG

@arolariu/components

Version:

🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡

421 lines • 14.6 kB
import { ContextMenu as BaseContextMenu } from "@base-ui/react/context-menu"; import { useRender } from "@base-ui/react/use-render"; import * as React from "react"; interface ContextMenuProps extends React.ComponentPropsWithRef<typeof BaseContextMenu.Root> { } interface ContextMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Trigger>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface ContextMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.SubmenuTrigger>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Applies inset spacing to align nested content. * @default false */ inset?: boolean; } interface ContextMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Positioner>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface ContextMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Item>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Applies inset spacing to align nested content. * @default false */ inset?: boolean; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface ContextMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.CheckboxItem>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface ContextMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.RadioItem>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface ContextMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.GroupLabel>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Applies inset spacing to align nested content. * @default false */ inset?: boolean; } interface ContextMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseContextMenu.Separator>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface ContextMenuShortcutProps extends React.ComponentPropsWithRef<"span"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Overrides the default rendered element while preserving component behavior. * @default undefined */ render?: useRender.RenderProp<Record<string, never>>; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } /** * Coordinates context menu state and accessibility behavior. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <ContextMenu>Content</ContextMenu> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenu(props: Readonly<ContextMenu.Props>): React.ReactElement; declare namespace ContextMenu { var displayName: string; } /** * Renders the context menu group. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <ContextMenuGroup>Content</ContextMenuGroup> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuGroup: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>; /** * Provides the context menu portal container. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <ContextMenuPortal>Content</ContextMenuPortal> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>; /** * Coordinates the context menu radio group. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <ContextMenuRadioGroup>Content</ContextMenuRadioGroup> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuRadioGroup: React.NamedExoticComponent<Omit<import("@base-ui/react").ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>; /** * Coordinates the context menu sub. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <ContextMenuSub>Content</ContextMenuSub> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuSub: typeof BaseContextMenu.SubmenuRoot & { displayName?: string; }; /** * Renders the context menu trigger. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuTrigger>Content</ContextMenuTrigger> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>>; /** * Renders the context menu sub trigger. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuSubTrigger>Content</ContextMenuSubTrigger> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuSubTrigger(props: Readonly<ContextMenuSubTrigger.Props>): React.ReactElement; declare namespace ContextMenuSubTrigger { var displayName: string; } /** * Renders the context menu sub content. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuSubContent>Content</ContextMenuSubContent> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuSubContent(props: Readonly<ContextMenuContent.Props>): React.ReactElement; declare namespace ContextMenuSubContent { var displayName: string; } /** * Renders the context menu content. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuContent>Content</ContextMenuContent> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare const ContextMenuContent: React.ForwardRefExoticComponent<Omit<ContextMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>; /** * Renders the context menu item. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuItem>Content</ContextMenuItem> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuItem(props: Readonly<ContextMenuItem.Props>): React.ReactElement; declare namespace ContextMenuItem { var displayName: string; } /** * Renders the context menu checkbox item. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuCheckboxItem>Content</ContextMenuCheckboxItem> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuCheckboxItem(props: Readonly<ContextMenuCheckboxItem.Props>): React.ReactElement; declare namespace ContextMenuCheckboxItem { var displayName: string; } /** * Renders the context menu radio item. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuRadioItem>Content</ContextMenuRadioItem> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuRadioItem(props: Readonly<ContextMenuRadioItem.Props>): React.ReactElement; declare namespace ContextMenuRadioItem { var displayName: string; } /** * Renders the context menu label. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuLabel>Content</ContextMenuLabel> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuLabel(props: Readonly<ContextMenuLabel.Props>): React.ReactElement; declare namespace ContextMenuLabel { var displayName: string; } /** * Renders the context menu separator. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuSeparator>Content</ContextMenuSeparator> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuSeparator(props: Readonly<ContextMenuSeparator.Props>): React.ReactElement; declare namespace ContextMenuSeparator { var displayName: string; } /** * Renders the context menu shortcut. * * @remarks * - Renders a `<span>` element by default * - Built on {@link https://base-ui.com/react/components/context-menu | Base UI Context Menu} * - Supports the `render` prop for element composition * * @example * ```tsx * <ContextMenuShortcut>Content</ContextMenuShortcut> * ``` * * @see {@link https://base-ui.com/react/components/context-menu | Base UI Documentation} */ declare function ContextMenuShortcut(props: Readonly<ContextMenuShortcut.Props>): React.ReactElement; declare namespace ContextMenuShortcut { var displayName: string; } declare namespace ContextMenu { type Props = ContextMenuProps; type State = BaseContextMenu.Root.State; } declare namespace ContextMenuTrigger { type Props = ContextMenuTriggerProps; type State = BaseContextMenu.Trigger.State; } declare namespace ContextMenuSubTrigger { type Props = ContextMenuSubTriggerProps; type State = BaseContextMenu.SubmenuTrigger.State; } declare namespace ContextMenuContent { type Props = ContextMenuContentProps; type State = BaseContextMenu.Popup.State; } declare namespace ContextMenuSubContent { type Props = ContextMenuContentProps; type State = BaseContextMenu.Popup.State; } declare namespace ContextMenuItem { type Props = ContextMenuItemProps; type State = BaseContextMenu.Item.State; } declare namespace ContextMenuCheckboxItem { type Props = ContextMenuCheckboxItemProps; type State = BaseContextMenu.CheckboxItem.State; } declare namespace ContextMenuRadioItem { type Props = ContextMenuRadioItemProps; type State = BaseContextMenu.RadioItem.State; } declare namespace ContextMenuLabel { type Props = ContextMenuLabelProps; type State = BaseContextMenu.GroupLabel.State; } declare namespace ContextMenuSeparator { type Props = ContextMenuSeparatorProps; type State = BaseContextMenu.Separator.State; } declare namespace ContextMenuShortcut { type Props = ContextMenuShortcutProps; type State = Record<string, never>; } export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, }; //# sourceMappingURL=context-menu.d.ts.map