{% extends "forms/field.html.twig" %}

{% block global_attributes %}
    {{ parent() }}
    data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}"
    data-grav-field-name="{{ (scope ~ field.name)|fieldName }}"
{% endblock %}

{% block input %}
    {% set value = (value is null ? field.default : value) %}
    {% if field.use == 'keys' and field.default %}
        {% set value = field.default|merge(value) %}
    {% endif %}

        <div class="checkboxes {{ form_field_wrapper_classes }} {{ field.wrapper_classes }}">
            {% for key, text in field.options %}
                {% set id = field.id|default(field.name)|hyphenize ~ '-' ~ key %}
                {% set name = field.use == 'keys' ? key : id %}
                {% set val = field.use == 'keys' ? '1' : key %}
                {% set checked = (field.use == 'keys' ? value[key] : key in value) %}
                {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %}
                {% set disabled = key in field.disabled_options %}
                <input type="checkbox"
                    id="{{ id|e }}"
                    value="{{ val|e }}"
                    name="{{ (scope ~ field.name)|fieldName ~ '[' ~ name ~ ']' }}"
                    class="{{ form_field_checkbox_classes }} {{ field.classes }}"
                    {% if checked %}checked="checked"{% endif %}
                    {% if disabled %}disabled="disabled"{% endif %}
                >
                {# Option labels are escaped by default. Set `markdown: true` on the field to opt into rich
                   option labels, the same flag that already enables markup in the field's label, help and
                   description. #}
                {% set option_label = field.markdown ? text|t|markdown(false) : text|t|e %}
                <label style="display: inline; {% if disabled %}opacity: 0.6; cursor: no-drop;{% endif %}" for="{{ id|e }}">
                    {% if help %}
                        <span class="hint--bottom" data-hint="{{ help|t|e('html_attr') }}">{{ option_label|raw }}</span>
                    {% else %}
                        {{ option_label|raw }}
                    {% endif %}
                </label>
            {% endfor %}
        </div>
    
{% endblock %}