@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
TypeScript
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