/**
* @fileoverview Saasflare Skeleton — loading placeholder with shimmer effect.
* @module packages/ui/components/ui/skeleton
* @package ui
*
* Self-contained implementation. Shimmer keyframes defined in theme.css.
* When reduced motion is preferred, shows a static gradient instead of shimmer.
*
* Radius via the optional `as` prop maps to the design-system scale so the
* placeholder matches the component it stands in for. Without `as`, the
* legacy `rounded-md` class is preserved (non-breaking).
*
* @example
* import { Skeleton } from "@saasflare/ui";
*
*
*
*/
import * as React from "react";
import { type SaasflareComponentProps } from "../../providers";
/** Component the skeleton imitates — drives radius from the design tokens. */
type SkeletonAs = "avatar" | "text" | "card";
/**
* Props for {@link Skeleton}.
*
* Extends the native div props with {@link SaasflareComponentProps}; the
* optional `as` prop snaps the placeholder's radius to the design-token scale
* of the component it stands in for.
*/
interface SkeletonProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
/**
* Component shape to imitate. When set, radius follows the design-system
* scale (and at `data-radius="pill"`, all variants collapse to fully rounded
* automatically — see theme.css).
*
* - `avatar` → fully rounded
* - `text` → `--radius-sm`
* - `card` → `--radius-lg`
*
* Omit for legacy behavior (`rounded-md` Tailwind class).
*/
as?: SkeletonAs;
}
/**
* Skeleton loading placeholder with animated shimmer gradient.
*
* @component
* @package ui
*/
declare function Skeleton({ as, className, style, surface, radius, animated, iconWeight, ...props }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
export { Skeleton, type SkeletonProps };