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
string |
Required.
If titleHtml is set, this is not required. Text to use within the panel. If titleHtml is provided, the titleText option will be ignored.
|
string |
Required.
If titleText is set, this is not required. HTML to use within the panel. If titleHtml is provided, the titleText option will be ignored.
|
integer |
Heading level, from 1 to 6 . Default is 1 .
|
string |
Required.
If html is set, this is not required. Text to use within the panel content. If html is provided, the text option will be ignored.
|
string |
Required.
If text is set, this is not required. HTML to use within the panel content. If html is provided, the text option will be ignored.
|
nunjucks-block |
Not strictly a parameter but Nunjucks code convention. Using a call block enables you to call a macro with all the text inside the tag. This is helpful if you want to pass a lot of content into a macro. To use it, you will need to wrap the entire panel component in a call block.
|
string |
Classes to add to the panel container.
|
object |
HTML attributes (for example data attributes) to add to the panel container.
|
{% from "govuk/components/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
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
string |
Required.
If titleHtml is set, this is not required. Text to use within the panel. If titleHtml is provided, the titleText option will be ignored.
|
string |
Required.
If titleText is set, this is not required. HTML to use within the panel. If titleHtml is provided, the titleText option will be ignored.
|
integer |
Heading level, from 1 to 6 . Default is 1 .
|
string |
Required.
If html is set, this is not required. Text to use within the panel content. If html is provided, the text option will be ignored.
|
string |
Required.
If text is set, this is not required. HTML to use within the panel content. If html is provided, the text option will be ignored.
|
nunjucks-block |
Not strictly a parameter but Nunjucks code convention. Using a call block enables you to call a macro with all the text inside the tag. This is helpful if you want to pass a lot of content into a macro. To use it, you will need to wrap the entire panel component in a call block.
|
string |
Classes to add to the panel container.
|
object |
HTML attributes (for example data attributes) to add to the panel container.
|
{% from "govuk/components/panel/macro.njk" import govukPanel %}
{{ govukPanel({
titleText: "Application complete",
html: "Your reference number<br><strong>HDJ2123F</strong>"
}) }}
How to write heading text
Keep your heading text brief, as it’s only meant for a high-level explanation of what has happened. For example, ‘Application complete’.
If you can, use shorter words instead of longer ones. Shorter words are less likely to wrap around the panel, which can happen when users on mobile zoom in.
If you need to give detailed information, or more context, use the description text under the heading text.
Help improve this component
To help make sure that this page is useful, relevant and up to date, you can: