import { Placement } from '@floating-ui/vue'; import { HTMLAttributes } from 'vue'; import { BadgeVariant } from '../Badge'; import { ButtonProps } from '../Button'; export type DropdownClassesKey = "container" | "dropdownBtn" | "menuContainer" | "itemContainer" | "item" | "labelIcon" | "activeItem" | "disabledItem" | "helperText" | "itemIcon" | "itemBadge"; export type DropdownOption = { name: string; value: string; description?: string; href?: string; disabled?: boolean; icon?: string; badge?: string; badgeType?: BadgeVariant; }; export interface DropdownProps extends /* @vue-ignore */ HTMLAttributes { label?: string; labelIcon?: string; rounded?: boolean; open?: boolean; id?: string; items?: DropdownOption[]; classes?: Partial>; buttonProps?: ButtonProps; modelValue?: string; error?: boolean; success?: boolean; disabled?: boolean; helperText?: string; iconPlacement?: "left" | "right"; badgeType?: "pill" | "default"; placement?: Placement; /** * use to adjust the placement of the dropdown from the edge * @defaultValue 5 */ placementShift?: number; }