{% macro digitalmarketplaceCheckboxesFromForm(params) %} {%- from 'govuk_frontend_jinja/components/checkboxes/macro.html' import govukCheckboxes -%} {% set errorMessage = params.form.errors[0] if params.form.errors %} {% set name = params.form.name %} {% set items = params['items'] if 'items' in params else [] %} {% set values = params.form.data or []%} {% set legend = params.fieldset.legend if params.fieldset and params.fieldset.legend else {} %} {% if 'items' not in params %} {% for option in params.form.options %} {% set item = { "value": option["value"], "text": option["label"] } %} {% if option["value"] in values %} {% set _item = item.__setitem__("checked", true) %} {% endif %} {% if "description" in option %} {% set _item = item.__setitem__("hint", { 'text': option["description"] }) %} {% endif %} {% set _items = items.append(item) %} {% endfor %} {% endif %} {{ govukCheckboxes({ "fieldset": { "legend": { "text": params.form.question, "classes": legend.classes if legend.classes else "govuk-fieldset__legend--m", "isPageHeading": legend.isPageHeading } }, "name": name, "idPrefix": "input-" + name, "items": items, "classes": params.classes, "hint": { "text": params.form.hint } if params.form.hint, "errorMessage": { "text": errorMessage } if errorMessage }) }} {% endmacro %}