Update guides
-
Updating to version 10
In August 2025, we released version 10 of the design system and NHS.UK frontend library with new features, updates and bug fixes.
This release introduces a number of breaking changes.
Follow this guide carefully when applying updates to make sure your service does not break.
Learn more about the NHS.UK frontend library.
If you are using a build of the design system in another language or framework, for example React or a Wordpress theme, you may need the maintainer of that tool to follow these updates to support version 10 before you can upgrade.
Stylesheets
The file structure for the stylesheets has changed. You will have to make different updates depending on whether you are compiling the Sass or using the precompiled CSS files.
Sass
If you are compiling the Sass files, you must add node_modules
to load paths, by either:
- calling the Sass compiler from the command line with the
--load-path node_modules
flag - using the JavaScript API with
loadPaths: ['node_modules']
in theoptions
object
Replace packages
with dist/nhsuk
for any @forward
, @use
or @import
paths in your Sass files, making sure to remove the unnecessary node_modules/
prefix:
- @import "node_modules/nhsuk-frontend/packages/nhsuk";
+ @import "nhsuk-frontend/dist/nhsuk";
Precompiled stylesheets
If you are using the precompiled file in the npm package at node_modules/nhsuk-frontend/dist/nhsuk/nhsuk-frontend.min.css
, update this path to node_modules/nhsuk-frontend/dist/nhsuk.min.css
If you are using the precompiled file from the GitHub release zip file at css/nhsuk-<VERSION-NUMBER>.min.css
, update this path to nhsuk-frontend-<VERSION-NUMBER>.min.css
.
JavaScript
The file structure for the JavaScript has changed. You will have to make different updates depending on whether you are using a bundler or the precompiled JavaScript.
Using a JavaScript bundler
For JavaScript imported using a bundler, consolidate all import
or require()
calls to nhsuk-frontend/packages/components/*
into a single statement:
- import initButtons from 'nhsuk-frontend/packages/components/button/button.js'
- import initCheckboxes from 'nhsuk-frontend/packages/components/checkboxes/checkboxes.js'
+ import { initButtons, initCheckboxes } from 'nhsuk-frontend'
Make sure component initialisation functions match the named exports:
import { initButtons, initCheckboxes } from 'nhsuk-frontend'
// Initialise all button components
initButtons();
// Initialise all checkboxes components
initCheckboxes();
Or alternatively, you can initialise individual component classes:
import { Button, Checkboxes } from 'nhsuk-frontend';
const $button = document.querySelector('.app-button')
const $checkboxes = document.querySelector('.app-checkboxes')
// Initialise single button component
new Button($button);
// Initialise single checkboxes component
new Checkboxes($checkboxes);
Using precompiled JavaScript
For precompiled JavaScript, note the following path changes:
If you are using the precompiled file in the npm package at node_modules/nhsuk-frontend/dist/nhsuk/nhsuk-frontend.min.js
, update this path to node_modules/nhsuk-frontend/dist/nhsuk.min.js
If you are using the precompiled file from the GitHub release zip file at css/nhsuk-<VERSION-NUMBER>.min.js
, update this path to nhsuk-frontend-<VERSION-NUMBER>.min.js
.
Static assets
The location of the folder containing static assets such as logos, icons and other images has changed.
Replace packages/
with dist/nhsuk
when copying or serving NHS.UK frontend logos, icons and other assets:
- node_modules/nhsuk-frontend/packages/assets
+ node_modules/nhsuk-frontend/dist/nhsuk/assets
For example, if you're using Express.js, request routing could be set up as follows:
router.use('/assets', [
express.static('node_modules/nhsuk-frontend/dist/nhsuk/assets')
])
Nunjucks
If you are using the Nunjucks macros, update the list of paths in nunjucks.configure()
:
nunjucks.configure([
- 'node_modules/nhsuk-frontend/packages/components',
- 'node_modules/nhsuk-frontend/packages/macros'
+ 'node_modules/nhsuk-frontend/dist/nhsuk/components',
+ 'node_modules/nhsuk-frontend/dist/nhsuk/macros',
+ 'node_modules/nhsuk-frontend/dist/nhsuk',
+ 'node_modules/nhsuk-frontend/dist'
])
Page template
We have made several updates to the page template.
Update the JavaScript supported script snippet
The <script>
snippet at the top of the <body>
tag to check whether JavaScript is supported has been updated.
Change this:
<script>document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
to this:
<script>document.body.className += ' js-enabled' + ('noModule' in HTMLScriptElement.prototype ? ' nhsuk-frontend-supported' : '');</script>
If you are using the Nunjucks page template included within NHS frontend, you do not need to make this change.
Update the main script tag
The main <script>
tag for the JavaScript has been updated and moved.
You need to:
- move it from within the
<head>
element to just before the closing</body>
tag - remove the
defer
boolean attribute - add the
type="module"
attribute - add a second
<script>
tag to import and initialise the components
Before:
<script src="/javascripts/nhsuk-frontend.min.js" defer></script>
</head>
After:
<script type="module" src="/javascripts/nhsuk-frontend.min.js"></script>
<script type="module">
import { initAll } from '/javascripts/nhsuk-frontend.min.js'
initAll()
</script>
</body>
If you are using the Nunjucks page template included within NHS frontend, the code should moved from the head
block to the bodyEnd
block.
Remove the X-UA-Compatible meta tag
Remove the <meta http-equiv="X-UA-Compatible" content="IE=edge">
tag.
Internet Explorer versions 8, 9 and 10 included a feature that would try to determine if the page was built for an older version of IE and silently enable compatibility mode, modifying the rendering engine's behaviour to match the older version of IE. Setting this meta tag prevented that behaviour.
IE11 deprecated this meta tag and defaulted to always using IE11's renderer when the page has a HTML5 doctype (<!DOCTYPE html>
).
As NHS.UK frontend no longer supports Internet Explorer versions older than 11, this meta tag should now be removed.
If you are using the Nunjucks page template included within NHS frontend, you do not need to make this change.
Update the viewport meta tag
Update the viewport meta tag by changing shrink-to-fit=no
to viewport-fit=cover
:
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
This is to better accommodate mobile devices with camera notches.
If you are using the Nunjucks page template included within NHS frontend, you do not need to make this change.
Update the favicons, app icons and Open Graph image tags
We've changed the names, formats and sizes of icon assets we distribute in NHS.UK frontend.
Update the list of icons in the template's head with the following:
<link rel="icon" href="/assets/images/favicon.ico" sizes="48x48">
<link rel="icon" href="/assets/images/favicon.svg" sizes="any" type="image/svg+xml">
<link rel="mask-icon" href="/assets/images/nhsuk-icon-mask.svg" color="#005eb8">
<link rel="apple-touch-icon" href="/assets/images/nhsuk-icon-180.png">
<link rel="manifest" href="/assets/manifest.json">
You will need to update the /assets/images/
file path if you copy the assets to a different location.
If you are using the Nunjucks page template included within NHS frontend, you do not need to make this change.
Components
The generated HTML and Nunjucks params for some of the components has changed.
Header
The generated HTML and Nunjucks macro options for the Header component has been completely refactored and changed.
Update the HTML generated for your header using the examples on Header page.
If you are using the header Nunjucks macro, then make these changes instead:
- rename the
transactionalService
option to the newservice
option, and remove the booleantransactional
option - replace the
primaryLinks
option with the nestednavigation.items
option, usingtext
andhref
instead oflabel
andurl
- replace the
searchAction
option with the nestedsearch.action
option - replace the
searchInputName
option with the nestedsearch.name
option - remove the boolean
showNav
andshowSearch
options - the respective parts of the header are now shown automatically whennavigation.items
orsearch
options are provided
Header modifier classes
If you are using the nhsuk-header--white-nav
class to have a white background on the navigation bar, update this to nhsuk-header__navigation--white
.
If you are using the nhsuk-header__navigation-list--left-aligned
class, remove this as navigation items are now aligned left by default.
To restore the previous justified alignment, where navigation items appeared evenly spaced out, add the new nhsuk-header__navigation--justified
modifier class.
Footer
The footer component's Nunjucks macros and HTML have been updated for better consistency and flexibility.
See the examples on the footer page for the updated HTML.
If you are using the Nunjucks macro, make these changes instead:
- replace the
links
option with the nestednavigation.items
option - replace the
metaLinks
option with the nestedmeta.items
option - update all items to rename
label
totext
andURL
tohref
If you are using additional columns with the linksColumn2
and linksColumn3
options, update this to wrap the navigation
object in an array to support multiple columns.
Action link
The HTML for the action link has been updated.
You need to:
- remove the wrapper element
<div class="nhsuk-action-link"> </div>
- rename the action link
<a class="nhsuk-action-link__link"
class attribute to<a class="nhsuk-action-link"
- update the SVG of the embedded icon
Before:
<div class="nhsuk-action-link">
<a class="nhsuk-action-link__link href="#">
<svg class="nhsuk-icon nhsuk-icon__arrow-right-circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="36" height="36">
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 2a10 10 0 0 0-9.95 9h11.64L9.74 7.05a1 1 0 0 1 1.41-1.41l5.66 5.65a1 1 0 0 1 0 1.42l-5.66 5.65a1 1 0 0 1-1.41 0 1 1 0 0 1 0-1.41L13.69 13H2.05A10 10 0 1 0 12 2z"></path>
</svg>
<span class="nhsuk-action-link__text">Find your nearest A&E</span>
</a>
</div>
After:
<a class="nhsuk-action-link href="#">
<svg class="nhsuk-icon nhsuk-icon--arrow-right-circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
<path d="M12 2a10 10 0 0 0-10 9h11.7l-4-4a1 1 0 0 1 1.5-1.4l5.6 5.7a1 1 0 0 1 0 1.4l-5.6 5.7a1 1 0 0 1-1.5 0 1 1 0 0 1 0-1.4l4-4H2A10 10 0 1 0 12 2z"/>
</svg>
<span class="nhsuk-action-link__text">Find your nearest A&E</span>
</a>
You do not need to do anything if you're using Nunjucks macros.
Back link
For consistency with other links, we've added an underline to the back link component. We've also changed the default text from "Go back" to "Back" in all examples.
The HTML has been updated to no longer have a wrapper element or an embedded SVG icon.
You need to make these changes:
- <div class="nhsuk-back-link"> <a class="nhsuk-back-link__link" href="#">
- <svg class="nhsuk-icon nhsuk-icon__chevron-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" height="24" width="24">
- <path d="M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z"></path>
- </svg>
- Back</a>
- </div>
+ <a class="nhsuk-back-link" href="#">Back</a>
You do not need to do anything if you're using Nunjucks macros.
Breadcrumbs
The HTML for the breadcrumbs component has been updated.
You need to:
- update the
nhsuk-breadcrumb__item
class tonhsuk-breadcrumb__list-item
- update the back link within the breadcrumb by removing the
<p class="nhsuk-breadcrumb__back">
and replacing it with the HTML used for the regular back link
See changes:
<nav class="nhsuk-breadcrumb" aria-label="Breadcrumb">
<ol class="nhsuk-breadcrumb__list">
- <li class="nhsuk-breadcrumb__item">
+ <li class="nhsuk-breadcrumb__list-item">
<a class="nhsuk-breadcrumb__link" href="#">Level one</a>
</li>
- <li class="nhsuk-breadcrumb__item">
+ <li class="nhsuk-breadcrumb__list-item">
<a class="nhsuk-breadcrumb__link" href="#">Level two</a>
</li>
- <li class="nhsuk-breadcrumb__item">
+ <li class="nhsuk-breadcrumb__list-item">
<a class="nhsuk-breadcrumb__link" href="#">Level three</a>
</li>
</ol>
- <p class="nhsuk-breadcrumb__back">
- <a class="nhsuk-breadcrumb__backlink" href="#">
- <span class="nhsuk-u-visually-hidden">Back to </span>
- Level three
- </a>
- </p>
+ <a class="nhsuk-back-link" href="#">
+ <span class="nhsuk-u-visually-hidden">Back to </span>
+ Level three
+ </a>
</nav>
You do not need to do anything if you're using Nunjucks macros.
Details
The details component no longer uses JavaScript, and is no longer polyfilled in older browsers. If you have extended browser support requirements, check that the details component works as expected in older browsers.
There are no changes to the HTML.
If you are using the Nunjucks macro, you need to rename the text
param to summaryText
.
You can also rename the html
option to text
if there is no HTML markup within your content.
Make sure you are using the lowercase html
option, as the the uppercase HTML
option has been removed.
Do and don't lists
The SVG icons within the Do and don't lists have been updated.
Update the tick icon like this:
- <svg class="nhsuk-icon nhsuk-icon__tick" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" aria-hidden="true" width="34" height="34">
- <path stroke-width="4" stroke-linecap="round" d="M18.4 7.8l-8.5 8.4L5.6 12" stroke="#007f3b"></path>
- </svg>
+ <svg class="nhsuk-icon nhsuk-icon--tick" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
+ <path d="M11.4 18.8a2 2 0 0 1-2.7.1h-.1L4 14.1a1.5 1.5 0 0 1 2.1-2L10 16l8.1-8.1a1.5 1.5 0 1 1 2.2 2l-8.9 9Z"/>
+ </svg>
Update the cross icon like this:
- <svg class="nhsuk-icon nhsuk-icon__cross" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
- <path d="M17 18.5c-.4 0-.8-.1-1.1-.4l-10-10c-.6-.6-.6-1.6 0-2.1.6-.6 1.5-.6 2.1 0l10 10c.6.6.6 1.5 0 2.1-.3.3-.6.4-1 .4z" fill="#d5281b"</path>
- <path d="M7 18.5c-.4 0-.8-.1-1.1-.4-.6-.6-.6-1.5 0-2.1l10-10c.6-.6 1.5-.6 2.1 0 .6.6.6 1.5 0 2.1l-10 10c-.3.3-.6.4-1 .4z" fill="#d5281b"</path>
- </svg>
+ <svg class="nhsuk-icon nhsuk-icon--cross" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
+ <path d="M17 18.5c-.4 0-.8-.1-1.1-.4l-10-10c-.6-.6-.6-1.6 0-2.1.6-.6 1.5-.6 2.1 0l10 10c.6.6.6 1.5 0 2.1-.3.3-.6.4-1 .4z M7 18.5c-.4 0-.8-.1-1.1-.4-.6-.6-.6-1.5 0-2.1l10-10c.6-.6 1.5-.6 2.1 0 .6.6.6 1.5 0 2.1l-10 10c-.3.3-.6.4-1 .4z"/>
+ </svg>
You do not neet to make any changes if you are using the Nunjucks macro.
Pagination
The SVG icons within the pagination component have been updated.
Update the left arrow icon like this:
- <svg class="nhsuk-icon nhsuk-icon__arrow-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
- <path d="M4.1 12.3l2.7 3c.2.2.5.2.7 0 .1-.1.1-.2.1-.3v-2h11c.6 0 1-.4 1-1s-.4-1-1-1h-11V9c0-.2-.1-.4-.3-.5h-.2c-.1 0-.3.1-.4.2l-2.7 3c0 .2 0 .4.1.6z"></path>
- </svg>
+ <svg class="nhsuk-icon nhsuk-icon--arrow-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
+ <path d="M10.7 6.3c.4.4.4 1 0 1.4L7.4 11H19a1 1 0 0 1 0 2H7.4l3.3 3.3c.4.4.4 1 0 1.4a1 1 0 0 1-1.4 0l-5-5A1 1 0 0 1 4 12c0-.3.1-.5.3-.7l5-5a1 1 0 0 1 1.4 0Z"/>
+ </svg>
Update the right arrow icon like this:
- <svg class="nhsuk-icon nhsuk-icon__arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
- <path d="M19.6 11.66l-2.73-3A.51.51 0 0 0 16 9v2H5a1 1 0 0 0 0 2h11v2a.5.5 0 0 0 .32.46.39.39 0 0 0 .18 0 .52.52 0 0 0 .37-.16l2.73-3a.5.5 0 0 0 0-.64z"></path>
- </svg>
+ <svg class="nhsuk-icon nhsuk-icon--arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
+ <path d="m14.7 6.3 5 5c.2.2.3.4.3.7 0 .3-.1.5-.3.7l-5 5a1 1 0 0 1-1.4-1.4l3.3-3.3H5a1 1 0 0 1 0-2h11.6l-3.3-3.3a1 1 0 1 1 1.4-1.4Z"/>
+ </svg>
You do not neet to make any changes if you are using the Nunjucks macro.
Card
The SVG arrow icon in the card component has been updated.
Update the icon like this:
- <svg class="nhsuk-icon" xmlns="http://www.w3.org/2000/svg" width="27" height="27" aria-hidden="true" focusable="false">
- <circle cx="13.333" cy="13.333" r="13.333" fill="" />
- <g fill="none" stroke="#fff" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2.667">
- <path d="M15.438 13l-3.771 3.771" />
- <path d="M11.667 9.229L15.438 13" />
- </g>
- </svg>
+ <svg class="nhsuk-icon nhsuk-icon--chevron-right-circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" focusable="false" aria-hidden="true">
+ <path d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm-.3 5.8a1 1 0 1 0-1.5 1.4l2.9 2.8-2.9 2.8a1 1 0 0 0 1.5 1.4l3.5-3.5c.4-.4.4-1 0-1.4Z"></path>
+ </svg>
If you are using the Nunjucks macro, make sure you are using the lowercase html
option, as the the uppercase HTML
option has been removed.
Buttons
All buttons are now displayed at full width on mobile. Check that it does not break any of your layouts.
We've removed support for the nhsuk-button--disabled
class. If you are using this, remove it and use the disabled
attribute to mark the button as disabled instead.
Buttons and links can now be grouped together so that they appear side-by-side on tablet and desktop by using a <div class="nhsuk-button-group"> </div>
container. If you are currently doing this using custom CSS code, you can remove that code and use the class provided.
Inset text
There are no changes to the HTML.
If you are using the Nunjucks macro for inset text, make sure you are using the lowercase html
option, as the the uppercase HTML
option has been removed.
Warning callout
There are no changes to the HTML.
If you are using the Nunjucks macro for warning callout, make sure you are using the lowercase html
option, as the the uppercase HTML
option has been removed.
Tabs
There are no changes to the HTML or Nunjucks for tabs.
The tabs component no longer triggers the tab.show
and tab.hide
custom JavaScript events. Get in touch if you need to continue using these events.
Checkboxes
The HTML has been updated to add a missing data-module
attribute:
- <div class="nhsuk-checkboxes">
+ <div class="nhsuk-checkboxes" data-module="nhsuk-checkboxes">
If you are using the Nunjucks macro, the first checkbox input's id
attribute no longer has the suffix -1
. You will need to update any links to the first checkbox input from error summary components to remove this suffix.
Radios
The HTML has been updated to add a missing data-module
attribute:
- <div class="nhsuk-radios">
+ <div class="nhsuk-radios" data-module="nhsuk-radios">
If you are using the Nunjucks macro, the first radio input's id
attribute no longer has the suffix -1
. You will need to update any links to the first radio input from error summary components to remove this suffix.
Skip link
The HTML has been updated to add a missing data-module
attribute:
- <div class="nhsuk-skip-link">
+ <div class="nhsuk-skip-link" data-module="nhsuk-skip-link">
Notification banners
A notification banner component has been added.
If you have created your own custom notification banner component, you can replace this with the newly added one.
Sass functions
If you make use of the Sass functions, variables or mixins for your own custom CSS, you may need to make some changes.
Tinted and shaded colours
Sass colour tint and shade variables (e.g. $color_tint_nhsuk-black-10
) have been removed but are available using the nhsuk-tint
and nhsuk-shade
functions:
Before: Colour variable | After: Suggested replacement |
---|---|
$color_tint_nhsuk-black-10 | nhsuk-tint(nhsuk-colour("black"), 10%) |
$color_shade_nhsuk-blue-20 | nhsuk-shade(nhsuk-colour("blue"), 20%) |
$color_shade_nhsuk-blue-35 | nhsuk-shade(nhsuk-colour("blue"), 35%) |
$color_shade_nhsuk-blue-50 | nhsuk-shade(nhsuk-colour("blue"), 50%) |
$color_shade_nhsuk-green-35 | nhsuk-shade(nhsuk-colour("green"), 35%) |
$color_shade_nhsuk-green-50 | nhsuk-shade(nhsuk-colour("green"), 50%) |
NHS colour function added
The Sass colour palette variables (e.g. $color_nhsuk-blue
) have been moved into a new single $nhsuk-colours
map.
If you need to reference a colour within your application you should use the new nhsuk-colour
function:
.nhsuk-example {
- color: $color_nhsuk-blue;
+ color: nhsuk-colour("blue");
}
The existing colour variables will continue to work but are deprecated and will be removed in a future release.
Typography scale point 24 removed
The point 24 (24px large screens, 20px small screens) on the typography scale has been removed, after previously being deprecated in version 9.5.0.
Use either point 22 or point 26 instead.
Main wrapper mixins removed
We've removed the govuk-main-wrapper()
, govuk-main-wrapper--l()
and govuk-main-wrapper--s()
Sass mixins, after previously being deprecated in version 9.5.0.
Remove any use of these mixins and replace them with the .nhsuk-main-wrapper
, .nhsuk-main-wrapper--l
and .nhsuk-main-wrapper--s
classes in your HTML instead.
Class param removed from grid column mixin
If you're using the nhsuk-grid-column()
Sass mixin to create custom grid classes, you must remove the $class
parameter:
.app-grid-column-one-quarter-at-desktop {
- @include nhsuk-grid-column(one-quarter, $at: desktop, $class: false);
+ @include nhsuk-grid-column(one-quarter, $at: desktop);
}
Prefix added to mixins and functions
Sass mixins have been updated to all have an nhsuk-
prefix. If you are using any of these in your code, update the names of the functions as follows:
govuk-exports
updated tonhsuk-exports
govuk-grid-column
updated tonhsuk-grid-column
govuk-shape-arrow
updated tonhsuk-shape-arrow
govuk-width-container
updated tonhsuk-width-container
grid-width
updated tonhsuk-grid-width
tint
updated tonhsuk-tint
shade
updated tonhsuk-shade
Color spelling updated to colour
All Sass variables and mixins have been updated to use "colour" (not "color") spelling.
For example:
$nhsuk-link-color
renamed to$nhsuk-link-colour
$nhsuk-link-hover-color
renamed to$nhsuk-link-hover-colour
$nhsuk-link-active-color
renamed to$nhsuk-link-active-colour
$nhsuk-link-visited-color
renamed to$nhsuk-link-visited-colour
nhsuk-print-color()
renamed tonhsuk-print-colour()
nhsuk-text-color()
renamed tonhsuk-text-colour()
You can still use the previous names but they are deprecated and will be removed in a future breaking release.
Grid row mixin removed
The govuk-grid-row
mixin has been removed. If you are using this, update your code to use the .nhsuk-grid-row
class in your HTML instead.
Iff function removed
The iff
function has been removed. If you are using this, update your code to use the Sass if
function instead.
Updated: August 2025