@newjersey/njwds 2.8.0 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.nvmrc +1 -1
  2. package/README.md +10 -0
  3. package/dist/css/button.css +1 -1
  4. package/dist/css/button.css.map +1 -1
  5. package/dist/css/icon.css +1 -1
  6. package/dist/css/icon.css.map +1 -1
  7. package/dist/css/styles.css +2 -2
  8. package/dist/css/styles.css.map +1 -1
  9. package/gulpfile.js +20 -26
  10. package/package.json +42 -5
  11. package/src/components/02-buttons/buttons.njk +4 -4
  12. package/src/components/banner/banner.config.yml +2 -2
  13. package/src/components/identifier/identifier.njk +2 -2
  14. package/src/data/matched-colors.json +2 -1
  15. package/src/sass/_uswds-theme-custom-styles.scss +12 -324
  16. package/src/sass/_uswds-theme.scss +2 -2
  17. package/src/sass/button.scss +3 -68
  18. package/src/sass/icon.scss +2 -69
  19. package/src/sass/styles.scss +1 -65
  20. package/src/sass/theme/nj-banner/index.scss +1 -0
  21. package/src/sass/theme/nj-banner/nj-banner.scss +57 -0
  22. package/src/sass/theme/nj-button/index.scss +6 -0
  23. package/src/sass/theme/nj-button/nj-button-icon.scss +12 -0
  24. package/src/sass/theme/nj-button/nj-button-outline.scss +55 -0
  25. package/src/sass/theme/nj-button/nj-button-primary.scss +22 -0
  26. package/src/sass/theme/nj-button/nj-button-secondary.scss +15 -0
  27. package/src/sass/theme/nj-button/nj-button-unstyled.scss +48 -0
  28. package/src/sass/theme/nj-button/nj-button.scss +12 -0
  29. package/src/sass/theme/nj-error-message/index.scss +1 -0
  30. package/src/sass/theme/nj-error-message/nj-error-message.scss +19 -0
  31. package/src/sass/theme/nj-forms/index.scss +1 -0
  32. package/src/sass/theme/nj-forms/nj-forms.scss +39 -0
  33. package/src/sass/theme/nj-header/index.scss +1 -0
  34. package/src/sass/theme/nj-header/nj-header.scss +8 -0
  35. package/src/sass/theme/nj-hero/index.scss +1 -0
  36. package/src/sass/theme/nj-hero/nj-hero.scss +6 -0
  37. package/src/sass/theme/nj-icon/index.scss +1 -0
  38. package/src/sass/theme/nj-icon/nj-icon.scss +21 -0
  39. package/src/sass/theme/nj-intro/index.scss +1 -0
  40. package/src/sass/theme/nj-intro/nj-intro.scss +5 -0
  41. package/src/sass/theme/nj-nav/index.scss +1 -0
  42. package/src/sass/theme/nj-nav/nj-nav.scss +7 -0
  43. package/src/sass/theme/nj-prose/index.scss +1 -0
  44. package/src/sass/theme/nj-prose/nj-prose.scss +14 -0
  45. package/src/sass/theme/nj-section/index.scss +1 -0
  46. package/src/sass/theme/nj-section/nj-section.scss +6 -0
  47. package/src/tests/__screenshots__/banner/banner.visual.spec.ts/banner-narrow.png +0 -0
  48. package/src/tests/__screenshots__/banner/banner.visual.spec.ts/banner-wide.png +0 -0
  49. package/src/tests/__screenshots__/button/visual/button-danger.visual.spec.ts/button-danger-narrow.png +0 -0
  50. package/src/tests/__screenshots__/button/visual/button-danger.visual.spec.ts/button-danger-wide.png +0 -0
  51. package/src/tests/__screenshots__/button/visual/button-dark.visual.spec.ts/button-dark-narrow.png +0 -0
  52. package/src/tests/__screenshots__/button/visual/button-dark.visual.spec.ts/button-dark-wide.png +0 -0
  53. package/src/tests/__screenshots__/button/visual/button-secondary-danger.visual.spec.ts/button-secondary-danger-narrow.png +0 -0
  54. package/src/tests/__screenshots__/button/visual/button-secondary-danger.visual.spec.ts/button-secondary-danger-wide.png +0 -0
  55. package/src/tests/__screenshots__/button/visual/button-secondary-dark.visual.spec.ts/button-secondary-dark-narrow.png +0 -0
  56. package/src/tests/__screenshots__/button/visual/button-secondary-dark.visual.spec.ts/button-secondary-dark-wide.png +0 -0
  57. package/src/tests/__screenshots__/button/visual/button-secondary.visual.spec.ts/button-secondary-narrow.png +0 -0
  58. package/src/tests/__screenshots__/button/visual/button-secondary.visual.spec.ts/button-secondary-wide.png +0 -0
  59. package/src/tests/__screenshots__/button/visual/button-tertiary-danger.visual.spec.ts/button-tertiary-danger-narrow.png +0 -0
  60. package/src/tests/__screenshots__/button/visual/button-tertiary-danger.visual.spec.ts/button-tertiary-danger-wide.png +0 -0
  61. package/src/tests/__screenshots__/button/visual/button-tertiary-dark.visual.spec.ts/button-tertiary-dark-narrow.png +0 -0
  62. package/src/tests/__screenshots__/button/visual/button-tertiary-dark.visual.spec.ts/button-tertiary-dark-wide.png +0 -0
  63. package/src/tests/__screenshots__/button/visual/button-tertiary.visual.spec.ts/button-tertiary-narrow.png +0 -0
  64. package/src/tests/__screenshots__/button/visual/button-tertiary.visual.spec.ts/button-tertiary-wide.png +0 -0
  65. package/src/tests/__screenshots__/button/visual/button.visual.spec.ts/button-narrow.png +0 -0
  66. package/src/tests/__screenshots__/button/visual/button.visual.spec.ts/button-wide.png +0 -0
  67. package/src/tests/banner/banner.accessibility.spec.ts +28 -0
  68. package/src/tests/banner/banner.visual.spec.ts +35 -0
  69. package/src/tests/button/accessibility/button-danger.accessibility.spec.ts +30 -0
  70. package/src/tests/button/accessibility/button-dark.accessibility.spec.ts +30 -0
  71. package/src/tests/button/accessibility/button-secondary-danger.accessibility.spec.ts +30 -0
  72. package/src/tests/button/accessibility/button-secondary-dark.accessibility.spec.ts +30 -0
  73. package/src/tests/button/accessibility/button-secondary.accessibility.spec.ts +30 -0
  74. package/src/tests/button/accessibility/button-tertiary-danger.accessibility.spec.ts +30 -0
  75. package/src/tests/button/accessibility/button-tertiary-dark.accessibility.spec.ts +30 -0
  76. package/src/tests/button/accessibility/button-tertiary.accessibility.spec.ts +30 -0
  77. package/src/tests/button/accessibility/button.accessibility.spec.ts +30 -0
  78. package/src/tests/button/visual/button-danger.visual.spec.ts +35 -0
  79. package/src/tests/button/visual/button-dark.visual.spec.ts +35 -0
  80. package/src/tests/button/visual/button-secondary-danger.visual.spec.ts +35 -0
  81. package/src/tests/button/visual/button-secondary-dark.visual.spec.ts +35 -0
  82. package/src/tests/button/visual/button-secondary.visual.spec.ts +35 -0
  83. package/src/tests/button/visual/button-tertiary-danger.visual.spec.ts +35 -0
  84. package/src/tests/button/visual/button-tertiary-dark.visual.spec.ts +35 -0
  85. package/src/tests/button/visual/button-tertiary.visual.spec.ts +35 -0
  86. package/src/tests/button/visual/button.visual.spec.ts +35 -0
