-
Notifications
You must be signed in to change notification settings - Fork 197
RSP V3 Reconciliation Plan
In order to support RSP V3 effectively, the highest priority should be getting Spectrum CSS back in sync with their fork. This will allow them to absorb changes to Spectrum CSS without merge conflicts or import scripts, and enable us to do the required feature development from a common starting place.
In order to do this, we must do the following, in this order:
Since RSP V3 is supporting RTL, every component needs to be touched to have RTL support in Spectrum CSS.
RTL touches every border
, padding
, margin
, width
, and height
in every component, and if we don't have it in Spectrum CSS, then every single update to any of those properties causes a merge conflict with RSP V3's fork.
This PR implements RTL support and needs to be finished/reviewed by the team: https://github.com/adobe/spectrum-css/pull/532
There are a number of components that have had changes in RSP V3's fork that we need PRs for so the changes can be reviewed by the Spectrum CSS team.
-
breadcrumb
- layout switched to block, has.is-reversed
state -
button
- Tool removed, manual RTL support for hold, Action Button Emphasized implemented, mobile :active changes, ButtonGroup and ButtonGroup Connected implemented -
buttongroup
- Tool removed, focus outline fixed -
dialog
- CSS grid, changes to warning/error -
fieldgroup
---positionSide
added, horizontal added, SUIT issues -
fieldlabel
- changed to flex layout, added--positionSide
, form changed -
inputgroup
- added is-disabled, datepicker endField and friends, focus-ring tweaks -
link
- added quiet link, added secondary link, changed underline and cursor -
menu
- focus fix, selected color changed -
search
- DNA var changes, markup changes -
stepper
- line height, focus changes -
tags
- Icon/Avatar markup changes, clearbutton renamed, deletable -> removable -
textfield
- markup changes, SUIT issues -
treeview
- added Treeview Heading
These components and their priorities are documented here: https://github.com/adobe/spectrum-css/wiki/V3-Changes-and-React-Sync
Once the RTL PR is in, we should release beta major versions for all of the components. RSP V3 can then be updated to use those beta versions and delete the 40+ unnecessary components from its fork, leaving only those that still need a PR.
Any additional breaking changes should be made AFTER the beta versions are released, that way RSP V3 does not have to absorb breaking changes when moving to use the Spectrum CSS published packages.
Breaking changes are listed here: https://github.com/adobe/spectrum-css/labels/breaking%20chang
A rough schedule for those changes is here: https://github.com/adobe/spectrum-css/projects/11
Once those breaking changes are done, documented with migration guides, etc, we can perform the Spectrum CSS 3.0.0 release and the individually versioned components, with full RTL support and all the planned breaking changes
Following the outline above will put us in a good position to support React Spectrum V3, and will have releases out that, after a small modification to their build process, can be included in their repository to avoid the need for a fork for at least 40 of the components.
if we can get beta releases out with RTL support by 3/6, we can proceed with the rest of the breaking changes the sprint after that, and drop 3.0.0 perhaps the sprint after that. (edited)