import { html, type TemplateResult } from '@design.estate/dees-element'; /** * Icon definitions for the geo-map component * All icons are SVG templates using Lucide-style design */ export const GEO_MAP_ICONS: Record = { // Drawing tools point: html``, line: html``, polygon: html``, rectangle: html``, circle: html``, freehand: html``, // Edit tools select: html``, trash: html``, // Zoom controls plus: html``, minus: html``, // Search search: html``, spinner: html``, close: html``, // Navigation navigation: html``, car: html``, walk: html``, bike: html``, mapPin: html``, route: html``, clock: html``, ruler: html``, error: html``, // Arrows arrowLeft: html``, // Traffic traffic: html``, trafficLight: html``, congestion: html``, // Guidance / Simulation volume: html``, volumeOff: html``, play: html``, pause: html``, stop: html``, gpsPosition: html``, speed: html``, simulate: html``, }; /** * Render an icon by name * @param name - The icon name from GEO_MAP_ICONS * @returns The icon SVG template, or empty template if not found */ export const renderIcon = (name: string): TemplateResult => { return GEO_MAP_ICONS[name] || html``; };