import { RefObject } from "react"; import { ButtonProps } from "@components/Button/Button.interface"; import { ClassName, IDropdownPosition } from "@helpers/types"; import { IContainerProps, IDropdownOption, OptionVariants } from "../Dropdown.interface"; export interface IMenuDropdownProps extends ClassName, Omit { dropdownRef: RefObject; triggerButtonRef: RefObject; onSelect: (items: IDropdownOption | IDropdownOption[] | undefined) => void; triggerButtonProps?: Partial; fixToRight?: boolean; } export interface IUserData { avatarUrl?: string; avatarAltText?: string; email: string; firstName: string; lastName?: string; } export interface IMenuTriggerProps { onClick(e: React.MouseEvent): void; triggerButtonProps?: Partial; } export interface IOptionsListProps extends ClassName { options: IDropdownOption[]; optionVariant?: OptionVariants; selectedItems?: IDropdownOption | IDropdownOption[]; onSelect?: (item: IDropdownOption) => void; isMulti?: boolean; } export interface IExtraActionDetails extends Omit { } export interface IExtraActionProps { actionDetails: IDropdownOption; onClick?: (value?: IDropdownOption) => void; } export interface IDropdownProps extends Omit, IOptionsListProps { user?: IUserData; extraActionProps?: IExtraActionProps; position?: IDropdownPosition; dropdownClassName?: string; }