@atelier-ui/create-workspace 0.2.10 โ 0.2.12
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## 0.2.12 (2026-08-26)
|
|
2
|
+
|
|
3
|
+
### ๐ Features
|
|
4
|
+
|
|
5
|
+
- **tokens:** teal ramp as the primitive tier, with checked annotations (ADR-0038) ([6b4309c](https://github.com/DominikPieper/atelier-ui/commit/6b4309c))
|
|
6
|
+
|
|
7
|
+
### โค๏ธ Thank You
|
|
8
|
+
|
|
9
|
+
- Claude Opus 5
|
|
10
|
+
- Dominik Pieper @DominikPieper
|
|
11
|
+
|
|
12
|
+
## 0.2.11 (2026-08-26)
|
|
13
|
+
|
|
14
|
+
### ๐ Features
|
|
15
|
+
|
|
16
|
+
- **tokens:** type roles instead of a size ladder (ADR-0036) ([32b6e64](https://github.com/DominikPieper/atelier-ui/commit/32b6e64))
|
|
17
|
+
|
|
18
|
+
### โค๏ธ Thank You
|
|
19
|
+
|
|
20
|
+
- Claude Opus 5
|
|
21
|
+
- Dominik Pieper @DominikPieper
|
|
22
|
+
|
|
1
23
|
## 0.2.10 (2026-08-26)
|
|
2
24
|
|
|
3
25
|
This was a version bump only for create-workspace to align it with other projects, there were no code changes.
|
package/package.json
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* Mono (code), chosen 2026-08-26 โ see ADR-0035, which revises ADR-0020's
|
|
12
12
|
* Inter choice. The library declares the stacks; loading the faces is the
|
|
13
13
|
* consumer's job (the docs app does it through Astro's fonts config).
|
|
14
|
+
* The --ui-type-* roles (ADR-0036) are the layer component CSS should
|
|
15
|
+
* reference; the individual axes remain for the cases a role does not fit.
|
|
14
16
|
*
|
|
15
17
|
* Plan: ~/.claude/plans/atelier-design-rebrief.md (Direction A pivot)
|
|
16
18
|
*
|
|
@@ -34,18 +36,75 @@
|
|
|
34
36
|
--ui-letter-spacing-tight: -0.01em;
|
|
35
37
|
--ui-letter-spacing-normal: 0;
|
|
36
38
|
--ui-letter-spacing-wide: 0.01em;
|
|
39
|
+
--ui-letter-spacing-uppercase: 0.08em;
|
|
40
|
+
--ui-font-size-3xl: 2.25rem;
|
|
37
41
|
--ui-font-weight-normal: 400;
|
|
38
42
|
--ui-font-weight-medium: 500;
|
|
39
43
|
--ui-font-weight-semibold: 600;
|
|
44
|
+
--ui-font-weight-bold: 700;
|
|
40
45
|
--ui-line-height-tight: 1.25;
|
|
41
46
|
--ui-line-height-normal: 1.5;
|
|
42
47
|
|
|
48
|
+
/* โโ Type roles โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
49
|
+
* Composed entirely from the axes above, so sizes and weights stay
|
|
50
|
+
* single-sourced and a role adds meaning rather than new numbers.
|
|
51
|
+
* Reference a ROLE from component CSS (`font: var(--ui-type-body-md)`),
|
|
52
|
+
* not an axis โ the role is what carries ADR-0035's rule that weight
|
|
53
|
+
* comes from the sans and the display face is never bolded.
|
|
54
|
+
*
|
|
55
|
+
* `font:` is a shorthand: it resets font-style, font-variant,
|
|
56
|
+
* font-stretch and line-height, so declare it BEFORE any font-* override
|
|
57
|
+
* on the same rule. It does not touch letter-spacing โ pair the display
|
|
58
|
+
* role with --ui-letter-spacing-tight and an uppercased label role with
|
|
59
|
+
* --ui-letter-spacing-uppercase yourself.
|
|
60
|
+
*/
|
|
61
|
+
--ui-type-display: italic var(--ui-font-weight-normal) var(--ui-font-size-3xl) /
|
|
62
|
+
var(--ui-line-height-tight) var(--ui-font-display);
|
|
63
|
+
--ui-type-headline: var(--ui-font-weight-bold) var(--ui-font-size-2xl) /
|
|
64
|
+
var(--ui-line-height-tight) var(--ui-font-family);
|
|
65
|
+
--ui-type-title: var(--ui-font-weight-semibold) var(--ui-font-size-lg) /
|
|
66
|
+
var(--ui-line-height-tight) var(--ui-font-family);
|
|
67
|
+
--ui-type-body-lg: var(--ui-font-weight-normal) var(--ui-font-size-lg) /
|
|
68
|
+
var(--ui-line-height-normal) var(--ui-font-family);
|
|
69
|
+
--ui-type-body-md: var(--ui-font-weight-normal) var(--ui-font-size-md) /
|
|
70
|
+
var(--ui-line-height-normal) var(--ui-font-family);
|
|
71
|
+
--ui-type-body-sm: var(--ui-font-weight-normal) var(--ui-font-size-sm) /
|
|
72
|
+
var(--ui-line-height-normal) var(--ui-font-family);
|
|
73
|
+
--ui-type-label: var(--ui-font-weight-medium) var(--ui-font-size-xs) /
|
|
74
|
+
var(--ui-line-height-tight) var(--ui-font-family);
|
|
75
|
+
--ui-type-code: var(--ui-font-weight-normal) var(--ui-font-size-sm) /
|
|
76
|
+
var(--ui-line-height-normal) var(--ui-font-mono);
|
|
77
|
+
|
|
43
78
|
/* โโ Colours ยท light mode (default) โโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
44
79
|
|
|
45
80
|
/* Primary โ Conciso deep teal */
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
81
|
+
|
|
82
|
+
/* โโ Teal ramp ยท primitive tier (ADR-0038) โโโโโโโโโโโโโโโโโโ
|
|
83
|
+
* The brand hue as a tonal scale. Semantics below alias into it, so a step
|
|
84
|
+
* is declared once and every mode picks a different step of the same ramp.
|
|
85
|
+
*
|
|
86
|
+
* Annotations are CHECKED, not decorative โ `check:contrast` re-measures
|
|
87
|
+
* every one and fails if a stated ratio is wrong or below AA:
|
|
88
|
+
* โ
the brand anchor
|
|
89
|
+
* T on surface(light|dark) N.NN this step carries normal text on that
|
|
90
|
+
* canvas at the stated WCAG 2.2 ratio
|
|
91
|
+
* Steps 50โ500 are generated by perceptual (OKLab) interpolation between the
|
|
92
|
+
* shipping values; 100โ300 and 700โ900 ARE the shipping values, unchanged.
|
|
93
|
+
*/
|
|
94
|
+
--ui-color-teal-50: #99f4f4;
|
|
95
|
+
--ui-color-teal-100: #87efef;
|
|
96
|
+
--ui-color-teal-200: #5ee5e5;
|
|
97
|
+
--ui-color-teal-300: #34d8d8; /* T on surface(dark) 10.83 */
|
|
98
|
+
--ui-color-teal-400: #27babd; /* T on surface(dark) 8.01 */
|
|
99
|
+
--ui-color-teal-500: #1a9ca3; /* T on surface(dark) 5.73 โ lightest step that still carries text on dark */
|
|
100
|
+
--ui-color-teal-600: #0d7f89; /* T on surface(light) 4.76 โ lightest step that still carries text on light */
|
|
101
|
+
--ui-color-teal-700: #006470; /* โ
ยท T on surface(light) 6.87 */
|
|
102
|
+
--ui-color-teal-800: #004e58; /* T on surface(light) 9.41 */
|
|
103
|
+
--ui-color-teal-900: #003a42; /* T on surface(light) 12.47 */
|
|
104
|
+
|
|
105
|
+
--ui-color-primary: var(--ui-color-teal-700);
|
|
106
|
+
--ui-color-primary-hover: var(--ui-color-teal-800);
|
|
107
|
+
--ui-color-primary-active: var(--ui-color-teal-900);
|
|
49
108
|
--ui-color-primary-light: rgba(0, 100, 112, 0.08);
|
|
50
109
|
|
|
51
110
|
/* Secondary (legacy โ kept for components that opt in) */
|
|
@@ -170,9 +229,9 @@
|
|
|
170
229
|
|
|
171
230
|
@media (prefers-color-scheme: dark) {
|
|
172
231
|
:root {
|
|
173
|
-
--ui-color-primary:
|
|
174
|
-
--ui-color-primary-hover:
|
|
175
|
-
--ui-color-primary-active:
|
|
232
|
+
--ui-color-primary: var(--ui-color-teal-300);
|
|
233
|
+
--ui-color-primary-hover: var(--ui-color-teal-200);
|
|
234
|
+
--ui-color-primary-active: var(--ui-color-teal-100);
|
|
176
235
|
--ui-color-primary-light: rgba(52, 216, 216, 0.15);
|
|
177
236
|
|
|
178
237
|
--ui-color-secondary: #94a3b8;
|
|
@@ -230,9 +289,9 @@
|
|
|
230
289
|
}
|
|
231
290
|
|
|
232
291
|
[data-theme="dark"] {
|
|
233
|
-
--ui-color-primary:
|
|
234
|
-
--ui-color-primary-hover:
|
|
235
|
-
--ui-color-primary-active:
|
|
292
|
+
--ui-color-primary: var(--ui-color-teal-300);
|
|
293
|
+
--ui-color-primary-hover: var(--ui-color-teal-200);
|
|
294
|
+
--ui-color-primary-active: var(--ui-color-teal-100);
|
|
236
295
|
--ui-color-primary-light: rgba(52, 216, 216, 0.15);
|
|
237
296
|
|
|
238
297
|
--ui-color-secondary: #94a3b8;
|
|
@@ -290,9 +349,9 @@
|
|
|
290
349
|
|
|
291
350
|
/* Explicit light theme โ declared last so it wins over prefers-color-scheme: dark */
|
|
292
351
|
[data-theme="light"] {
|
|
293
|
-
--ui-color-primary:
|
|
294
|
-
--ui-color-primary-hover:
|
|
295
|
-
--ui-color-primary-active:
|
|
352
|
+
--ui-color-primary: var(--ui-color-teal-700);
|
|
353
|
+
--ui-color-primary-hover: var(--ui-color-teal-800);
|
|
354
|
+
--ui-color-primary-active: var(--ui-color-teal-900);
|
|
296
355
|
--ui-color-primary-light: rgba(0, 100, 112, 0.08);
|
|
297
356
|
|
|
298
357
|
--ui-color-secondary: #475569;
|