@astryxdesign/theme-neutral 0.7.12-canary.f543ec7 → 0.7.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.
@@ -0,0 +1,2 @@
1
+ import type { IconRegistry } from '@astryxdesign/core/Icon';
2
+ export declare const neutralIconRegistry: IconRegistry;
package/dist/neutral.js CHANGED
@@ -396,6 +396,9 @@ export const neutralTheme = {
396
396
  }
397
397
  },
398
398
  "segmented-control-item": {
399
+ "base": {
400
+ "--color-text-secondary": "light-dark(#474747, #c6c6c6)"
401
+ },
399
402
  "size:sm": {
400
403
  "height": "calc(var(--size-element-sm) - 8px)"
401
404
  },
@@ -0,0 +1,496 @@
1
+ /** Neutral's reviewed palette, generated from ../palette.config.json. */
2
+ export declare const neutralPalettes: {
3
+ readonly neutral: {
4
+ readonly name: "Neutral";
5
+ readonly light: {
6
+ readonly "0": "#000000";
7
+ readonly "5": "#111111";
8
+ readonly "10": "#1b1b1b";
9
+ readonly "15": "#262626";
10
+ readonly "20": "#303030";
11
+ readonly "25": "#3b3b3b";
12
+ readonly "30": "#474747";
13
+ readonly "35": "#525252";
14
+ readonly "40": "#5e5e5e";
15
+ readonly "45": "#6a6a6a";
16
+ readonly "50": "#777777";
17
+ readonly "55": "#848484";
18
+ readonly "60": "#919191";
19
+ readonly "65": "#9e9e9e";
20
+ readonly "70": "#ababab";
21
+ readonly "75": "#b9b9b9";
22
+ readonly "80": "#c6c6c6";
23
+ readonly "85": "#d4d4d4";
24
+ readonly "90": "#e2e2e2";
25
+ readonly "95": "#f1f1f1";
26
+ readonly "100": "#ffffff";
27
+ };
28
+ readonly dark: {
29
+ readonly "0": "#000000";
30
+ readonly "5": "#111111";
31
+ readonly "10": "#1b1b1b";
32
+ readonly "15": "#262626";
33
+ readonly "20": "#303030";
34
+ readonly "25": "#3b3b3b";
35
+ readonly "30": "#474747";
36
+ readonly "35": "#525252";
37
+ readonly "40": "#5e5e5e";
38
+ readonly "45": "#6a6a6a";
39
+ readonly "50": "#777777";
40
+ readonly "55": "#848484";
41
+ readonly "60": "#919191";
42
+ readonly "65": "#9e9e9e";
43
+ readonly "70": "#ababab";
44
+ readonly "75": "#b9b9b9";
45
+ readonly "80": "#c6c6c6";
46
+ readonly "85": "#d4d4d4";
47
+ readonly "90": "#e2e2e2";
48
+ readonly "95": "#f1f1f1";
49
+ readonly "100": "#ffffff";
50
+ };
51
+ };
52
+ readonly red: {
53
+ readonly name: "Red";
54
+ readonly light: {
55
+ readonly "0": "#000000";
56
+ readonly "5": "#2c0000";
57
+ readonly "10": "#3e0002";
58
+ readonly "15": "#500004";
59
+ readonly "20": "#620008";
60
+ readonly "25": "#76000c";
61
+ readonly "30": "#8a0011";
62
+ readonly "35": "#9e0015";
63
+ readonly "40": "#af1320";
64
+ readonly "45": "#c0262c";
65
+ readonly "50": "#cf3738";
66
+ readonly "55": "#de4745";
67
+ readonly "60": "#ed5753";
68
+ readonly "65": "#fa6762";
69
+ readonly "70": "#ff7f77";
70
+ readonly "75": "#ff9890";
71
+ readonly "80": "#ffaea7";
72
+ readonly "85": "#ffc4be";
73
+ readonly "90": "#ffd8d4";
74
+ readonly "95": "#ffece9";
75
+ readonly "100": "#ffffff";
76
+ };
77
+ readonly dark: {
78
+ readonly "0": "#000000";
79
+ readonly "5": "#200908";
80
+ readonly "10": "#2f1110";
81
+ readonly "15": "#3d1917";
82
+ readonly "20": "#4c221f";
83
+ readonly "25": "#5b2b28";
84
+ readonly "30": "#6b3431";
85
+ readonly "35": "#7e3c38";
86
+ readonly "40": "#92423e";
87
+ readonly "45": "#a84743";
88
+ readonly "50": "#be4e49";
89
+ readonly "55": "#d15752";
90
+ readonly "60": "#e1645e";
91
+ readonly "65": "#ee736c";
92
+ readonly "70": "#fb837b";
93
+ readonly "75": "#ff9890";
94
+ readonly "80": "#ffaea7";
95
+ readonly "85": "#ffc4be";
96
+ readonly "90": "#ffd8d4";
97
+ readonly "95": "#ffece9";
98
+ readonly "100": "#ffffff";
99
+ };
100
+ };
101
+ readonly orange: {
102
+ readonly name: "Orange";
103
+ readonly light: {
104
+ readonly "0": "#000000";
105
+ readonly "5": "#250500";
106
+ readonly "10": "#340d00";
107
+ readonly "15": "#431600";
108
+ readonly "20": "#521f00";
109
+ readonly "25": "#622700";
110
+ readonly "30": "#733100";
111
+ readonly "35": "#833a00";
112
+ readonly "40": "#944400";
113
+ readonly "45": "#a54f00";
114
+ readonly "50": "#b45c00";
115
+ readonly "55": "#c76600";
116
+ readonly "60": "#d97000";
117
+ readonly "65": "#e97e1d";
118
+ readonly "70": "#f58d3a";
119
+ readonly "75": "#ff9e55";
120
+ readonly "80": "#ffb37e";
121
+ readonly "85": "#ffc7a1";
122
+ readonly "90": "#ffdac2";
123
+ readonly "95": "#ffede1";
124
+ readonly "100": "#ffffff";
125
+ };
126
+ readonly dark: {
127
+ readonly "0": "#000000";
128
+ readonly "5": "#1c0c05";
129
+ readonly "10": "#29160d";
130
+ readonly "15": "#362014";
131
+ readonly "20": "#43291c";
132
+ readonly "25": "#503424";
133
+ readonly "30": "#603d2a";
134
+ readonly "35": "#72462d";
135
+ readonly "40": "#864f2c";
136
+ readonly "45": "#9b5627";
137
+ readonly "50": "#af5f1d";
138
+ readonly "55": "#c2691b";
139
+ readonly "60": "#d1762b";
140
+ readonly "65": "#df843f";
141
+ readonly "70": "#eb9352";
142
+ readonly "75": "#f7a266";
143
+ readonly "80": "#ffb37e";
144
+ readonly "85": "#ffc7a1";
145
+ readonly "90": "#ffdac2";
146
+ readonly "95": "#ffede1";
147
+ readonly "100": "#ffffff";
148
+ };
149
+ };
150
+ readonly yellow: {
151
+ readonly name: "Yellow";
152
+ readonly light: {
153
+ readonly "0": "#000000";
154
+ readonly "5": "#190f00";
155
+ readonly "10": "#251a00";
156
+ readonly "15": "#312400";
157
+ readonly "20": "#3e2e00";
158
+ readonly "25": "#4b3900";
159
+ readonly "30": "#584400";
160
+ readonly "35": "#664f00";
161
+ readonly "40": "#745b00";
162
+ readonly "45": "#836700";
163
+ readonly "50": "#927300";
164
+ readonly "55": "#a17f00";
165
+ readonly "60": "#b18c00";
166
+ readonly "65": "#c29900";
167
+ readonly "70": "#d2a700";
168
+ readonly "75": "#e2b623";
169
+ readonly "80": "#eec448";
170
+ readonly "85": "#f8d36a";
171
+ readonly "90": "#ffe193";
172
+ readonly "95": "#fff0ca";
173
+ readonly "100": "#ffffff";
174
+ };
175
+ readonly dark: {
176
+ readonly "0": "#000000";
177
+ readonly "5": "#161002";
178
+ readonly "10": "#221b08";
179
+ readonly "15": "#2d250e";
180
+ readonly "20": "#392f15";
181
+ readonly "25": "#453a1c";
182
+ readonly "30": "#524521";
183
+ readonly "35": "#615124";
184
+ readonly "40": "#705c24";
185
+ readonly "45": "#80681f";
186
+ readonly "50": "#907316";
187
+ readonly "55": "#a17f07";
188
+ readonly "60": "#b18c00";
189
+ readonly "65": "#be9921";
190
+ readonly "70": "#cba73d";
191
+ readonly "75": "#d7b554";
192
+ readonly "80": "#e3c36c";
193
+ readonly "85": "#efd284";
194
+ readonly "90": "#fae19e";
195
+ readonly "95": "#fff0c8";
196
+ readonly "100": "#ffffff";
197
+ };
198
+ };
199
+ readonly green: {
200
+ readonly name: "Green";
201
+ readonly light: {
202
+ readonly "0": "#000000";
203
+ readonly "5": "#001800";
204
+ readonly "10": "#002400";
205
+ readonly "15": "#003002";
206
+ readonly "20": "#003d05";
207
+ readonly "25": "#00490b";
208
+ readonly "30": "#0b5615";
209
+ readonly "35": "#17631e";
210
+ readonly "40": "#237028";
211
+ readonly "45": "#2f7d33";
212
+ readonly "50": "#3c8a3f";
213
+ readonly "55": "#4a984c";
214
+ readonly "60": "#59a55b";
215
+ readonly "65": "#6ab26b";
216
+ readonly "70": "#7dbe7e";
217
+ readonly "75": "#90ca90";
218
+ readonly "80": "#a4d6a3";
219
+ readonly "85": "#b7e2b6";
220
+ readonly "90": "#cbeeca";
221
+ readonly "95": "#defadd";
222
+ readonly "100": "#ffffff";
223
+ };
224
+ readonly dark: {
225
+ readonly "0": "#000000";
226
+ readonly "5": "#091409";
227
+ readonly "10": "#112011";
228
+ readonly "15": "#192b19";
229
+ readonly "20": "#223622";
230
+ readonly "25": "#2b422b";
231
+ readonly "30": "#344e34";
232
+ readonly "35": "#3c5c3c";
233
+ readonly "40": "#436a43";
234
+ readonly "45": "#497849";
235
+ readonly "50": "#508651";
236
+ readonly "55": "#59945a";
237
+ readonly "60": "#65a266";
238
+ readonly "65": "#74af75";
239
+ readonly "70": "#85bb85";
240
+ readonly "75": "#97c897";
241
+ readonly "80": "#aad4a9";
242
+ readonly "85": "#bce0bb";
243
+ readonly "90": "#ceecce";
244
+ readonly "95": "#e1f8e0";
245
+ readonly "100": "#ffffff";
246
+ };
247
+ };
248
+ readonly teal: {
249
+ readonly name: "Teal";
250
+ readonly light: {
251
+ readonly "0": "#000000";
252
+ readonly "5": "#001612";
253
+ readonly "10": "#00221c";
254
+ readonly "15": "#002e27";
255
+ readonly "20": "#003a32";
256
+ readonly "25": "#00463d";
257
+ readonly "30": "#005348";
258
+ readonly "35": "#006154";
259
+ readonly "40": "#006e60";
260
+ readonly "45": "#007c6d";
261
+ readonly "50": "#008b7a";
262
+ readonly "55": "#009986";
263
+ readonly "60": "#01a894";
264
+ readonly "65": "#34b5a1";
265
+ readonly "70": "#56c0ae";
266
+ readonly "75": "#74ccbb";
267
+ readonly "80": "#90d7c8";
268
+ readonly "85": "#a9e2d6";
269
+ readonly "90": "#c1eee4";
270
+ readonly "95": "#d7f9f2";
271
+ readonly "100": "#ffffff";
272
+ };
273
+ readonly dark: {
274
+ readonly "0": "#000000";
275
+ readonly "5": "#071411";
276
+ readonly "10": "#0f1f1c";
277
+ readonly "15": "#172a26";
278
+ readonly "20": "#1f3531";
279
+ readonly "25": "#28413c";
280
+ readonly "30": "#2f4e48";
281
+ readonly "35": "#325b53";
282
+ readonly "40": "#326a60";
283
+ readonly "45": "#2d796c";
284
+ readonly "50": "#248979";
285
+ readonly "55": "#299786";
286
+ readonly "60": "#39a593";
287
+ readonly "65": "#4fb1a0";
288
+ readonly "70": "#68bdad";
289
+ readonly "75": "#81c9bb";
290
+ readonly "80": "#99d5c8";
291
+ readonly "85": "#b1e0d6";
292
+ readonly "90": "#c6ece3";
293
+ readonly "95": "#dbf8f1";
294
+ readonly "100": "#ffffff";
295
+ };
296
+ };
297
+ readonly cyan: {
298
+ readonly name: "Cyan";
299
+ readonly light: {
300
+ readonly "0": "#000000";
301
+ readonly "5": "#00151b";
302
+ readonly "10": "#002028";
303
+ readonly "15": "#002c35";
304
+ readonly "20": "#003743";
305
+ readonly "25": "#004351";
306
+ readonly "30": "#00505f";
307
+ readonly "35": "#005d6e";
308
+ readonly "40": "#006a7d";
309
+ readonly "45": "#00788d";
310
+ readonly "50": "#00859d";
311
+ readonly "55": "#0093ad";
312
+ readonly "60": "#00a2be";
313
+ readonly "65": "#29afcb";
314
+ readonly "70": "#45bdd7";
315
+ readonly "75": "#5ecae3";
316
+ readonly "80": "#75d7ef";
317
+ readonly "85": "#8ee4f9";
318
+ readonly "90": "#afefff";
319
+ readonly "95": "#d9f7ff";
320
+ readonly "100": "#ffffff";
321
+ };
322
+ readonly dark: {
323
+ readonly "0": "#000000";
324
+ readonly "5": "#071316";
325
+ readonly "10": "#0f1e22";
326
+ readonly "15": "#17292e";
327
+ readonly "20": "#1f343a";
328
+ readonly "25": "#274046";
329
+ readonly "30": "#2e4c54";
330
+ readonly "35": "#325963";
331
+ readonly "40": "#326774";
332
+ readonly "45": "#2d7586";
333
+ readonly "50": "#228499";
334
+ readonly "55": "#2592a9";
335
+ readonly "60": "#35a0b7";
336
+ readonly "65": "#49adc4";
337
+ readonly "70": "#5dbad1";
338
+ readonly "75": "#71c7dd";
339
+ readonly "80": "#85d5e9";
340
+ readonly "85": "#9ae2f4";
341
+ readonly "90": "#b1eefe";
342
+ readonly "95": "#d9f7ff";
343
+ readonly "100": "#ffffff";
344
+ };
345
+ };
346
+ readonly blue: {
347
+ readonly name: "Blue";
348
+ readonly light: {
349
+ readonly "0": "#000000";
350
+ readonly "5": "#000f30";
351
+ readonly "10": "#001a41";
352
+ readonly "15": "#002452";
353
+ readonly "20": "#002f65";
354
+ readonly "25": "#003978";
355
+ readonly "30": "#00458c";
356
+ readonly "35": "#0050a2";
357
+ readonly "40": "#005cb8";
358
+ readonly "45": "#0067ce";
359
+ readonly "50": "#0074e2";
360
+ readonly "55": "#1e81f0";
361
+ readonly "60": "#348ffd";
362
+ readonly "65": "#529fff";
363
+ readonly "70": "#6eaeff";
364
+ readonly "75": "#88bcff";
365
+ readonly "80": "#a1caff";
366
+ readonly "85": "#b9d7ff";
367
+ readonly "90": "#d0e5ff";
368
+ readonly "95": "#e8f2ff";
369
+ readonly "100": "#ffffff";
370
+ };
371
+ readonly dark: {
372
+ readonly "0": "#000000";
373
+ readonly "5": "#051121";
374
+ readonly "10": "#0d1c2f";
375
+ readonly "15": "#15263d";
376
+ readonly "20": "#1d314b";
377
+ readonly "25": "#253c5a";
378
+ readonly "30": "#2b486c";
379
+ readonly "35": "#2f5382";
380
+ readonly "40": "#315f99";
381
+ readonly "45": "#346bb1";
382
+ readonly "50": "#3778c7";
383
+ readonly "55": "#3e84dc";
384
+ readonly "60": "#4a92eb";
385
+ readonly "65": "#5aa0f8";
386
+ readonly "70": "#6eaeff";
387
+ readonly "75": "#88bcff";
388
+ readonly "80": "#a1caff";
389
+ readonly "85": "#b9d7ff";
390
+ readonly "90": "#d0e5ff";
391
+ readonly "95": "#e8f2ff";
392
+ readonly "100": "#ffffff";
393
+ };
394
+ };
395
+ readonly purple: {
396
+ readonly name: "Purple";
397
+ readonly light: {
398
+ readonly "0": "#000000";
399
+ readonly "5": "#210028";
400
+ readonly "10": "#31003b";
401
+ readonly "15": "#3f004c";
402
+ readonly "20": "#4e045c";
403
+ readonly "25": "#5c0e6c";
404
+ readonly "30": "#6b187c";
405
+ readonly "35": "#781f8a";
406
+ readonly "40": "#842699";
407
+ readonly "45": "#9130a7";
408
+ readonly "50": "#9f3cb5";
409
+ readonly "55": "#ad4dc3";
410
+ readonly "60": "#bb5fd1";
411
+ readonly "65": "#ca72de";
412
+ readonly "70": "#d885eb";
413
+ readonly "75": "#e496f6";
414
+ readonly "80": "#efa8ff";
415
+ readonly "85": "#f3bfff";
416
+ readonly "90": "#f7d5ff";
417
+ readonly "95": "#fbeaff";
418
+ readonly "100": "#ffffff";
419
+ };
420
+ readonly dark: {
421
+ readonly "0": "#000000";
422
+ readonly "5": "#180b1b";
423
+ readonly "10": "#251329";
424
+ readonly "15": "#311c36";
425
+ readonly "20": "#3e2544";
426
+ readonly "25": "#4a2f51";
427
+ readonly "30": "#58395f";
428
+ readonly "35": "#674270";
429
+ readonly "40": "#784983";
430
+ readonly "45": "#895196";
431
+ readonly "50": "#9a59a9";
432
+ readonly "55": "#aa63ba";
433
+ readonly "60": "#b870c9";
434
+ readonly "65": "#c57ed5";
435
+ readonly "70": "#d28de2";
436
+ readonly "75": "#de9ced";
437
+ readonly "80": "#eaacf8";
438
+ readonly "85": "#f3bfff";
439
+ readonly "90": "#f7d5ff";
440
+ readonly "95": "#fbeaff";
441
+ readonly "100": "#ffffff";
442
+ };
443
+ };
444
+ readonly pink: {
445
+ readonly name: "Pink";
446
+ readonly light: {
447
+ readonly "0": "#000000";
448
+ readonly "5": "#290013";
449
+ readonly "10": "#3b001e";
450
+ readonly "15": "#4b0028";
451
+ readonly "20": "#5d0034";
452
+ readonly "25": "#70003f";
453
+ readonly "30": "#83004b";
454
+ readonly "35": "#950457";
455
+ readonly "40": "#a61863";
456
+ readonly "45": "#b52970";
457
+ readonly "50": "#c5387c";
458
+ readonly "55": "#d44789";
459
+ readonly "60": "#e25796";
460
+ readonly "65": "#ef67a3";
461
+ readonly "70": "#fc78b1";
462
+ readonly "75": "#ff90bd";
463
+ readonly "80": "#ffa9ca";
464
+ readonly "85": "#ffc0d7";
465
+ readonly "90": "#ffd5e4";
466
+ readonly "95": "#ffeaf1";
467
+ readonly "100": "#ffffff";
468
+ };
469
+ readonly dark: {
470
+ readonly "0": "#000000";
471
+ readonly "5": "#1e0912";
472
+ readonly "10": "#2d111d";
473
+ readonly "15": "#3b1927";
474
+ readonly "20": "#492132";
475
+ readonly "25": "#572b3d";
476
+ readonly "30": "#663449";
477
+ readonly "35": "#783b55";
478
+ readonly "40": "#8c4161";
479
+ readonly "45": "#a1476e";
480
+ readonly "50": "#b54e7b";
481
+ readonly "55": "#c85688";
482
+ readonly "60": "#d76395";
483
+ readonly "65": "#e572a3";
484
+ readonly "70": "#f181b0";
485
+ readonly "75": "#fd92bd";
486
+ readonly "80": "#ffa9ca";
487
+ readonly "85": "#ffc0d7";
488
+ readonly "90": "#ffd5e4";
489
+ readonly "95": "#ffeaf1";
490
+ readonly "100": "#ffffff";
491
+ };
492
+ };
493
+ readonly black: "#000000";
494
+ readonly white: "#ffffff";
495
+ };
496
+ export default neutralPalettes;
@@ -0,0 +1 @@
1
+ export declare const neutralTheme: import("@astryxdesign/core/theme").ResolvedDefinedTheme<never>;
@@ -1 +1 @@
1
- {"version":3,"file":"neutralTheme.d.ts","sourceRoot":"","sources":["../src/neutralTheme.ts"],"names":[],"mappings":"AAyCA,eAAO,MAAM,YAAY,gEA8WvB,CAAC"}
1
+ {"version":3,"file":"neutralTheme.d.ts","sourceRoot":"","sources":["../src/neutralTheme.ts"],"names":[],"mappings":"AAyCA,eAAO,MAAM,YAAY,gEAoXvB,CAAC"}
@@ -418,7 +418,13 @@ var neutralTheme = (0, import_theme.defineTheme)({
418
418
  padding: "var(--spacing-1)"
419
419
  }
420
420
  },
421
+ // An unselected label sits on the translucent track, which lifts the
422
+ // page under it. In dark mode secondary text falls under 4.5:1 on the
423
+ // track over the surface, so it takes the same next stop.
421
424
  "segmented-control-item": {
425
+ base: {
426
+ "--color-text-secondary": `light-dark(${neutral.light[30]}, ${neutral.dark[80]})`
427
+ },
422
428
  "size:sm": {
423
429
  height: "calc(var(--size-element-sm) - 8px)"
424
430
  },
@@ -0,0 +1,3 @@
1
+ export { neutralTheme } from './neutralTheme.cjs';
2
+ export { neutralPalettes } from './neutralPalettes.cjs';
3
+ export { neutralIconRegistry } from './icons.cjs';
package/dist/source.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { neutralTheme } from './neutralTheme';
2
- export { neutralPalettes } from './neutralPalettes';
3
- export { neutralIconRegistry } from './icons';
1
+ export { neutralTheme } from './neutralTheme.js';
2
+ export { neutralPalettes } from './neutralPalettes.js';
3
+ export { neutralIconRegistry } from './icons.js';
4
4
  //# sourceMappingURL=source.d.ts.map
package/dist/source.mjs CHANGED
@@ -423,7 +423,13 @@ var neutralTheme = defineTheme({
423
423
  padding: "var(--spacing-1)"
424
424
  }
425
425
  },
426
+ // An unselected label sits on the translucent track, which lifts the
427
+ // page under it. In dark mode secondary text falls under 4.5:1 on the
428
+ // track over the surface, so it takes the same next stop.
426
429
  "segmented-control-item": {
430
+ base: {
431
+ "--color-text-secondary": `light-dark(${neutral.light[30]}, ${neutral.dark[80]})`
432
+ },
427
433
  "size:sm": {
428
434
  height: "calc(var(--size-element-sm) - 8px)"
429
435
  },
package/dist/theme.css CHANGED
@@ -86,18 +86,30 @@
86
86
 
87
87
  @scope ([data-astryx-theme="neutral"]) to ([data-astryx-theme]) {
88
88
  :scope {
89
- --font-size-4xs: 0.375rem;
90
- --font-size-3xs: 0.4375rem;
91
- --font-size-2xs: 0.5rem;
92
- --font-size-xs: 0.625rem;
93
- --font-size-sm: 0.75rem;
94
- --font-size-base: 0.875rem;
95
- --font-size-lg: 1.0625rem;
96
- --font-size-xl: 1.25rem;
97
- --font-size-2xl: 1.5rem;
98
- --font-size-3xl: 1.8125rem;
99
- --font-size-4xl: 2.1875rem;
100
- --font-size-5xl: 2.625rem;
89
+ --_scaled-font-size-4xs: min(calc(0.375rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-3xs));
90
+ --font-size-4xs: var(--_scaled-font-size-4xs);
91
+ --_scaled-font-size-3xs: min(calc(0.4375rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-2xs));
92
+ --font-size-3xs: var(--_scaled-font-size-3xs);
93
+ --_scaled-font-size-2xs: min(calc(0.5rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-xs));
94
+ --font-size-2xs: var(--_scaled-font-size-2xs);
95
+ --_scaled-font-size-xs: min(calc(0.625rem * var(--_dynamic-type-caption1, 1)), var(--_scaled-font-size-sm));
96
+ --font-size-xs: var(--_scaled-font-size-xs);
97
+ --_scaled-font-size-sm: min(calc(0.75rem * var(--_dynamic-type-footnote, 1)), var(--_scaled-font-size-base));
98
+ --font-size-sm: var(--_scaled-font-size-sm);
99
+ --_scaled-font-size-base: min(calc(0.875rem * var(--_dynamic-type-body, 1)), var(--_scaled-font-size-lg));
100
+ --font-size-base: var(--_scaled-font-size-base);
101
+ --_scaled-font-size-lg: min(calc(1.0625rem * var(--_dynamic-type-title3, 1)), var(--_scaled-font-size-xl));
102
+ --font-size-lg: var(--_scaled-font-size-lg);
103
+ --_scaled-font-size-xl: min(calc(1.25rem * var(--_dynamic-type-title2, 1)), var(--_scaled-font-size-2xl));
104
+ --font-size-xl: var(--_scaled-font-size-xl);
105
+ --_scaled-font-size-2xl: min(calc(1.5rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-3xl));
106
+ --font-size-2xl: var(--_scaled-font-size-2xl);
107
+ --_scaled-font-size-3xl: min(calc(1.8125rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-4xl));
108
+ --font-size-3xl: var(--_scaled-font-size-3xl);
109
+ --_scaled-font-size-4xl: min(calc(2.1875rem * var(--_dynamic-type-large-title, 1)), var(--_scaled-font-size-5xl));
110
+ --font-size-4xl: var(--_scaled-font-size-4xl);
111
+ --_scaled-font-size-5xl: calc(2.625rem * var(--_dynamic-type-large-title, 1));
112
+ --font-size-5xl: var(--_scaled-font-size-5xl);
101
113
  --text-heading-1-size: var(--font-size-2xl);
102
114
  --text-heading-1-weight: var(--font-weight-semibold);
103
115
  --text-heading-1-leading: 1.3333;
@@ -487,6 +499,10 @@
487
499
  --_segmented-control-padding: var(--spacing-1);
488
500
  }
489
501
 
502
+ .astryx-segmented-control-item {
503
+ --color-text-secondary: light-dark(#474747, #c6c6c6);
504
+ }
505
+
490
506
  .astryx-segmented-control-item[data-size="sm"] {
491
507
  height: calc(var(--size-element-sm) - 8px);
492
508
  }
@@ -579,18 +595,30 @@
579
595
  @media (width < 1024px) and (pointer: coarse) {
580
596
  @scope ([data-astryx-theme="neutral"]) to ([data-astryx-theme]) {
581
597
  :scope {
582
- --font-size-4xs: 0.4375rem;
583
- --font-size-3xs: 0.5rem;
584
- --font-size-2xs: 0.625rem;
585
- --font-size-xs: 0.75rem;
586
- --font-size-sm: 0.875rem;
587
- --font-size-base: 1rem;
588
- --font-size-lg: 1.1875rem;
589
- --font-size-xl: 1.375rem;
590
- --font-size-2xl: 1.625rem;
591
- --font-size-3xl: 1.875rem;
592
- --font-size-4xl: 2.25rem;
593
- --font-size-5xl: 2.625rem;
598
+ --_scaled-font-size-4xs: min(calc(0.4375rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-3xs));
599
+ --font-size-4xs: var(--_scaled-font-size-4xs);
600
+ --_scaled-font-size-3xs: min(calc(0.5rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-2xs));
601
+ --font-size-3xs: var(--_scaled-font-size-3xs);
602
+ --_scaled-font-size-2xs: min(calc(0.625rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-xs));
603
+ --font-size-2xs: var(--_scaled-font-size-2xs);
604
+ --_scaled-font-size-xs: min(calc(0.75rem * var(--_dynamic-type-caption1, 1)), var(--_scaled-font-size-sm));
605
+ --font-size-xs: var(--_scaled-font-size-xs);
606
+ --_scaled-font-size-sm: min(calc(0.875rem * var(--_dynamic-type-footnote, 1)), var(--_scaled-font-size-base));
607
+ --font-size-sm: var(--_scaled-font-size-sm);
608
+ --_scaled-font-size-base: min(calc(1rem * var(--_dynamic-type-body, 1)), var(--_scaled-font-size-lg));
609
+ --font-size-base: var(--_scaled-font-size-base);
610
+ --_scaled-font-size-lg: min(calc(1.1875rem * var(--_dynamic-type-title3, 1)), var(--_scaled-font-size-xl));
611
+ --font-size-lg: var(--_scaled-font-size-lg);
612
+ --_scaled-font-size-xl: min(calc(1.375rem * var(--_dynamic-type-title2, 1)), var(--_scaled-font-size-2xl));
613
+ --font-size-xl: var(--_scaled-font-size-xl);
614
+ --_scaled-font-size-2xl: min(calc(1.625rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-3xl));
615
+ --font-size-2xl: var(--_scaled-font-size-2xl);
616
+ --_scaled-font-size-3xl: min(calc(1.875rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-4xl));
617
+ --font-size-3xl: var(--_scaled-font-size-3xl);
618
+ --_scaled-font-size-4xl: min(calc(2.25rem * var(--_dynamic-type-large-title, 1)), var(--_scaled-font-size-5xl));
619
+ --font-size-4xl: var(--_scaled-font-size-4xl);
620
+ --_scaled-font-size-5xl: calc(2.625rem * var(--_dynamic-type-large-title, 1));
621
+ --font-size-5xl: var(--_scaled-font-size-5xl);
594
622
  --text-heading-1-size: var(--font-size-2xl);
595
623
  --text-heading-1-weight: var(--font-weight-semibold);
596
624
  --text-heading-1-leading: 1.3846;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/theme-neutral",
3
- "version": "0.7.12-canary.f543ec7",
3
+ "version": "0.7.12",
4
4
  "displayName": "Neutral Theme",
5
5
  "private": false,
6
6
  "description": "Restrained warm grays. Minimal and quiet, so the content stays the focus.",
@@ -25,13 +25,19 @@
25
25
  "sideEffects": [
26
26
  "**/*.css"
27
27
  ],
28
- "main": "./dist/source.js",
28
+ "type": "module",
29
+ "main": "./dist/source.cjs",
29
30
  "types": "./dist/source.d.ts",
30
31
  "exports": {
31
32
  ".": {
32
- "types": "./dist/source.d.ts",
33
- "import": "./dist/source.mjs",
34
- "require": "./dist/source.js"
33
+ "import": {
34
+ "types": "./dist/source.d.ts",
35
+ "default": "./dist/source.mjs"
36
+ },
37
+ "require": {
38
+ "types": "./dist/source.d.cts",
39
+ "default": "./dist/source.cjs"
40
+ }
35
41
  },
36
42
  "./built": {
37
43
  "types": "./dist/neutral.d.ts",
@@ -52,6 +58,7 @@
52
58
  "src",
53
59
  "fonts.css",
54
60
  "fonts.css.d.ts",
61
+ "theme.css.d.ts",
55
62
  "palette.config.json",
56
63
  "!**/*.test.*",
57
64
  "!**/*.spec.js",
@@ -71,15 +78,15 @@
71
78
  "lucide-react": "^1.18.0"
72
79
  },
73
80
  "peerDependencies": {
74
- "@astryxdesign/core": "0.7.12-canary.f543ec7",
81
+ "@astryxdesign/core": "0.7.12",
75
82
  "react": ">=19"
76
83
  },
77
84
  "devDependencies": {
78
- "@astryxdesign/cli": "0.7.12-canary.f543ec7"
85
+ "@astryxdesign/cli": "0.7.12"
79
86
  },
80
87
  "module": "./dist/source.mjs",
81
88
  "scripts": {
82
89
  "api:report": "node ../../../scripts/api-report/cli.mjs --package .",
83
- "build": "node ../../../scripts/clean-dist.mjs && node ../../../scripts/generate-neutral-palette-refs.mjs --check && astryx theme build src/neutralTheme.ts -o dist/theme.css --icons-specifier ./icons.mjs && tsup && tsc --project tsconfig.build.json && node ../../../scripts/check-fully-specified.mjs"
90
+ "build": "node ../../../scripts/clean-dist.mjs && node ../../../scripts/generate-neutral-palette-refs.mjs --check && astryx theme build src/neutralTheme.ts -o dist/theme.css --icons-specifier ./icons.mjs && tsup && tsc --project tsconfig.build.json && node ../../../scripts/add-declaration-extensions.mjs && node ../../../scripts/emit-commonjs-declarations.mjs dist/source.d.ts && node ../../../scripts/check-fully-specified.mjs"
84
91
  }
85
92
  }
@@ -361,7 +361,13 @@ export const neutralTheme = defineTheme({
361
361
  padding: 'var(--spacing-1)',
362
362
  },
363
363
  },
364
+ // An unselected label sits on the translucent track, which lifts the
365
+ // page under it. In dark mode secondary text falls under 4.5:1 on the
366
+ // track over the surface, so it takes the same next stop.
364
367
  'segmented-control-item': {
368
+ base: {
369
+ '--color-text-secondary': `light-dark(${neutral.light[30]}, ${neutral.dark[80]})`,
370
+ },
365
371
  'size:sm': {
366
372
  height: 'calc(var(--size-element-sm) - 8px)',
367
373
  },
package/theme.css.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ export {};