{% from "partials/components.html" import componentList %} {% from "govuk/components/fieldset/macro.njk" import govukFieldset %} {% from "govuk/components/hint/macro.njk" import govukHint %} {% from "govuk/components/button/macro.njk" import govukButton %} {% from "govuk/components/inset-text/macro.njk" import govukInsetText %} {% macro UkAddressField(component) %} {% set fieldset = component.model.fieldset %} {% set usePostcodeLookup = component.model.usePostcodeLookup %} {% set addressFieldHtml %}
{{ componentList(component.model.components) }}
{% endset %} {% if component.model.hint %} {% set addressHintHtml %} {{ govukHint({ id: component.model.name + "-hint", text: component.model.hint.text } if fieldset else component.model.hint) }} {% endset %} {% set addressFieldHtml = addressHintHtml + addressFieldHtml %} {% endif %}
{{ govukFieldset({ legend: fieldset.legend, attributes: fieldset.attributes, html: addressFieldHtml }) if fieldset else addressFieldHtml }} {% if usePostcodeLookup %} {% set value = component.model.value %} {% if value %} {% set insetHtml %} Selected address:

{{ value }}

{% endset %} {{ govukInsetText({ html: insetHtml, classes: "govuk-!-margin-top-2" }) }} {% else %}
{{ govukButton({ text: "Find an address", attributes: { name: "action", value: "external-" + component.model.name }, classes: "govuk-button--secondary govuk-!-margin-right-1 govuk-!-margin-bottom-0" }) }}

or

{# Include a line break if this is the last component #} {% if components[components.length - 1] == component %}
{% endif %} {% endif %} {% endif %}
{% endmacro %}