{%- from "nationalarchives/components/button/macro.njk" import tnaButton -%}

{%- set containerClasses = [params.classes] if params.classes else [] -%}
{%- set classes = containerClasses | join(' ') -%}
<div class="tna-code-block{% if classes %} {{ classes }}{% endif %}"{% if params.filename %} title="{{ params.filename }}"{% endif %}{%- for attribute, value in params.attributes %} {{ attribute }}{% if value !== '' %}="{{ value }}"{% endif %}{% endfor %}{% if params.copy %} data-module="tna-code-block"{% endif %}>
  {{ tnaButton({
    text: "Copy code",
    plain: true,
    small: true,
    buttonElement: true,
    classes: "tna-code-block__copy",
    attributes: {
      hidden: "",
      "aria-live": "assertive"
    }
  }) }}
  <pre class="tna-code-block__pre" tabindex="0" role="region" aria-label="Code block{% if params.filename %}: {{ params.filename }}{% endif %}"><code class="language-{{ params.language or 'plain' }}">{%- if caller -%}{{ caller() }}{%- else -%}{{ params.code }}{%- endif -%}</code></pre>
</div>
