setIndicator(true)}
@pointerleave=${() => setIndicator(false)}
@pointermove=${(e: PointerEvent) => setIndicatorX(e.clientX - timeline.getBoundingClientRect().left + timeline.scrollLeft)}
@pointerdown=${(e: PointerEvent) => setIndicatorX(e.clientX - timeline.getBoundingClientRect().left + timeline.scrollLeft)}
@pointerup=${(e: MouseEvent) => translate_to_timecode_and_set(e.clientX - timeline.getBoundingClientRect().left + timeline.scrollLeft)}
class=time-ruler
>
${timeCodes.map(({time, offset, kind}, i) => html`
${kind === "normal" ? time : null}
`)}
`
})