department-of-veterans-affairs / va.gov-cms

Editor-centered management for Veteran-centered content.
https://prod.cms.va.gov
GNU General Public License v2.0
96 stars 70 forks source link

SE: [FAC] Design System: V1 & V3 component adoption #15887

Closed mmiddaugh closed 2 months ago

mmiddaugh commented 10 months ago

Description

As part of the 21st Century Integrated Digital Experience Act (IDEA) which was signed into law in December 2018, many of the components the VA shares with the USWDS have been synced to the design, styling, and functionality of the US System while retaining elements necessary to the VA.

This is a 3-part epic:

1. Adopt V3 components, for any existing V1 components that have a V3 counterpart (#17653 sub-epic)

Teams are asked to begin using the USWDS V3 versions of web-components and opt-in to the codified pattern by February 2024. V3-based versions of the components were designed to work alongside our current components so most have only slight differences in appearance or functionality. Some will need to be updated in preparation for global color and typography changes that the v3 variation will accept.

The converted components are marked with a USWDS V3 badge at the top of their component page in the VA.gov Design system

V1 with V3 counterpart components will be deprecated.

2. Adopt V3 and/or V1 components for any code that could use components and currently doesn't

These are sometimes being referred to as "impostor" components. This includes cases from templates created early in the modernization effort where things like breadcrumbs, pagination, "Back to top" may be using custom code rather than the now-available components.

3. Future: Adopt new V3 components as they are made available for remaining V1 components

All

Acceptance criteria

jilladams commented 7 months ago

Audit spreadsheet I started: https://docs.google.com/spreadsheets/d/1A7mQMnL2d5JcDKHZ2daVYQVr85qOljrwM0aUk_inO88/edit#gid=1489013257

xiongjaneg commented 7 months ago

Proposal from Slack: Opt out process: On 2/16, V1 components will default to V3. At that point, we'll be force upgraded unless we opt out proactively. Opting out means: modifying those existing V1 components to pass in the uswds={false}. So: opting out is still a bunch of code changes.

Opting in estimate: If we say: just opt in and verify everything looks right, the PW estimate is that this would take 1 person 1 sprint, to verify all the affected templates and make any test updates as needed. (Chris flagged that recent component change for pagination did have test impact, so this may occur more for other components, tbd.)

Near term proposal: Rather than trying to opt in under the gun, we'd like to bias for action here and proactively opt out. Then we can schedule in opting back in, verifying behavior, and updating tests as needed.

Fran has cut tickets for opting in that we can prioritize when we're able. It would be wise to act on these sooner than later, as DS has said they plan to deprecate V1 as soon as they're able. (No estimated timeline yet, here).

laflannery commented 6 months ago

This is a slack post about v3 breadcrumbs. It mentions documentation that should be followed when the breadcrumb component gets migrated to v3 so I think it may be helpful when these tickets get pulled in

laflannery commented 6 months ago

Adding important deadlines:

Slack thread for reference

aklausmeier commented 5 months ago

@xiongjaneg @mmiddaugh v1 deprecation was moved to May 3, slack thread.

the retirement and removal date for v1 components has been moved to May 3 (5/3)

cc @FranECross