Components

Panel

The panel component is a visible container used on confirmation or results pages to highlight important content.

<div class="govuk-panel govuk-panel--confirmation">
  <h1 class="govuk-panel__title">
    Application complete
  </h1>
  <div class="govuk-panel__body">
    Your reference number
    <br><strong>HDJ2123F</strong>
  </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.

Primary options
Name Type Description
titleText string Required. If titleHtml is set, this is not required. Text to use within the panel. If titleHtml is provided, the titleText argument will be ignored.
titleHtml string Required. If titleText is set, this is not required. HTML to use within the panel. If titleHtml is provided, the titleText argument will be ignored.
headingLevel integer Heading level, from 1 to 6. Default is 1.
text string Required. If html is set, this is not required. Text to use within the panel content. If html is provided, the text argument will be ignored.
html string Required. If text is set, this is not required. HTML to use within the panel content. If html is provided, the text argument will be ignored.
classes string Classes to add to the panel container.
attributes object HTML attributes (for example data attributes) to add to the panel container.
{% from "panel/macro.njk" import govukPanel %}

{{ govukPanel({
  titleText: "Application complete",
  html: "Your reference number<br><strong>HDJ2123F</strong>"
}) }}

When to use this component

Use the panel component to display important information when a transaction has been  completed.

In most cases, the panel component is used on Confirmation pages, to tell the user they have successfully completed the transaction.

When not to use this component

Never use the panel component to highlight important information within body content.

How it works

If you add extra content to the panel, to meet colour contrast ratio requirements use a font size of govuk-body-l for normal weight and govuk-body for bold.

There are 2 ways to use the panel component. You can use HTML or, if you are using Nunjucks or the GOV.UK Prototype Kit, you can use the Nunjucks macro.

<div class="govuk-panel govuk-panel--confirmation">
  <h1 class="govuk-panel__title">
    Application complete
  </h1>
  <div class="govuk-panel__body">
    Your reference number
    <br><strong>HDJ2123F</strong>
  </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.

Primary options
Name Type Description
titleText string Required. If titleHtml is set, this is not required. Text to use within the panel. If titleHtml is provided, the titleText argument will be ignored.
titleHtml string Required. If titleText is set, this is not required. HTML to use within the panel. If titleHtml is provided, the titleText argument will be ignored.
headingLevel integer Heading level, from 1 to 6. Default is 1.
text string Required. If html is set, this is not required. Text to use within the panel content. If html is provided, the text argument will be ignored.
html string Required. If text is set, this is not required. HTML to use within the panel content. If html is provided, the text argument will be ignored.
classes string Classes to add to the panel container.
attributes object HTML attributes (for example data attributes) to add to the panel container.
{% from "panel/macro.njk" import govukPanel %}

{{ govukPanel({
  titleText: "Application complete",
  html: "Your reference number<br><strong>HDJ2123F</strong>"
}) }}

Research on this component

If you’ve used this component, get in touch to share your user research findings.

Get in touch

If you’ve got a question, idea or suggestion share it in #govuk-design-system on cross-government Slack (open in app) or email the Design System team on govuk-design-system-support@digital.cabinet-office.gov.uk

Discuss ‘Panel’ on GitHub