@engineio/ui 0.4.3 → 0.5.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.
@@ -29,11 +29,44 @@
29
29
  it there.
30
30
  */
31
31
 
32
+ /*
33
+ ── WEIGHT RANGES, AND WHY ────────────────────────────────────────────────
34
+
35
+ Four faces ship: Regular 400, Semibold 600, Bold 700, Black 900. There is no
36
+ Medium (500) binary and no ExtraBold (800) one, and the products ask for both
37
+ — 500 is the single most-used non-body weight across the three sites (490
38
+ uses in studio, 61 in rgs, 7 in casino) and 800 has 23.
39
+
40
+ Left to the CSS font-matching algorithm those two land badly. A request for
41
+ 500 searches DOWN before it searches up, so it resolves to Regular and a
42
+ `font-medium` label comes out identical to body text — the emphasis is
43
+ silently gone. A request for 800 searches UP, so it resolves to Black, two
44
+ steps heavier than asked for.
45
+
46
+ This was masked until now: the products loaded Inter (400–800) and Archivo
47
+ (400–600) from Google Fonts, both of which carry a real 500.
48
+
49
+ So each face declares the RANGE it stands in for, rather than a single value.
50
+ A static face named over a range is used for every weight in it, with no
51
+ synthesis. 500 is deliberately folded UP into Semibold, not down into
52
+ Regular: `font-medium` is used in these UIs to lift labels above body, and
53
+ the brand specifies Semibold for exactly that job (ENGINE-BRAND.md §3, "UI
54
+ labels and subtitles"). Folding it down would erase the distinction the call
55
+ site was making.
56
+
57
+ 650 and 700 keep resolving to Bold exactly as they do today. Only 500 and 800
58
+ change, and both were broken.
59
+
60
+ THE REAL FIX is the two missing binaries. If Medium and ExtraBold can be
61
+ licensed, add them and narrow these ranges back to single values.
62
+ */
63
+
32
64
  /* ── ProximaNova ──────────────────────────────────────────────────────── */
33
65
 
34
66
  @font-face {
35
67
  font-family: "ProximaNova";
36
68
  src: url("../fonts/ProximaNovaRegular.otf") format("opentype");
69
+ /* Body only. 500 is NOT folded in here — see the note above. */
37
70
  font-weight: 400;
38
71
  font-style: normal;
39
72
  font-display: swap;
@@ -42,7 +75,8 @@
42
75
  @font-face {
43
76
  font-family: "ProximaNova";
44
77
  src: url("../fonts/ProximaNovaSemibold.otf") format("opentype");
45
- font-weight: 600;
78
+ /* Stands in for Medium: no 500 binary ships. */
79
+ font-weight: 500 600;
46
80
  font-style: normal;
47
81
  font-display: swap;
48
82
  }
@@ -50,7 +84,9 @@
50
84
  @font-face {
51
85
  font-family: "ProximaNova";
52
86
  src: url("../fonts/ProximaNovaBold.otf") format("opentype");
53
- font-weight: 700;
87
+ /* Stands in for ExtraBold: no 800 binary ships. 650 lands here too, which
88
+ is where it already resolved. */
89
+ font-weight: 650 800;
54
90
  font-style: normal;
55
91
  font-display: swap;
56
92
  }
@@ -187,11 +187,19 @@
187
187
  "ProximaNovaCondensed", "ProximaNova", Arial, sans-serif;
188
188
  --font-extra-condensed:
189
189
  "ProximaNovaExtraCondensed", "ProximaNovaCondensed", Arial, sans-serif;
190
- /* JetBrains Mono is specified for numerics, keys, IDs, code and eyebrow
191
- labels. No binary ships with this package yet see README, Known gaps —
192
- so this currently resolves to the platform monospace. */
193
- --font-mono:
194
- "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
190
+ /* NO MONO FACE. JetBrains Mono was specified for numerics, keys, IDs, code
191
+ and eyebrow labels, and is now retired at the owner's direction: Proxima
192
+ Nova is the root face everywhere, and there is no second typeface.
193
+
194
+ The token stays, pointed at the brand face, because ~200 call sites and
195
+ every `font-mono` utility read it — removing the name would silently drop
196
+ each of them to the browser default rather than to the brand. Code blocks
197
+ that genuinely need character-cell alignment should say so explicitly and
198
+ are a product decision, not a token one.
199
+
200
+ ENGINE-BRAND.md and ENGINE-DESIGN-SYSTEM.md still name JetBrains Mono and
201
+ need updating to match. */
202
+ --font-mono: var(--font-brand);
195
203
 
196
204
  --breakpoint-2xl: 1400px;
197
205
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@engineio/ui",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "The Engine design system — tokens, fonts and Svelte primitives.",
5
5
  "license": "MIT",
6
6
  "private": false,