{# Form chrome — HTMX form submission, Alpine dzWizard for multi-step #} {# Contract: ~/.claude/skills/ux-architect/components/form-chrome.md (UX-016) #} {% from 'macros/form_field.html' import render_field %} {% if form %}
{# Header #} {% block form_header %}

{{ form.title }}

{% endblock form_header %} {# Stepper indicator for multi-section forms (UX-018 form-wizard) #} {% if form.sections %} {% include 'fragments/form_stepper.html' %} {% endif %} {# Form #}
{# Form errors area (swapped by HTMX on validation failure) #}
{% include 'fragments/form_errors.html' %}
{# Fields — sectioned (wizard) or flat (delegated to UX-017 form-field) #} {% block form_fields %} {% if form.sections %} {% for section in form.sections %}

{{ section.title }}

{% for field in section.fields %} {{ render_field(field, form.initial_values) }} {% endfor %}
{% endfor %} {% else %} {% for field in form.fields %} {{ render_field(field, form.initial_values) }} {% endfor %} {% endif %} {% endblock form_fields %} {# Actions — wizard nav or standard submit #} {% block form_actions %} {% if form.sections %}
Cancel
{% else %}
Cancel
{% endif %} {% endblock form_actions %}
{% endif %}