import type { CSSProperties, VNodeChild } from "vue"; import type { XySemanticClassNames, XySemanticStyles } from "../core"; export type XyEmptyImagePreset = "default" | "calendar" | "error" | "favorite" | "folder" | "message" | "permission" | "search" | "simple" | "task" | "team" | false; export type XyEmptySize = "lg" | "md" | "sm"; export interface XyEmptyProps { bordered?: boolean; classNames?: XyEmptyClassNames; description?: string; image?: XyEmptyImagePreset; imageStyle?: CSSProperties; size?: XyEmptySize; styles?: XyEmptyStyles; title?: string; } export type XyEmptySemanticDom = "action" | "content" | "description" | "image" | "root" | "title"; export interface XyEmptySemanticProps { bordered: boolean; hasAction: boolean; hasDescription: boolean; hasImage: boolean; hasTitle: boolean; image: XyEmptyImagePreset; size: XyEmptySize; } export type XyEmptyClassNames = XySemanticClassNames; export type XyEmptyStyles = XySemanticStyles; export interface XyEmptySlots { action?: () => VNodeChild; default?: () => VNodeChild; description?: () => VNodeChild; image?: () => VNodeChild; title?: () => VNodeChild; }