{% from "nhsuk/macros/attributes.njk" import nhsukAttributes %}

{#- Set classes for this component #}
{%- set classNames = "nhsuk-error-message" -%}

{%- if params.classes %}
  {% set classNames = classNames ~ " " ~ params.classes %}
{% endif -%}

{% set visuallyHiddenText = params.visuallyHiddenText | default("Error") -%}

{%- set innerHtml %}
{% if caller %}
  {{- caller() }}
{% elif params.html %}
  {{- params.html | safe }}
{% elif params.text %}
  {{- params.text }}
{% endif %}
{% endset -%}

<span class="{{ classNames }}" {%- if params.id %} id="{{ params.id }}"{% endif %}
  {{- nhsukAttributes(params.attributes) }}>
  {% if visuallyHiddenText %}
  <span class="nhsuk-u-visually-hidden">{{ visuallyHiddenText }}: </span>
  {{- innerHtml | safe | trim | indent(2) }}
  {% else %}
  {{ innerHtml | safe | trim | indent(2) }}
  {% endif %}
</span>
