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'&&<>>}
}
;
}))}
;
}