import type { ReactNode } from 'react'; export type Surface = 'browser' | 'desktop' | 'mobile' | 'popover' | 'panel'; /** * Chrome frame for UI mockups. Compose the screen body from bare flex/grid * elements and the `.wf-*` helper classes + — never hard-code colors * or fonts inside. Use `mobile` only for genuinely phone-specific work. */ export function Wireframe({ surface = 'browser', title, url, caption, children, }: { surface?: Surface; title?: string; url?: string; caption?: string; children: ReactNode; }) { const maxWidth = surface === 'mobile' ? 360 : surface === 'popover' ? 320 : undefined; return (
{surface === 'browser' && (
{['#ef4444', '#f59e0b', '#22c55e'].map((c) => )} {url ?? 'app.example.com'}
)} {(surface === 'desktop' || surface === 'panel') && title && (
{title}
)} {surface === 'mobile' && (
)}
{children}
{caption &&
{caption}
}
); }