/** * [WHO]: Public exports from this file (see implementation below). * [FROM]: See the import block immediately after this header. * [TO]: sparkdesign package consumers; output of CLI `add` when applicable. * [HERE]: registry/basic/dropdown-menu.tsx — Spark Design source; keep aligned with the main library. * * [PROTOCOL]: * 1. Keep this P3 header in sync when the public contract changes. * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change. * 3. Follow design tokens and explicit type exports. */ import * as React from 'react'; import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; import { type VariantProps } from 'class-variance-authority'; declare const DropdownMenu: React.FC; declare const DropdownMenuTrigger: React.ForwardRefExoticComponent>; declare const DropdownMenuGroup: React.ForwardRefExoticComponent>; declare const DropdownMenuPortal: React.FC; declare const DropdownMenuSub: React.FC; declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent>; export interface DropdownMenuContentProps extends React.ComponentPropsWithoutRef { /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */ dataStyle?: string; dataTheme?: string; } declare const DropdownMenuContent: React.ForwardRefExoticComponent>; declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ inset?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string> & { subTriggerIcon?: React.ReactNode; } & React.RefAttributes>; export interface DropdownMenuSubContentProps extends React.ComponentPropsWithoutRef { /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */ dataStyle?: string; dataTheme?: string; } declare const DropdownMenuSubContent: React.ForwardRefExoticComponent>; declare const DropdownMenuItem: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ variant?: "default" | "destructive" | null | undefined; inset?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes>; declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent, "ref"> & { checkIcon?: React.ReactNode; } & React.RefAttributes>; declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const DropdownMenuLabel: React.ForwardRefExoticComponent, "ref"> & VariantProps<(props?: ({ inset?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes>; declare const DropdownMenuSeparator: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const DropdownMenuShortcut: { ({ className, ...props }: React.HTMLAttributes): import("react/jsx-runtime").JSX.Element; displayName: string; }; export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };