Skip to content

Release v16.0.0 #2184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
May 12, 2025
Merged

Release v16.0.0 #2184

merged 33 commits into from
May 12, 2025

Conversation

booc0mtaco
Copy link
Contributor

@booc0mtaco booc0mtaco commented May 12, 2025

16.0.0 (2025-05-12)

⚠ BREAKING CHANGES

Note

For each item below, expand the section to learn more about mitigation notes, tips, and tricks on how to migrate to v16

Avatar: remove 1.x component export
  • This component has been removed from export, and will be re-introduced in a future version of EDS
  • If you need to use this component, consider building from scratch or copying the implementation a previous EDS
typography: introduce 2.0 tokens and component updates (#2167)

Text and Heading Presets Remapped

In order to resolve some inconsistencies and gaps in the typography ramp, we remodel all the presets to be more expressive, customizable, and themable. As a result, some previous presets have changed to map to new values. If you are using one of the previous presets, use the table below to find the corresponding mapped value

Presets in EDS < 15 Equivalent Preset in EDS >= 16
headline-lg-bold headline-lg
headline-lg-bold-mobile headline-lg
headline-lg-mobile headline-lg
headline-md-bold headline-md
headline-md-bold-mobile headline-md
headline-md-mobile headline-md
headline-sm-bold headline-sm
headline-sm-bold-mobile headline-sm
headline-secondary-lg headline-decorative-inline-lg
headline-secondary-lg-bold headline-decorative-inline-lg
headline-secondary-lg-bold-mobile headline-decorative-inline-lg
headline-secondary-lg-mobile headline-decorative-inline-lg
headline-secondary-md headline-decorative-inline-md
headline-secondary-md-bold headline-decorative-inline-md
headline-secondary-md-bold-mobile headline-decorative-inline-md
headline-secondary-md-mobile headline-decorative-inline-md
headline-secondary-sm headline-decorative-inline-sm
headline-secondary-sm-bold headline-decorative-inline-sm
headline-secondary-sm-bold-mobile headline-decorative-inline-sm
headline-secondary-sm-mobile headline-decorative-inline-sm
title-lg-bold title-lg
title-md-bold title-md
title-sm-bold title-sm
title-xs-bold title-xs
label-lg-subtle label-lg
label-md-subtle label-md
caption-lg caption-md
caption-lg-bold caption-md
caption-md-bold caption-md
caption-sm-bold caption-sm
overline overline-md
button-lg label-lg
button-md label-lg
button-sm label-sm
form-label label-md
form-input input
tag label-sm
breadcrumb body-sm

If code was previously using the combined preset variables (e.g., --eds-theme-typography-preset-*), these are no longer supported. Instead, each of the above presets are defined in {Heading|Text}.module.css file(s). To apply to components where you cannot use Heading or `Text, please reach out for support.

apply changes from next-major comments in code (#2164)
  • Components using the Align property type no longer support left and right values. Instead use leading and trailing respectively.
  • The Hint utility type was removed as it was no longer in use
  • Exports to PageNotificationV2Props and AppNotificationV2Props were leftover in error, so the exports were removed from this release.
  • Table has been marked as deprecated. Please use DataTable instead
  • Updates of remaining component interfaces to use type definitions instead of interface definitions to be internally consistent
    • If previously relying on interface conventions, convert code to use type instead:
// From EDS ...
-interface XYZ { ... }
+type XYZ = { ... }

// In your local code ... 
-interface ABC Extends XYZ { ... }
+type ABC = XYZ & { ... } 
remove items marked as deprecated [EDS-1543] (#2156)

Spacing Tokens and Utility Classes

In order to better align between design and code, we updated the naming of the spacing tokens to have format --eds-spacing-size-X. Before, the naming lacked the extra -spacing.

For uses via tailwind, update each instance of the utility to include the renamed value to better match up with what shows in Figma (-size- => -spacing-size-)

Deprecated color tokens now removed

In this release is a large cleanup of a number of tokens used by the old theme. This release removes the vast majority of those tokens, preserving the remaining few used in legacy components and layouts. These will be removed after the last set of components have been migrated to the new theme/API.

deps: update dependency ts-morph to v25 (#2158)

ts-morph is used internally to help write migration scripts. This major version includes more TypeScript functionality and does not affect component exports.

update HeadlessUI to 2.x (#2148)

In this version of EDS, we move to HeadlessUI v2.0. With this move comes some library updates and API changes, which affect several EDS components:

  • Modal
  • Popover
  • Menu
  • Select

HeadlessUI migration notes are here: https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui%2Freact%40v2.0.0

In summary:

  • cases where a render prop used active now use focus
  • internally, some components switch over to the piecemeal component imports, but the external interface of sub components is preserved by EDS
remove horizontalstepper component [EDS-1539] (#2153)
  • If you need to use this component, consider building from scratch or copying the implementation from EDS
remove progressbar component [EDS-1538] (#2152)
  • If you need to use this component, consider building from scratch or copying the implementation from EDS
remove searchbar component [EDS-1537] (#2151)
  • If you need to use this component, consider building from scratch or copying the implementation from EDS
remove Badge component [EDS-1536] (#2150)
  • If you need to use this component, consider building from scratch or copying the implementation from EDS
remove Slider component [EDS-1534] (#2149)
  • If you need to use this component, consider building from scratch or copying the implementation from EDS

Features

Bug Fixes

  • deps: update dependency ts-morph to v25 (#2158) (c4aac68)
  • InputChip: add padding to inside left edge to match design (#2182) (f29c5dc)
  • set background token for text selection in reset file (b722237)
  • storybook: set default foreground/background colors for story pages (#2163) (bdf1c48)
  • TabGroup: use proper tier 2+ tokens with component (#2180) (a35515d)

booc0mtaco and others added 30 commits March 6, 2025 10:40
feat!: remove Slider component [EDS-1534]

Summary:
Removes the Slider component and all associated files and references
Summary:
Removes the badge component and associated files and references
Summary:
Removes the SearchBar component and all associated files/references
Summary:
Removes ProgressBar component and all associated files/references
- update all tests and snapshots
- introduce jsdom-testing-mocks to handle various observers
- add updates to tests to handle new functionality
- remove unneeded dependencies
- add compatibility checks within components
- remove unused dependencies (react-popper, popperJS)
- add in and update tests for popover components
- update component versions
Summary:
Removes the HorizontalStepper component and associated files/references
Summary:
Remove all items marked as deprecated and associated references.
…ges (#2163)

- add in the base colors for foreground and background
- adjust components and tests to use fixed colors where prescribed
  (component usages)
- update tests and snapshots
- update comments to clear out handled TODO items
- remove legacy handling for json/css in theming config
- remove subcomponent handling in story files
- update component type usages (do not use TS interfaces)
- move utility class into Breadcrumbs component
- remove fallback handling of fieldNote in InputField component
- cleanup custom / lingering u-* utility class
- cleanup legacy handling from Tag component
- remove unused CSS mixins
* feat(typography)!: introduce 2.0 tokens and component updates

- add in new tier 1, 2, and 3 tokens for typography
- remove previous token set
- map old values to new values using custom properties
- update snapshots and tests
- add in mappings from old values to the new values
- remove old and irrelevant documentation

* fix: adjustments to checkbox, select, and field labeling

* fix: adjustments to DataTable and PopoverListItem

* fix: update usage with Select component

* fix: address discrepancies with TextareaField

* fix: add inline typography style for input mixin

* fix: adjust alignment for input components with labels

* fix: update alignment typography for InputField

* fix: address typography sizing for Fieldset

* fix: update typography for Toggle component

* fix: update typography treatments for Modal, Text, Heading

* fix: update icon alignment in Card

* fix: update styles and typography for DataTable

* fix: update typography for DataTable and Breadcrumb

* fix: update DataTable padding for typography

* refactor: split preset tokens into sub-tokens

* fix: filter out typography offsets from token doc.s

* fix: add in missing headline-decorative-inline-sm

* chore: add in prefetch links for font files

* test: add static loading of font files when published

* revert: remove font font preload links

* fix: final adjustment to font weight documentation usage

* docs: update README
- leave in stories and content referencing this component
- add annotations to relevant stories explaining it will return soon
feat(Avatar)!: remove 1.x component export
…2171)

* chore: change token value of baseSize 16->14
* refactor: update tailwind usages and spacing in stories
* fix: adjust color token table sizing
* fix: update sizing usages to pixels throughout
* fix: adjust overlines to align at baseline
* fix(ToastNotification): adjust alignments to the spacing and size
* fix: adjust alignment and spacing
* fix: convert max-* and min-* to pixels
* fix(DataTable): adjust position of icon in data table cells
**The big merge** Bringing all the v16 changes into `next` for release. things with `♢` require migration instructions.

### Component / token removals

- `Slider`
- `Badge`
- `SearchBar`
- `ProgressBar`
- `HorizontalStepper`
- Remaining SLP tokens for colors and tier 2/3 tokens where possible

### Library and API Updates

- HeadlessUI 2.0 and changes to components `♢`
- TBD

### Token and Utility Updates

- size token renaming (include `spacing` in name) `♢`
- typography 2.0 tokens and usages in `Heading` and `Text` `♢`
- Removal of other deprecated content `♢`
@booc0mtaco booc0mtaco requested a review from a team as a code owner May 12, 2025 16:14
Copy link

codecov bot commented May 12, 2025

Codecov Report

Attention: Patch coverage is 97.43590% with 2 lines in your changes missing coverage. Please review.

Project coverage is 96.29%. Comparing base (3ed42d5) to head (0052ea0).

Files with missing lines Patch % Lines
src/components/Popover/Popover.tsx 84.61% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2184      +/-   ##
==========================================
- Coverage   96.74%   96.29%   -0.45%     
==========================================
  Files         114      101      -13     
  Lines        2948     2403     -545     
  Branches      805      723      -82     
==========================================
- Hits         2852     2314     -538     
+ Misses         92       85       -7     
  Partials        4        4              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

size-limit report 📦

Path Size
components 87.51 KB (-9.4% 🔽)
styles 24.83 KB (-18.1% 🔽)

@booc0mtaco booc0mtaco added the do not merge PRs that should not be merged (even if the build is green or there are approvals) label May 12, 2025
Copy link
Contributor

@ajmoreno ajmoreno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

@booc0mtaco booc0mtaco merged commit d158fa0 into main May 12, 2025
17 checks passed
@booc0mtaco booc0mtaco deleted the aholloway/EDS-1596/release-v16.0.0 branch May 12, 2025 22:38
@booc0mtaco booc0mtaco removed the do not merge PRs that should not be merged (even if the build is green or there are approvals) label May 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants