{# List region — UX-035 adopter #2 (after grid). Contract: ~/.claude/skills/ux-architect/components/list-region.md (UX-069) v0.62 CSS refactor: inline Tailwind → semantic .dz-list-* classes (components/regions.css). Hover state on .is-clickable modifier; attention accent still flows through unchanged attention_classes macro. Action buttons + CSV export use semantic class names. #} {% from 'macros/status_badge.html' import render_status_badge %} {% from 'macros/region_wrapper.html' import region_card %} {% from 'macros/attention_accent.html' import attention_classes %} {% from 'macros/ref_cell.html' import ref_cell %} {% call region_card(None) %}
| {% if col.sortable %} {{ col.label }} {% if sort_field == col.key %}{{ "▼" if sort_dir == "desc" else "▲" }}{% endif %} {% else %} {{ col.label }} {% endif %} | {% endfor %}
|---|
| {% if col.type == "badge" %} {{ render_status_badge(value=item[col.key]) }} {% elif col.type == "bool" %} {{ item[col.key] | bool_icon }} {% elif col.type == "date" %} {{ item[col.key] | timeago }} {% elif col.type == "currency" %} {{ item[col.key] | currency }} {% elif col.type == "ref" %} {{ ref_cell(item[col.key], item.get(col.key ~ "_display", ""), col.ref_route or "", 'htmx_drawer') }} {% else %} {{ item[col.key] | default("") | truncate_text }} {% endif %} | {% endfor %}
Showing {{ items | length }} of {{ total }}
{% endif %} {% else %} {% include "fragments/empty_state.html" %} {% endif %}