bifroest/app/static/css-framework/CHANGELOG.md
2026-10-27 08:34:17 +01:00

3.9 KiB

Changelog

Alle relevanten Änderungen am CSS-Framework werden hier dokumentiert. Format orientiert sich an Keep a Changelog.


[2.1.1] — 2026-10-25

Behoben

  • Checkboxen und Radios zeigen wieder, ob sie gewählt sind: Die allgemeine input-Regel setzte appearance: none, die Regel für Checkboxen und Radios setzte es nicht zurück, und einen eigenen :checked-Stil gibt es nicht. Jetzt appearance: auto; der Haken erscheint in --accent (accent-color), hell wie dunkel. Switch, Chips und Segmente sind nicht betroffen (ihre Eingabefelder bleiben versteckt).

[2.1.0] — 2026-10-18

CSP-fest: Framework, Demo und Doku laufen unter einer Content Security Policy ohne 'unsafe-inline' und ohne 'unsafe-eval'. Bestehende Projekte laufen unverändert weiter; die globalen Funktionen bleiben.

Neu

  • data-action für alle Aktionen (modal-open, modal-close, modal-backdrop, tab, dropdown, nav-dropdown, sidebar-open, sidebar-close, alert-dismiss, sort, toggle-class, toast, toast-close), ausgewertet von einem Listener am document; funktioniert auch in HTMX-Fragmenten
  • theme.js — Hell/Dunkel vor dem Rendern setzen (gespeichert oder prefers-color-scheme) und per data-action="theme-toggle" umschalten
  • .icon-theme-light / .icon-theme-dark — Theme-Icons wechseln per CSS
  • data-progress="75" für .progress-bar statt style="width: 75%" (applyProgress(), auch nach htmx:load)
  • .htmx-indicator — Styles im Framework, damit HTMX mit includeIndicatorStyles: false laufen kann
  • .skeleton-line, .skeleton-title, .skeleton-block, .skeleton-line.is-short
  • .card-media (Bild 16:9), .table-wrap.is-scroll (begrenzte Höhe für Sticky Header), Utility .min-w-0
  • body.modal-open, .toast.is-leaving, .toast-icon-{success|warning|danger|info}
  • demo.css, demo.js — Demo-Styles und -Skripte aus index.html ausgelagert

Geändert

  • showToast() baut den Toast über das DOM und setzt die Meldung als Text — behebt XSS, wenn die Meldung Benutzereingaben enthielt
  • openModal() / closeModal() sperren den Scroll über body.modal-open statt body.style
  • index.html, README, Skill-Referenzen und jinja2.md (Basis-Template) ohne onclick, style-Attribute und Inline-Skripte
  • AGENTS.md: Regel 10 angepasst, Regel 12 (CSP) neu

[2.0.0] — 2026-06-12

Neu

  • framework.js — JavaScript-API aus index.html ausgelagert, jetzt eigenständig einbindbar
  • build.py — Minifier ohne externe Abhängigkeiten (python3 build.py)
  • dist/ — Build-Ausgabe mit main.min.css, framework.min.js und index.html (Sichtprüfung)
  • docs/VERGLEICH.md — Vergleich mit Bootstrap und Tailwind
  • toggleSidebar() / closeSidebar() zur JavaScript-API hinzugefügt
  • closeOnBackdrop(event, id) zur JavaScript-API hinzugefügt

Geändert

  • showToast() — API korrigiert: nimmt jetzt message und type als Parameter (showToast('Gespeichert', 'success'))
  • Zwei click-Event-Listener (Dropdown + TopNav) zu einem zusammengeführt
  • Modal-Pattern durchgehend auf closeOnBackdrop(event, id) umgestellt
  • Sidebar-Pattern mit onclick="toggleSidebar()" / onclick="closeSidebar()" vervollständigt
  • .opencode/ — alle Pfadreferenzen von .ai/ korrigiert
  • Fonts-URL aktualisiert (gwfh.mranftl.com)
  • AGENTS.md Regel 10: JS gehört in framework.js, nicht in den Template-Script-Block

Behoben

  • Minifier: + aus Stripping-Regex entfernt — calc()-Ausdrücke wie calc(100% + 0.375rem) blieben sonst ungültig

[1.0.0] — vor diesem Changelog

Initiale Version des Frameworks mit:

  • Tokenbasiertem Designsystem (tokens.css)
  • Classless Base (base.css)
  • Komponenten-Bibliothek (components.css)
  • Utilities (utilities.css)
  • Vollständiger Komponenten-Demo (index.html)
  • OpenCode-Skill-Dokumentation (.opencode/)