import type {Layout} from '../lib/layout-parameters'; import {paperColor,textColor,defaultText,textSize,slotPosition,imageShape,decorationKind} from '../lib/native-layout'; import {CurvedCopy} from './NativeCurvedCopy'; /** The catalogue uses the same native type, contours and ornament as the rendered page. */ export function NativePreview({layout}:{layout:Layout}){ return
{['image','decoration','text'].flatMap(kind=>layout.elements.filter(s=>s.kind===kind).map(s=>{ const text=defaultText(layout,s),style={fontSize:textSize(layout,s,text)/layout.width*100+'cqw',color:textColor(layout.id,s)}; return
{kind==='text'?(s.direction==='curved'?:
{text}
):kind==='image'?
:
{decorationKind(s)==='lines'&&Array.from({length:s.box[3]>4?3:1},(_,i)=>)}{decorationKind(s)==='vertical-lines'&&<>}
}
; }))}
; }