{#if as === 'button'} {:else if as === 'icon-button'} {:else if as === 'counter'}
{props.value} шт.
{:else if as === 'toggle-group'}
{#if props.label}{/if}
{#each props.options as opt} {@const val = props.valueKey ? opt[props.valueKey] : opt} {@const lbl = props.labelKey ? opt[props.labelKey] : opt} {/each}
{:else if as === 'file-card'} {@const file = props.file}
props.onToggle?.(file.id)}> {file.expanded ? '▼' : '►'} {file.file.name} e.stopPropagation()}> {#if file.previewUrl} props.onPreview?.(file)} title="Предпросмотр">🔍 {/if} props.onRemove?.(file.id)} title="Удалить">✕
{#if file.expanded}
props.onPageSelect?.(file)} /> (formatOpen = !formatOpen)} />
props.onUpdate?.(file.id, { sides: v })} /> c.id === file.colorMode))]} onchange={(v, i) => props.onUpdate?.(file.id, { colorMode: COLOR_MODES[i]?.id })} />
props.onUpdate?.(file.id, { qualityIndex: QUALITY_LABELS.indexOf(v) })} /> props.onUpdate?.(file.id, { dpi: v })} />
props.onUpdate?.(file.id, { copies: file.copies + 1 })} onDecrement={() => props.onUpdate?.(file.id, { copies: Math.max(1, file.copies - 1) })} />
props.onUpdate?.(file.id, { format: v })} /> {/if}
{:else if as === 'upload-zone'}

Загрузите файлы для печати

Загрузить файл(ы)
{:else if as === 'footer'} {/if}