@webority/theme 0.9.17 → 0.9.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -87,6 +87,22 @@ Token remap includes:
87
87
  Marketing sites ship light-only (the `scss/_marketing.scss` partial is opt-in on portals
88
88
  and omitted on marketing); dark mode is a **portal feature**, not a marketing requirement.
89
89
 
90
+ ## Public CSS class vocabulary
91
+
92
+ Theme-owned class names follow one rule going forward. Enforced by
93
+ `scripts/check-scss-class-prefix.mjs` (frozen legacy allowlist + fail on new bare names).
94
+
95
+ | Class kind | Allowed for **new** chrome? | Notes |
96
+ |---|---|---|
97
+ | Bootstrap public classes (`.btn`, `.form-control`, `.card`, …) | **Yes** | Restyle Layer A only — do not fork a second kit |
98
+ | `.wui-*` | **Yes — default** | All new library chrome |
99
+ | `.app-*` | Legacy only | Shell / host wrappers already shipped; prefer `.wui-*` for anything new |
100
+ | Bare generics (`.input`, `.search-select`, `.datepicker`, `.tbl-*`, …) | Legacy only | Frozen allowlist; no new top-level bare selectors |
101
+ | Marketing bare (`.section-y`, `.btn-pill`, …) | Opt-in `_marketing.scss` only | Documented marketing vocabulary; portals omit the import |
102
+
103
+ Renames of legacy bare names are **BREAKING**: remove the old class, list the new name in
104
+ `CHANGELOG.md`, no dual-class shim. Consumers update markup on the bump.
105
+
90
106
  ## Library vs product ownership
91
107
 
92
108
  Three layers. Do not collapse product art direction into the shared package.