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

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

{%- if params.colour and
  params.colour in ["white", "grey", "green", "aqua-green", "blue", "purple", "pink", "red", "orange", "warm-yellow", "yellow"] and (
    not params.classes or (
      not "nhsuk-tag--white" in params.classes and
      not "nhsuk-tag--grey" in params.classes and
      not "nhsuk-tag--green" in params.classes and
      not "nhsuk-tag--aqua-green" in params.classes and
      not "nhsuk-tag--blue" in params.classes and
      not "nhsuk-tag--purple" in params.classes and
      not "nhsuk-tag--pink" in params.classes and
      not "nhsuk-tag--red" in params.classes and
      not "nhsuk-tag--orange" in params.classes and
      not "nhsuk-tag--warm-yellow" in params.classes and
      not "nhsuk-tag--yellow" in params.classes
    )
  )
%}
  {%- set classNames = classNames ~ " nhsuk-tag--" ~ params.colour %}
{%- endif %}

{%- if params.colour is sameas(false) and (not params.classes or not "nhsuk-tag--no-colour" in params.classes) %}
  {%- set classNames = classNames ~ " nhsuk-tag--no-colour" %}
{%- endif %}

{%- if params.border is sameas(false) and (not params.classes or not "nhsuk-tag--no-border" in params.classes) %}
  {%- set classNames = classNames ~ " nhsuk-tag--no-border" %}
{%- endif %}

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

{%- set content = {
  text: params.text,
  html: caller() if caller else params.html
} %}

{%- if content.html or content.text %}
<strong class="{{ classNames }}" {%- if params.id %} id="{{ params.id }}"{% endif %}
  {{- nhsukAttributes(params.attributes) }}>
  {{- nhsukContent(content) | trim -}}
</strong>
{% endif %}