package/gulpfile.js CHANGED
@@ -49,9 +49,9 @@ const JS_DEST = "./dist/js";
49
49
  // Compiled CSS destination
50
50
  const CSS_DEST = "./dist/css";
51
51
 
52
- const DIST_DIR = "./dist"
52
+ const DIST_DIR = "./dist";
53
53
 
54
- const FRACTAL_STATIC_ASSETS_DIR = "./public"
54
+ const FRACTAL_STATIC_ASSETS_DIR = "./public";
55
55
 
56
56
  // Site CSS destination
57
57
  // Like the _site/assets/css directory in Jekyll, if necessary.
@@ -65,9 +65,7 @@ TASKS
65
65
  */
66
66
 
67
67
  gulp.task("copy-uswds-setup", () => {
68
- return gulp
69
- .src(`${uswds}/scss/theme/**/**`)
70
- .pipe(gulp.dest(`${PROJECT_SASS_SRC}`));
68
+ return gulp.src(`${uswds}/scss/theme/**/**`).pipe(gulp.dest(`${PROJECT_SASS_SRC}`));
71
69
  });
72
70
 
73
71
  gulp.task("copy-uswds-fonts", () => {
@@ -86,12 +84,12 @@ gulp.task("copy-uswds-js", () => {
86
84
  return gulp.src(`${uswds}/dist/js/**/**`).pipe(gulp.dest(`${JS_DEST}`));
87
85
  });
88
86
 
89
- gulp.task("build-sass", function(done) {
87
+ gulp.task("build-sass", function (done) {
90
88
  var plugins = [
91
89
  // Autoprefix
92
90
  autoprefixer({
93
91
  cascade: false,
94
- grid: true
92
+ grid: true,
95
93
  }),
96
94
  // Minify
97
95
  csso({ forceMediaMerge: false }),
@@ -102,12 +100,8 @@ gulp.task("build-sass", function(done) {
102
100
  .pipe(sourcemaps.init({ largeFile: true }))
103
101
  .pipe(
104
102
  sass({
105
- includePaths: [
106
- `${PROJECT_SASS_SRC}`,
107
- `${uswds}`,
108
- `${uswds}/packages`
109
- ]
110
- })
103
+ includePaths: [`${PROJECT_SASS_SRC}`, `${uswds}`, `${uswds}/packages`],
104
+ }),
111
105
  )
112
106
  .pipe(replace(/\buswds @version\b/g, "based on uswds v" + pkg.version))
113
107
  .pipe(postcss(plugins))
@@ -125,8 +119,8 @@ gulp.task(
125
119
  "copy-uswds-fonts",
126
120
  "copy-uswds-images",
127
121
  "copy-uswds-js",
128
- "build-sass"
129
- )
122
+ "build-sass",
123
+ ),
130
124
  );
131
125
 
132
126
  gulp.task(
@@ -136,22 +130,22 @@ gulp.task(
136
130
  "copy-uswds-images",
137
131
  "copy-src-images",
138
132
  "copy-uswds-js",
139
- "build-sass"
140
- )
133
+ "build-sass",
134
+ ),
141
135
  );
142
136
 
143
137
  gulp.task("copy-dist-to-fractal-assets", () => {
144
138
  return gulp.src(`${DIST_DIR}/**/**`).pipe(gulp.dest(`${FRACTAL_STATIC_ASSETS_DIR}/dist`));
145
139
  });
146
140
 
147
- gulp.task("watch-sass", function() {
148
- gulp.watch(`${PROJECT_SASS_SRC}/**/*.scss`, gulp.series("copy-src-images", "build-sass", "copy-dist-to-fractal-assets",));
141
+ gulp.task("watch-sass", function () {
142
+ gulp.watch(
143
+ `${PROJECT_SASS_SRC}/**/*.scss`,
144
+ gulp.series("copy-src-images", "build-sass", "copy-dist-to-fractal-assets"),
145
+ );
149
146
  });
150
147
 
151
-
152
- gulp.task("watch-fractal", gulp.series(
153
- "copy-src-images",
154
- "build-sass",
155
- "copy-dist-to-fractal-assets",
156
- "watch-sass",
157
- ));
148
+ gulp.task(
149
+ "watch-fractal",
150
+ gulp.series("copy-src-images", "build-sass", "copy-dist-to-fractal-assets", "watch-sass"),
151
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newjersey/njwds",
3
- "version": "2.8.0",
3
+ "version": "2.9.1",
4
4
  "description": "NJ Web Design Standards",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -9,7 +9,14 @@
9
9
  "import-components": "cp -nr node_modules/uswds/src/components ./src/",
10
10
  "build-docs": "gulp copy-dist-to-fractal-assets && fractal build",
11
11
  "start": "fractal start --sync & gulp watch-fractal",
12
- "deploy": "npm ci && npm run build-docs && gh-pages -d build"
12
+ "deploy": "npm ci && npm run build-docs && gh-pages -d build",
13
+ "format": "prettier . --write",
14
+ "format:check": "prettier . --check",
15
+ "lint": "eslint",
16
+ "test": "echo \"Warn: no test specified\" && exit 0",
17
+ "test:visual": "playwright test --project=visual",
18
+ "test:accessibility": "playwright test --project=accessibility",
19
+ "test:visual:update": "playwright test --project=visual --update-snapshots=all"
13
20
  },
14
21
  "repository": {
15
22
  "type": "git",
@@ -25,22 +32,52 @@
25
32
  "@uswds/uswds": "3.10.0"
26
33
  },
27
34
  "devDependencies": {
28
- "@frctl/fractal": "^1.5.1",
35
+ "@axe-core/playwright": "^4.11.0",
36
+ "@eslint/js": "^9.39.2",
37
+ "@frctl/fractal": "^1.5.15",
29
38
  "@frctl/nunjucks": "^2.0.5",
39
+ "@html-eslint/eslint-plugin": "^0.52.1",
40
+ "@playwright/test": "^1.58.0",
41
+ "@types/node": "^22.19.6",
42
+ "@typescript-eslint/eslint-plugin": "^8.53.0",
43
+ "@typescript-eslint/parser": "^8.53.0",
30
44
  "autoprefixer": "^10.4.0",
31
- "gh-pages": "^3.1.0",
45
+ "eslint": "^9.39.2",
46
+ "eslint-config-prettier": "^10.1.8",
47
+ "eslint-plugin-lit": "^2.1.1",
48
+ "eslint-plugin-lit-a11y": "^5.1.1",
49
+ "eslint-plugin-wc": "^3.0.2",
50
+ "gh-pages": "^6.3.0",
51
+ "globals": "^17.0.0",
32
52
  "gulp": "^4.0.2",
33
53
  "gulp-postcss": "^9.0.1",
34
54
  "gulp-rename": "^2.0.0",
35
55
  "gulp-replace": "^1.1.3",
36
56
  "gulp-sass": "^5.1.0",
37
57
  "gulp-sourcemaps": "^3.0.0",
38
- "gulp-svg-sprite": "^1.5.0",
58
+ "gulp-svg-sprite": "^2.0.3",
59
+ "husky": "^9.1.7",
60
+ "jiti": "^2.6.1",
61
+ "lint-staged": "^16.2.7",
39
62
  "postcss": "^8.3.11",
40
63
  "postcss-csso": "^5.0.1",
64
+ "prettier": "^3.7.4",
41
65
  "sass": "^1.51.0",
66
+ "typescript": "^5.9.3",
67
+ "typescript-eslint": "^8.53.0",
42
68
  "uswds-gulp": "github:uswds/uswds-gulp"
43
69
  },
70
+ "lint-staged": {
71
+ "**/*": "prettier --write --ignore-unknown"
72
+ },
73
+ "overrides": {
74
+ "uswds-gulp": {
75
+ "gulp-svg-sprite": "$gulp-svg-sprite"
76
+ },
77
+ "inquirer": {
78
+ "lodash": "^4.17.19"
79
+ }
80
+ },
44
81
  "files": [
45
82
  "dist",
46
83
  "src",
@@ -12,19 +12,19 @@
12
12
  <button class="{{ buttonClasses | trim }} usa-focus">Focus</button>
13
13
  <button class="{{ buttonClasses | trim }} nj-button--icon">
14
14
  Icon Trailing
15
- <svg class="usa-icon usa-icon--size-3 margin-left-105" aria-hidden="true" focusable="false" role="img">
15
+ <svg class="usa-icon usa-icon--size-3 margin-left-105" aria-hidden="true" focusable="false" role="img" title="Accessibility icon">
16
16
  <use xlink:href="{{ uswds.path }}/img/sprite.svg#accessibility_new"></use>
17
17
  </svg>
18
18
  </button>
19
19
  <button class="{{ buttonClasses | trim }} nj-button--icon">
20
- <svg class="usa-icon usa-icon--size-3 margin-right-105" aria-hidden="true" focusable="false" role="img">
20
+ <svg class="usa-icon usa-icon--size-3 margin-right-105" aria-hidden="true" focusable="false" role="img" title="Accessibility icon">
21
21
  <use xlink:href="{{ uswds.path }}/img/sprite.svg#accessibility_new"></use>
22
22
  </svg>
23
23
  Icon Leading
24
24
  </button>
25
25
  <button aria-label="icon-label" class="{{ buttonClasses | trim }} nj-button--icon">
26
- <svg class="usa-icon usa-icon--size-3" focusable="false" role="img">
26
+ <svg class="usa-icon usa-icon--size-3" focusable="false" role="img" title="Accessibility icon">
27
27
  <use xlink:href="{{ uswds.path }}/img/sprite.svg#accessibility_new"></use>
28
28
  </svg>
29
29
  </button>
30
- </div>
30
+ </div>
@@ -14,5 +14,5 @@ context:
14
14
  # be updated when the banner text changes in order to keep the same
15
15
  # wrapping behavior.
16
16
  stateOfNjText: "Official Site of the State of New Jersey"
17
- governorName: "Governor Phil Murphy"
18
- ltGovernorName: "Lt. Governor Tahesha Way"
17
+ governorName: "Governor Mikie Sherrill"
18
+ ltGovernorName: "Lt. Governor Dr. Dale G. Caldwell"
@@ -70,13 +70,13 @@
70
70
  <ul class="usa-identifier__required-links-list">
71
71
  <li class="usa-identifier__required-links-item">
72
72
  <a href="https://nj.gov/governor/admin/about/" class="usa-identifier__required-link">
73
- Governor Phil Murphy
73
+ Governor Mikie Sherrill
74
74
  </a>
75
75
  </li>
76
76
  <li class="usa-identifier__required-links-item">
77
77
  <a href="https://nj.gov/governor/admin/lt/"
78
78
  class="usa-identifier__required-link">
79
- Lt. Governor Tahesha Way
79
+ Lt. Governor Dr. Dale G. Caldwell
80
80
  </a>
81
81
  </li>
82
82
  <li class="usa-identifier__required-links-item">
@@ -1,4 +1,5 @@
1
- [{
1
+ [
2
+ {
2
3
  "yellow": {
3
4
  "value": "#ffe38e",
4
5
  "match": {
@@ -1,326 +1,14 @@
1
- /*
2
- * * * * * ==============================
3
- * * * * * ==============================
4
- * * * * * ==============================
5
- * * * * * ==============================
6
- ========================================
7
- ========================================
8
- ========================================
9
- ----------------------------------------
10
- USWDS THEME CUSTOM STYLES
11
- ----------------------------------------
12
- !! Copy this file to your project's
13
- sass root. Don't edit the version
14
- in node_modules.
15
- ----------------------------------------
16
- Custom project SASS goes here.
17
-
18
- i.e.
19
- @include u-padding-right('05');
20
- ----------------------------------------
21
- */
1
+ // Custom styles for NJWDS theme
22
2
  @use "uswds-core" as *;
23
- // Banner
24
- .nj-banner {
25
- @include typeset($theme-banner-font-family);
26
- @include border-box-sizing;
27
- background-color: color($theme-banner-background-color);
28
- font-size: font-size($theme-banner-font-family, "2xs");
29
- line-height: line-height($theme-banner-font-family, 1);
30
- min-height: units($size-touch-target);
31
- position: relative;
32
- }
33
- .nj-banner__header {
34
- @include u-padding-y(1);
35
- }
36
- .nj-banner__header,
37
- .nj-banner__header a {
38
- @include set-text-from-bg($theme-banner-background-color);
39
- text-decoration: none;
40
- }
41
- .nj-banner__header a:hover {
42
- text-decoration: underline;
43
- }
44
- .nj-banner__header li {
45
- display: none;
46
-
47
- // Set min-width so the names are hidden before the stateOfNjText wraps to
48
- // 3 lines
49
- @media (min-width: 43rem) {
50
- display: inline;
51
- }
52
- @include u-margin-right(1);
53
- @include u-padding-right(1);
54
- @include u-border-right(1px);
55
- }
56
-
57
- .nj-banner__header li:last-child {
58
- display: inline;
59
- @include u-margin-right(0);
60
- @include u-padding-right(0);
61
- @include u-border-right(0);
62
- }
63
- .nj-banner__inner {
64
- @include grid-row;
65
- @include u-flex("align-center");
66
- padding-right: units(0);
67
- }
68
- .nj-banner__header-seal {
69
- padding-right: units(1);
70
- }
71
- // hero
72
- .usa-hero__callout {
73
- background-color: color("secondary-darker");
74
- }
75
- // Section
76
- .usa-section--dark {
77
- background-color: color("secondary-darker");
78
- }
79
-
80
- // Tighten letter spacing for h1 and intro text
81
- .usa-prose > h1,
82
- .usa-intro {
83
- letter-spacing: -0.4px;
84
- }
85
-
86
- // Wrap long links that would break page container
87
- .usa-prose a {
88
- overflow-wrap: break-word;
89
- word-wrap: break-word;
90
- }
91
-
92
- // Nav
93
- .usa-nav__secondary-links a {
94
- color: color("base-darker");
95
- }
96
-
97
- // Header - prevent wrapping of logo text
98
- .usa-header--extended {
99
- .usa-logo {
100
- max-width: 50%;
101
- }
102
- }
103
-
104
- // Buttons
105
- .usa-button {
106
- height: units(6);
107
- padding: units(2) units(2.5);
108
- &.nj-button--icon {
109
- padding-top: units(1.5);
110
- padding-bottom: 0.875rem;
111
- }
112
- }
113
-
114
- .nj-button--icon svg {
115
- vertical-align: sub;
116
- margin-bottom: -2px;
117
- }
118
-
119
- .usa-button:focus,
120
- .usa-button.usa-focus {
121
- outline-color: color($theme-color-primary-vivid);
122
- }
123
-
124
- // Primary Buttons (dark)
125
- .usa-button.nj-button--primary-dark:not(:disabled) {
126
- color: color($theme-text-color);
127
- background-color: color($theme-color-base-lightest);
128
- }
129
-
130
- .usa-button.nj-button--primary-dark.usa-button--hover:not(:disabled),
131
- .usa-button.nj-button--primary-dark:hover:not(:disabled) {
132
- color: color($theme-text-color);
133
- background-color: color($theme-color-base-lighter);
134
- }
135
-
136
- .usa-button.nj-button--primary-dark.usa-button--active:not(:disabled),
137
- .usa-button.nj-button--primary-dark:active:not(:disabled) {
138
- color: color($theme-text-color);
139
- background-color: color($theme-color-base-light);
140
- }
141
-
142
- // Primary Buttons (danger)
143
- .usa-button--secondary {
144
- background-color: color($theme-color-error);
145
- }
146
-
147
- .usa-button--secondary.usa-button--hover,
148
- .usa-button--secondary:hover {
149
- background-color: color($theme-color-error-dark);
150
- }
151
-
152
- .usa-button--secondary.usa-button--active,
153
- .usa-button--secondary:active {
154
- background-color: color($theme-color-error-darker);
155
- }
156
-
157
- // Secondary buttons (light)
158
- .usa-button--outline {
159
- color: color($theme-color-primary-dark);
160
- box-shadow: inset 0 0 0 2px color($theme-color-primary-dark);
161
- }
162
-
163
- .usa-button--outline.usa-button--hover,
164
- .usa-button--outline:hover {
165
- color: color($theme-color-primary-darker);
166
- box-shadow: inset 0 0 0 2px color($theme-color-primary-darker);
167
- }
168
-
169
- .usa-button--outline.usa-button--active,
170
- .usa-button--outline:active {
171
- color: color($theme-color-primary-darkest);
172
- box-shadow: inset 0 0 0 2px color($theme-color-primary-darkest);
173
- }
174
-
175
- // Secondary Buttons (dark)
176
- .usa-button--outline.usa-button--inverse:not(:disabled) {
177
- color: color($theme-link-reverse-active-color);
178
- box-shadow: inset 0 0 0 2px color($theme-link-reverse-active-color);
179
- }
180
-
181
- .usa-button--outline.usa-button--inverse.usa-button--hover:not(:disabled),
182
- .usa-button--outline.usa-button--inverse:hover:not(:disabled) {
183
- color: color($theme-color-base-lighter);
184
- box-shadow: inset 0 0 0 2px color($theme-color-base-lighter);
185
- }
186
-
187
- .usa-button--outline.usa-button--inverse.usa-button--active:not(:disabled),
188
- .usa-button--outline.usa-button--inverse:active:not(:disabled) {
189
- color: color($theme-color-base-light);
190
- box-shadow: inset 0 0 0 2px color($theme-color-base-light);
191
- }
192
-
193
- // Secondary Buttons (danger)
194
- .usa-button--outline.nj-button--outline-danger:not(:disabled) {
195
- color: color($theme-color-error);
196
- box-shadow: inset 0 0 0 2px color($theme-color-error);
197
- }
198
-
199
- .usa-button--hover.nj-button--outline-danger:not(:disabled),
200
- .usa-button--outline.nj-button--outline-danger:hover:not(:disabled) {
201
- color: color($theme-color-error-dark);
202
- box-shadow: inset 0 0 0 2px color($theme-color-error-dark);
203
- }
204
-
205
- .usa-button--active.nj-button--outline-danger:not(:disabled),
206
- .usa-button--outline.nj-button--outline-danger:active:not(:disabled) {
207
- color: color($theme-color-error-darker);
208
- box-shadow: inset 0 0 0 2px color($theme-color-error-darker);
209
- }
210
-
211
- // Unstyled buttons (light)
212
- .usa-button--unstyled {
213
- border-radius: units(0.5);
214
- padding: units(0.5);
215
- font-weight: $theme-font-weight-bold;
216
- height: auto;
217
- }
218
- .usa-button--unstyled.usa-button--hover,
219
- .usa-button--unstyled:hover {
220
- color: color($theme-color-primary-darker);
221
- }
222
-
223
- .usa-button--unstyled.usa-button--active,
224
- .usa-button--unstyled:active {
225
- color: color($theme-color-primary-darkest);
226
- }
227
-
228
- // Unstyled Buttons (dark)
229
- .usa-button--unstyled.nj-button--unstyled-dark {
230
- color: color($theme-text-reverse-color);
231
- }
232
-
233
- .usa-button--unstyled.nj-button--unstyled-dark.usa-button--hover,
234
- .usa-button--unstyled.nj-button--unstyled-dark:hover {
235
- color: color($theme-color-base-lighter);
236
- }
237
-
238
- .usa-button--unstyled.nj-button--unstyled-dark.usa-button--active,
239
- .usa-button--unstyled.nj-button--unstyled-dark:active {
240
- color: color($theme-color-base-light);
241
- }
242
-
243
- // Unstyled Buttons (danger)
244
- .usa-button--unstyled.nj-button--unstyled-danger:not(:disabled) {
245
- color: color($theme-color-error);
246
- }
247
-
248
- .usa-button--hover.nj-button--unstyled-danger:not(:disabled),
249
- .usa-button--unstyled.nj-button--unstyled-danger:hover:not(:disabled) {
250
- color: color($theme-color-error-dark);
251
- }
252
-
253
- .usa-button--active.nj-button--unstyled-danger:not(:disabled),
254
- .usa-button--unstyled.nj-button--unstyled-danger:active:not(:disabled) {
255
- color: color($theme-color-error-darker);
256
- }
257
-
258
- .usa-icon:not(
259
- .usa-icon--size-3,
260
- .usa-icon--size-4,
261
- .usa-icon--size-5,
262
- .usa-icon--size-6,
263
- .usa-icon--size-7,
264
- .usa-icon--size-8,
265
- .usa-icon--size-9
266
- ) {
267
- height: 20px;
268
- width: 20px;
269
- }
270
-
271
- .usa-icon.nj-icon--size-scale {
272
- height: 1em;
273
- width: 1em;
274
- }
275
-
276
- // Radio Buttons
277
- .usa-radio {
278
- background: none;
279
- }
280
-
281
- .usa-radio__label::before {
282
- box-shadow: 0 0 0 2px color($theme-color-base);
283
- }
284
-
285
- // Radio & Checkbox tile variants
286
- .usa-radio__input--tile:checked + [class*="__label"],
287
- .usa-checkbox__input--tile:checked + [class*="__label"] {
288
- background-color: color($theme-color-primary-lighter);
289
- }
290
-
291
- .usa-radio__input--tile + [class*="__label"],
292
- .usa-checkbox__input--tile + [class*="__label"] {
293
- border-color: color($theme-color-base-light);
294
- }
295
- .usa-radio__input.usa-radio__input--tile:checked + [class*="__label"]::before,
296
- .usa-checkbox__input.usa-checkbox__input--tile:checked + [class*="__label"]::before{
297
- box-shadow: 0 0 0 2px #005ea2, inset 0 0 0 2px #cfe8ff;
298
- }
299
-
300
- .nj-error-message-container {
301
- margin-top: units(1.5);
302
- display: flex;
303
- align-items: flex-start;
304
- color: color($theme-color-error-dark);
305
- }
306
-
307
- .nj-error-message-container > svg {
308
- flex-shrink: 0;
309
- margin-right: units(1);
310
- }
311
-
312
- .usa-error-message {
313
- padding: units(0);
314
- }
315
-
316
- .usa-form-group--error {
317
- padding-left: units(2.5);
318
- }
319
-
320
- .nj-checkbox--error > .usa-checkbox__label::before {
321
- box-shadow: 0 0 0 2px color($theme-color-error-dark);
322
- }
323
3
 
324
- .nj-radio--error > .usa-radio__label::before {
325
- box-shadow: 0 0 0 2px color($theme-color-error-dark);
326
- }
4
+ @forward "theme/nj-banner";
5
+ @forward "theme/nj-button";
6
+ @forward "theme/nj-error-message";
7
+ @forward "theme/nj-forms";
8
+ @forward "theme/nj-header";
9
+ @forward "theme/nj-hero";
10
+ @forward "theme/nj-icon";
11
+ @forward "theme/nj-intro";
12
+ @forward "theme/nj-nav";
13
+ @forward "theme/nj-prose";
14
+ @forward "theme/nj-section";
@@ -6,8 +6,8 @@
6
6
  */
7
7
  // Base colors
8
8
  $theme-color-base-family: "gray-cool",
9
- $theme-color-base-lightest: "gray-cool-1",
10
- $theme-color-base-lighter: "gray-cool-5",
9
+ $theme-color-base-lightest: "gray-cool-5",
10
+ $theme-color-base-lighter: "gray-cool-10",
11
11
  $theme-color-base-light: "gray-cool-20",
12
12
  $theme-color-base: "gray-cool-50",
13
13
  $theme-color-base-dark: "gray-cool-60",
@@ -1,72 +1,7 @@
1
- /*
2
- * * * * * ==============================
3
- * * * * * ==============================
4
- * * * * * ==============================
5
- * * * * * ==============================
6
- ========================================
7
- ========================================
8
- ========================================
9
- */
10
-
11
- // -------------------------------------
12
- // Import individual theme settings
1
+ // src/sass/button.scss
13
2
  @forward "uswds-theme";
14
-
15
- // -------------------------------------
16
- // Import individual USWDS packages...
17
- // See https://designsystem.digital.gov/components/
18
-
19
- // First import required and global packages...
20
- // @forward "packages/required";
21
- // @forward "packages/global";
22
3
  @forward "packages/uswds-global";
23
- // @forward "packages/uswds-utilities";
24
- // @forward "packages/uswds-helpers";
25
-
26
- // Then import individual component packages...
27
4
  @forward "packages/usa-icon";
28
- // @forward 'packages/form-controls';
29
- // @forward 'packages/form-templates';
30
- // @forward 'packages/layout-grid';
31
- // @forward 'packages/typography';
32
- // @forward 'packages/validation';
33
- // @forward 'packages/usa-accordion';
34
- // @forward 'packages/usa-alert';
35
- // @forward 'packages/usa-identifier';
36
- // @forward 'packages/usa-banner';
37
- // @forward 'packages/usa-breadcrumb';
38
5
  @forward "packages/usa-button";
39
- // @forward 'packages/usa-button-group';
40
- // @forward 'packages/usa-card';
41
- // @forward 'packages/usa-checklist';
42
- // @forward 'packages/usa-footer';
43
- // @forward 'packages/usa-header';
44
- // @forward 'packages/usa-hero';
45
- // @forward 'packages/usa-identifier';
46
- // @forward 'packages/usa-layout';
47
- // @forward 'packages/usa-media-block';
48
- // @forward 'packages/usa-megamenu';
49
- // @forward 'packages/usa-nav-container';
50
- // @forward 'packages/usa-nav';
51
- // @forward 'packages/usa-navbar';
52
- // @forward 'packages/usa-search';
53
- // @forward 'packages/usa-section';
54
- // @forward 'packages/usa-sidenav';
55
- // @forward 'packages/usa-skipnav';
56
- // @forward 'packages/usa-step-indicator';
57
- // @forward 'packages/usa-table';
58
- // @forward 'packages/usa-tag';
59
-
60
- // or package sets...
61
- // @forward 'packages/uswds-components';
62
- // @forward 'packages/uswds-utilities';
63
-
64
- // -------------------------------------
65
- // ...or import the complete USWDS kit
66
-
67
- // @forward "uswds";
68
-
69
- // -------------------------------------
70
- // Import theme custom styles
71
-
72
- @forward "uswds-theme-custom-styles";
6
+ @forward "theme/nj-icon";
7
+ @forward "theme/nj-button";