{#
/**
 * @file
 * Default theme implementation for exposed filter form.
 *
 * Available variables:
 * - form_description: The exposed filter's description.
 * - expose_button: The button to toggle the expose filter form.
 * - group_button: Toggle options between single and grouped filters.
 * - required: A checkbox to require this filter or not.
 * - label: A filter label input field.
 * - description: A filter description field.
 * - operator: The operators for how the filters value should be treated.
 *   - #type: The operator type.
 * - value: The filters available values.
 * - use_operator: Checkbox to allow the user to expose the operator.
 * - more: A details element for additional field exposed filter fields.
 *
 * @ingroup themeable
 */
#}
{{ form.form_description }}
{{ form.expose_button }}
{{ form.group_button }}
{{ form.required }}
{{ form.label }}
{{ form.description }}

{{ form.operator }}
{{ form.value }}

{% if form.use_operator %}
  <div class="views-left-40">
  {{ form.use_operator }}
  </div>
{% endif %}

{#
  Collect a list of elements printed to exclude when printing the
  remaining elements.
#}
{% set remaining_form = form|without(
  'form_description',
  'expose_button',
  'group_button',
  'required',
  'label',
  'description',
  'operator',
  'value',
  'use_operator',
  'more'
  )
%}

{#
  Only output the right column markup if there's a left column to begin with.
#}
{% if form.operator['#type'] %}
  <div class="views-right-60">
  {{ remaining_form }}
  </div>
{% else %}
  {{ remaining_form }}
{% endif %}

{{ form.more }}
