UNPKG

hmpps-open-layers-map

Version:

A native Web Component for displaying maps using OpenLayers.

32 lines (31 loc) 1 kB
export function createMapDOM() { const fragment = document.createDocumentFragment(); const mapDiv = document.createElement('div'); mapDiv.id = 'map'; mapDiv.className = 'app-map__viewport'; fragment.appendChild(mapDiv); const overlay = document.createElement('div'); overlay.className = 'app-map__overlay'; overlay.hidden = true; overlay.innerHTML = ` <div class="app-map__overlay-header"> <button class="app-map__overlay-close" aria-label="Close overlay">&times;</button> </div> <div class="app-map__overlay-body"> <slot name="overlay"></slot> </div> `; fragment.appendChild(overlay); return fragment; } export function createScopedStyle(styles, nonce) { const styleEl = document.createElement('style'); if (nonce) { styleEl.setAttribute('nonce', nonce); } styleEl.textContent = styles; return styleEl; } export function getMapNonce(mapEl) { return mapEl?.getAttribute('csp-nonce') || null; }