GeoLeaf Core API - v3.0.0
    Preparing search index...
    • Builds the side-panel body for a feature.

      For each field in order: resolve its value, skip it when empty EXCEPT for the two required kinds (a title field and a badge), render it through the shared widget dispatch, and wrap it in a collapsible section when the declaration asks for one.

      Gallery events are wired against the shared lightbox singleton afterwards, and accordions get exclusive-open behaviour — opening one collapses the others.

      ⚠️ A field with no declared widget used to be dropped BEFORE the dispatch, which is what made "all" render an empty panel: the implicit fallback emitted descriptors carrying a path and nothing else, and every one of them was skipped here. The guard is gone with "all" itself — an undeclared widget now defaults to text, exactly as it always did on the popup, so the two surfaces agree.

      Parameters

      • fields: readonly RenderField[]

        Ordered field configurations, the resolved side-panel layout.

      • rawProperties: Record<string, unknown>

        Raw feature property bag.

      • ctx: RenderContext

        Per-surface render context.

      Returns HTMLElement

      The populated gl-poi-sidepanel__body element.