@bsuite/theme 0.12.0 → 0.13.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsuite/theme",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -73,9 +73,5 @@
73
73
  "typescript": "~6.0.3",
74
74
  "vite": "^8.0.16",
75
75
  "vitest": "^4.1.8"
76
- },
77
- "dependencies": {
78
- "@fontsource-variable/geist": "^5.3.0",
79
- "@fontsource-variable/geist-mono": "^5.3.0"
80
76
  }
81
77
  }
package/src/css/fonts.css CHANGED
@@ -52,6 +52,25 @@
52
52
  *
53
53
  * - **variable, not static weights.** One file per subset covers 100–900. The
54
54
  * eight discrete weights it replaces were eight separate downloads.
55
+ *
56
+ * THE FILES ARE VENDORED, and that is deliberate rather than lazy. 0.12.x
57
+ * referenced them as BARE SPECIFIERS —
58
+ * `url(@fontsource-variable/geist/files/…woff2)` — which a bundler can only
59
+ * resolve if the CONSUMING app also has @fontsource-variable/geist in its own
60
+ * resolution. conduit and throughput did, because they had been importing the
61
+ * package directly, so their builds emitted the four files and looked correct.
62
+ * R80.4 did not, and its built CSS kept the bare specifier VERBATIM: at runtime
63
+ * the browser requests a literal path beginning `@fontsource-variable/`, gets a
64
+ * 404, and silently falls back — the CSS reads correct and fetches nothing.
65
+ *
66
+ * Two apps passing was a FALSE POSITIVE caused by their pre-existing
67
+ * dependency. R80.4 — the one app with no font dependency of its own — was the
68
+ * honest test, and it is exactly the app this file was written for.
69
+ *
70
+ * Four relative `./fonts/*.woff2` files, 83,736 B total, resolve identically in
71
+ * every consumer with no dependency at all. The package's `dependencies` field
72
+ * is empty again as a result.
73
+
55
74
  *
56
75
  * The `unicode-range` values are copied verbatim from crm7's own working faces
57
76
  * rather than re-derived. Re-typing a subset range is how a subset silently loses
@@ -59,9 +78,15 @@
59
78
  *
60
79
  * HOW TO USE IT
61
80
  * ─────────────
62
- * @import '@bsuite/theme/fonts.css'; /* before your token import */
81
+ * @import '@bsuite/theme/fonts.css'; <- before the token import
63
82
  * @import '@bsuite/theme/css';
64
83
  *
84
+ * (Written without an inline comment on purpose: a nested comment terminator
85
+ * inside this block would CLOSE it early, and everything after would parse as
86
+ * CSS. That is not hypothetical — it shipped in 0.12.0 and broke every
87
+ * consumer's build with `Invalid declaration` pointing at the NEXT import,
88
+ * several lines away from the actual fault.)
89
+ *
65
90
  * This is a SEPARATE entry point, not folded into `./css`, on purpose: `braden`
66
91
  * is BRADEN-EXEMPT and runs its corporate Open Sans / Montserrat stack, so it
67
92
  * must be able to take the tokens without taking Geist.
@@ -74,7 +99,7 @@
74
99
  font-style: normal;
75
100
  font-display: swap;
76
101
  font-weight: 100 900;
77
- src: url('@fontsource-variable/geist/files/geist-latin-wght-normal.woff2')
102
+ src: url('./fonts/geist-latin-wght-normal.woff2')
78
103
  format('woff2-variations');
79
104
  unicode-range:
80
105
  U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
@@ -86,7 +111,7 @@
86
111
  font-style: normal;
87
112
  font-display: swap;
88
113
  font-weight: 100 900;
89
- src: url('@fontsource-variable/geist/files/geist-latin-ext-wght-normal.woff2')
114
+ src: url('./fonts/geist-latin-ext-wght-normal.woff2')
90
115
  format('woff2-variations');
91
116
  unicode-range:
92
117
  U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
@@ -109,7 +134,7 @@
109
134
  font-style: normal;
110
135
  font-display: swap;
111
136
  font-weight: 100 900;
112
- src: url('@fontsource-variable/geist-mono/files/geist-mono-latin-wght-normal.woff2')
137
+ src: url('./fonts/geist-mono-latin-wght-normal.woff2')
113
138
  format('woff2-variations');
114
139
  unicode-range:
115
140
  U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
@@ -121,7 +146,7 @@
121
146
  font-style: normal;
122
147
  font-display: swap;
123
148
  font-weight: 100 900;
124
- src: url('@fontsource-variable/geist-mono/files/geist-mono-latin-ext-wght-normal.woff2')
149
+ src: url('./fonts/geist-mono-latin-ext-wght-normal.woff2')
125
150
  format('woff2-variations');
126
151
  unicode-range:
127
152
  U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,