import { CSSProperties, VNode } from "vue"; import { AriaAttributes } from "../AriaAttributes"; import { VueJsxNode } from "../interface"; export type TagColor = 'amber' | 'blue' | 'cyan' | 'green' | 'grey' | 'indigo' | 'light-blue' | 'light-green' | 'lime' | 'orange' | 'pink' | 'purple' | 'red' | 'teal' | 'violet' | 'yellow' | 'white'; export type TagType = 'ghost' | 'solid' | 'light'; export type TagSize = 'default' | 'small' | 'large'; export type AvatarShape = 'circle' | 'square'; export type TagShape = 'circle' | 'square'; export interface TagProps { tagKey?: string | number; size?: TagSize; color?: TagColor; type?: TagType; closable?: boolean; visible?: boolean; onClose?: (tagChildren: VueJsxNode, event: MouseEvent, tagKey: string | number) => void; onClick?: (e: Event) => void; prefixIcon?: VNode; suffixIcon?: VNode; style?: CSSProperties; className?: string; avatarSrc?: string; avatarShape?: AvatarShape; shape?: TagShape; onKeydown?: (e: Event) => void; 'aria-label'?: AriaAttributes['aria-label']; tabIndex?: number; onMouseenter?: () => void | (() => void)[]; } export interface TagGroupProps { style?: CSSProperties; className?: string; maxTagCount?: number; tagList?: (TagProps | VNode)[]; size?: 'small' | 'large'; showPopover?: boolean; popoverProps?: any; avatarShape?: AvatarShape; mode?: string; }