@webority/theme 0.98.0 → 0.99.0

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
@@ -31,34 +31,6 @@ load-bearing**:
31
31
  Importing part of the core chain is a bug: skipping `wui-aliases` leaves every
32
32
  `--color-*` reference unresolved.
33
33
 
34
- ### The primary as text: `--wui-primary-ink`
35
-
36
- A brand primary is chosen as a fill. A light one fails WCAG AA as text: an orange such as `#E8501E`
37
- measures 3.75:1 on white. So the theme keeps two colours:
38
-
39
- - `--wui-primary` (`--color-primary`): fills, borders, focus rings, the selected-day disc.
40
- - `--wui-primary-ink` (`--color-primary-ink`): every link, tab label, page number, selected option,
41
- avatar initial and primary-coloured icon. It is `$primary` darkened in 2% steps until it clears
42
- 4.5:1 on white, the page, the muted and elevated fills and the brand's own soft tint, so it equals
43
- `$primary` when the primary already clears AA. Orange `#E8501E` gets `#BA4018` (5.48:1 on white).
44
- - `--wui-primary-text` (`--color-primary-text`): the label ON a solid primary fill, white when white
45
- - `--color-primary-hover-text`: the label colour on a pressed or hovered primary button (white in light mode, near-black in dark mode).
46
- clears 4.5:1 on the primary, near-black otherwise.
47
-
48
- All three derive from `$primary` at compile time, so setting `$primary` (or `wui-brand-primary`) is
49
- enough. A product can set `$wui-primary-ink` / `$wui-primary-text` before the theme's variables, or
50
- `--wui-primary-ink` / `--wui-primary-text` at runtime. A brand layer that re-points `--wui-primary` at
51
- runtime must set `--wui-primary-ink` and `--wui-primary-text` beside it.
52
-
53
- Dark mode uses one colour, `--wui-dark-primary`, for primary text, rings, focus borders and the fill
54
- under its near-black label. It is `$primary` mixed with white in 2% steps until it clears 4.5:1 on
55
- every dark surface, on its own avatar tint, on the brand's soft tint and under that label, so
56
- `wui-brand-primary` carries the brand into dark mode (a royal blue `#2F50E4` lifts to about `#8FA1F0`). Never
57
- set it to the light brand fill: a runtime `--wui-dark-primary` must clear the same floors.
58
-
59
- `check-contrast` proves both derivations for an orange, an amber, a sky and a royal blue test brand
60
- and fails any theme rule that colours text with `--color-primary`.
61
-
62
34
  ### Country flags are opt-in
63
35
 
64
36
  The 245 `.wui-flag-*` rules are about 187 KB raw (38 KB Brotli) of inlined SVG, so
@@ -263,9 +235,9 @@ Anti-over-correction checklist. When thinning the package (e.g. marketing extrac
263
235
 
264
236
  ### Tokens & system (`scss/_variables`, `_tokens`, `_wui-aliases`)
265
237
 
266
- - Theme colors + `wui-brand-primary`; body/text/surface/border ramps (incl. AA tertiary)
238
+ - Theme colors + `wui-brand-primary`; body/text/surface/border ramps
267
239
  - Radius ladder that differs from Bootstrap; spacer map extensions (6+)
268
- - Status ramps: fills **and** `-text` / danger-strong for AA
240
+ - Status ramps: fills **and** `-text` / danger-strong
269
241
  - Control heights (`--wui-control-height*`: sm 32, md 36, lg 44; md is 44 on phone-width and touch screens) and one disabled opacity (`--wui-disabled-opacity`); flat in-page elevation; overlay shadows only
270
242
  - Z-index scale (`--wui-z-*`); dark-mode `--bs-*` / RGB bridges
271
243
  - Focus: no input glow (`$input-focus-box-shadow: none`); fields keep a soft brand border and also draw the shared keyboard ring
@@ -310,7 +282,6 @@ Keep shipping all of these; classify for **when to use**, not for removal:
310
282
  `corner-shape: squircle` is applied on many controls (buttons, fields, chips, menus, shell) as **progressive enhancement**:
311
283
 
312
284
  - Supporting browsers get slightly smoother corners; others keep plain `border-radius`.
313
- - Not a cross-browser design contract; not a WCAG requirement.
314
285
  - Missing squircle is **not** a bug.
315
286
 
316
287
  **Policy:** keep on shared control surfaces for consistent geometry; do **not** strip globally. Optional `.rounded-squircle` remains an opt-in utility. Products that want pure arcs only override locally — do not fork App*.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/theme",
3
- "version": "0.98.0",
3
+ "version": "0.99.0",
4
4
  "description": "Webority shared design system — Bootstrap 5.3 SCSS overrides, --wui-* tokens, and shared component CSS. The single source of brand chrome for React portals and Razor sites.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "publishConfig": {
package/scss/_tokens.scss CHANGED
@@ -61,8 +61,7 @@
61
61
  /// meaning: Resting fill of every input-like control, such as fields, selects and textareas.
62
62
  --wui-field-bg: #F9FBFC;
63
63
  // Resting and hover border of every input-like control: a soft edge a step darker than
64
- // --wui-border-light, and the --wui-text-5 hover. They sit under WCAG 1.4.11's 3:1 by
65
- // design choice; check-contrast reports them as FAIL without failing the gate.
64
+ // --wui-border-light, and the --wui-text-5 hover.
66
65
  /// meaning: Resting border of every input-like control.
67
66
  --wui-field-border: #DFE2EA;
68
67
  /// meaning: Hover border of every input-like control.
@@ -523,9 +523,6 @@
523
523
  }
524
524
  .attach-item-remove:hover {
525
525
  border-color: var(--color-danger);
526
- // The glyph is graphical (icon-only button, 3:1) so the brand hue would technically pass
527
- // at 3.36:1 — but "tint background ⇒ -text foreground" is worth keeping exceptionless, so
528
- // check-contrast can enforce it by inspection instead of case-by-case judgement.
529
526
  color: var(--color-danger-text);
530
527
  background: var(--color-danger-soft);
531
528
  }