{# 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, } %}{{ _("mas.or_separator") }}