{% use 'form_div_layout.html.twig' %} {%- block form_row -%} {%- set row_attr = row_attr|merge({ 'class': (row_attr.class|default('') ~ ' mb-1')|trim }) -%} {%- set widget_attr = {} -%} {%- if help is not empty -%} {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} {%- endif -%} {{- form_label(form) -}} {{- form_widget(form, widget_attr) -}} {{- form_errors(form) -}} {{- form_help(form) -}} {%- endblock form_row -%} {%- block form_label -%} {% set class = 'font-semibold' %} {% if errors|length %} {% set class = class ~ ' text-red-500' %} {% endif %} {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ class)|trim}) %} {{ parent() }} {%- endblock form_label -%} {%- block form_errors -%} {%- if errors|length > 0 -%} {%- endif -%} {%- endblock form_errors -%} {%- block form_widget_simple -%} {%- set type = type|default('text') -%} {%- if type != 'hidden' -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-field')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-field--has-error' }) -%} {%- endif -%} {%- if disabled is defined and disabled == true -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' cursor-not-allowed' }) -%} {%- endif -%} {%- endif -%} {{ parent() }} {%- if disabled is defined and disabled == true -%} {%- endif -%} {%- endblock form_widget_simple -%} {%- block textarea_widget -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-field')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-field--has-error' }) -%} {%- endif -%} {%- if disabled is defined and disabled == true -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' cursor-not-allowed' }) -%} {%- endif -%} {{ parent() }} {%- if disabled is defined and disabled == true -%} {%- endif -%} {%- endblock textarea_widget -%} {%- block checkbox_widget -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-checkbox')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-checkbox--has-error' }) -%} {%- endif -%} {%- set tooltip = null -%} {%- if attr.tooltip is defined -%} {%- set tooltip = attr.tooltip -%} {%- set attr = attr|filter((v, k) => k != 'tooltip') -%} {%- endif -%} {%- endblock checkbox_widget -%} {%- block radio_widget -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-radio')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-radio--has-error' }) -%} {%- endif -%} {%- set tooltip = null -%} {%- if attr.tooltip is defined -%} {%- set tooltip = attr.tooltip -%} {%- set attr = attr|filter((v, k) => k != 'tooltip') -%} {%- endif -%} {%- endblock radio_widget -%} {% block checkbox_row %}
{{ form_widget(form) }}
{{- form_errors(form) -}}
{% endblock %} {%- block choice_widget_collapsed -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-field')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-field--has-error' }) -%} {%- endif -%} {%- if disabled is defined and disabled == true -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' cursor-not-allowed' }) -%} {%- endif -%} {%- if attr.readonly is defined %}
{{ parent() }}
{% else %} {{ parent() }} {% endif %} {%- endblock choice_widget_collapsed -%} {%- block choice_widget_expanded -%} {%- for child in form %} {{- form_row(child) -}} {% endfor -%} {%- endblock choice_widget_expanded -%} {%- block multiselect_widget -%}
{{ icon('dots', 'w-4 h-4 mt-2') }}
{%- endblock multiselect_widget -%}