{% macro govukSummaryList(params) %} {% from "govuk_frontend_jinja/macros/attributes.html" import govukAttributes %} {%- macro _actionLink(action, cardTitle) %} {{- action.html | safe | indent(4) if action.html else action.text -}} {%- if action.visuallyHiddenText or cardTitle -%} {%- if action.visuallyHiddenText %} {{ action.visuallyHiddenText }}{% endif -%} {%- if cardTitle %} ({{ cardTitle.html | indent(6) | safe if cardTitle.html else cardTitle.text }}){% endif -%} {%- endif -%} {% endmacro -%} {%- macro _summaryCard(params) %} {%- set headingLevel = params.title.headingLevel if params.title and params.title.headingLevel else 2 -%}
{% if params.title %} {{ params.title.html | safe | trim | indent(6) if params.title.html else params.title.text }} {% endif %} {%- if params.actions and params.actions['items'] | length -%} {%- if params.actions['items'] | length == 1 -%}
{{ _actionLink(params.actions['items'][0], params.title) | trim | indent(4) }}
{% else %} {% endif %} {% endif %}
{{ caller() | trim }}
{% endmacro -%} {#- Determine if we need 2 or 3 columns #} {% set ns = namespace(anyRowHasActions = false) %} {% for row in params.rows %} {% set ns.anyRowHasActions = true if row.actions and row.actions['items'] | length else ns.anyRowHasActions %} {% endfor -%} {%- set summaryList -%}
{% for row in params.rows %} {% if row %}
{{ row.key.html | safe | trim | indent(6) if row.key.html else row.key.text }}
{{ row.value.html | safe | trim | indent(6) if row.value.html else row.value.text }}
{% if row.actions and row.actions['items'] | length %}
{% if row.actions['items'] | length == 1 %} {{- _actionLink(row.actions['items'][0], params.card.title if params.card) | trim | indent(6, true) }} {% else %}
    {% for action in row.actions['items'] %}
  • {{ _actionLink(action, params.card.title if params.card) | trim | indent(8) }}
  • {% endfor %}
{% endif %}
{% endif %}
{% endif %} {% endfor %}
{%- endset %} {%- if params.card -%} {% call _summaryCard(params.card) -%} {{ summaryList | safe | trim | indent(4) }} {%- endcall %} {%- else -%} {{ summaryList | safe | trim }} {%- endif %} {% endmacro %}