/** * ThumbnailCard * * One card in the visual component sidebar grid: a live preview above a * centered, human-readable name. * * To keep opening a category feeling instant, the expensive live is * NOT mounted on the first commit unless a preview is already cached. * Otherwise, a lightweight skeleton paints immediately and the real preview * is scheduled on idle time, then swapped in. The preview is wrapped in an * error boundary so a single misbehaving component degrades to a placeholder * rather than taking down the drawer. * * Seeding `ready` from the cache matters beyond the first paint: Puck's own * / primitives remount on unrelated editor state changes * (e.g. typing in any field), which remounts every ThumbnailCard too. Without * the cache check, `ready` would reset to false on every one of those * remounts, flashing the skeleton back in even for previews already rendered. */ import React from 'react'; type RenderConfig = any; /** Default preview-card height in pixels, shared across LiveThumbnail, ThumbnailCard, and the drawer. */ export declare const DEFAULT_THUMBNAIL_HEIGHT = 96; export interface ThumbnailCardProps { config: RenderConfig; name: string; /** Preferred display name; falls back to a humanized component key. */ label?: string; scale?: number; /** Fixed height of the preview area, in pixels. */ height?: number; } declare function ThumbnailCardImpl({ config, name, label, scale, height }: ThumbnailCardProps): React.JSX.Element; /** Memoized so a category re-expand keeps already-rendered cards mounted. */ export declare const ThumbnailCard: React.MemoExoticComponent; export {};