{% macro govukSummaryList(params) %} {%- macro _actionLink(action, cardTitle) %} {{- action.html | safe if action.html else action.text -}} {%- if action.visuallyHiddenText or cardTitle -%} {%- if action.visuallyHiddenText %} {{ action.visuallyHiddenText }}{% endif -%} {%- if cardTitle %} ({{ cardTitle.html | 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 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) -}}
{%- else -%} {% endif -%} {%- endif -%}
{{- caller() -}}
{% 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 | indent(4 if params.card else 0) | safe if row.key.html else row.key.text }}
{{ row.value.html | indent(12 if params.card else 8) | safe | trim 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) | indent(16 if params.card else 12) | trim }} {% else %}
    {%- for action in row.actions['items'] -%}
  • {{- _actionLink(action, params.card.title if params.card) | indent(22 if params.card else 18) | trim -}}
  • {%- endfor -%}
{% endif %}
{% endif %}
{% endif %} {% endfor %}
{%- endset %} {%- if params.card -%} {% call _summaryCard(params.card) -%} {{ summaryList | safe }} {%- endcall %} {%- else -%} {{ summaryList | safe }} {%- endif %} {% endmacro %}