{# Copyright 2024, 2025 New Vector Ltd. Copyright 2021-2024 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE files in the repository root for full details. -#} {% set cnt = counter() %} {% macro new_id() -%} form-{{- cnt.next() -}} {%- endmacro %} {% macro attributes(field, default_value=None) -%} {%- set value = field.value | default(default_value) -%} name="{{ field.name }}" id="{{ field.id }}" {%- if field.errors is not empty %} data-invalid{% endif %} {%- if value %} value="{{ value }}" {% endif %} {%- endmacro %} {% macro error(error, field_name="", hidden=false) %} {% endmacro %} {% macro field(label, name, form_state=false, class="", inline=false) %} {% set field_id = new_id() %} {% if not form_state %} {% set form_state = {"fields": {}} %} {% endif %} {% set state = form_state.fields[name] | default({"errors": [], "value": ""}) %} {% set field = { "id": new_id(), "name": name, "errors": state.errors, "value": state.value, } %}
{% if not inline %} {{ caller(field) }} {% else %}
{{ caller(field) }}
{% endif %} {% if field.errors is not empty %} {% for field_error in field.errors %} {% if field_error.kind != "unspecified" %} {{ error(error=field_error, field_name=field.name) }} {% endif %} {% endfor %} {% endif %} {% if inline %}
{% endif %}
{% endmacro %} {% macro separator() %}

{{ _("mas.or_separator") }}


{% endmacro %}