Remove the deprecated fake-* classes and abbreviated button class names in the next Skin major
I maintainer di solito rispondono entro 2 giorni
@ArtBlue ci sta già lavorando.
Dal 30/10/2026.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, react, sass, typescript
- Ambito
- developer-experience, frontend
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
#1045 (PR #1070) deprecated two sets of Skin classes without removing them, so that release is not breaking. This issue removes both sets in the next major version.
The fake-* patterns became standalone components:
| Removed | Replacement |
|---|---|
fake-btn |
button-link |
fake-tabs |
navigation-tabs |
fake-link |
link-button |
fake-menu |
navigation-menu |
The abbreviated button-family names gained spelled-out twins, including every element and modifier (btn__cell to button__cell, btn--primary to button--primary):
| Removed | Replacement |
|---|---|
btn |
button |
icon-btn |
icon-button |
cta-btn |
cta-button |
expand-btn |
expand-button |
Decision record: docs/adr/0010-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. On 2026-10-27, source files (not snapshots) using an abbreviated button-family class: ebayui-core 17, evo-marko 7, ebayui-core-react 33, evo-react 11.
- Button components that build the
btnandfake-btnclasses:ebayui-core/ebay-button,evo-marko/evo-button,ebayui-core-react/ebay-button,evo-react/button - Every other framework component that renders
btn,icon-btn,cta-btnorexpand-btnmarkup (icon buttons, CTA buttons, menu and listbox buttons, dialogs, notices, pagination, filter and form controls) - 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 abbreviated half of the parallel button-family selectors in the 26 modules that carry them:
button,icon-button,cta-button,calendar,combobox,dialog,drawer-dialog,education-notice,file-preview-card,filter-input,filter-menu,fullscreen-dialog,infotip,lightbox-dialog,listbox-button,menu-button,menu,navigation-menu,number-input,pagination,panel-dialog,phone-input,section-title,textbox,toast-dialogandtourtip - Simplify
listbox-button--error button:not(.btn--borderless, .button--borderless)to:not(.button--borderless) - Delete the legacy stories:
button/stories/fake-button/,tabs/stories/fake-tabs/,menu/stories/fake-menu.stories.js, and thefake,disabledFakeandlegalFakestories inlink.stories.js. No other story uses the legacy classes. - Rename the
fake-link-foreground-*token overrides used bylink-button. They kept the old names so existing themes keep working - Update
packages/skin/src/selectors-api/selectors-api.json: remove theFAKEentries forfake-btn,fake-linkandfake-menu, and point.btn,.icon-btnand.cta-btnat the spelled-out names
Docs site
- Remove the deprecation notices and the legacy sections from the
button,icon-button,cta-button,tabs,linkandmenuCSS pages - Update the remaining pages that show the legacy classes:
buttonoverview, Marko and React pages, thecta-buttonMarko and React pages, themenu-buttonoverview, the fake tabs accessibility pattern page, and the "replaces" wording on thebutton-link,navigation-tabs,navigation-menuandlink-buttonoverview pages - Add a changeset:
@ebay/skinmajor, listing the removed classes and their replacements
Open question
- Should the
--btn-*custom properties be renamed to--button-*in the same major? #1070 left them unchanged.
Not in scope
fake-menu-button, which is a separate componentfilter-input__clear-btn, an element offilter-inputrather than a button-family classpackages/skin/docs/archive/andCHANGELOG.mdentries, which are history
- Lingua principale
- TypeScript
- Stelle
- 53
- Fork
- 58
- Merge medio
- 2g 23h
- PR unite (30g)
- 18
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eBay/evo-web
-
blocked: needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 2 giorni
-
Infotip: remove tooltip role from Evo Marko and React overlaysForse già presa @vinaycookscode l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 2 giorni
-
blocked: needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
ebay-info-tip: info tip background doesn't match Playbook specForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
eBay/evo-web#1080 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
ebay-card: CTA should not fill container in horizontal layoutForse già presa @Aaqibhafeezkhan l’ha presa 5 giorni fa. Apertablocked: needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
eBay/evo-web#1071 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di eBay/evo-web
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
remotion-dev/remotion#12905 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
supermomonga/paseo-plugin-zcode-provider#83 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
oxidecomputer/skepsis#102 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
voidzero-dev/void#677 ·
I maintainer di solito rispondono entro 1 giorno