diff --git a/CONTRIBUTOR-DOCS/03_project-planning/03_components/README.md b/CONTRIBUTOR-DOCS/03_project-planning/03_components/README.md index 32e941a523..76904bc25b 100644 --- a/CONTRIBUTOR-DOCS/03_project-planning/03_components/README.md +++ b/CONTRIBUTOR-DOCS/03_project-planning/03_components/README.md @@ -27,12 +27,15 @@ - Asset - [Asset migration roadmap](asset/rendering-and-styling-migration-analysis.md) - Avatar + - [Avatar accessibility migration analysis](avatar/accessibility-migration-analysis.md) + - [Avatar — 2nd-Gen Migration Plan](avatar/migration-plan.md) - [Avatar accessibility migration analysis](avatar/rendering-and-styling-migration-analysis.md) - Badge - [Badge accessibility migration analysis](badge/accessibility-migration-analysis.md) - [Badge migration roadmap](badge/rendering-and-styling-migration-analysis.md) - Button - [Button accessibility migration analysis](button/accessibility-migration-analysis.md) + - [Button Migration Plan](button/migration-plan.md) - [Button migration roadmap](button/rendering-and-styling-migration-analysis.md) - Button Group - [Button Group migration roadmap](button-group/rendering-and-styling-migration-analysis.md) diff --git a/CONTRIBUTOR-DOCS/03_project-planning/03_components/button/migration-plan.md b/CONTRIBUTOR-DOCS/03_project-planning/03_components/button/migration-plan.md new file mode 100644 index 0000000000..a78e93154b --- /dev/null +++ b/CONTRIBUTOR-DOCS/03_project-planning/03_components/button/migration-plan.md @@ -0,0 +1,608 @@ + + +[CONTRIBUTOR-DOCS](../../../README.md) / [Project planning](../../README.md) / [Components](../README.md) / Button / Button Migration Plan + + + +# Button Migration Plan + + + +
+In this doc + +- [TL;DR](#tldr) + - [Most blocking open questions](#most-blocking-open-questions) +- [1st-gen API surface](#1st-gen-api-surface) + - [Properties / attributes](#properties--attributes) + - [Methods](#methods) + - [Events](#events) + - [Slots](#slots) + - [CSS custom properties](#css-custom-properties) + - [Shadow DOM output (rendered HTML)](#shadow-dom-output-rendered-html) +- [Dependencies](#dependencies) +- [Changes overview](#changes-overview) + - [Must ship — breaking or a11y-required](#must-ship--breaking-or-a11y-required) + - [Additive — ships when ready, zero breakage for consumers already on 2nd-gen](#additive--ships-when-ready-zero-breakage-for-consumers-already-on-2nd-gen) +- [2nd-gen API decisions](#2nd-gen-api-decisions) + - [Public API](#public-api) + - [Behavioral semantics](#behavioral-semantics) + - [Pending accessible-name rule (2nd-gen)](#pending-accessible-name-rule-2nd-gen) + - [Accessibility semantics notes (2nd-gen)](#accessibility-semantics-notes-2nd-gen) + - [Deferred semantics note (2nd-gen)](#deferred-semantics-note-2nd-gen) + - [Internal semantic button implications](#internal-semantic-button-implications) +- [Architecture: core vs SWC split](#architecture-core-vs-swc-split) + - [Shared semantics reuse](#shared-semantics-reuse) + - [Global alignment contract](#global-alignment-contract) +- [Migration checklist](#migration-checklist) + - [Preparation (this ticket)](#preparation-this-ticket) + - [Setup](#setup) + - [API](#api) + - [Styling](#styling) + - [Accessibility](#accessibility) + - [Testing](#testing) + - [Documentation](#documentation) + - [Review](#review) +- [Blockers and open questions](#blockers-and-open-questions) + - [Deferred follow-up tickets](#deferred-follow-up-tickets) +- [References](#references) + +
+ + + +> **SWC-1873** · Planning output. Must be reviewed before implementation begins. + +--- + +## TL;DR + +- `sp-button` is planned to become button-only in 2nd-gen; deprecated link mode moves to native `` with global button styling +- 2nd-gen `sp-button` should render an internal semantic `