{
lyricClick(index);
}}
on:touchend={() => {
clickMask.style.backgroundColor = 'transparent';
}}
on:touchstart={() => {
clickMask.style.backgroundColor = 'rgba(255,255,255,.3)';
}}
style="transform: translate3d({positionX}px, {positionY}px, 0);
transform-origin: center left; font-family: LyricFont, sans-serif; filter: blur({blur}px)"
>
{#if debugMode}
{index}: duration: {(line.end - line.start).toFixed(3)}, {line.start.toFixed(3)}~{line.end.toFixed(3)}
{/if}
{#if line.words !== undefined && line.words.length > 0}
{#each processedChars as char (char.charProgress)}
{@const isHighlighted = line.start <= progress && progress <= line.end && progress > char.charProgress}
{@const useCustomTransition = char.transitionDur !== null && isActiveLine}
{char.chr}
{/each}
{:else}
{line.text}
{/if}
{#if line.translation}
{line.translation}
{/if}