/** * @fileoverview Empty primitive — placeholder UI for empty states with icon, title, * description, and action slots. Renders a dashed-border container centered in its * parent. Part of the Saasflare base component layer. * @module packages/ui/components/ui/empty * @layer core * * @component * @example * import { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent } from '@saasflare/ui'; * * * No items found * Try adjusting your filters. * * Create one * */ import { type VariantProps } from "class-variance-authority"; import { type SaasflareComponentProps } from "../../providers"; /** * Props for {@link Empty}. * * Extends {@link SaasflareComponentProps} so `surface`, `radius`, `animated`, * and `iconWeight` can be supplied per-instance or inherited from * . */ interface EmptyProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * Empty-state placeholder — a dashed-border container centered in its parent. * Use when a list, table, or search has nothing to show; compose with * {@link EmptyHeader}, {@link EmptyTitle}, {@link EmptyDescription}, and * {@link EmptyContent}. * * @component * @layer core * * @example * * * No items found * Try adjusting your filters. * * Create one * */ declare function Empty({ className, surface, radius, animated, iconWeight, ...props }: EmptyProps): import("react/jsx-runtime").JSX.Element; /** * Groups the media, title, and description at the top of an {@link Empty}. * * @component * @layer core */ declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; declare const emptyMediaVariants: (props?: ({ variant?: "icon" | "default" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** * Icon or illustration slot above the title. `variant="icon"` wraps the icon * in a muted rounded tile. * * @component * @layer core */ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps): import("react/jsx-runtime").JSX.Element; /** * Empty-state title text. * * @component * @layer core */ declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Empty-state supporting text; nested links are underlined automatically. * * @component * @layer core */ declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element; /** * Action area of an {@link Empty} — holds buttons or links below the header. * * @component * @layer core */ declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, type EmptyProps, };