GeoLeaf Core API - v3.0.0
    Preparing search index...
    • Builds the popup content element for a set of resolved fields.

      <div class="gl-poi-popup">
      [<img class="gl-poi-popup__hero">] ← hero, outside the body
      <div class="gl-poi-popup__body">
      <div class="gl-poi-popup__badges">…</div> ← consecutive badges grouped
      [field nodes from the shared widget dispatch]
      <a class="gl-poi-popup__link">…</a> ← last, only when hasSidepanel
      </div>
      </div>

      Only two widgets get special treatment, and both for LAYOUT reasons rather than rendering ones: a hero image closes the current body and attaches to the root, and consecutive badges are buffered into one row instead of being interleaved with the text around them.

      Parameters

      • fields: readonly RenderField[]

        Render descriptors, in display order.

      • rawProperties: Record<string, unknown>

        The feature's properties as they came from the source.

      • ctx: RenderContext

        Render context — layer and feature identity, plus the click position.

      • opts: { hasSidepanel: boolean }

        hasSidepanel tells the builder whether a "see details" affordance has anywhere to lead; without one, it is not rendered at all.

      Returns HTMLElement

      The popup root element, ready to mount. Text is escaped at the sinks.