This commit is contained in:
2026-08-09 00:33:21 +08:00
parent 6be5ebc8f7
commit 9ea606b175
133 changed files with 7300 additions and 6289 deletions
+15 -14
View File
@@ -19,19 +19,19 @@ mean recreating the effect from screenshots.
| ----------------------- | --------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------- |
| `foundations`, `shared` | `style/tokens`, `style/themes`, shared UI contract | Migrated | Semantic color and overridable geometry contracts |
| `button` | `ui/button` | Migrated | Preserved three-slice states; exposed density and width |
| `input` | `ui/input`, `ui/number-field` | Migrated | Removed forced inline width; normalized text metrics |
| `input` | `ui/input`, `ui/number-field`, `ui/command-input` | Migrated | Removed forced inline width; normalized text metrics; retained FastStep and command-prefix anatomy |
| `form-controls` | `ui/checkbox`, `ui/radio-group`, `ui/switch`, `ui/rating` | Migrated | Tokenized state colors and aligned label/control anatomy |
| `select` | `ui/select`, `ui/tree-select`, `ui/cascader` | Migrated | Flat, hierarchical and two-level responsive selection; TreeSelect preserves parent-toggle and rarity states |
| `tabs` | `ui/tabs`, `ui/pagination` | Migrated | Animated list marker and compact result navigation |
| `slider` | `ui/slider` | Migrated | Preserved the Reka coordinate system |
| `data-table` | `ui/data-table` | Migrated | Ported hover, selected and density behavior |
| `dialog` | `ui/dialog` | Migrated | Preserved the focused title effect and focus management |
| `menu` | `ui/dropdown-menu` | Migrated | Ported source menu spacing and state tokens |
| `rarity` | `ui/item-slot` | Migrated | Retained rarity presentation as data-semantic tokens |
| `autocomplete` | `ui/autocomplete` | Partial | Combobox is migrated; domain SearchTree remains deferred |
| `navigation` | `ui/navigation` | Migrated | Selectable navigation primitive with source assets |
| `data-table` | `ui/data-table`, `ui/progress` | Migrated | Added compact density, row eligibility, note/summary/footer rows, empty state and multi-marker progress |
| `dialog` | `ui/dialog`, `ui/utility-sheet` | Migrated | Kept WindowDialog and UtilitySheet as separate families while sharing focus-safe dialog chrome |
| `menu` | `ui/dropdown-menu`, `ui/settings-dropdown` | Migrated | Preserved the distinct compact-context and full settings-menu anatomies |
| `rarity` | `ui/item-slot`, `ui/notice-badge` | Migrated | Retained rarity data semantics plus the native Notice raster and independent Level badge family |
| `autocomplete` | `ui/autocomplete`, `ui/search-tree` | Migrated | Kept flat Combobox and toolbar-plus-tree search as separate reusable families |
| `navigation` | `ui/navigation`, `ui/favorite-drawer` | Migrated | Preserved selectable SettingsNav and removable, scrollable FavoriteDrawer composition |
| `scrollbar` | `ui/scroll-area` | Migrated | Reusable Reka viewport/scrollbar composition |
| shared overlay help | `ui/popover`, rich `ui/tooltip` | Migrated | Portal z-index, collision and responsive width contract |
| shared overlay help | `ui/popover`, simple/rich `ui/tooltip` | Migrated | Portal z-index, collision and responsive width contracts for both tooltip anatomies |
| `data-section` | `ui/data-section` | Migrated | Collapsible section and vertically centered data rows |
| `shop-item-row` | `ui/shop-item-row` | Migrated | Ported source row structure and selectable states |
| `complex-dialog` | `ui/dialog` + migrated primitives | Composition | Kept domain-independent by composing existing primitives |
@@ -39,7 +39,8 @@ mean recreating the effect from screenshots.
## Legacy replacement order
Deferred: this component-library pass does not change business call sites.
Business replacement is now in progress. Each slice keeps its route, events, API calls and stored
values, and a legacy component is deleted only after repository-wide references reach zero.
1. Shared form controls and overlays used by DNF Helper and import dialogs.
2. Forge controls (`select`, `checkbox`, `slider`, tabs and panels).
@@ -49,9 +50,9 @@ Deferred: this component-library pass does not change business call sites.
## Remaining gaps
- SearchTree/CommandInput still requires a domain-neutral data and filtering contract before it can
join `src/components/ui`.
- Complex product dialogs are compositions, not a claim that every business dialog has reached
- `SkillDamageDetail` and `ItemRow` remain domain compositions on top of `ui/data-table`; the
generic table contract now exposes the structural slots they require.
- Complex product dialogs remain compositions, not a claim that every business dialog has reached
source-level visual parity.
- Existing `frontend` business call sites remain on their current components until each behavior
slice is migrated and browser-verified.
- Business call sites in the active routes are migrated, the superseded equipment page is removed,
and the repository-wide `components/calc` call-site check is now at zero.