/**
* @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, };