@aziontech/theme 5.0.0 → 5.2.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.
Files changed (32) hide show
  1. package/dist/v4/globals.css +148 -11
  2. package/dist/v4/globals.scss +148 -11
  3. package/package.json +1 -1
  4. package/src/scripts/build-tokens.mjs +14 -1
  5. package/src/scripts/compile-primitives.js +1 -1
  6. package/src/scripts/compile-theme.js +36 -19
  7. package/src/scripts/measure-comment.mjs +47 -0
  8. package/src/tokens/README.md +10 -2
  9. package/src/tokens/primitives/animations/animate.d.ts +6 -0
  10. package/src/tokens/primitives/animations/animate.d.ts.map +1 -1
  11. package/src/tokens/primitives/animations/animate.js +11 -2
  12. package/src/tokens/primitives/animations/keyframes.d.ts +11 -0
  13. package/src/tokens/primitives/animations/keyframes.d.ts.map +1 -1
  14. package/src/tokens/primitives/animations/keyframes.js +10 -0
  15. package/src/tokens/primitives/colors/colors.d.ts +2 -0
  16. package/src/tokens/primitives/colors/colors.d.ts.map +1 -1
  17. package/src/tokens/primitives/colors/colors.js +2 -0
  18. package/src/tokens/primitives/shape/shape.js +1 -1
  19. package/src/tokens/primitives/typography/tracking.js +1 -1
  20. package/src/tokens/semantic/texts.data.d.ts +33 -0
  21. package/src/tokens/semantic/texts.data.d.ts.map +1 -1
  22. package/src/tokens/semantic/texts.data.js +56 -17
  23. package/src/tokens/theme/background.js +1 -1
  24. package/src/tokens/theme/border.js +4 -4
  25. package/src/tokens/theme/illustration.d.ts +74 -0
  26. package/src/tokens/theme/illustration.d.ts.map +1 -0
  27. package/src/tokens/theme/illustration.js +32 -0
  28. package/src/tokens/theme/surfaces.d.ts +6 -0
  29. package/src/tokens/theme/surfaces.d.ts.map +1 -1
  30. package/src/tokens/theme/surfaces.js +2 -0
  31. package/src/tokens/theme/text.js +1 -1
  32. package/src/tokens/theme.d.ts +2 -0
@@ -117,6 +117,8 @@ src/
117
117
  ├── refs.js # tokenRef helper + isTokenRef guard + assertResolvedRefs
118
118
  ├── compile-primitives.js # flattens primitive trees into CSS vars
119
119
  ├── compile-theme.js # semantic light/dark compiler (exported as ./theme-colors)
120
+ ├── zero-unit.mjs # build gate: a zero length carries no unit
121
+ ├── measure-comment.mjs # build gate: a `// Npx` comment matches its rung
120
122
  └── build-tokens.mjs # main entrypoint: emits the dist/v4 bundle
121
123
  ```
122
124
 
@@ -202,8 +204,14 @@ free. Giving it its own map would duplicate the spacing scale into layout and le
202
204
 
203
205
  The group also ships `layoutsUtilities`, the container-system classes (`.layout-column`,
204
206
  `.layout-boundary`, …) emitted as Tailwind v4 `@utility` blocks so they support variants
205
- (`md:layout-column`). Utilities are shaped exactly like `illustrationsUtilities`: a string value is a
206
- declaration, an object value is a nested rule keyed by a literal selector (`'&:first-child'`).
207
+ (`md:layout-column`). Each entry is a rule body: a string value is a declaration, an object value is
208
+ a nested rule keyed by a literal selector (`'&:first-child'`).
209
+
210
+ A measure carries a `// 1620px` annotation for the reader, and **the token value is the source of
211
+ truth for it** — the comment is a convenience, never the decision. `measure-comment.mjs` resolves
212
+ every annotated `var(--container-*)` back to its rung and **fails the build** when the two disagree,
213
+ because nothing else can see this: the annotation is a JS comment, so it never reaches the compiled
214
+ CSS, and no linter resolves a `var()` to the value it names.
207
215
 
208
216
  ---
209
217
 
