Design-Tokens, Themes und Light/Dark für Iris (Mac) und IrisRemote (iOS) – Swift Package
- Swift 100%
| Sources/IrisDesign | ||
| Tests/IrisDesignTests | ||
| .gitignore | ||
| Package.swift | ||
| README.md | ||
IrisDesign
Design-Tokens, Themes und Light/Dark für Iris (macOS) und IrisRemote (iOS), als Swift Package.
Palette: Farbwerte eines Themes (iris,graphit,papier), je Token ein Paar aus Hell und Dunkel.ThemeundThemeMode: Auswahl der Palette und des Modus (System, Hell, Dunkel), pro Gerät in UserDefaults (uiTheme,uiThemeMode).IrisColors: die Tokens alsColor; sie lösen Modus und aktives Theme beim Zeichnen auf.Theme.activate(): wählt ein Theme, speichert es und zeichnet die App neu (ohne Neustart).ThemeMode.applyToApp(): setzt den Modus app-weit (AppKit/UIKit).
Ein neues Theme ist eine neue Palette plus ein Fall in Theme; swift test prüft den Kontrast jeder Palette in beiden Modi.
Tests: swift test.
Issue: iris/Iris#261 (Mac), iris/2ndbrain-ios#64 (iOS).