Skip to content

Progress

<div class="asp-progress">
  <div class="asp-progress__single asp-progress__single--complete">
    <div class="asp-progress__single-content">
      <span class="asp-progress__single-icon asp-progress__single-icon--complete"></span>
      <div class="asp-progress__single-title">Step 1 title</div>
      <div class="asp-progress__single-content">
        <p>Step 1 content (text).</p>
                  <p>With additional line. modifier: complete</p>
      </div>
    </div>
  </div>
  <div class="asp-progress__single asp-progress__single--failed">
    <div class="asp-progress__single-content">
      <span class="asp-progress__single-icon asp-progress__single-icon--failed"></span>
      <div class="asp-progress__single-title">Step 2 title</div>
      <div class="asp-progress__single-content">
        <p>Step 2 content (html) with <a href="#">link</a>. modifier: failed</p>
      </div>
    </div>
  </div>
  <div class="asp-progress__single asp-progress__single--in-progress">
    <div class="asp-progress__single-content">
      <span class="asp-progress__single-icon asp-progress__single-icon--in-progress"></span>
      <div class="asp-progress__single-title">Step 3 title</div>
      <div class="asp-progress__single-content">
        Step 3 content (text). modifier: in-progress
      </div>
    </div>
  </div>
</div>
Nunjucks macro options

Use options to customise the appearance, content and behaviour of a component when using a macro, for example, changing the text.

Some options are required for the macro to work; these are marked as "Required" in the option description.

If you're using Nunjucks macros in production with "html" options, or ones ending with "html", you must sanitise the HTML to protect against cross-site scripting exploits.

Name Type Description
rows object Required. The stages within the progress component. See rows.

Options for rows

Name Type Description
modifier string Required. Default values are 'in-progress', 'complete' or 'failed'.
title string Required. The progress stage title.
content array Required. The progress stage content. See content.

Options for content

Name Type Description
html string Required. HTML for the progress stage content. If 'html' is provided, the 'text' parameter will be ignored.
text string Required. Text for the progress stage content. If 'html' is provided, the 'text' parameter will be ignored.
{% from "components/progress/macro.njk" import aspProgress %}

{{ aspProgress({
rows: [
{
modifier: "complete",
title: "Step 1 title",
content: {
html: '<p>Step 1 content (text).</p>
<p>With additional line. modifier: complete</p>' }
},
{
modifier: "failed",
title: "Step 2 title",
content: {
html: '<p>Step 2 content (html) with <a href="#">link</a>. modifier: failed</p>' }
},
{
modifier: "in-progress",
title: "Step 3 title",
content: {
text: "Step 3 content (text). modifier: in-progress"
}
}
]
}) }}

Twig macro options

Use options to customise the appearance, content and behaviour of a component when using a macro, for example, changing the text.

Some options are required for the macro to work; these are marked as "Required" in the option description.

If you're using Nunjucks macros in production with "html" options, or ones ending with "html", you must sanitise the HTML to protect against cross-site scripting exploits.

Name Type Description
rows object Required. The stages within the progress component. See rows.

Options for rows

Name Type Description
modifier string Required. Default values are 'in-progress', 'complete' or 'failed'.
title string Required. The progress stage title.
content array Required. The progress stage content. See content.

Options for content

Name Type Description
html string Required. HTML for the progress stage content. If 'html' is provided, the 'text' parameter will be ignored.
text string Required. Text for the progress stage content. If 'html' is provided, the 'text' parameter will be ignored.
{% from "asp-frontend/components/progress/macro.njk" import aspProgress %}

{{ aspProgress({
rows: [
{
modifier: "complete",
title: "Step 1 title",
content: {
html: '<p>Step 1 content (text).</p>
<p>With additional line. modifier: complete</p>' }
},
{
modifier: "failed",
title: "Step 2 title",
content: {
html: '<p>Step 2 content (html) with <a href="#">link</a>. modifier: failed</p>' }
},
{
modifier: "in-progress",
title: "Step 3 title",
content: {
text: "Step 3 content (text). modifier: in-progress"
}
}
]
}) }}

Name Type Description
InputData table Required. This requires a table input with no more than 6 records using the format: Table( { Item: 1, Title: "Form received", Body: "3 October 2023 11:06", Status: "Complete", IconX: 20 } ) For each record increment the Item number, this is used to set the automatic width of each section of the component. “Title” is used to input the bold headings of each section. “Body” is used to provide the information below the title. This is an HTML field to allow for greater customisation.
Font string Required. This is the font that the text will be shown in. This will likely be Font.'Segoe UI'.

Alias

Previously known as a steps component on the ‘frontend’.

Status of development

The below criteria all need to be met for a component to be considered as fully developed for use within the ASP Digital Design System.

Development criteria Status
WCAG 2.2 compliant Not started
WCAG 2.1 compliant Failing
HTML / Nunjucks version Completed
Figma version Not started
M365 versions Completed
Documentation In progress

Published 3 May 2024
Last updated 6 February 2025