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 { DropdownMenuProps } from "@radix-ui/react-dropdown-menu"; //#region src/components/dropdown-menu/types.d.ts /** * Props for the dropdown menu arrow indicator. * The small arrow pointing toward the trigger element. */ type DropdownMenuArrowProps = Omit; /** * Props for the dropdown menu content container. * Wraps the menu items and handles positioning and accessibility. */ type DropdownMenuContentProps = Omit; /** * Props for a dropdown menu item. * Individual menu items that can be clicked to trigger actions. */ type DropdownMenuItemProps = Omit; /** * Props for the dropdown menu label component. * Non-interactive text used to group or label menu items. */ type DropdownMenuLabelProps = Omit; /** * Props for dropdown menu option data structure. * Represents a configurable menu option with label, icon, and action. */ type DropdownMenuOptionProps = Omit; /** * Props for the dropdown menu item indicator. * Visual indicator for selected or checked menu items. */ type DropdownMenuItemIndicatorProps = Omit; /** * Props for the dropdown menu separator. * Visual divider between menu item groups. */ type DropdownMenuSeparatorProps = Omit; /** * Props for the dropdown menu sub-content component. * Container for nested/submenu items. */ type DropdownMenuSubContentProps = Omit; /** * Props for the dropdown menu sub-trigger component. * Trigger element that opens a submenu. */ type DropdownMenuSubTriggerProps = Omit; /** * Props for dropdown menu checkbox item. * Menu item with a checkbox indicator for boolean selections. */ type DropdownMenuCheckboxItemProps = Omit; /** * Props for dropdown menu checkbox group. * Group of checkbox items where multiple items can be selected. */ type DropdownMenuCheckboxGroupProps = Omit; /** * Props for the main Dropdown Menu with checkbox group. * A dropdown menu where items can be checked/unchecked independently. * * @example * ```tsx * * ``` */ interface DropdownMenuCheckboxProps extends Omit, StyledComponentProps { /** * Props to customize the dropdown menu content container. */ contentProps?: Omit; } /** * Props for dropdown menu radio item. * Menu item with a radio button indicator for mutually exclusive selections. */ type DropdownMenuRadioItemProps = Omit; /** * Props for dropdown menu radio group. * Group of radio items where only one item can be selected at a time. */ type DropdownMenuRadioGroupProps = Omit; /** * Props for the main Dropdown Menu with radio group. * A dropdown menu where only one item can be selected at a time. * * @example * ```tsx * * ``` */ interface DropdownMenuRadioProps extends Omit, StyledComponentProps { /** * Props to customize the dropdown menu content container. */ contentProps?: Omit; } /** * Props for the main Dropdown Menu component. * A context menu triggered by an element with customizable items and actions. * * @example * ```tsx * }, * { label: 'Delete', icon: } * ]} * > * * * ``` */ interface DropdownMenuProps$1 extends StyledComponentProps, MenuCommonProps { /** * Child elements of the dropdown menu (typically the trigger). */ children?: ReactNode; /** * Props to customize the dropdown menu content container. */ contentProps?: Omit; /** * Array of menu items to render in the dropdown. * Each item is a data object containing label, icon, action, etc. */ items: DropdownMenuOptionProps['item'][]; } //#endregion export { DropdownMenuArrowProps, DropdownMenuCheckboxGroupProps, DropdownMenuCheckboxItemProps, DropdownMenuCheckboxProps, DropdownMenuContentProps, DropdownMenuItemIndicatorProps, DropdownMenuItemProps, DropdownMenuLabelProps, DropdownMenuOptionProps, DropdownMenuProps$1 as DropdownMenuProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuRadioProps, DropdownMenuSeparatorProps, DropdownMenuSubContentProps, DropdownMenuSubTriggerProps };