{#
/**
 * @file
 * Theme implementation for a field.
 *
 * To override output, copy the "field.html.twig" from the templates directory
 * to your theme's directory and customize it, just like customizing other
 * Drupal templates such as page.html.twig or node.html.twig.
 *
 * Instead of overriding the theming for all fields, you can also just override
 * theming for a subset of fields using
 * @link themeable Theme hook suggestions. @endlink For example,
 * here are some theme hook suggestions that can be used for a field_foo field
 * on an article node type:
 * - field--node--field-foo--article.html.twig
 * - field--node--field-foo.html.twig
 * - field--node--article.html.twig
 * - field--field-foo.html.twig
 * - field--text-with-summary.html.twig
 * - field.html.twig
 *
 * Available variables:
 * - attributes: HTML attributes for the containing element.
 * - label_hidden: Whether to show the field label or not.
 * - title_attributes: HTML attributes for the title.
 * - label: The label for the field.
 * - multiple: TRUE if a field can contain multiple items.
 * - items: List of all the field items. Each item contains:
 *   - attributes: List of HTML attributes for each item.
 *   - content: The field item's content.
 * - entity_type: The entity type to which the field belongs.
 * - field_name: The name of the field.
 * - field_type: The type of the field.
 * - label_display: The display settings for the label.
 *
 * @see template_preprocess_field()
 */
#}
{% set classes = [
  'c-field',
  'c-field--name-' ~ field_name|clean_class,
  'c-field--type-' ~ field_type|clean_class,
  'c-field--label-' ~ label_display,
] %}
{% if show_separator is null %}
  {# By default, this field template comma separates values in multivalue
    fields. This may not be desired if the Fences module is used to change
    the field item wrapper element to a non-inline element. Add or remove
    elements as needed from the following list to disable separators for
    particular item wrapper elements. #}
  {% if field_item_tag in ['li', 'dt', 'dd', 'blockquote', 'details', 'section', 'figure', 'p'] %}
    {% set show_separator = false %}
  {% else %}
    {% set show_separator = true %}
  {% endif %}
{% endif %}

{% if separator is null %}
  {% set separator = ', ' %}
{% endif %}

{% include '@components/field/field.twig' with {
  'attributes': attributes.addClass(classes),
  'modifier_classes': modifier_classes,
  'display_field_tag': display_field_tag,
  'field_tag': field_tag,
  'label_display': label_display,
  'label_hidden': label_hidden,
  'display_label_tag': display_label_tag,
  'label_tag': label_tag,
  'label': label,
  'display_items_wrapper_tag': display_items_wrapper_tag,
  'field_items_wrapper_tag': field_items_wrapper_tag,
  'display_item_tag': display_item_tag,
  'field_item_tag': field_item_tag,
  'show_separator': show_separator,
  'separator': separator,
  'field_items': items,
} %}
