{% load widget_tweaks base %}
{% comment %} 
# Switch component params:
    - form (required): form object
    - errors (required): field errors (form.errors.FIELD_NAME)
    - input (required): field object (form.FIELD_NAME)
    - classes: Classes to add to the main div $element
    - placeholder: Placeholder text
    - input_classes: Classes on input element
    - help_text: Help text to display below input
{% endcomment %}
<div class="form-group row {{ classes }}">
    <label class="col-3 col-form-label"></label>
    <div class="col-6">
        {% if input %}
            {% assign_variable "form-control" as form_classes %}

            {% if not placeholder %}
                {% assign_variable input.label as placeholder %}
            {% endif %}

            {% if input_classes %}
                {% add_string form_classes " " input_classes as form_classes %}
            {% endif %}

            {% if form.is_bound %}
                {% if errors %}
                    {% assign_variable "is-invalid" as validation_class %}
                {% else %}
                    {% assign_variable "is-valid" as validation_class %}
                {% endif %}
            {% else %}
                {% assign_variable "" as validation_class %}
            {% endif %}
            {% add_string form_classes " " validation_class as form_classes_with_validation %}

            <label class="kt-checkbox">
                {% render_field input class+=form_classes_with_validation placeholder+=placeholder %} {{ label|default:input.label }}
                <span></span>
            </label>

            {% if help_text %}
            <span class="form-text text-muted">{{ help_text }}</span>
            {% endif %}

            {% include "backoffice/includes/help_field.html" with form=form form_field=form.have_roles valid_feedback=valid_feedback mutex_text=mutex_text only %}
        {% endif %}
    </div>
</div>