{#each annotations as annotation (annotation.id)}
onAnnotationClick?.(annotation.id)} onkeydown={(e) => { if (e.key === 'Enter' || e.key === ' ') onAnnotationClick?.(annotation.id); }} onpointerenter={() => (hoveredId = annotation.id)} onpointerleave={() => (hoveredId = null)} style=" position: absolute; left: {annotation.x * 100}%; top: {annotation.y * 100}%; width: {annotation.width * 100}%; height: {annotation.height * 100}%; background-color: {hexToRgba(annotation.color, hoveredId === annotation.id || annotation.id === activeAnnotationId ? 0.5 : 0.3)}; box-shadow: {annotation.id === activeAnnotationId ? `inset 0 0 0 2px ${hexToRgba(annotation.color, 0.8)}` : hoveredId === annotation.id ? `inset 0 0 0 2px ${hexToRgba(annotation.color, 0.8)}` : 'none'}; opacity: {activeAnnotationId && annotation.id !== activeAnnotationId ? 0.3 : 1}; pointer-events: auto; cursor: pointer; transition: background-color 0.15s ease, box-shadow 0.15s ease, opacity 0.3s ease; " > {#if blockNumbers[annotation.id]}
{blockNumbers[annotation.id]}
{/if}
{/each} {#if drawRect && drawRect.width > 0}
{/if}