uswds/uswds (@uswds/uswds)
### [`v3.8.1`](https://togithub.com/uswds/uswds/releases/tag/v3.8.1): USWDS 3.8.1
[Compare Source](https://togithub.com/uswds/uswds/compare/v3.8.0...v3.8.1)
### What's new in USWDS 3.8.1
#### Bug fixes
| Package | A11Y | Breaking | Markup change | Description |
| :---------------- | :--- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
`usa-button-group` | — | — | — | **Improved styles for nested button groups.** Now, nested button groups should match the height of their parents. ([#5885](https://togithub.com/uswds/uswds/issues/5885))
`usa-footer` | — | — | — | **Restored the `usa-layout-grid` dependency in the footer package and removed layout grid styles from the footer stylesheet.** This update prevents visual regressions in footer and other components with layout grid utility classes in their markup. ([#5930](https://togithub.com/uswds/uswds/issues/5930))
`usa-identifier` | — | — | Yes | **Fixed a bug that added the English word "An" to Spanish variants of the identifier component.** This was accidentally added to our component preview templates because of a data error. ([#5857](https://togithub.com/uswds/uswds/issues/5857))
`usa-in-page-navigation` | — | — | — | **Updated an outdated reference to the `data-header-selector` attribute in an in-page navigation JavaScript error message.** The error message now correctly references the `data-heading-elements` attribute. ([#5856](https://togithub.com/uswds/uswds/issues/5856))
`usa-input-mask` | — | — | — | **Fixed a bug that caused input mask to break when it is not a direct child of a form.** Nested input masks will now initialize and work properly. Thanks [@chrislarrycarl](https://togithub.com/chrislarrycarl)! ([#5518](https://togithub.com/uswds/uswds/issues/5518))
`usa-tooltip` | Yes | — | — | **Updated the behavior of the tooltip component to allow users to hover over tooltip content.** This allows the component to meet the "hoverable" standard outlined in [WCAG 1.4.13](https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html). ([#5909](https://togithub.com/uswds/uswds/issues/5909))
`usa-tooltip` | Yes | — | — | **Updated tooltip component behavior to close active tooltips when the escape key is pressed.** This allows the component to meet the "dismissible" standard outlined in [WCAG 1.4.13](https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html). ([#5919](https://togithub.com/uswds/uswds/issues/5919))
`usa-validation` | Yes | — | — | **Fixed a bug that caused non-interactive checklist items in the validation component to receive focus.** Now, only the interactive input will receive focus. ([#5835](https://togithub.com/uswds/uswds/issues/5835))
`uswds-utilities` | — | — | — | **Updated the code comments on utility Sass partials.** These comments now reflect the correct utility class names and values. Thanks [@aduth](https://togithub.com/aduth)! ([#5859](https://togithub.com/uswds/uswds/issues/5859))
#### Dependencies and security
| Dependency name | Previous version | New version |
| :------------------------------------ | :--------------- | :---------- |
[@18f/identity-stylelint-config](https://togithub.com/18f/identity-stylelint-config) | 2.0.0 | 4.0.0\
[@babel/core](https://togithub.com/babel/core) | 7.23.6 | 7.24.5
[@babel/preset-env](https://togithub.com/babel/preset-env) | 7.23.6 | 7.24.5
[@types/node](https://togithub.com/types/node) | 20.10.4 | 20.12.11
autoprefixer | 10.4.16 | 10.4.19
axe-core | 4.8.2 | 4.9.1
eslint | 8.55.0 | 8.56.0\
eslint-plugin-import | 2.29.0 | 2.29.1
html-webpack-plugin | 5.5.4 | 5.6.0
mocha | 10.2.0 | 10.4.0
postcss | 8.4.32 | 8.4.38
postcss-discard-comments | 6.0.0 | 6.0.2
postcss-preset-env | 9.3.0 | 9.5.11
prettier | 2.8.8 | 3.2.5
sass | 1.69.5 | 1.77.0
sass-embedded | 1.69.5 | 1.77.0
snyk | 1.1262.0 | 1.1291.0
stylelint | 15.11.0 | 16.5.0
svgo | 3.1.0 | 3.3.2
typescript | 5.3.3 | 5.4.5
webpack | 5.89.0 | 5.91.0
Thanks [@anselmbradford](https://togithub.com/anselmbradford) for the dependency updates!
`0` vulnerabilities in regular dependencies (dependencies for USWDS projects installed with `npm install @uswds/uswds`)
`13` moderate, `28` high vulnerabilities in devDependencies (development dependencies).
Release TGZ SHA-256 hash: `a86fa133b842ce28d1eed2226216c478debf31bf6c16ffcd96fecf061fdf4583`
### [`v3.8.0`](https://togithub.com/uswds/uswds/releases/tag/v3.8.0): USWDS 3.8.0
[Compare Source](https://togithub.com/uswds/uswds/compare/v3.7.1...v3.8.0)
#### Features
Package | A11y | Breaking | Markup change | Description
:-- | :-- | :-- | :-- | :--
`usa-checkbox`, `uswds-core` | - | - | - | **Added styles for indeterminate checkboxes.** Checkboxes will now display as indeterminate when you set `input.indeterminate = true` via JavaScript or add the `data-indeterminate` attribute. This is only a style addition and does not affect checkbox functionality. Thanks [@lpsinger](https://togithub.com/lpsinger)! ([#5713](https://togithub.com/uswds/uswds/issues/5713))
`usa-in-page-nav` | - | - | - | **Added the ability to customize which headings will be pulled into the in-page navigation link list.** Use the optional `data-heading-selector` attribute to designate the heading levels that should be included in the component. By default, the component will pull all `H2` and `H3` headers. ([#5444](https://togithub.com/uswds/uswds/issues/5444))
`usa-table`, `uswds-core` | - | - | - | **Added a sticky header variant to the table component.** Use the new `.usa-table--sticky-header` class to enable sticky positioning on table headers. Use the new `$theme-table-sticky-top-offset` setting to set the value of the top offset for sticky table headers. ([#5420](https://togithub.com/uswds/uswds/issues/5420)) Thanks [@etanb](https://togithub.com/etanb)!
`usa-table`, `uswds-core` | | | | **Added the ability to customize the table background color at a theme level.** Use the `$theme-table-background-color` setting to set your desired table background color. ([#5420](https://togithub.com/uswds/uswds/issues/5420))
`usa-validation` | - | - | - | **Added `textarea` support to the validation component.** ([#5233](https://togithub.com/uswds/uswds/issues/5233)) Thanks [@danbrady](https://togithub.com/danbrady)!
`usa-layout-docs`, `uswds-core` | Yes | Yes | Yes | **Added `$theme-sidenav-reorder` for documentation page sidenav.** Use `$theme-sidenav-reorder` to support old CSS order functionality. This setting can introduce usability issues, so we suggest that teams update their sidenav markup instead. ([#5807](https://togithub.com/uswds/uswds/issues/5807))
#### Bug fixes
Package | A11y | Breaking | Markup change | Description
:-- | :-- | :-- | :-- | :--
`usa-button`, `uswds-core` | - | - | - | **Improved the vertical alignment of `usa-icon` elements inside of `usa-button`.** Use the new `$theme-button-icon-gap` setting to set the width of the horizontal gap between the button's text and icon. ([#5398](https://togithub.com/uswds/uswds/issues/5398))
`usa-button`, `usa-checkbox`, `usa-combo-box`, `usa-file-input`, `usa-radio`, `uswds-core` | Yes | - | - | **Added automated color contrast checks for disabled tokens.** On compilation, USWDS will test disabled element color contrast and provide a fallback color if minimum contrast is not met. If the fallback also fails to meet minimum contrast requirements, the system will provide a warning in the terminal. ([#5455](https://togithub.com/uswds/uswds/issues/5455))
`usa-button-group` | - | - | - | **Improved the appearance of button groups when button text wraps to multiple lines.** Now, every button in the group will be the same height. ([#5657](https://togithub.com/uswds/uswds/issues/5657)) Thanks [@aduth](https://togithub.com/aduth)!
`usa-date-picker` | Yes | - | - | **Added focus styles to the calendar button in high contrast mode.** Now, the calendar icon changes to the `highlight` high contrast token on focus. ([#5701](https://togithub.com/uswds/uswds/issues/5701))
`usa-footer` | - | - | - | **Fixed a bug that caused some grid utility classes to be ignored when used inside `usa-footer`.** ([#5675](https://togithub.com/uswds/uswds/issues/5675))
`usa-layout-docs`, `uswds-core` | Yes | Yes | Yes | **Updated the order of the side navigation markup on the documentation page template.** Now, the HTML order of the page matches the visual order at narrow screen widths. ([#5794](https://togithub.com/uswds/uswds/issues/5794))
`usa-table` | Yes | - | Yes | **Simplified the structure of the scrollable table component example.** This removes some accessibility errors related to incomplete table markup. ([#5783](https://togithub.com/uswds/uswds/issues/5783))
#### Breaking changes
##### Documentation page template
We're updating the [documentation template](https://designsystem.digital.gov/templates/documentation-page) to better match the HTML order of the side navigation to the visual order at mobile widths. Before USWDS 3.8.0 we used CSS to re-order the sidenav at mobile widths, placing it below the page's main text content. Starting with USWDS 3.8.0, our default styles no longer use CSS to re-order the side navigation. Now, we suggest including a duplicate sidenav after the main text content, using utility classes to hide/show the sidenavs at the proper widths. The example below shows a before/after.
```diff
-
+
+
{{ SIDENAV_MARKUP }}
-
+
{{ MAIN_CONTENT }}
+
+
+ {{ SIDENAV_MARKUP }}
+
```
Teams that wish to maintain the old CSS order functionality can temporarily add `$theme-sidenav-reorder: true` to their project settings. This setting reinstates the CSS re-ordering. As we mentioned, this setting can introduce usability issues, so the best long-term solution is to update the sidenav markup instead.
#### Dependencies and security
| Dependency name | Previous version | New version |
| :------------------------------------ | :--------------- | :---------- |
| [@babel/core](https://togithub.com/babel/core) | 7.23.2 | 7.23.6 |
| [@babel/preset-env](https://togithub.com/babel/preset-env) | 7.23.2 | 7.23.6 |
| [@types/node](https://togithub.com/types/node) | 20.8.9 | 20.10.4 |
| eslint | 8.52.0 | 8.55.0 |
| eslint-config-prettier | 9.0.0 | 9.1.0 |
| gulp-mocha | 8.0.0 | 9.0.0 |
| handlebars-helpers | 0.10.0 | -- |
| html-webpack-plugin | 5.5.3 | 5.5.4 |
| postcss | 8.4.31 | 8.4.32 |
| postcss-import | -- | 15.1.0 |
| postcss-preset-env | 9.2.0 | 9.3.0 |
| postcss-sass-loader | 1.1.0 | -- |
| resolve-url-loader | 4.0.0 | 5.0.0 |
| sass | -- | 1.69.5 |
| snyk | 1.1237.0 | 1.1262.0 |
| svgo | 3.0.2 | 3.1.0 |
| typescript | 5.2.2 | 5.3.3 |
`0` vulnerabilities in regular dependencies (dependencies for USWDS projects installed with `npm install @uswds/uswds`)
`15` moderate, `25` high vulnerabilities in devDependencies (development dependencies).
Release TGZ SHA-256 hash: ` 072f0f8333b1aa000183e00676616d9ff5a174e27ca8d35c130ca70ea5d4f66d `
Configuration
📅 Schedule: Branch creation - "before 4am on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.7.1
->3.8.1
Release Notes
uswds/uswds (@uswds/uswds)
### [`v3.8.1`](https://togithub.com/uswds/uswds/releases/tag/v3.8.1): USWDS 3.8.1 [Compare Source](https://togithub.com/uswds/uswds/compare/v3.8.0...v3.8.1) ### What's new in USWDS 3.8.1 #### Bug fixes | Package | A11Y | Breaking | Markup change | Description | | :---------------- | :--- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | `usa-button-group` | — | — | — | **Improved styles for nested button groups.** Now, nested button groups should match the height of their parents. ([#5885](https://togithub.com/uswds/uswds/issues/5885)) `usa-footer` | — | — | — | **Restored the `usa-layout-grid` dependency in the footer package and removed layout grid styles from the footer stylesheet.** This update prevents visual regressions in footer and other components with layout grid utility classes in their markup. ([#5930](https://togithub.com/uswds/uswds/issues/5930)) `usa-identifier` | — | — | Yes | **Fixed a bug that added the English word "An" to Spanish variants of the identifier component.** This was accidentally added to our component preview templates because of a data error. ([#5857](https://togithub.com/uswds/uswds/issues/5857)) `usa-in-page-navigation` | — | — | — | **Updated an outdated reference to the `data-header-selector` attribute in an in-page navigation JavaScript error message.** The error message now correctly references the `data-heading-elements` attribute. ([#5856](https://togithub.com/uswds/uswds/issues/5856)) `usa-input-mask` | — | — | — | **Fixed a bug that caused input mask to break when it is not a direct child of a form.** Nested input masks will now initialize and work properly. Thanks [@chrislarrycarl](https://togithub.com/chrislarrycarl)! ([#5518](https://togithub.com/uswds/uswds/issues/5518)) `usa-tooltip` | Yes | — | — | **Updated the behavior of the tooltip component to allow users to hover over tooltip content.** This allows the component to meet the "hoverable" standard outlined in [WCAG 1.4.13](https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html). ([#5909](https://togithub.com/uswds/uswds/issues/5909)) `usa-tooltip` | Yes | — | — | **Updated tooltip component behavior to close active tooltips when the escape key is pressed.** This allows the component to meet the "dismissible" standard outlined in [WCAG 1.4.13](https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html). ([#5919](https://togithub.com/uswds/uswds/issues/5919)) `usa-validation` | Yes | — | — | **Fixed a bug that caused non-interactive checklist items in the validation component to receive focus.** Now, only the interactive input will receive focus. ([#5835](https://togithub.com/uswds/uswds/issues/5835)) `uswds-utilities` | — | — | — | **Updated the code comments on utility Sass partials.** These comments now reflect the correct utility class names and values. Thanks [@aduth](https://togithub.com/aduth)! ([#5859](https://togithub.com/uswds/uswds/issues/5859)) #### Dependencies and security | Dependency name | Previous version | New version | | :------------------------------------ | :--------------- | :---------- | [@18f/identity-stylelint-config](https://togithub.com/18f/identity-stylelint-config) | 2.0.0 | 4.0.0\ [@babel/core](https://togithub.com/babel/core) | 7.23.6 | 7.24.5 [@babel/preset-env](https://togithub.com/babel/preset-env) | 7.23.6 | 7.24.5 [@types/node](https://togithub.com/types/node) | 20.10.4 | 20.12.11 autoprefixer | 10.4.16 | 10.4.19 axe-core | 4.8.2 | 4.9.1 eslint | 8.55.0 | 8.56.0\ eslint-plugin-import | 2.29.0 | 2.29.1 html-webpack-plugin | 5.5.4 | 5.6.0 mocha | 10.2.0 | 10.4.0 postcss | 8.4.32 | 8.4.38 postcss-discard-comments | 6.0.0 | 6.0.2 postcss-preset-env | 9.3.0 | 9.5.11 prettier | 2.8.8 | 3.2.5 sass | 1.69.5 | 1.77.0 sass-embedded | 1.69.5 | 1.77.0 snyk | 1.1262.0 | 1.1291.0 stylelint | 15.11.0 | 16.5.0 svgo | 3.1.0 | 3.3.2 typescript | 5.3.3 | 5.4.5 webpack | 5.89.0 | 5.91.0 Thanks [@anselmbradford](https://togithub.com/anselmbradford) for the dependency updates! `0` vulnerabilities in regular dependencies (dependencies for USWDS projects installed with `npm install @uswds/uswds`) `13` moderate, `28` high vulnerabilities in devDependencies (development dependencies). Release TGZ SHA-256 hash: `a86fa133b842ce28d1eed2226216c478debf31bf6c16ffcd96fecf061fdf4583` ### [`v3.8.0`](https://togithub.com/uswds/uswds/releases/tag/v3.8.0): USWDS 3.8.0 [Compare Source](https://togithub.com/uswds/uswds/compare/v3.7.1...v3.8.0) #### Features Package | A11y | Breaking | Markup change | Description :-- | :-- | :-- | :-- | :-- `usa-checkbox`, `uswds-core` | - | - | - | **Added styles for indeterminate checkboxes.** Checkboxes will now display as indeterminate when you set `input.indeterminate = true` via JavaScript or add the `data-indeterminate` attribute. This is only a style addition and does not affect checkbox functionality. Thanks [@lpsinger](https://togithub.com/lpsinger)! ([#5713](https://togithub.com/uswds/uswds/issues/5713)) `usa-in-page-nav` | - | - | - | **Added the ability to customize which headings will be pulled into the in-page navigation link list.** Use the optional `data-heading-selector` attribute to designate the heading levels that should be included in the component. By default, the component will pull all `H2` and `H3` headers. ([#5444](https://togithub.com/uswds/uswds/issues/5444)) `usa-table`, `uswds-core` | - | - | - | **Added a sticky header variant to the table component.** Use the new `.usa-table--sticky-header` class to enable sticky positioning on table headers. Use the new `$theme-table-sticky-top-offset` setting to set the value of the top offset for sticky table headers. ([#5420](https://togithub.com/uswds/uswds/issues/5420)) Thanks [@etanb](https://togithub.com/etanb)! `usa-table`, `uswds-core` | | | | **Added the ability to customize the table background color at a theme level.** Use the `$theme-table-background-color` setting to set your desired table background color. ([#5420](https://togithub.com/uswds/uswds/issues/5420)) `usa-validation` | - | - | - | **Added `textarea` support to the validation component.** ([#5233](https://togithub.com/uswds/uswds/issues/5233)) Thanks [@danbrady](https://togithub.com/danbrady)! `usa-layout-docs`, `uswds-core` | Yes | Yes | Yes | **Added `$theme-sidenav-reorder` for documentation page sidenav.** Use `$theme-sidenav-reorder` to support old CSS order functionality. This setting can introduce usability issues, so we suggest that teams update their sidenav markup instead. ([#5807](https://togithub.com/uswds/uswds/issues/5807)) #### Bug fixes Package | A11y | Breaking | Markup change | Description :-- | :-- | :-- | :-- | :-- `usa-button`, `uswds-core` | - | - | - | **Improved the vertical alignment of `usa-icon` elements inside of `usa-button`.** Use the new `$theme-button-icon-gap` setting to set the width of the horizontal gap between the button's text and icon. ([#5398](https://togithub.com/uswds/uswds/issues/5398)) `usa-button`, `usa-checkbox`, `usa-combo-box`, `usa-file-input`, `usa-radio`, `uswds-core` | Yes | - | - | **Added automated color contrast checks for disabled tokens.** On compilation, USWDS will test disabled element color contrast and provide a fallback color if minimum contrast is not met. If the fallback also fails to meet minimum contrast requirements, the system will provide a warning in the terminal. ([#5455](https://togithub.com/uswds/uswds/issues/5455)) `usa-button-group` | - | - | - | **Improved the appearance of button groups when button text wraps to multiple lines.** Now, every button in the group will be the same height. ([#5657](https://togithub.com/uswds/uswds/issues/5657)) Thanks [@aduth](https://togithub.com/aduth)! `usa-date-picker` | Yes | - | - | **Added focus styles to the calendar button in high contrast mode.** Now, the calendar icon changes to the `highlight` high contrast token on focus. ([#5701](https://togithub.com/uswds/uswds/issues/5701)) `usa-footer` | - | - | - | **Fixed a bug that caused some grid utility classes to be ignored when used inside `usa-footer`.** ([#5675](https://togithub.com/uswds/uswds/issues/5675)) `usa-layout-docs`, `uswds-core` | Yes | Yes | Yes | **Updated the order of the side navigation markup on the documentation page template.** Now, the HTML order of the page matches the visual order at narrow screen widths. ([#5794](https://togithub.com/uswds/uswds/issues/5794)) `usa-table` | Yes | - | Yes | **Simplified the structure of the scrollable table component example.** This removes some accessibility errors related to incomplete table markup. ([#5783](https://togithub.com/uswds/uswds/issues/5783)) #### Breaking changes ##### Documentation page template We're updating the [documentation template](https://designsystem.digital.gov/templates/documentation-page) to better match the HTML order of the side navigation to the visual order at mobile widths. Before USWDS 3.8.0 we used CSS to re-order the sidenav at mobile widths, placing it below the page's main text content. Starting with USWDS 3.8.0, our default styles no longer use CSS to re-order the side navigation. Now, we suggest including a duplicate sidenav after the main text content, using utility classes to hide/show the sidenavs at the proper widths. The example below shows a before/after. ```diffConfiguration
📅 Schedule: Branch creation - "before 4am on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
Coverage report for
app
Test suite run success
16 tests passing in 5 suites.
Report generated by 🧪jest coverage report action from 064cd65e1c6dd3630ec1ff59b3cf375f316a1771