Remove the deprecated fake-btn, fake-tabs, fake-link and fake-menu classes in the next Skin major
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, react, sass, typescript
- Domain
- developer-experience, frontend
Research direction
Start with docs/adr/0009-static-component-boundaries.md and the framework-layer prerequisite list, then trace remaining selectors in button.scss, tabs.scss, link.scss, menu.scss and the named component styles. Update framework components, snapshots, stories, docs, tokens and selectors API as listed; confirm no in-scope legacy classes remain, then add the @ebay/skin major changeset. The issue says framework updates must land in a minor release before Skin removes the selectors.
Written by the indexing model from the issue text.
Description
Context
#1045 added link-button, navigation-tabs, button-link and navigation-menu as standalone Skin components and deprecated their legacy counterparts (fake-btn, fake-tabs, fake-link, fake-menu) without removing them, so that release was not breaking. This issue removes the legacy classes in the next major version.
Replacement map: fake-btn to link-button, fake-tabs to navigation-tabs, fake-link to button-link, fake-menu to navigation-menu.
Decision record: docs/adr/0009-static-component-boundaries.md.
Prerequisite (blocks the removal)
The framework layers still emit the legacy classes. Each must move to the new classes in a minor release first, otherwise removing the Skin selectors breaks them.
- Button components that build the
fake-btnbase class:ebayui-core/ebay-button,evo-marko/evo-button,ebayui-core-react/ebay-button,evo-react/button - Fake tabs, fake link and fake menu components in
ebayui-core,evo-marko,ebayui-core-reactandevo-react, or their replacement (for example avariantprop), as decided by the Marko and React owners - Wrappers that render
fake-linkinternally: notices, drawer, panel and fullscreen dialogs, tourtip and snackbar dialog (for exampleebay-notice-base,ebay-dialog-base,ebay-snackbar-dialogand their React andevo-equivalents) - Snapshots and tests that assert the legacy classes
Skin removal
- Delete the
a.fake-btn*selectors frombutton.scss,fake-tabs*fromtabs.scss,button.fake-linkfromlink.scssandfake-menu*frommenu.scss - Delete the
.fake-linkhalf of the parallel rules inpanel-dialog,inline-notice,tourtip,drawer-dialog,section-notice,education-notice,fullscreen-dialog,snackbar-dialogandpage-notice - Delete the legacy stories:
button/stories/fake-button/,tabs/stories/fake-tabs/,menu/stories/fake-menu.stories.js, and thefake,disabledFakeandlegalFakestories inlink.stories.js - Move stories in other components that use these classes to the new classes: card, global, split-button, education-notice, page-notice, panel-dialog, section-notice, snackbar-dialog, tourtip
- Rename the
fake-link-foreground-*token overrides used bybutton-link. They kept the old names so existing themes keep working - Remove the
FAKEentries fromsrc/selectors-api/selectors-api.json
Docs site
- Remove the deprecation notices and the Fake Tabs, Fake Link and Fake Menu sections from the button, tabs, link and menu CSS pages, and the
fake-btnexamples on the button CSS page - Update the pages that show these classes: card, split-button, the notice and dialog pages, tourtip, snackbar,
button/marko+page,button/react+page, thecta-buttonMarko and React pages, and the accessibility pattern pages for fake tabs and fake menu button - Add a changeset:
@ebay/skinmajor, listing the removed classes and their replacements
Not in scope
fake-menu-button, which is a separate componentpackages/skin/docs/archive/andCHANGELOG.mdentries, which are history
- Dominant language
- TypeScript
- Stars
- 52
- Forks
- 54
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 42
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from eBay/evo-web
-
blocked: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
eBay/evo-web#1071 · 1 comment ·
Maintainers usually reply within 1 day
-
blocked: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Typo in ebay-filter-menu marko-tag.jsonMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
blocked: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
eBay/evo-web#918 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
auth: agent-bearer --manager-call is told to use the MCP instance argument on an ambiguous managerOpen
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
bug module: playback
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chthollyphile/folia-major#739 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agilepathway/label-checker#773 · 2 comments ·
Maintainers usually reply within 1 day