{#
/**
 * @file
 * Default theme implementation for a language negotiation configuration form.
 *
 * Available variables:
 * - language_types: A list of language negotiation types. Each language type
 *   contains the following:
 *   - type: The machine name for the negotiation type.
 *   - title: The language negotiation type name.
 *   - description: A description for how the language negotiation type
 *     operates.
 *   - configurable: A radio element to toggle the table.
 *   - table: A draggable table for the language detection methods of this type.
 *   - children: Remaining form items for the group.
 *   - attributes: A list of HTML attributes for the wrapper element.
 * - children: Remaining form items for all groups.
 *
 * @see \Drupal\language\Hook\LanguageThemeHooks::preprocessLanguageNegotiationConfigureForm()
 *
 * @ingroup themeable
 */
#}
{% for language_type in language_types %}
  {%
    set language_classes = [
      'js-form-item',
      'form-item',
      'table-language-group',
      'table-' ~ language_type.type ~ '-wrapper',
    ]
  %}
  <div{{ language_type.attributes.addClass(language_classes) }}>
    <h2>{{ language_type.title }}</h2>
    <div class="description">{{ language_type.description }}</div>
    {{ language_type.configurable }}
    {{ language_type.table }}
    {{ language_type.children }}
  </div>
{% endfor %}
{{ children }}
