/** * Presets de layout para `val-skeleton-layout`. * * Cada preset compone átomos `val-skeleton` en la forma de una shape de página * común. Para agregar uno nuevo: añadir el valor acá + un `@case` en el * template del componente. Cero cambios en los consumers. */ export type SkeletonLayoutPreset = 'form' | 'list' | 'article' | 'cards' | 'detail' | 'hero'; /** * Configuración del componente `val-skeleton-layout`. * * @example Form con avatar (perfil): * ```html * * ``` * * @example Lista (notificaciones, sesiones): * ```html * * ``` * * @example Artículo legal: * ```html * * ``` */ export interface SkeletonLayoutMetadata { /** Shape de la página a esqueletizar. */ preset: SkeletonLayoutPreset; /** * Cantidad de items repetibles (fields en `form`, filas en `list`/`detail`, * párrafos en `article`, cards en `cards`). Si se omite usa el default del * preset. */ rows?: number; /** `form` — antepone un bloque avatar + meta lines. Default `false`. */ showAvatar?: boolean; /** `form` — renderiza un bloque de botón al final. Default `true`. */ showButton?: boolean; /** `cards` — columnas por fila. Default `2`. */ columns?: number; /** `article` / `hero` — incluye bloque de título grande. Default `true`. */ showTitle?: boolean; /** Desactiva el shimmer. Default animado. */ animated?: boolean; /** Clase CSS extra para el contenedor. */ cssClass?: string; } /** Defaults de `rows` por preset cuando el consumer no lo especifica. */ export declare const SKELETON_LAYOUT_DEFAULT_ROWS: Record;