{% 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 -#} {% set describedBy = "" %}
{{ 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 %}