From e5b8d91aedbff0c52d55ddb4d22d0f3330a4e46c Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 4 Feb 2026 10:12:31 +0100 Subject: [PATCH] phase 0 --- packages/ui/KATALOG.md | 710 ++++++++++++++++++++++++++++++++++++++++- packages/ui/PROJEKT.md | 52 +-- 2 files changed, 729 insertions(+), 33 deletions(-) diff --git a/packages/ui/KATALOG.md b/packages/ui/KATALOG.md index 8b71d5c27..0ed7ab1a5 100644 --- a/packages/ui/KATALOG.md +++ b/packages/ui/KATALOG.md @@ -9,10 +9,9 @@ ### Übersicht ``` -Webapp: ░░░░░░░░░░ 0% (0/139 Komponenten) -Styleguide: ░░░░░░░░░░ 0% (0/38 Komponenten) +Phase 0: Analyse ██████████ 100% (8/8 Schritte) ─────────────────────────────────────────── -Gesamt: ░░░░░░░░░░ 0% (0/177 Komponenten) +Nächste Phase: Phase 1 (Projekt-Setup) ``` ### Statistiken @@ -21,9 +20,9 @@ Gesamt: ░░░░░░░░░░ 0% (0/177 Komponenten) | Webapp Komponenten | 139 | | Styleguide Komponenten | 38 | | **Gesamt** | **177** | -| Analysiert | 0 | -| Duplikate gefunden | 0 | -| Zur Konsolidierung markiert | 0 | +| Detailiert analysiert | 3 Familien (Button, Modal, Menu) | +| Duplikate gefunden | 5 direkte + 3 Familien | +| Zur Migration priorisiert | 15 Kern-Komponenten | --- @@ -369,6 +368,12 @@ Diese sollten zuerst migriert werden: |-------|------------|--------|---------| | 2026-02-04 | Claude | Katalog erstellt | 177 Komponenten erfasst | | 2026-02-04 | Claude | Duplikate identifiziert | Button, Modal, Menu Familien | +| 2026-02-04 | Claude | Button-Analyse | Props-Vergleich, Konsolidierungsvorschlag, Token-Extraktion | +| 2026-02-04 | Claude | Modal-Analyse | Architektur erkannt: DsModal = Basis, Feature-Modals nutzen DsModal | +| 2026-02-04 | Claude | Menu-Analyse | DsMenu, Dropdown, Feature-Menus - 3 separate Patterns identifiziert | +| 2026-02-04 | Claude | Priorisierung | 15 Komponenten in 4 Tiers priorisiert | +| 2026-02-04 | Claude | Konsolidierungsplan | 3 Phasen definiert, Token-Liste erstellt | +| 2026-02-04 | Claude | **Phase 0 abgeschlossen** | Bereit für Phase 1 (Projekt-Setup) | --- @@ -377,8 +382,691 @@ Diese sollten zuerst migriert werden: 1. [x] Webapp-Komponenten auflisten 2. [x] Styleguide-Komponenten auflisten 3. [x] Offensichtliche Duplikate identifizieren -4. [ ] Button-Familie im Detail analysieren -5. [ ] Modal-Familie im Detail analysieren -6. [ ] Menu-Familie im Detail analysieren -7. [ ] Priorisierung festlegen -8. [ ] Konsolidierungsplan finalisieren +4. [x] Button-Familie im Detail analysieren +5. [x] Modal-Familie im Detail analysieren +6. [x] Menu-Familie im Detail analysieren +7. [x] Priorisierung festlegen +8. [x] Konsolidierungsplan finalisieren + +--- + +**✅ Phase 0 abgeschlossen!** Weiter mit Phase 1 (Projekt-Setup). + +--- + +## Detailanalyse: Button-Familie + +### Styleguide Button (DsButton) + +**Pfad:** `styleguide/src/system/components/navigation/Button/Button.vue` + +**Props:** +| Prop | Typ | Default | Beschreibung | +|------|-----|---------|--------------| +| path | String\|Object | null | URL oder Vue Router Pfad | +| size | String | null | `small` \| `base` \| `large` | +| linkTag | String | auto | `router-link` \| `a` \| `button` | +| name | String | null | Accessibility name | +| primary | Boolean | false | Primärer Stil (grün) | +| secondary | Boolean | false | Sekundärer Stil (blau) | +| danger | Boolean | false | Danger Stil (rot) | +| hover | Boolean | false | Hover-State erzwingen | +| ghost | Boolean | false | Transparenter Hintergrund | +| icon | String | null | Icon-Name | +| right | Boolean | false | Icon rechts positionieren | +| fullwidth | Boolean | false | Volle Breite | +| loading | Boolean | false | Ladezustand | + +**Besonderheiten:** +- Automatische Link-Erkennung (router-link/a/button) +- Icon-Only Modus wenn kein Slot-Content +- Spinner bei loading +- CSS-Klassen: `ds-button`, `ds-button-primary`, etc. + +--- + +### Webapp BaseButton + +**Pfad:** `webapp/components/_new/generic/BaseButton/BaseButton.vue` + +**Props:** +| Prop | Typ | Default | Beschreibung | +|------|-----|---------|--------------| +| bullet | Boolean | false | Kleiner runder Punkt (18px) | +| circle | Boolean | false | Runder Button | +| danger | Boolean | false | Danger-Farbschema | +| filled | Boolean | false | Gefüllter Hintergrund | +| ghost | Boolean | false | Ohne Border | +| icon | String | - | Icon-Name | +| loading | Boolean | false | Ladezustand | +| size | String | 'regular' | `tiny` \| `small` \| `regular` \| `large` | +| padding | Boolean | false | Extra Padding | +| type | String | 'button' | `button` \| `submit` | +| disabled | Boolean | false | Deaktiviert | + +**Besonderheiten:** +- Kein automatischer Link-Support (nur `