Components

Details

Make a page easier to scan by letting users reveal more detailed information only if they need it.

Help with organisation
We need to know the organisation you work for so we can forward your request to the correct team.
<details class="govuk-details">
<summary class="govuk-details__summary">
<span class="govuk-details__summary-text"> Help with organisation </span>
</summary>
<div class="govuk-details__text">
We need to know the organisation you work for so we can forward your request
to the correct team.
</div>
</details>
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
summaryText string Required.

If summmaryHtml is set, this is not required. Text to use within the summary element (the visible part of the details element). If summaryHtml is provided, the summaryText option will be ignored.

summaryHtml string Required.

If summmaryText is set, this is not required. HTML to use within the summary element (the visible part of the details element). If summaryHtml is provided, the summaryText option will be ignored.

text string Required.

If html is set, this is not required. Text to use within the disclosed part of the details element. If html is provided, the text option will be ignored.

html string Required.

If text is set, this is not required. HTML to use within the disclosed part of the details element. If html is provided, the text option will be ignored.

caller 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 details component in a call block.

id string

ID to add to the details element.

open boolean

If true, details element will be expanded.

classes string

Classes to add to the <details> element.

attributes object

HTML attributes (for example data attributes) to add to the <details> element.

{% from "moduk/components/details/macro.njk" import modukDetails -%}

{{ modukDetails({
summaryText: "Help with organisation",
text: "We need to know the organisation you work for so we can forward your request to the correct team."
}) -}}

See GOV.UK details component guidance for:

  • when to use this component
  • when not to use it
  • how it works

Changes from the GOV.UK version

MOD.UK Design System components are closely based on GOV.UK Design System components.

For this component we’ve changed the font.

Have you tested this component?

Let us know how we could improve this component or share your user research findings.

Email the MOD.UK Design System team at design-system@digital.mod.uk

Need help?

Email the MOD.UK Design System team at design-system@digital.mod.uk if you have questions or feedback.