@@ -36,6 +36,9 @@ export const animate: {
36
36
  'progress-indeterminate': string;
37
37
  'progress-indeterminate-short': string;
38
38
  'flow-dash': string;
39
+ 'texture-wave-a': string;
40
+ 'texture-wave-b': string;
41
+ 'brand-marquee': string;
39
42
  };
40
43
  export const useWhen: {
41
44
  'page-enter': string;
@@ -59,6 +62,9 @@ export const useWhen: {
59
62
  'progress-indeterminate': string;
60
63
  'progress-indeterminate-short': string;
61
64
  'flow-dash': string;
65
+ 'texture-wave-a': string;
66
+ 'texture-wave-b': string;
67
+ 'brand-marquee': string;
62
68
  };
63
69
  declare namespace _default {
64
70
  export { animate };
@@ -1 +1 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["animate.js"],"names":[],"mappings":"AAAA;;;;;EAKC;AAED;;;;;;;;;EASC;AAED;;;;;;;;;;;;;;;;;;;;;;EAwBC;AAED;;;;;;;;;;;;;;;;;;;;;;EA4BC"}
1
+ {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["animate.js"],"names":[],"mappings":"AAAA;;;;;EAKC;AAED;;;;;;;;;EASC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;EA2BC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;EAkCC"}
@@ -39,7 +39,10 @@ export const animate = {
39
39
  'progress-indeterminate-short': `progressIndeterminateShort ${duration['slow-04']} ${curve['expressive-entrance']} ${duration['slow-03']} infinite`,
40
40
  // `linear` (not a curve token) for the same reason as spin/shimmer: an endlessly
41
41
  // looping animation must not accelerate, or the seam between repeats is visible.
42
- 'flow-dash': `flowDash ${duration['slow-02']} linear infinite`
42
+ 'flow-dash': `flowDash ${duration['slow-02']} linear infinite`,
43
+ 'texture-wave-a': 'textureWaveA 13s linear infinite',
44
+ 'texture-wave-b': 'textureWaveB 19s linear infinite',
45
+ 'brand-marquee': 'brandMarquee 59s linear infinite'
43
46
  }
44
47
 
45
48
  export const useWhen = {
@@ -69,7 +72,13 @@ export const useWhen = {
69
72
  'progress-indeterminate': 'Indeterminate linear progress bar (primary sweep).',
70
73
  'progress-indeterminate-short': 'Indeterminate linear progress bar (secondary short sweep).',
71
74
  'flow-dash':
72
- 'Flowing connection along an SVG connector stroke in a node-based / network diagram. Set a stroke-dasharray whose cycle divides 24 (e.g. 4 4) so the loop is seamless.'
75
+ 'Flowing connection along an SVG connector stroke in a node-based / network diagram. Set a stroke-dasharray whose cycle divides 24 (e.g. 4 4) so the loop is seamless.',
76
+ 'texture-wave-a':
77
+ 'One of the two crossing bands of a pixelate texture, travelling left. Set --texture-wave-shift on the element to one period of its banding measured along X, and overhang the element by that much on the side it travels toward, or the field uncovers mid-cycle.',
78
+ 'texture-wave-b':
79
+ 'The counter-travelling band of that pair (pair of texture-wave-a; same --texture-wave-shift contract, opposite direction).',
80
+ 'brand-marquee':
81
+ 'A strip of logos looping forever (client trust strips, framework strips). Apply to a track holding its row exactly twice, the duplicate aria-hidden, and set animation-duration ON THE ELEMENT from the mark count so every strip on a site moves at one speed rather than one duration — a var in this shorthand would resolve at :root and never see it. Pause it on hover and focus-within so a linked mark can be reached.'
73
82
  }
74
83
 
75
84
  export default { animate, curve, duration, useWhen }
@@ -69,6 +69,17 @@ export namespace keyframes {
69
69
  '0%': string;
70
70
  '100%': string;
71
71
  };
72
+ namespace textureWaveA {
73
+ let to: string;
74
+ }
75
+ namespace textureWaveB {
76
+ let to_1: string;
77
+ export { to_1 as to };
78
+ }
79
+ let brandMarquee: {
80
+ '0%': string;
81
+ '100%': string;
82
+ };
72
83
  }
73
84
  /**
74
85
  * Utilities that need CSS properties beyond the `animation` shorthand
@@ -1 +1 @@
1
- {"version":3,"file":"keyframes.d.ts","sourceRoot":"","sources":["keyframes.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FA;;;;GAIG;AACH;;;;;;;EAGC"}
1
+ {"version":3,"file":"keyframes.d.ts","sourceRoot":"","sources":["keyframes.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuGA;;;;GAIG;AACH;;;;;;;EAGC"}
@@ -88,6 +88,16 @@ export const keyframes = {
88
88
  flowDash: {
89
89
  '0%': 'stroke-dashoffset: 24',
90
90
  '100%': 'stroke-dashoffset: 0'
91
+ },
92
+ textureWaveA: {
93
+ to: 'transform: translate3d(calc(-1 * var(--texture-wave-shift)), 0, 0)'
94
+ },
95
+ textureWaveB: {
96
+ to: 'transform: translate3d(var(--texture-wave-shift), 0, 0)'
97
+ },
98
+ brandMarquee: {
99
+ '0%': 'transform: translateX(0)',
100
+ '100%': 'transform: translateX(-50%)'
91
101
  }
92
102
  }
93
103
 
@@ -23,10 +23,12 @@ export namespace primitives {
23
23
  150: string;
24
24
  200: string;
25
25
  250: string;
26
+ 275: string;
26
27
  300: string;
27
28
  400: string;
28
29
  500: string;
29
30
  600: string;
31
+ 650: string;
30
32
  700: string;
31
33
  750: string;
32
34
  775: string;
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["colors.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACuC,YAAY;sBAAZ,YAAY;sBAD7B,YAAY"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["colors.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACuC,YAAY;sBAAZ,YAAY;sBAD7B,YAAY"}
@@ -32,10 +32,12 @@ export const primitives = {
32
32
  150: '#ECECEC',
33
33
  200: '#E5E5E5',
34
34
  250: '#DADADA',
35
+ 275: '#D1D1D1',
35
36
  300: '#B2B2B2',
36
37
  400: '#999999',
37
38
  500: '#808080',
38
39
  600: '#666666',
40
+ 650: '#535353',
39
41
  700: '#4D4D4D',
40
42
  750: '#2B2B2B',
41
43
  775: '#242424',
@@ -1,5 +1,5 @@
1
- import { radius } from './radius.js'
2
1
  import { borderWidths } from '../border-widths.js'
2
+ import { radius } from './radius.js'
3
3
 
4
4
  export const shape = {
5
5
  'shape-flat': radius.none,
@@ -5,7 +5,7 @@
5
5
  * resolves to a fixed 1.6px instead of 10% of the element's font size.
6
6
  */
7
7
  export const tracking = {
8
- tighter: '-0.05rem',
8
+ tighter: '-0.16rem',
9
9
  tight: '-0.025rem',
10
10
  normal: '0',
11
11
  wide: '0.025rem',
@@ -56,7 +56,19 @@ export const textsData: {
56
56
  fontWeight: number;
57
57
  letterSpacing: string;
58
58
  };
59
+ 'text-heading-3xl': {
60
+ textWrapStyle: string;
61
+ fontSize: {
62
+ _: string;
63
+ sm: string;
64
+ md: string;
65
+ };
66
+ lineHeight: number;
67
+ fontWeight: number;
68
+ letterSpacing: string;
69
+ };
59
70
  'text-heading-2xl': {
71
+ textWrapStyle: string;
60
72
  fontSize: {
61
73
  _: string;
62
74
  sm: string;
@@ -64,8 +76,10 @@ export const textsData: {
64
76
  };
65
77
  lineHeight: number;
66
78
  fontWeight: number;
79
+ letterSpacing: string;
67
80
  };
68
81
  'text-heading-xl': {
82
+ textWrapStyle: string;
69
83
  fontSize: {
70
84
  _: string;
71
85
  sm: string;
@@ -73,16 +87,20 @@ export const textsData: {
73
87
  };
74
88
  lineHeight: number;
75
89
  fontWeight: number;
90
+ letterSpacing: string;
76
91
  };
77
92
  'text-heading-lg': {
93
+ textWrapStyle: string;
78
94
  fontSize: {
79
95
  _: string;
80
96
  md: string;
81
97
  };
82
98
  lineHeight: number;
83
99
  fontWeight: number;
100
+ letterSpacing: string;
84
101
  };
85
102
  'text-heading-md': {
103
+ textWrapStyle: string;
86
104
  fontSize: {
87
105
  _: string;
88
106
  sm: string;
@@ -90,8 +108,10 @@ export const textsData: {
90
108
  };
91
109
  lineHeight: number;
92
110
  fontWeight: number;
111
+ letterSpacing: string;
93
112
  };
94
113
  'text-heading-sm': {
114
+ textWrapStyle: string;
95
115
  fontSize: {
96
116
  _: string;
97
117
  sm: string;
@@ -99,31 +119,39 @@ export const textsData: {
99
119
  };
100
120
  lineHeight: number;
101
121
  fontWeight: number;
122
+ letterSpacing: string;
102
123
  };
103
124
  'text-heading-xs': {
125
+ textWrapStyle: string;
104
126
  fontSize: string;
105
127
  lineHeight: number;
106
128
  fontWeight: number;
129
+ letterSpacing: string;
107
130
  };
108
131
  'text-heading-xxs': {
132
+ textWrapStyle: string;
109
133
  fontSize: string;
110
134
  lineHeight: number;
111
135
  fontWeight: number;
136
+ letterSpacing: string;
112
137
  };
113
138
  'text-label-lg': {
114
139
  fontSize: string;
115
140
  lineHeight: number;
116
141
  fontWeight: number;
142
+ letterSpacing: string;
117
143
  };
118
144
  'text-label-md': {
119
145
  fontSize: string;
120
146
  lineHeight: number;
121
147
  fontWeight: number;
148
+ letterSpacing: string;
122
149
  };
123
150
  'text-label-sm': {
124
151
  fontSize: string;
125
152
  lineHeight: number;
126
153
  fontWeight: number;
154
+ letterSpacing: string;
127
155
  };
128
156
  'text-label-code-sm': {
129
157
  fontFamily: string;
@@ -155,6 +183,7 @@ export const textsData: {
155
183
  letterSpacing: string;
156
184
  };
157
185
  'text-body-lg': {
186
+ textWrapStyle: string;
158
187
  fontSize: {
159
188
  _: string;
160
189
  md: string;
@@ -163,6 +192,7 @@ export const textsData: {
163
192
  lineHeight: number;
164
193
  };
165
194
  'text-body-md': {
195
+ textWrapStyle: string;
166
196
  fontSize: string;
167
197
  fontWeight: number;
168
198
  lineHeight: number;
@@ -173,16 +203,19 @@ export const textsData: {
173
203
  lineHeight: number;
174
204
  };
175
205
  'text-body-sm': {
206
+ textWrapStyle: string;
176
207
  fontSize: string;
177
208
  fontWeight: number;
178
209
  lineHeight: number;
179
210
  };
180
211
  'text-body-xs': {
212
+ textWrapStyle: string;
181
213
  fontSize: string;
182
214
  fontWeight: number;
183
215
  lineHeight: number;
184
216
  };
185
217
  'text-body-xxs': {
218
+ textWrapStyle: string;
186
219
  fontSize: string;
187
220
  fontWeight: number;
188
221
  lineHeight: number;
@@ -1 +1 @@
1
- {"version":3,"file":"texts.data.d.ts","sourceRoot":"","sources":["texts.data.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqNE,8FAA8F;;;;;;;;;;;;;;;;;;EAkB/F"}
1
+ {"version":3,"file":"texts.data.d.ts","sourceRoot":"","sources":["texts.data.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkPE,8FAA8F;;;;;;;;;;;;;;;;;;EAkB/F"}
@@ -9,6 +9,16 @@
9
9
  * Optional `states` emits pseudo-class rules (e.g. `.text-link:hover`). Bundles
10
10
  * with `fontSize: 'inherit'` are omitted from the Tailwind `fontSize` preset.
11
11
  *
12
+ * `textWrapStyle` — the LONGHAND, never the `textWrap` shorthand. `text-wrap: pretty`
13
+ * is `text-wrap-mode: wrap` + `text-wrap-style: pretty`, so a typography utility
14
+ * written that way does not just choose how lines break: it decides THAT the text
15
+ * wraps, and it beats `truncate` / `whitespace-nowrap` on the same element (equal
16
+ * specificity, and this utility sorts later). Every `truncate text-body-sm` in the
17
+ * codebase therefore wrapped to two lines with an ellipsis that never appeared —
18
+ * measurably, table rows grew from 48px to 56px wherever a cell's text was longer
19
+ * than its column. The longhand keeps the balance/pretty intent and leaves wrapping
20
+ * to whoever owns the element.
21
+ *
12
22
  * Mapping used during the port:
13
23
  * old `large` (≤640) → `_`
14
24
  * old `medium` (≤768) → `sm` (≥640)
@@ -46,7 +56,7 @@ export const textsData = {
46
56
  // The three sizes `Currency` typesets a monetary amount at, one per reading
47
57
  // distance: `sm` inside a table row or list cell, `md` an amount stated as a fact on
48
58
  // a card, `lg` the headline figure of a pricing card. Each MIRRORS the heading/label
49
- // token it used to borrow (`text-label-lg`, `text-heading-md`, `text-heading-2xl`) —
59
+ // token it used to borrow (`text-label-lg`, `text-heading-md`, `text-heading-3xl`) —
50
60
  // same size ramp, same leading, same weight — and adds the one thing that made
51
61
  // borrowing wrong: the amount's negative tracking.
52
62
  //
@@ -59,7 +69,7 @@ export const textsData = {
59
69
  // makes a single declaration correct at all three sizes and at every breakpoint of
60
70
  // `lg`'s responsive ramp.
61
71
  //
62
- // Dedicated tokens rather than tracking added to the borrowed ones: `text-heading-2xl`
72
+ // Dedicated tokens rather than tracking added to the borrowed ones: `text-heading-3xl`
63
73
  // sets every hero headline in the system, and a hero is prose, not a numeral.
64
74
  'text-amount-lg': {
65
75
  textWrapStyle: 'balance',
@@ -81,62 +91,86 @@ export const textsData = {
81
91
  fontWeight: fontWeight.normal,
82
92
  letterSpacing: '-0.08em'
83
93
  },
84
- 'text-heading-2xl': {
94
+ 'text-heading-3xl': {
95
+ textWrapStyle: 'balance',
85
96
  fontSize: { _: fontSize['3xl'], sm: fontSize['5xl'], md: fontSize['6xl'] },
86
97
  lineHeight: leading.tight,
87
- fontWeight: fontWeight.normal
98
+ fontWeight: fontWeight.normal,
99
+ letterSpacing: tracking.tighter
100
+ },
101
+ 'text-heading-2xl': {
102
+ textWrapStyle: 'balance',
103
+ fontSize: { _: fontSize['3xl'], sm: fontSize['4xl'], md: fontSize['5xl'] },
104
+ lineHeight: leading.none,
105
+ fontWeight: fontWeight.normal,
106
+ letterSpacing: tracking.tighter
88
107
  },
89
108
  'text-heading-xl': {
109
+ textWrapStyle: 'balance',
90
110
  fontSize: { _: fontSize.xl, sm: fontSize['3xl'], md: fontSize['4xl'] },
91
111
  lineHeight: leading.tight,
92
- fontWeight: fontWeight.normal
112
+ fontWeight: fontWeight.normal,
113
+ letterSpacing: tracking.normal
93
114
  },
94
115
  'text-heading-lg': {
116
+ textWrapStyle: 'balance',
95
117
  fontSize: { _: fontSize.lg, md: fontSize['3xl'] },
96
118
  lineHeight: leading.tight,
97
- fontWeight: fontWeight.normal
119
+ fontWeight: fontWeight.normal,
120
+ letterSpacing: tracking.normal
98
121
  },
99
122
  'text-heading-md': {
123
+ textWrapStyle: 'balance',
100
124
  fontSize: { _: fontSize.base, sm: fontSize.xl, md: fontSize['2xl'] },
101
125
  lineHeight: leading.tight,
102
- fontWeight: fontWeight.normal
126
+ fontWeight: fontWeight.normal,
127
+ letterSpacing: tracking.normal
103
128
  },
104
129
  'text-heading-sm': {
130
+ textWrapStyle: 'balance',
105
131
  fontSize: { _: fontSize.sm, sm: fontSize.base, md: fontSize.lg },
106
132
  lineHeight: leading.snug,
107
- fontWeight: fontWeight.normal
133
+ fontWeight: fontWeight.normal,
134
+ letterSpacing: tracking.normal
108
135
  },
109
136
  'text-heading-xs': {
137
+ textWrapStyle: 'balance',
110
138
  fontSize: fontSize.base,
111
139
  lineHeight: leading.snug,
112
- fontWeight: fontWeight.normal
140
+ fontWeight: fontWeight.normal,
141
+ letterSpacing: tracking.normal
113
142
  },
114
143
  'text-heading-xxs': {
144
+ textWrapStyle: 'balance',
115
145
  fontSize: fontSize.sm,
116
146
  lineHeight: leading.snug,
117
- fontWeight: fontWeight.normal
147
+ fontWeight: fontWeight.normal,
148
+ letterSpacing: tracking.normal
118
149
  },
119
150
  'text-label-lg': {
120
151
  fontSize: fontSize.base,
121
152
  lineHeight: leading.normal,
122
- fontWeight: fontWeight.normal
153
+ fontWeight: fontWeight.normal,
154
+ letterSpacing: tracking.tight
123
155
  },
124
156
  'text-label-md': {
125
157
  fontSize: fontSize.sm,
126
158
  lineHeight: leading.normal,
127
- fontWeight: fontWeight.normal
159
+ fontWeight: fontWeight.normal,
160
+ letterSpacing: tracking.tight
128
161
  },
129
162
  'text-label-sm': {
130
163
  fontSize: fontSize.xs,
131
164
  lineHeight: leading.normal,
132
- fontWeight: fontWeight.normal
165
+ fontWeight: fontWeight.normal,
166
+ letterSpacing: tracking.tight
133
167
  },
134
168
  'text-label-code-sm': {
135
169
  fontFamily: fontFamily.code,
136
170
  fontSize: fontSize.xs,
137
171
  lineHeight: leading.none,
138
172
  fontWeight: fontWeight.normal,
139
- letterSpacing: tracking.normal
173
+ letterSpacing: tracking.wide
140
174
  },
141
175
  'text-body-code-sm': {
142
176
  textWrapStyle: 'pretty',
@@ -144,28 +178,30 @@ export const textsData = {
144
178
  fontSize: fontSize.xs,
145
179
  lineHeight: leading.relaxed,
146
180
  fontWeight: fontWeight.normal,
147
- letterSpacing: tracking.normal
181
+ letterSpacing: tracking.wide
148
182
  },
149
183
  'text-label-code-md': {
150
184
  fontFamily: fontFamily.code,
151
185
  fontSize: fontSize.sm,
152
186
  lineHeight: leading.none,
153
187
  fontWeight: fontWeight.normal,
154
- letterSpacing: tracking.normal
188
+ letterSpacing: tracking.wide
155
189
  },
156
190
  'text-label-code-lg': {
157
191
  fontFamily: fontFamily.code,
158
192
  fontSize: fontSize.base,
159
193
  lineHeight: leading.none,
160
194
  fontWeight: fontWeight.normal,
161
- letterSpacing: tracking.normal
195
+ letterSpacing: tracking.wide
162
196
  },
163
197
  'text-body-lg': {
198
+ textWrapStyle: 'pretty',
164
199
  fontSize: { _: fontSize.base, md: fontSize.lg },
165
200
  fontWeight: fontWeight.normal,
166
201
  lineHeight: leading.snug
167
202
  },
168
203
  'text-body-md': {
204
+ textWrapStyle: 'pretty',
169
205
  fontSize: fontSize.base,
170
206
  fontWeight: fontWeight.normal,
171
207
  lineHeight: leading.snug
@@ -176,16 +212,19 @@ export const textsData = {
176
212
  lineHeight: leading.relaxed
177
213
  },
178
214
  'text-body-sm': {
215
+ textWrapStyle: 'pretty',
179
216
  fontSize: fontSize.sm,
180
217
  fontWeight: fontWeight.normal,
181
218
  lineHeight: leading.snug
182
219
  },
183
220
  'text-body-xs': {
221
+ textWrapStyle: 'pretty',
184
222
  fontSize: fontSize.xs,
185
223
  fontWeight: fontWeight.normal,
186
224
  lineHeight: leading.snug
187
225
  },
188
226
  'text-body-xxs': {
227
+ textWrapStyle: 'pretty',
189
228
  fontSize: fontSize.xs,
190
229
  fontWeight: fontWeight.normal,
191
230
  lineHeight: leading.normal
@@ -2,7 +2,7 @@ import { tokenRef } from '../../scripts/refs.js'
2
2
 
3
3
  export const background = {
4
4
  light: {
5
- 'bg-canvas': tokenRef('theme.surfaces.surface-50'),
5
+ 'bg-canvas': tokenRef('theme.surfaces.surface-100'),
6
6
  'bg-surface': tokenRef('theme.surfaces.surface-0'),
7
7
  'bg-surface-raised': tokenRef('theme.surfaces.surface-0'),
8
8
  'bg-mask': tokenRef('primitives.alpha.black.50'),
@@ -8,12 +8,12 @@ import { tokenRef } from '../../scripts/refs.js'
8
8
  // brighter line, so any stacked or abutting border doubled. An opaque step gives a rule one
9
9
  // identity wherever it is drawn, and makes overlap a no-op.
10
10
  //
11
- // The steps are ones added to fill the ramp's gaps (`gray.150` / `gray.250` / `gray.750` /
11
+ // The steps are ones added to fill the ramp's gaps (`gray.150` / `gray.275` / `gray.750` /
12
12
  // `gray.775`), NOT the steps that bracket them — `surface-200` (light) and `surface-800` (dark)
13
13
  // are what `--bg-selected` and `--bg-disabled` already use, so a border drawn there is exactly
14
14
  // its own fill and vanishes. Every pairing a component can produce now clears zero:
15
- // light default surface-250 vs canvas 32 · surface 37 · selected/disabled 11
16
- // light muted surface-150 vs canvas 14 · surface 19 · selected/disabled 7
15
+ // light default surface-275 vs canvas 36 · surface 46 · selected/disabled 20
16
+ // light muted surface-150 vs canvas 9 · surface 19 · selected/disabled 7
17
17
  // dark default surface-750 vs canvas 43 · surface 33 · raised 23 · selected 17
18
18
  // dark muted surface-775 vs canvas 36 · surface 26 · raised 16 · selected 10
19
19
  //
@@ -24,7 +24,7 @@ import { tokenRef } from '../../scripts/refs.js'
24
24
  // cannot go proportionally as subtle: `--bg-surface-raised` sits at 20 and would swallow it.
25
25
  export const border = {
26
26
  light: {
27
- 'border-default': tokenRef('theme.surfaces.surface-250'),
27
+ 'border-default': tokenRef('theme.surfaces.surface-275'),
28
28
  'border-muted': tokenRef('theme.surfaces.surface-150'),
29
29
  'border-strong': tokenRef('primitives.base.black'),
30
30
  'border-selected': tokenRef('brand.primary.primary-500')
@@ -0,0 +1,74 @@
1
+ export namespace illustration {
2
+ export { aliases as light };
3
+ export { aliases as dark };
4
+ }
5
+ declare namespace _default {
6
+ export { illustration };
7
+ }
8
+ export default _default;
9
+ declare const aliases: {
10
+ 'illustration-ground': {
11
+ __ref: any;
12
+ };
13
+ 'illustration-surface': {
14
+ __ref: any;
15
+ };
16
+ 'illustration-surface-raised': {
17
+ __ref: any;
18
+ };
19
+ 'illustration-block': {
20
+ __ref: any;
21
+ };
22
+ 'illustration-line': {
23
+ __ref: any;
24
+ };
25
+ 'illustration-line-muted': {
26
+ __ref: any;
27
+ };
28
+ 'illustration-line-strong': {
29
+ __ref: any;
30
+ };
31
+ 'illustration-highlight': {
32
+ __ref: any;
33
+ };
34
+ 'illustration-ink': {
35
+ __ref: any;
36
+ };
37
+ 'illustration-ink-muted': {
38
+ __ref: any;
39
+ };
40
+ 'illustration-primary': {
41
+ __ref: any;
42
+ };
43
+ 'illustration-accent': {
44
+ __ref: any;
45
+ };
46
+ 'illustration-code-punctuation': {
47
+ __ref: any;
48
+ };
49
+ 'illustration-code-keyword': {
50
+ __ref: any;
51
+ };
52
+ 'illustration-success': {
53
+ __ref: any;
54
+ };
55
+ 'illustration-success-surface': {
56
+ __ref: any;
57
+ };
58
+ 'illustration-danger': {
59
+ __ref: any;
60
+ };
61
+ 'illustration-warning': {
62
+ __ref: any;
63
+ };
64
+ 'illustration-warning-surface': {
65
+ __ref: any;
66
+ };
67
+ 'illustration-info': {
68
+ __ref: any;
69
+ };
70
+ 'illustration-info-surface': {
71
+ __ref: any;
72
+ };
73
+ };
74
+ //# sourceMappingURL=illustration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"illustration.d.ts","sourceRoot":"","sources":["illustration.js"],"names":[],"mappings":";;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBC"}
@@ -0,0 +1,32 @@
1
+ import { tokenRef } from '../../scripts/refs.js'
2
+
3
+ const aliases = {
4
+ 'illustration-ground': tokenRef('theme.background.bg-canvas'),
5
+ 'illustration-surface': tokenRef('theme.background.bg-surface'),
6
+ 'illustration-surface-raised': tokenRef('theme.background.bg-surface-raised'),
7
+ 'illustration-block': tokenRef('theme.background.bg-selected'),
8
+ 'illustration-line': tokenRef('theme.border.border-default'),
9
+ 'illustration-line-muted': tokenRef('theme.border.border-muted'),
10
+ 'illustration-line-strong': tokenRef('theme.text.text-disabled'),
11
+ 'illustration-highlight': tokenRef('theme.border.border-strong'),
12
+ 'illustration-ink': tokenRef('theme.text.text-default'),
13
+ 'illustration-ink-muted': tokenRef('theme.text.text-muted'),
14
+ 'illustration-primary': tokenRef('theme.primary.primary'),
15
+ 'illustration-accent': tokenRef('theme.accent.accent'),
16
+ 'illustration-code-punctuation': tokenRef('theme.codeSintax.code-sintax-punctuation'),
17
+ 'illustration-code-keyword': tokenRef('theme.codeSintax.code-sintax-keyword'),
18
+ 'illustration-success': tokenRef('theme.success.success-contrast'),
19
+ 'illustration-success-surface': tokenRef('theme.success.success'),
20
+ 'illustration-danger': tokenRef('theme.danger.danger-contrast'),
21
+ 'illustration-warning': tokenRef('theme.warning.warning-contrast'),
22
+ 'illustration-warning-surface': tokenRef('theme.warning.warning'),
23
+ 'illustration-info': tokenRef('theme.info.info-contrast'),
24
+ 'illustration-info-surface': tokenRef('theme.info.info')
25
+ }
26
+
27
+ export const illustration = {
28
+ light: aliases,
29
+ dark: aliases
30
+ }
31
+
32
+ export default { illustration }
@@ -25,6 +25,9 @@ declare const shared: {
25
25
  'surface-250': {
26
26
  __ref: any;
27
27
  };
28
+ 'surface-275': {
29
+ __ref: any;
30
+ };
28
31
  'surface-300': {
29
32
  __ref: any;
30
33
  };
@@ -37,6 +40,9 @@ declare const shared: {
37
40
  'surface-600': {
38
41
  __ref: any;
39
42
  };
43
+ 'surface-650': {
44
+ __ref: any;
45
+ };
40
46
  'surface-700': {
41
47
  __ref: any;
42
48
  };