Repository navigation
Release v1.16.0
Release v1.16.0: optional appearance SPI (presets, --nowo-ui-* token emitter with host aliases, Twig functions, optional form).
Changelog
Added
- Appearance SPI (opt-in
nowo_ui_kit.appearance; Symfony Beacon spec 138 FR-005, kit spec 004):Appearancevalue object (brand name / eyebrow, light and darkAppearancePalette, theme ids, corner style, border strength, fixed footer;with*(),toArray()/fromArray()),AppearanceProviderInterface(host storage; defaultConfigAppearanceProviderfromappearance.defaults),AppearancePresetRegistry(configpresets, taggedAppearancePresetProviderInterfaceservices, built-insocean,slate,sandstone,midnight,obsidian,aurora,ember;apply(),matchLightId()/matchDarkId()),CornerStyle/BorderStrengthenums (radius / border maps). AppearanceCssEmitter::root+ light + dark blocks of--nowo-ui-*tokens (radius, card radius, border width, primary / deep / hover / contrast, danger, warning, paper, text, surface, border, accent-soft, surface-muted, paper-accent, paper-ink, muted, brand-mark, shadow-rgb), colour sanitising, configurableselectors,token_aliases(extra property names with the same literal value) andkit_tokens: false(aliases only) — enough to reproduce a host emitter's legacy variable names exactly.- Twig functions
nowo_ui_appearance(),nowo_ui_appearance_css(),nowo_ui_appearance_style(nonce)(CSP nonce from thecsp_noncerequest attribute by default),nowo_ui_appearance_presets(mode). - Optional forms
AppearanceType/AppearancePaletteTypewhensymfony/formis installed (colour validation withsymfony/validator); translations (7 locales).symfony/formandsymfony/validatorare only suggested (dev requirements for the test suite). - Docs: THEMING.md — Appearance SPI (token table, storage / presets, legacy aliases); CONFIGURATION.md — Appearance.