import {svg, SVGTemplateResult} from 'lit-html'; export function renderLabels(scale: number): SVGTemplateResult { const labelWidth = 32; const gap = 8; const radius: number = 368 / 2; const labels = [ { label: 'E', x: radius + gap / scale + labelWidth / 2, y: 0, class: 'label', }, { label: 'S', x: 0, y: radius + gap / scale + labelWidth / 2, class: 'label', }, { label: 'W', x: -(radius + gap / scale + labelWidth / 2), y: 0, class: 'label', }, ]; let arrow = svg` `; if (scale < 0.58) { arrow = svg` `; labels.push({ label: 'N', x: 0, y: -(radius + gap / scale + labelWidth / 2), class: 'label', }); } return svg` ${arrow} ${labels.map( (l) => svg` ${l.label} ` )} `; }