import type { GeoJsonGeometry } from "@trackunit/geo-json-utils"; import type { MapTheme } from "../../core/types"; type ShapeAnnotationLabelProps = Readonly<{ geometry: GeoJsonGeometry | null; color: string; label: string; theme: MapTheme; /** True when the underlying shape is hovered on the map — darkens the pill to match edge-label hover style. */ isHovered?: boolean; /** True when the underlying shape is selected on the map — darkens the pill more to match edge-label selected style. */ isSelected?: boolean; onClick?: () => void; onMouseEnter?: () => void; onMouseLeave?: () => void; }>; /** * Annotation-mode shape label shown in the `AnnotationStack` when * the viewport is fully inside a shape and no edge is visible. * * Composes `ShapeLabelPill` with a `ShapeIcon` preview on the left * to preserve the site's visual identity (color + geometry type icon) * in the annotation chrome bar. When `onClick` is provided, a wrapping * `