Skip to content

style(kol-progress): replace inline style width with SVG width attribute in BarSvg #8006#8009

Merged
deleonio merged 1 commit intopublic-ui:developfrom
donchi-donald:8006-inline-styles-progress-css
Jul 14, 2025
Merged

style(kol-progress): replace inline style width with SVG width attribute in BarSvg #8006#8009
deleonio merged 1 commit intopublic-ui:developfrom
donchi-donald:8006-inline-styles-progress-css

Conversation

@donchi-donald
Copy link
Copy Markdown
Contributor

Änderungen im Überblick

  • In der Komponente BarSvg haben wir das statische Inline-Style-Attribut

    - style={{ width: '100%' }}

    durch das native SVG-Attribut

    + width="100%"

    ersetzt.

  • Alle anderen, auf Prozent- oder Pixel-Berechnungen basierenden Style-Anweisungen (z. B.

    style={{ width: `calc(${percentage}% - 4px)` }}

    ) wurden bewusst nicht angefasst, da sie dynamisch vom Component-State abhängen.


Begründung der Änderungen

  1. Verlässlichkeit & Browser-Kompatibilität
    SVG-Presentation-Attributes wie width="100%" sind im Rendering konsistenter unterstützt als CSS-Inline-Styles auf <rect>-Elementen.
  2. Separation of Concerns
    Statische Größen gehören ins Markup (SVG-Attribute), komplexe, vom State abhängige Werte in die Component-Logik.
  3. Überschreibbarkeit & Wartbarkeit
    Presentation Attributes lassen sich leichter durch externe CSS-Fallbacks oder Themes adaptieren, während Inline-Styles eine sehr hohe Spezifität besitzen und Overrides erschweren.

Warum der dynamische Style unverändert bleibt
Die Breite der Fortschrittsanzeige (calc(${percentage}% – 4px)) hängt direkt vom aktuellen Progress-State ab. Dieser Wert wird zur Laufzeit berechnet und muss deshalb als Inline-Style in JSX verbleiben, um die Übergänge korrekt zu visualisieren und Performance-Einbußen durch ständige CSS-Regel-Generierung zu vermeiden.

@anicyne anicyne linked an issue Jul 11, 2025 that may be closed by this pull request
@deleonio deleonio merged commit 630cd05 into public-ui:develop Jul 14, 2025
11 checks passed
@publicuibot publicuibot bot locked and limited conversation to collaborators Jul 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[STYLING] Entfernen von Inline-Styles in der Komponente Progress

2 participants