@sikka/hawa
Version:
Modern UI Kit made with Tailwind
111 lines (108 loc) • 5.91 kB
TypeScript
import * as React from 'react';
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
import { R as RadioOptionType, D as DirectionType } from '../commonTypes-TGqbHlp_.js';
export { Portal as DropdownMenuPortal } from '@headlessui/react';
declare const DropdownMenuRoot: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
inset?: boolean;
} & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & 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;
end?: any;
shortcut?: React.ReactNode;
badged?: boolean;
slug?: string;
LinkComponent?: any;
} & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
inset?: boolean;
} & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DropdownMenuShortcut: {
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
displayName: string;
};
type ExtendedDropdownMenuContentProps = Partial<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>> & {};
type ExtendedDropdownMenuTriggerProps = Partial<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger>> & {};
type SubItem = {
label?: string;
value?: any;
icon?: any;
action?: () => void;
onMiddleClick?: (e: any) => void;
highlighted?: boolean;
disabled?: boolean;
slug?: string;
};
type MenuItemType = {
icon?: React.ReactNode;
label?: string;
shortcut?: React.ReactNode;
badged?: boolean;
value?: any;
content?: any;
slug?: string;
end?: any;
presist?: boolean;
itemType?: "separator" | "label" | "custom" | "radio";
action?: () => void;
highlighted?: boolean;
subitems?: SubItem[];
options?: RadioOptionType[];
currentOption?: string;
onOptionChange?: (value: string) => void;
disabled?: boolean;
onMiddleClick?: (e: any) => void;
onClick?: any;
};
interface DropdownMenuProps {
trigger?: any;
items: MenuItemType[];
direction?: DirectionType;
classNames?: {
trigger?: string;
content?: string;
item?: string;
separator?: string;
};
className?: ExtendedDropdownMenuContentProps["className"];
triggerClassname?: ExtendedDropdownMenuTriggerProps["className"];
triggerProps?: DropdownMenuPrimitive.DropdownMenuTriggerProps;
sideOffset?: ExtendedDropdownMenuContentProps["sideOffset"];
side?: ExtendedDropdownMenuContentProps["side"];
align?: ExtendedDropdownMenuContentProps["align"];
alignOffset?: ExtendedDropdownMenuContentProps["alignOffset"];
contentProps?: ExtendedDropdownMenuContentProps;
width?: "default" | "sm" | "lg" | "parent";
size?: "default" | "sm";
onItemSelect?: any;
onOpenChange?: any;
header?: React.ReactNode;
open?: any;
LinkComponent?: any;
}
declare const DropdownMenu: React.FC<DropdownMenuProps>;
interface DropdownMenuRadioOptionType extends RadioOptionType {
props?: Omit<DropdownMenuPrimitive.DropdownMenuItemProps, "value" | "label">;
}
interface DropdownMenuRadioProps {
trigger?: React.ReactNode;
side?: ExtendedDropdownMenuContentProps["side"];
align?: ExtendedDropdownMenuContentProps["align"];
options: DropdownMenuRadioOptionType[];
value: string;
onValueChange: any;
label?: string;
contentProps?: ExtendedDropdownMenuContentProps;
radioGroupProps?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioGroup>;
}
declare const DropdownMenuRadio: React.FC<DropdownMenuRadioProps>;
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type MenuItemType, type SubItem };