{# Bullet chart region — v0.61.30 (#880). Stephen Few bullet rows — one row per item. Each row carries: - label (left text) - actual (foreground bar) - target (vertical tick at target/max position) - reference_bands (#883) drawn behind as comparative qualitative zones (red/amber/green or any colour token). Pre-computed MVP: rows come straight off `items` via the `bullet_label` / `bullet_actual` / `bullet_target` column refs in the IR. Per-group_by aggregation is deferred (would need multi-measure support in `_compute_bucketed_aggregates`). Card safety: region emits zero chrome + zero title. The dashboard slot owns both via region_card. v0.62 CSS refactor: inline Tailwind → semantic .dz-bullet-* classes (components/regions.css). Per-band colour stays inline (per-element shape colour driven by reference_bands data). #} {% from 'macros/region_wrapper.html' import region_card %} {% call region_card(title) %}
{{ bullet_rows | length }} rows · scale 0–{{ bullet_max_value | round(1) }}
{% else %}{{ empty_message | default("No data available.") }}
{% endif %}