{% import "macros/icons.html" as icons %} {% macro form_field_label(field) %} {% endmacro %} {% macro form_field_errors(field) %} {% if field.errors %} {% for error in field.errors %}
{{ error | e }}
{% endfor %} {% endif %} {% endmacro %} {% macro form_field_description(field) %} {% if field.description %}
{{ field.description }}
{% endif %} {% endmacro %} {% macro form_standard_field(field) %} {{ form_field_label(field) }} {{ field(class="form-input w-full", **kwargs) }} {% endmacro %} {% macro form_checkbox_field(field) %} {% endmacro %} {% macro form_select_field(field) %} {{ form_field_label(field) }} {{ field(class="form-select w-full", **kwargs) }} {% endmacro %} {% macro form_select_multiple_checkbox_field(field) %} {{ form_field_label(field) }} {% for item in field %}
{{ item(class="form-checkbox", **kwargs) }} {{ item.label }}
{% endfor %} {% endmacro %} {% macro form_combobox_select_field(field) %} {{ form_field_label(field) }} {{ field(id=field.id ~ "hidden") }}
{% if not field.flags.required %} {% endif %}
{% endmacro %} {% macro form_combobox_select_multiple_field_item(value, label) %}
  • {% endmacro %} {% macro form_combobox_select_multiple_field(field) %} {{ form_field_label(field) }} {{ field(id=field.id ~ "hidden", class="hidden") }}
    {% endmacro %} {% macro form_combobox_select_field_results(results, value_attr, label_attr, no_result_label) %} {% endmacro %} {% macro form_address_field(field) %}
    {{ form_field_label(field) }} {{ form_field(field.line1) }} {{ form_field(field.line2) }}
    {{ form_field(field.postal_code) }} {{ form_field(field.city) }}
    {{ form_field(field.state) }} {{ form_select_field(field.country) }}
    {% endmacro %} {% macro form_field_list_item(item) %}
    {% if item is iterable %} {% for sub_field in item %}
    {{ sub_field(class="form-input w-full", **kwargs) }} {{ form_field_errors(sub_field) }}
    {% endfor %} {% else %}
    {{ item(class="form-input w-full", **kwargs) }} {{ form_field_errors(item) }}
    {% endif %}
    {% endmacro %} {% macro form_field_list(field) %} {{ form_field_label(field) }} {% for item in field %} {{ form_field_list_item(item, **kwargs) }} {% endfor %} {% endmacro %} {% macro password_validator(field) %}
    {% if field.flags.password_strength_score != None %} {% set score = field.flags.password_strength_score %} {% set width = [15, 100 / 4 * score] | max %}
    {% if score <= 2 %}
    {{ _("Weak") }}
    {% elif score == 3 %}
    {{ _("Acceptable") }}
    {% elif score == 4 %}
    {{ _("Good") }}
    {% endif %}
    {% endif %}
    {% endmacro %} {% macro form_field(field, class) %}
    {% if field.type == "BooleanField" %} {{ form_checkbox_field(field, **kwargs) }} {{ form_field_errors(field) }} {% elif field.type == "PasswordField" %} {{ form_standard_field(field, **kwargs) }} {% if field.flags.password_validator %} {{ password_validator(field) }} {% endif %} {{ form_field_errors(field) }} {% elif field.type == "SelectField" %} {{ form_select_field(field, **kwargs) }} {{ form_field_errors(field) }} {% elif field.type == "SelectMultipleFieldCheckbox" %} {{ form_select_multiple_checkbox_field(field, **kwargs) }} {{ form_field_errors(field) }} {% elif field.type == "ComboboxSelectField" %} {{ form_combobox_select_field(field, **kwargs) }} {{ form_field_errors(field) }} {% elif field.type == "ComboboxSelectMultipleField" %} {{ form_combobox_select_multiple_field(field, **kwargs) }} {{ form_field_errors(field) }} {% elif field.type == "AddressFormField" %} {{ form_address_field(field, **kwargs) }} {% elif field.type == "FieldList" %} {{ form_field_list(field, **kwargs) }} {% else %} {{ form_standard_field(field, **kwargs) }} {{ form_field_errors(field) }} {% endif %} {{ form_field_description(field) }}
    {% endmacro %} {% macro form_csrf_token(form) %} {% if form.csrf_token %} {{ form.csrf_token }} {{ form_field_errors(form.csrf_token) }} {% endif %} {% endmacro %}