Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
govuk-frontend
Advanced tools
GOV.UK Frontend contains the code you need to start building a user interface for government platforms and services.
The govuk-frontend npm package provides a set of reusable, accessible components and styles for building user interfaces that align with the UK Government Digital Service (GDS) design principles. It is designed to help developers create consistent, user-friendly, and accessible web applications and services.
Typography
GOV.UK Frontend provides a set of typography styles that ensure text is readable and accessible. The 'govuk-body' class is used to style paragraphs according to GDS standards.
<p class="govuk-body">This is a paragraph with GOV.UK Frontend styling.</p>
Buttons
GOV.UK Frontend includes styles for buttons that make them visually consistent and accessible. The 'govuk-button' class is used to style buttons.
<button class="govuk-button">Submit</button>
Forms
GOV.UK Frontend provides styles and components for creating accessible forms. The 'govuk-form-group', 'govuk-label', and 'govuk-input' classes are used to style form elements.
<form><div class="govuk-form-group"><label class="govuk-label" for="input-id">Label text</label><input class="govuk-input" id="input-id" name="input-name" type="text"></div></form>
Navigation
GOV.UK Frontend includes styles for navigation elements to ensure they are accessible and consistent. The 'govuk-nav', 'govuk-nav__list', 'govuk-nav__item', and 'govuk-nav__link' classes are used to style navigation menus.
<nav class="govuk-nav"><ul class="govuk-nav__list"><li class="govuk-nav__item"><a class="govuk-nav__link" href="#">Home</a></li><li class="govuk-nav__item"><a class="govuk-nav__link" href="#">About</a></li></ul></nav>
Notifications
GOV.UK Frontend provides components for displaying notifications and alerts. The 'govuk-notification-banner', 'govuk-notification-banner__header', 'govuk-notification-banner__title', and 'govuk-notification-banner__content' classes are used to style notification banners.
<div class="govuk-notification-banner"><div class="govuk-notification-banner__header"><h2 class="govuk-notification-banner__title">Important</h2></div><div class="govuk-notification-banner__content"><p class="govuk-notification-banner__heading">This is a notification message.</p></div></div>
Bootstrap is a popular front-end framework for developing responsive and mobile-first websites. It provides a wide range of components and utilities similar to GOV.UK Frontend but is more general-purpose and not specifically tailored to government services.
Foundation is another front-end framework that offers a variety of responsive components and styles. Like Bootstrap, it is a general-purpose framework and does not specifically adhere to government design principles.
The U.S. Web Design System (USWDS) provides a set of design guidelines and components for building accessible and consistent government websites in the United States. It is similar to GOV.UK Frontend but tailored to U.S. government standards.
GOV.UK Frontend contains the code you need to start building a user interface for government platforms and services.
See live examples of GOV.UK Frontend components, and guidance on when to use them in your service, in the GOV.UK Design System.
GOV.UK Frontend is maintained by a team at Government Digital Service. If you want to know more about GOV.UK Frontend, please email the Design System team or get in touch with them on Slack.
There are 2 ways to start using GOV.UK Frontend in your app.
Once installed, you will be able to use the code from the examples in the GOV.UK Design System in your service.
We recommend installing GOV.UK Frontend using node package manager (npm).
You can also download the compiled and minified assets (CSS, JavaScript) from GitHub.
You need to import the GOV.UK Frontend styles into the main Sass file in your project. You should place the below code before your own Sass rules (or Sass imports) if you want to override GOV.UK Frontend with your own styles.
To import add the below to your Sass file:
@import "node_modules/govuk-frontend/dist/govuk/all";
More details on importing styles
Some of the JavaScript included in GOV.UK Frontend improves the usability and accessibility of the components. You should make sure that you are importing and initialising JavaScript in your application. This will ensure all users can use it successfully.
You can include JavaScript for all components by copying both govuk-frontend.min.js
and govuk-frontend.min.js.map
from node_modules/govuk-frontend/dist/govuk/
into your application and referencing the JavaScript directly:
<script type="module" src="{path-to-javascript}/govuk-frontend.min.js"></script>
Next you need to import and initialise GOV.UK Frontend by adding:
<script type="module">
import { initAll } from '{path-to-javascript}/govuk-frontend.min.js'
initAll()
</script>
More details on importing JavaScript and advanced options
In order to import GOV.UK Frontend images and fonts to your project, you should configure your application to reference or copy the relevant GOV.UK Frontend assets.
More details on importing assets
To be notified when there’s a new release, you can either:
Find out how to update with npm.
Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation. The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.
If you want to help us build GOV.UK Frontend, view our contribution guidelines.
FAQs
GOV.UK Frontend contains the code you need to start building a user interface for government platforms and services.
We found that govuk-frontend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.