Skip to content

Commit

Permalink
Migrate to Sass modules
Browse files Browse the repository at this point in the history
  • Loading branch information
colinrotherham committed Feb 20, 2025
1 parent cbcf74b commit 7db8e5d
Show file tree
Hide file tree
Showing 76 changed files with 443 additions and 135 deletions.
8 changes: 5 additions & 3 deletions docs/contributing/coding-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,12 @@ Create separate selectors rather using an `&` in the middle of a selector.
This enables the NHSUK styles to be used inside other applications, where, for example, an ID is being used to isolate a section of a page to style separately from the rest of an application; e.g.

```scss
@use "sass:meta";

div#nhsuk-ers {
// ...
@import "node_modules/nhsuk-frontend/packages/core/all";
// ...
// ...
@include meta.load-css("node_modules/nhsuk-frontend/packages/core/all");
// ...
}
```

Expand Down
18 changes: 13 additions & 5 deletions docs/installation/installing-with-npm.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,28 @@ You will need to import a couple of things into your project before you can star

To build the stylesheet you will need a pipeline set up to compile [Sass](https://sass-lang.com/) files to CSS. We recommend using [gulp](https://gulpjs.com/) and [gulp-sass](https://www.npmjs.com/package/gulp-sass) however you can use any tools that you are familiar with.

You need to import the NHS.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).
You need to include the NHS.UK frontend styles into the main Sass file in your project. You should place the below code before your own Sass rules (or Sass `@use`).

```scss
@import "node_modules/nhsuk-frontend/packages/nhsuk";
@use "node_modules/nhsuk-frontend/packages/nhsuk" as *;
```

Alternatively you can import each of the individual components separately, meaning you can import just the components that you are using.
Alternatively you can use NHS.UK frontend styles with custom configuration:

```scss
@use "node_modules/nhsuk-frontend/packages/nhsuk" as * with (
$nhsuk-include-font-face: false
);
```

Or to use only the minimum components necessary:

```scss
// Core (required)
@import "node_modules/nhsuk-frontend/packages/core/all";
@use "node_modules/nhsuk-frontend/packages/core/all" as *;

// Individual component (optional)
@import "node_modules/nhsuk-frontend/packages/components/action-link/action-link";
@use "node_modules/nhsuk-frontend/packages/components/action-link/action-link" as *;
```

## Importing JavaScript
Expand Down
8 changes: 8 additions & 0 deletions packages/components/action-link/_action-link.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/typography" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Action link component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/back-link/_back-link.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/links" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Back link component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/breadcrumb/_breadcrumb.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Breadcrumb component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/button/_button.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Button component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/card/card.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Card component
///
Expand Down
2 changes: 2 additions & 0 deletions packages/components/character-count/_character-count.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@use "../../core/tools/spacing" as *;

.nhsuk-character-count {
@include nhsuk-responsive-margin(6, "bottom");

Expand Down
6 changes: 6 additions & 0 deletions packages/components/checkboxes/_checkboxes.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Checkboxes component
///
Expand Down
5 changes: 5 additions & 0 deletions packages/components/contents-list/_contents-list.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
@use "../../core/settings/typography" as *;
@use "../../core/tools/functions" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;

////
/// Contents list component
///
Expand Down
3 changes: 3 additions & 0 deletions packages/components/date-input/_date-input.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
@use "../../core/tools/mixins" as *;
@use "../../core/tools/spacing" as *;

////
/// Date input component
///
Expand Down
9 changes: 9 additions & 0 deletions packages/components/details/_details.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/shape-arrow" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Details component
///
Expand Down
3 changes: 3 additions & 0 deletions packages/components/do-dont-list/_do-dont-list.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/mixins" as *;

////
/// Do and Don't list component
///
Expand Down
4 changes: 4 additions & 0 deletions packages/components/error-message/_error-message.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Error message component
///
Expand Down
7 changes: 7 additions & 0 deletions packages/components/error-summary/_error-summary.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Error summary component
///
Expand Down
5 changes: 5 additions & 0 deletions packages/components/fieldset/_fieldset.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Fieldset component
///
Expand Down
9 changes: 7 additions & 2 deletions packages/components/footer/_footer.scss
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
@use "sass:math";
@use "../../core/settings/colours" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Footer component
///
/// @group components
////

@use "sass:math";

.nhsuk-footer-container {
@include clearfix;
@include print-hide;
Expand Down
6 changes: 6 additions & 0 deletions packages/components/header/_header-organisation.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;

/// These are the styles for the organisation header variants.

.nhsuk-header--organisation {
Expand Down
6 changes: 6 additions & 0 deletions packages/components/header/_header-service.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

/// These are the styles for the service header variants.

.nhsuk-header__link--service {
Expand Down
6 changes: 6 additions & 0 deletions packages/components/header/_header-transactional.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/tools/links" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

/// These are the styles for the transactional header variants.

.nhsuk-header__transactional-service-name {
Expand Down
5 changes: 5 additions & 0 deletions packages/components/header/_header-white.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;

/// These are the styles for the white header variants.

.nhsuk-header--white {
Expand Down
10 changes: 10 additions & 0 deletions packages/components/header/_header.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
@use "../../core/objects/width-container" as *;
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/links" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Header component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/hero/_hero.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;

////
/// Hero component shared styles
///
Expand Down
4 changes: 4 additions & 0 deletions packages/components/hint/_hint.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Hint component
///
Expand Down
8 changes: 6 additions & 2 deletions packages/components/images/_images.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "sass:math";
@use "../../core/settings/colours" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Image component
///
Expand All @@ -9,8 +15,6 @@
/// @group components
////

@use "sass:math";

.nhsuk-image {
background-color: $color_nhsuk-white;
border-bottom: 1px solid $color_nhsuk-grey-4;
Expand Down
8 changes: 8 additions & 0 deletions packages/components/input/_input.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/functions" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Input component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/inset-text/_inset-text.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;

////
/// Inset text component
///
Expand Down
4 changes: 4 additions & 0 deletions packages/components/label/_label.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
@use "../../core/settings/typography" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Label component
///
Expand Down
7 changes: 7 additions & 0 deletions packages/components/pagination/_pagination.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Pagination component
///
Expand Down
7 changes: 7 additions & 0 deletions packages/components/panel/_panel.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
@use "../../core/settings/colours" as *;
// @use "../../core/tools/focused" as *;
// @use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Panel component
///
Expand Down
9 changes: 9 additions & 0 deletions packages/components/radios/_radios.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;
@use "../checkboxes/checkboxes" as *;

////
/// Radios component
///
Expand Down
6 changes: 6 additions & 0 deletions packages/components/select/_select.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/globals" as *;
@use "../../core/tools/focused" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Select component
///
Expand Down
3 changes: 3 additions & 0 deletions packages/components/skip-link/_skip-link.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/spacing" as *;

////
/// Skip link component
///
Expand Down
5 changes: 5 additions & 0 deletions packages/components/summary-list/_summary-list.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
@use "../../core/settings/colours" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Summary list component
///
Expand Down
7 changes: 7 additions & 0 deletions packages/components/tables/_tables.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
@use "../../core/settings/colours" as *;
@use "../../core/settings/typography" as *;
@use "../../core/tools/mixins" as *;
@use "../../core/tools/sass-mq" as *;
@use "../../core/tools/spacing" as *;
@use "../../core/tools/typography" as *;

////
/// Table component
///
Expand Down
Loading

0 comments on commit 7db8e5d

Please sign in to comment.