{% from "error-message/macro.njk" import govukErrorMessage -%}
{% from "hint/macro.njk" import govukHint %}
{% from "label/macro.njk" import govukLabel %}

{#- a record of other elements that we need to associate with the input using
      aria-describedby – for example hints or error messages and the currency description -#}
{% set describedBy = "" %}
<div class="govuk-form-group {%- if params.errorMessage %} govuk-form-group--error{% endif %} {%- if params.formGroup.classes %} {{ params.formGroup.classes }}{% endif %}">
  {{ govukLabel({
    html: params.label.html,
    text: params.label.text,
    classes: params.label.classes,
    isPageHeading: params.label.isPageHeading,
    attributes: params.label.attributes,
    for: params.id
  }) | indent(2) | trim }}
{% if params.hint %}
  {% set hintId = params.id + '-hint' %}
  {% set describedBy = describedBy + ' ' + hintId if describedBy else hintId %}
  {{ govukHint({
    id: hintId,
    classes: params.hint.classes,
    attributes: params.hint.attributes,
    html: params.hint.html,
    text: params.hint.text
  }) | indent(2) | trim }}
{% endif %}
{% if params.errorMessage %}
  {% set errorId = params.id + '-error' %}
  {% set describedBy = describedBy + ' ' + errorId if describedBy else errorId %}
  {{ govukErrorMessage({
    id: errorId,
    classes: params.errorMessage.classes,
    attributes: params.errorMessage.attributes,
    html: params.errorMessage.html,
    text: params.errorMessage.text,
    visuallyHiddenText: params.errorMessage.visuallyHiddenText
  }) | indent(2) | trim }}
{% endif %}
{% set currencyId = params.id + '-currency' %}
{% set describedBy =  currencyId + ' ' + describedBy %}

{% set visuallyHiddenCurrencyText = 'in pounds' %}
{% if params.visuallyHiddenCurrencyText %}
  {% set visuallyHiddenCurrencyText = params.visuallyHiddenCurrencyText %}
{% endif %}

{% set currencySymbol = '£' %}
{% if params.currencySymbol %}
  {% set currencySymbol = params.currencySymbol %}
{% endif %}

{% set pattern = '[0-9]*' %}
{% if params.pattern %}
  {% set pattern = params.pattern %}
{% endif %}


  <div id="{{currencyId}}" class="govuk-visually-hidden">{{visuallyHiddenCurrencyText}}</div>
  <div class="hmcts-currency-input">
    <div class="hmcts-currency-input__symbol" aria-hidden="true">{{currencySymbol}}</div>
    <input class="govuk-input {%- if params.classes %} {{ params.classes }}{% endif %} {%- if params.errorMessage %} govuk-input--error{% endif %}" id="{{ params.id }}" name="{{ params.name }}" type="{{ params.type | default('text') }}"
  {%- if params.value %} value="{{ params.value}}"{% endif %}
  {%- if describedBy %} aria-describedby="{{ describedBy }}"{% endif %}
  {%- if params.autocomplete %} autocomplete="{{ params.autocomplete}}"{% endif %}
  {%- if pattern %} pattern="{{ pattern }}"{% endif %}
  {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>
  </div>

</div>