{#
/**
 * @file
 * Theme implementation for main view template.
 *
 * Available variables:
 * - attributes: Remaining HTML attributes for the element.
 * - css_name: A CSS-safe version of the view name.
 * - css_class: The user-specified classes names, if any.
 * - header: The optional header.
 * - footer: The optional footer.
 * - rows: The results of the view query, if any.
 * - empty: The content to display if there are no rows.
 * - pager: The optional pager next/prev links to display.
 * - exposed: Exposed widget form/info to display.
 * - feed_icons: Optional feed icons to display.
 * - more: An optional link to the next page of results.
 * - title: Title of the view.
 * - title_prefix: Additional output populated by modules, intended to be
 *   displayed in front of the view title.
 * - title_suffix: Additional output populated by modules, intended to be
 *   displayed after the view title.
 * - attachment_before: An optional attachment view to be displayed before the
 *   view content.
 * - attachment_after: An optional attachment view to be displayed after the
 *   view content.
 * - dom_id: Unique id for every view being printed to give unique class for
 *   JavaScript.
 *
 * @see template_preprocess_views_view()
 */
#}
{# The class 'view' is necessary because it's used by ajax_view.js in core. #}
{% set classes = [
  'c-view',
  'c-view--' ~ id|clean_class,
  'c-view--display-' ~ display_id,
  'view',
  dom_id ? 'js-view-dom-id-' ~ dom_id,
] %}

{% if hide_title is null %}
  {% set hide_title = false %}
{% endif %}

{% include '@components/view/views-view/views-view.twig' with {
  'attributes': attributes.addClass(classes),
  'title': title,
  'title_element': 'h2',
  'hide_title': hide_title,
  'element': 'div',
  'header': header,
  'exposed': exposed,
  'attachment_before': attachment_before,
  'rows': rows,
  'empty': empty,
  'pager': pager,
  'attachment_after': attachment_after,
  'more': more,
  'footer': footer,
  'feed_icons': feed_icons,
} %}
