import { StyledComponentProps } from "../../types/shared.js"; import { MenuArrowProps, MenuCheckboxGroupProps, MenuCheckboxItemProps, MenuCommonProps, MenuContentProps, MenuItemIndicatorProps, MenuItemProps, MenuLabelProps, MenuOptionProps, MenuRadioGroupProps, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentProps, MenuSubTriggerProps } from "../menu/types.js"; import { ReactNode } from "react"; import { ContextMenuProps } from "@radix-ui/react-context-menu"; //#region src/components/context-menu/types.d.ts /** * Props for the context menu arrow component. * Displays a small arrow pointing to the trigger element. */ type ContextMenuArrowProps = Omit; /** * Props for the context menu content component. * The container that holds menu items and appears on right-click. */ type ContextMenuContentProps = Omit; /** * Props for individual context menu item component. * A selectable item in the context menu. */ type ContextMenuItemProps = Omit; /** * Props for context menu label component. * Non-interactive label for grouping menu items. */ type ContextMenuLabelProps = Omit; /** * Props for context menu option component. * Base type for different option types (item, group, etc). */ type ContextMenuOptionProps = Omit; /** * Props for context menu item indicator component. * Visual indicator for checked or selected menu items. */ type ContextMenuItemIndicatorProps = Omit; /** * Props for context menu separator component. * Visual divider between menu items or groups. */ type ContextMenuSeparatorProps = Omit; /** * Props for context menu submenu content component. * Container for nested submenu items. */ type ContextMenuSubContentProps = Omit; /** * Props for context menu submenu trigger component. * Clickable item that opens a submenu. */ type ContextMenuSubTriggerProps = Omit; /** * Props for context menu checkbox item component. * Menu item with checkbox functionality. */ type ContextMenuCheckboxItemProps = Omit; /** * Props for context menu checkbox group component. * Group of related checkbox items with mutual exclusivity control. */ type ContextMenuCheckboxGroupProps = Omit; /** * Props for context menu with checkbox items. * Full context menu component supporting checkbox group functionality. * * @example * ```tsx * * ``` */ interface ContextMenuCheckboxProps extends Omit, StyledComponentProps { /** * Props to pass to the content component. */ contentProps?: Omit; } /** * Props for context menu radio item component. * Menu item with radio button functionality. */ type ContextMenuRadioItemProps = Omit; /** * Props for context menu radio group component. * Group of related radio items with mutual exclusivity (only one selectable). */ type ContextMenuRadioGroupProps = Omit; /** * Props for context menu with radio items. * Full context menu component supporting radio group functionality. * * @example * ```tsx * * ``` */ interface ContextMenuRadioProps extends Omit, StyledComponentProps { /** * Props to pass to the content component. */ contentProps?: Omit; } /** * Props for the main ContextMenu component. * A right-click context menu with support for nested items and groups. * * @example * ```tsx * cut() }, * { type: 'item', label: 'Copy', onSelect: () => copy() }, * { type: 'separator' }, * { type: 'item', label: 'Paste', onSelect: () => paste() } * ]} * > *
Right-click me
*
* ``` */ interface ContextMenuProps$1 extends StyledComponentProps, MenuCommonProps { /** * Element that triggers the context menu on right-click. */ children?: ReactNode; /** * Props to pass to the content component. */ contentProps?: Omit; /** * Array of context menu items, groups, or separators. */ items: ContextMenuOptionProps['item'][]; } //#endregion export { ContextMenuArrowProps, ContextMenuCheckboxGroupProps, ContextMenuCheckboxItemProps, ContextMenuCheckboxProps, ContextMenuContentProps, ContextMenuItemIndicatorProps, ContextMenuItemProps, ContextMenuLabelProps, ContextMenuOptionProps, ContextMenuProps$1 as ContextMenuProps, ContextMenuRadioGroupProps, ContextMenuRadioItemProps, ContextMenuRadioProps, ContextMenuSeparatorProps, ContextMenuSubContentProps, ContextMenuSubTriggerProps };