{#snippet textStyleActions()} {/snippet}
{ if (value) onchange({ textTransform: value as ThemeV2TextTransform }); }} > {transformOptions.find((option) => option.value === (element.textTransform ?? 'none')) ?.label ?? 'None'} {#each transformOptions as option (option.value)} {/each}
setFillMode(value as ThemeV2TextStyle['fillMode'])} > {element.fillMode === 'gradient' ? 'Gradient' : 'Solid'}
{#if gradient}
{element.gradientFrom ?? '#ff006e'}
onchange({ gradientFrom: inputValue(event) })} /> onchange({ gradientFrom: inputValue(event) })} />
{element.gradientTo ?? '#7c3aed'}
onchange({ gradientTo: inputValue(event) })} /> onchange({ gradientTo: inputValue(event) })} />
onchange({ gradientAngle: Math.min(360, Math.max(0, Number(inputValue(event)) || 0)), })} />
{:else}
{element.color ?? '#ffffff'}
onchange({ color: inputValue(event) })} /> onchange({ color: inputValue(event) })} />
{/if}
onchange({ outlineWidth: Math.min(20, Math.max(0, Number(inputValue(event)) || 0)) })} /> onchange({ outlineColor: inputValue(event) })} /> onchange({ outlineColor: inputValue(event) })} />
onchange({ shadowBlur: Math.min(40, Math.max(0, Number(inputValue(event)) || 0)) })} /> onchange({ shadowOffsetX: Math.min(40, Math.max(-40, Number(inputValue(event)) || 0)), })} /> onchange({ shadowOffsetY: Math.min(40, Math.max(-40, Number(inputValue(event)) || 0)), })} />
onchange({ shadowColor: inputValue(event) })} /> onchange({ shadowColor: inputValue(event) })} />