{#
/**
 * @file
 * Theme override for a text format-enabled form element.
 *
 * @todo Remove when https://www.drupal.org/node/3016346 and
 * https://www.drupal.org/node/3016343 are fixed.
 *
 * Available variables:
 * - children: Text format element children.
 * - description: Text format element description.
 * - attributes: HTML attributes for the containing element.
 * - aria_description: Flag for whether or not an ARIA description has been
 *   added to the description container.
 * - description_attributes: attributes for the description.
 *   @see https://www.drupal.org/node/3016343
 * - disabled: An indicator for whether the associated form element is disabled,
 *   added by this theme.
 *   @see https://www.drupal.org/node/3016346
 *
 * @see \Drupal\filter\FilterThemeHooks::preprocessTextFormatWrapper()
 */
#}
{%
  set classes = [
    'js-form-item',
    'form-item',
  ]
%}
<div{{ attributes.addClass(classes) }}>
  {{ children }}
  {% if description %}
    {%
      set description_classes = [
        aria_description ? 'form-item__description',
        disabled ? 'is-disabled',
      ]
    %}
    <div{{ description_attributes.addClass(description_classes) }}>{{ description }}</div>
  {% endif %}
</div>
