import { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types.js'; import { ReactNode } from 'react'; import { IconContent } from '../types/icon.types.js'; export type EmptyStateSlots = 'root' | 'icon' | 'text'; /** Text EmptyState renders of its own, for translating it. */ export interface EmptyStateLabels { /** Shown when no `children` are given. */ empty?: string; } export interface EmptyStateProps extends HtmlProps { className?: string; icon?: IconContent; children?: ReactNode; /** Overrides the text EmptyState renders of its own. Merged per key. */ labels?: EmptyStateLabels; /** Classes for the inner elements. See `EmptyStateSlots`. */ classNames?: SlotClassNames; /** Inline styles for the inner elements. See `EmptyStateSlots`. */ styles?: SlotStyles; }