@easy-shadcn/react
Version:
Use shadcn/ui easy&enhance like component library
35 lines (31 loc) • 1.73 kB
TypeScript
import * as React from 'react';
import React__default, { ComponentProps, PropsWithChildren, ReactNode } from 'react';
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
inset?: boolean;
} & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
inset?: boolean;
} & React.RefAttributes<HTMLDivElement>>;
interface GroupMenuItem extends ComponentProps<typeof DropdownMenuGroup> {
groupName?: ReactNode;
key?: string;
groupNameProps?: ComponentProps<typeof DropdownMenuLabel>;
items: NormalMenuItem[];
}
interface NormalMenuItem extends Omit<ComponentProps<typeof DropdownMenuItem>, 'children' | 'prefix'> {
prefix?: ReactNode;
name: ReactNode;
key?: string;
shortcut?: string;
subItems?: MenuItem[];
}
type MenuItem = NormalMenuItem | GroupMenuItem;
interface DropdownMenuProps {
menu: MenuItem[];
contentProps?: ComponentProps<typeof DropdownMenuContent>;
}
declare const DropdownMenu: React__default.FC<PropsWithChildren<DropdownMenuProps>>;
export { DropdownMenu, type DropdownMenuProps };