@weasel-js/theme 1.5.2 → 1.6.1

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.
@@ -1,4 +1,4 @@
1
- import { themeAxes, fullSelection, selectionKey, resolveTheme, isByAxis } from './chunk-LL2ERJPZ.js';
1
+ import { themeAxes, fullSelection, selectionKey, resolveTheme, themeChain, isByAxis, generate, DEFAULT_CONSTRAINTS } from './chunk-C3S4A65R.js';
2
2
 
3
3
  // src/generated/themes.ts
4
4
  var THEMES = {
@@ -20,6 +20,9 @@ var THEMES = {
20
20
  "--wzl-accent-soft": "#1d1454",
21
21
  "--wzl-accent-base": "#2e1f7a",
22
22
  "--wzl-accent-strong": "#5841b8",
23
+ "--wzl-secondary-soft": "#704e09",
24
+ "--wzl-secondary-base": "#dc9d15",
25
+ "--wzl-secondary-strong": "#f1cb8d",
23
26
  "--wzl-swatch-fuchsia": "#f641f7",
24
27
  "--wzl-swatch-green": "#48e628",
25
28
  "--wzl-swatch-sky": "#36bff2",
@@ -53,19 +56,65 @@ var THEMES = {
53
56
  "--wzl-border": "#25272c",
54
57
  "--wzl-border-strong": "#6f737b",
55
58
  "--wzl-accent-fg": "#5841b8",
59
+ "--wzl-secondary-fg": "#dc9d15",
56
60
  "--wzl-fg-inverse": "#0e0f12",
57
61
  "--wzl-shadow": "rgba(0, 0, 0, 0.6)",
62
+ "--wzl-panel-surface": "#25272c",
63
+ "--wzl-panel-border-color": "#25272c",
64
+ "--wzl-panel-border-style": "solid",
65
+ "--wzl-panel-border-width": "1px",
66
+ "--wzl-radius-lg": "14px",
67
+ "--wzl-panel-radius": "14px",
68
+ "--wzl-panel-pad": "14px 16px",
69
+ "--wzl-glass-blur": "3px",
70
+ "--wzl-panel-blur": "3px",
71
+ "--wzl-panel-tone-mix": "14%",
72
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
73
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
74
+ "--wzl-font-weight-light": "200",
75
+ "--wzl-panel-title-weight": "200",
76
+ "--wzl-panel-title-size": "14px",
77
+ "--wzl-panel-title-case": "none",
78
+ "--wzl-panel-title-tracking": "0.01em",
79
+ "--wzl-panel-title-color": "#e6e7e9",
80
+ "--wzl-panel-title-inset": "0",
81
+ "--wzl-stance-scope-border-width": "0",
82
+ "--wzl-stance-scope-radius": "8px",
83
+ "--wzl-stance-scope-tone-mix": "22%",
84
+ "--wzl-stance-scope-nested-radius": "6px",
85
+ "--wzl-stance-scope-nested-surface": "#181a1e",
86
+ "--wzl-stance-aside-surface": "transparent",
87
+ "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
88
+ "--wzl-stance-aside-border-color": "rgba(230, 231, 233, 0.1)",
89
+ "--wzl-stance-aside-blur": "0px",
90
+ "--wzl-stance-aside-title-color": "#6f737b",
91
+ "--wzl-stance-advanced-title-color": "#6f737b",
92
+ "--wzl-stance-debug-border-style": "dashed",
93
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
94
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
95
+ "--wzl-stance-debug-title-case": "none",
58
96
  "--wzl-danger-base": "#d94a3f",
97
+ "--wzl-danger": "#d94a3f",
98
+ "--wzl-stance-danger-tone": "#d94a3f",
99
+ "--wzl-stance-danger-border-color": "#d94a3f",
100
+ "--wzl-stance-danger-title-color": "#d94a3f",
101
+ "--wzl-accent": "#2e1f7a",
102
+ "--wzl-stance-notice-tone": "#2e1f7a",
103
+ "--wzl-stance-notice-tone-mix": "8%",
104
+ "--wzl-stance-important-border-color": "#5841b8",
105
+ "--wzl-stance-important-title-color": "#5841b8",
106
+ "--wzl-stance-preview-pad": "0",
107
+ "--wzl-stance-preview-title-size": "8px",
108
+ "--wzl-stance-preview-title-case": "none",
109
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
59
110
  "--wzl-warning-base": "#d99a3f",
60
111
  "--wzl-success-base": "#2ec27e",
61
112
  "--wzl-fg-on-accent": "#f5f5f6",
62
- "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
63
113
  "--wzl-line": "rgba(230, 231, 233, 0.2)",
64
114
  "--wzl-line-strong": "rgba(230, 231, 233, 0.4)",
65
115
  "--wzl-curve-color": "#5841b8",
66
- "--wzl-accent": "#2e1f7a",
67
116
  "--wzl-accent-hover": "#5841b8",
68
- "--wzl-danger": "#d94a3f",
117
+ "--wzl-secondary": "#dc9d15",
69
118
  "--wzl-warning": "#d99a3f",
70
119
  "--wzl-success": "#2ec27e",
71
120
  "--wzl-focus-ring": "#5841b8",
@@ -74,7 +123,6 @@ var THEMES = {
74
123
  "--wzl-surface-pressed": "rgba(230, 231, 233, 0.18)",
75
124
  "--wzl-radius-sm": "3px",
76
125
  "--wzl-radius-md": "5px",
77
- "--wzl-radius-lg": "14px",
78
126
  "--wzl-radius-pill": "999px",
79
127
  "--wzl-border-w": "1px",
80
128
  "--wzl-line-width": "2px",
@@ -91,8 +139,12 @@ var THEMES = {
91
139
  "--wzl-handle-size": "9px",
92
140
  "--wzl-handle-size-sm": "7px",
93
141
  "--wzl-handle-size-lg": "10px",
142
+ "--wzl-checker-a": "#25272c",
143
+ "--wzl-checker-b": "#181a1e",
144
+ "--wzl-checker-size": "8px",
145
+ "--wzl-workspace-surface": "#0e0f12",
146
+ "--wzl-workspace-line": "rgba(230, 231, 233, 0.1)",
94
147
  "--wzl-field-pad-x": "8px",
95
- "--wzl-glass-blur": "3px",
96
148
  "--wzl-font-size": "11px",
97
149
  "--wzl-tracking-none": "0",
98
150
  "--wzl-tracking-wide": "0.06em",
@@ -111,10 +163,7 @@ var THEMES = {
111
163
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
112
164
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
113
165
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
114
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
115
166
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
116
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
117
- "--wzl-font-weight-light": "200",
118
167
  "--wzl-font-weight-normal": "300",
119
168
  "--wzl-font-weight-medium": "350",
120
169
  "--wzl-font-weight-bold": "400",
@@ -137,6 +186,9 @@ var THEMES = {
137
186
  "--wzl-accent-soft": "#1d1454",
138
187
  "--wzl-accent-base": "#2e1f7a",
139
188
  "--wzl-accent-strong": "#5841b8",
189
+ "--wzl-secondary-soft": "#704e09",
190
+ "--wzl-secondary-base": "#dc9d15",
191
+ "--wzl-secondary-strong": "#f1cb8d",
140
192
  "--wzl-swatch-fuchsia": "#f641f7",
141
193
  "--wzl-swatch-green": "#48e628",
142
194
  "--wzl-swatch-sky": "#36bff2",
@@ -170,19 +222,65 @@ var THEMES = {
170
222
  "--wzl-border": "#25272c",
171
223
  "--wzl-border-strong": "#6f737b",
172
224
  "--wzl-accent-fg": "#5841b8",
225
+ "--wzl-secondary-fg": "#dc9d15",
173
226
  "--wzl-fg-inverse": "#0e0f12",
174
227
  "--wzl-shadow": "rgba(0, 0, 0, 0.6)",
228
+ "--wzl-panel-surface": "#25272c",
229
+ "--wzl-panel-border-color": "#25272c",
230
+ "--wzl-panel-border-style": "solid",
231
+ "--wzl-panel-border-width": "1px",
232
+ "--wzl-radius-lg": "14px",
233
+ "--wzl-panel-radius": "14px",
234
+ "--wzl-panel-pad": "14px 16px",
235
+ "--wzl-glass-blur": "3px",
236
+ "--wzl-panel-blur": "3px",
237
+ "--wzl-panel-tone-mix": "14%",
238
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
239
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
240
+ "--wzl-font-weight-light": "200",
241
+ "--wzl-panel-title-weight": "200",
242
+ "--wzl-panel-title-size": "16px",
243
+ "--wzl-panel-title-case": "none",
244
+ "--wzl-panel-title-tracking": "0.01em",
245
+ "--wzl-panel-title-color": "#e6e7e9",
246
+ "--wzl-panel-title-inset": "0",
247
+ "--wzl-stance-scope-border-width": "0",
248
+ "--wzl-stance-scope-radius": "8px",
249
+ "--wzl-stance-scope-tone-mix": "22%",
250
+ "--wzl-stance-scope-nested-radius": "6px",
251
+ "--wzl-stance-scope-nested-surface": "#181a1e",
252
+ "--wzl-stance-aside-surface": "transparent",
253
+ "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
254
+ "--wzl-stance-aside-border-color": "rgba(230, 231, 233, 0.1)",
255
+ "--wzl-stance-aside-blur": "0px",
256
+ "--wzl-stance-aside-title-color": "#6f737b",
257
+ "--wzl-stance-advanced-title-color": "#6f737b",
258
+ "--wzl-stance-debug-border-style": "dashed",
259
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
260
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
261
+ "--wzl-stance-debug-title-case": "none",
175
262
  "--wzl-danger-base": "#d94a3f",
263
+ "--wzl-danger": "#d94a3f",
264
+ "--wzl-stance-danger-tone": "#d94a3f",
265
+ "--wzl-stance-danger-border-color": "#d94a3f",
266
+ "--wzl-stance-danger-title-color": "#d94a3f",
267
+ "--wzl-accent": "#2e1f7a",
268
+ "--wzl-stance-notice-tone": "#2e1f7a",
269
+ "--wzl-stance-notice-tone-mix": "8%",
270
+ "--wzl-stance-important-border-color": "#5841b8",
271
+ "--wzl-stance-important-title-color": "#5841b8",
272
+ "--wzl-stance-preview-pad": "0",
273
+ "--wzl-stance-preview-title-size": "10px",
274
+ "--wzl-stance-preview-title-case": "none",
275
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
176
276
  "--wzl-warning-base": "#d99a3f",
177
277
  "--wzl-success-base": "#2ec27e",
178
278
  "--wzl-fg-on-accent": "#f5f5f6",
179
- "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
180
279
  "--wzl-line": "rgba(230, 231, 233, 0.2)",
181
280
  "--wzl-line-strong": "rgba(230, 231, 233, 0.4)",
182
281
  "--wzl-curve-color": "#5841b8",
183
- "--wzl-accent": "#2e1f7a",
184
282
  "--wzl-accent-hover": "#5841b8",
185
- "--wzl-danger": "#d94a3f",
283
+ "--wzl-secondary": "#dc9d15",
186
284
  "--wzl-warning": "#d99a3f",
187
285
  "--wzl-success": "#2ec27e",
188
286
  "--wzl-focus-ring": "#5841b8",
@@ -191,7 +289,6 @@ var THEMES = {
191
289
  "--wzl-surface-pressed": "rgba(230, 231, 233, 0.18)",
192
290
  "--wzl-radius-sm": "3px",
193
291
  "--wzl-radius-md": "5px",
194
- "--wzl-radius-lg": "14px",
195
292
  "--wzl-radius-pill": "999px",
196
293
  "--wzl-border-w": "1px",
197
294
  "--wzl-line-width": "2px",
@@ -208,8 +305,12 @@ var THEMES = {
208
305
  "--wzl-handle-size": "9px",
209
306
  "--wzl-handle-size-sm": "7px",
210
307
  "--wzl-handle-size-lg": "10px",
308
+ "--wzl-checker-a": "#25272c",
309
+ "--wzl-checker-b": "#181a1e",
310
+ "--wzl-checker-size": "8px",
311
+ "--wzl-workspace-surface": "#0e0f12",
312
+ "--wzl-workspace-line": "rgba(230, 231, 233, 0.1)",
211
313
  "--wzl-field-pad-x": "8px",
212
- "--wzl-glass-blur": "3px",
213
314
  "--wzl-font-size": "13px",
214
315
  "--wzl-tracking-none": "0",
215
316
  "--wzl-tracking-wide": "0.06em",
@@ -228,10 +329,7 @@ var THEMES = {
228
329
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
229
330
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
230
331
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
231
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
232
332
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
233
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
234
- "--wzl-font-weight-light": "200",
235
333
  "--wzl-font-weight-normal": "300",
236
334
  "--wzl-font-weight-medium": "350",
237
335
  "--wzl-font-weight-bold": "400",
@@ -254,6 +352,9 @@ var THEMES = {
254
352
  "--wzl-accent-soft": "#1d1454",
255
353
  "--wzl-accent-base": "#2e1f7a",
256
354
  "--wzl-accent-strong": "#5841b8",
355
+ "--wzl-secondary-soft": "#704e09",
356
+ "--wzl-secondary-base": "#dc9d15",
357
+ "--wzl-secondary-strong": "#f1cb8d",
257
358
  "--wzl-swatch-fuchsia": "#f641f7",
258
359
  "--wzl-swatch-green": "#48e628",
259
360
  "--wzl-swatch-sky": "#36bff2",
@@ -287,19 +388,65 @@ var THEMES = {
287
388
  "--wzl-border": "#25272c",
288
389
  "--wzl-border-strong": "#6f737b",
289
390
  "--wzl-accent-fg": "#5841b8",
391
+ "--wzl-secondary-fg": "#dc9d15",
290
392
  "--wzl-fg-inverse": "#0e0f12",
291
393
  "--wzl-shadow": "rgba(0, 0, 0, 0.6)",
394
+ "--wzl-panel-surface": "#25272c",
395
+ "--wzl-panel-border-color": "#25272c",
396
+ "--wzl-panel-border-style": "solid",
397
+ "--wzl-panel-border-width": "1px",
398
+ "--wzl-radius-lg": "14px",
399
+ "--wzl-panel-radius": "14px",
400
+ "--wzl-panel-pad": "14px 16px",
401
+ "--wzl-glass-blur": "3px",
402
+ "--wzl-panel-blur": "3px",
403
+ "--wzl-panel-tone-mix": "14%",
404
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
405
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
406
+ "--wzl-font-weight-light": "200",
407
+ "--wzl-panel-title-weight": "200",
408
+ "--wzl-panel-title-size": "18px",
409
+ "--wzl-panel-title-case": "none",
410
+ "--wzl-panel-title-tracking": "0.01em",
411
+ "--wzl-panel-title-color": "#e6e7e9",
412
+ "--wzl-panel-title-inset": "0",
413
+ "--wzl-stance-scope-border-width": "0",
414
+ "--wzl-stance-scope-radius": "8px",
415
+ "--wzl-stance-scope-tone-mix": "22%",
416
+ "--wzl-stance-scope-nested-radius": "6px",
417
+ "--wzl-stance-scope-nested-surface": "#181a1e",
418
+ "--wzl-stance-aside-surface": "transparent",
419
+ "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
420
+ "--wzl-stance-aside-border-color": "rgba(230, 231, 233, 0.1)",
421
+ "--wzl-stance-aside-blur": "0px",
422
+ "--wzl-stance-aside-title-color": "#6f737b",
423
+ "--wzl-stance-advanced-title-color": "#6f737b",
424
+ "--wzl-stance-debug-border-style": "dashed",
425
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
426
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
427
+ "--wzl-stance-debug-title-case": "none",
292
428
  "--wzl-danger-base": "#d94a3f",
429
+ "--wzl-danger": "#d94a3f",
430
+ "--wzl-stance-danger-tone": "#d94a3f",
431
+ "--wzl-stance-danger-border-color": "#d94a3f",
432
+ "--wzl-stance-danger-title-color": "#d94a3f",
433
+ "--wzl-accent": "#2e1f7a",
434
+ "--wzl-stance-notice-tone": "#2e1f7a",
435
+ "--wzl-stance-notice-tone-mix": "8%",
436
+ "--wzl-stance-important-border-color": "#5841b8",
437
+ "--wzl-stance-important-title-color": "#5841b8",
438
+ "--wzl-stance-preview-pad": "0",
439
+ "--wzl-stance-preview-title-size": "12px",
440
+ "--wzl-stance-preview-title-case": "none",
441
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
293
442
  "--wzl-warning-base": "#d99a3f",
294
443
  "--wzl-success-base": "#2ec27e",
295
444
  "--wzl-fg-on-accent": "#f5f5f6",
296
- "--wzl-line-subtle": "rgba(230, 231, 233, 0.1)",
297
445
  "--wzl-line": "rgba(230, 231, 233, 0.2)",
298
446
  "--wzl-line-strong": "rgba(230, 231, 233, 0.4)",
299
447
  "--wzl-curve-color": "#5841b8",
300
- "--wzl-accent": "#2e1f7a",
301
448
  "--wzl-accent-hover": "#5841b8",
302
- "--wzl-danger": "#d94a3f",
449
+ "--wzl-secondary": "#dc9d15",
303
450
  "--wzl-warning": "#d99a3f",
304
451
  "--wzl-success": "#2ec27e",
305
452
  "--wzl-focus-ring": "#5841b8",
@@ -308,7 +455,6 @@ var THEMES = {
308
455
  "--wzl-surface-pressed": "rgba(230, 231, 233, 0.18)",
309
456
  "--wzl-radius-sm": "3px",
310
457
  "--wzl-radius-md": "5px",
311
- "--wzl-radius-lg": "14px",
312
458
  "--wzl-radius-pill": "999px",
313
459
  "--wzl-border-w": "1px",
314
460
  "--wzl-line-width": "2px",
@@ -325,8 +471,12 @@ var THEMES = {
325
471
  "--wzl-handle-size": "9px",
326
472
  "--wzl-handle-size-sm": "7px",
327
473
  "--wzl-handle-size-lg": "10px",
474
+ "--wzl-checker-a": "#25272c",
475
+ "--wzl-checker-b": "#181a1e",
476
+ "--wzl-checker-size": "8px",
477
+ "--wzl-workspace-surface": "#0e0f12",
478
+ "--wzl-workspace-line": "rgba(230, 231, 233, 0.1)",
328
479
  "--wzl-field-pad-x": "8px",
329
- "--wzl-glass-blur": "3px",
330
480
  "--wzl-font-size": "15px",
331
481
  "--wzl-tracking-none": "0",
332
482
  "--wzl-tracking-wide": "0.06em",
@@ -345,10 +495,7 @@ var THEMES = {
345
495
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
346
496
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
347
497
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
348
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
349
498
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
350
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
351
- "--wzl-font-weight-light": "200",
352
499
  "--wzl-font-weight-normal": "300",
353
500
  "--wzl-font-weight-medium": "350",
354
501
  "--wzl-font-weight-bold": "400",
@@ -371,6 +518,9 @@ var THEMES = {
371
518
  "--wzl-accent-soft": "#1d1454",
372
519
  "--wzl-accent-base": "#2e1f7a",
373
520
  "--wzl-accent-strong": "#5841b8",
521
+ "--wzl-secondary-soft": "#016458",
522
+ "--wzl-secondary-base": "#3ee1cb",
523
+ "--wzl-secondary-strong": "#94e3d5",
374
524
  "--wzl-swatch-fuchsia": "#f641f7",
375
525
  "--wzl-swatch-green": "#48e628",
376
526
  "--wzl-swatch-sky": "#36bff2",
@@ -404,19 +554,65 @@ var THEMES = {
404
554
  "--wzl-border": "#c9cbcf",
405
555
  "--wzl-border-strong": "#4d5058",
406
556
  "--wzl-accent-fg": "#2e1f7a",
557
+ "--wzl-secondary-fg": "#016458",
407
558
  "--wzl-fg-inverse": "#f5f5f6",
408
559
  "--wzl-shadow": "rgba(0, 0, 0, 0.18)",
560
+ "--wzl-panel-surface": "#e6e7e9",
561
+ "--wzl-panel-border-color": "#c9cbcf",
562
+ "--wzl-panel-border-style": "solid",
563
+ "--wzl-panel-border-width": "1px",
564
+ "--wzl-radius-lg": "14px",
565
+ "--wzl-panel-radius": "14px",
566
+ "--wzl-panel-pad": "14px 16px",
567
+ "--wzl-glass-blur": "3px",
568
+ "--wzl-panel-blur": "3px",
569
+ "--wzl-panel-tone-mix": "14%",
570
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
571
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
572
+ "--wzl-font-weight-light": "200",
573
+ "--wzl-panel-title-weight": "200",
574
+ "--wzl-panel-title-size": "14px",
575
+ "--wzl-panel-title-case": "none",
576
+ "--wzl-panel-title-tracking": "0.01em",
577
+ "--wzl-panel-title-color": "#0e0f12",
578
+ "--wzl-panel-title-inset": "0",
579
+ "--wzl-stance-scope-border-width": "0",
580
+ "--wzl-stance-scope-radius": "8px",
581
+ "--wzl-stance-scope-tone-mix": "22%",
582
+ "--wzl-stance-scope-nested-radius": "6px",
583
+ "--wzl-stance-scope-nested-surface": "#f5f5f6",
584
+ "--wzl-stance-aside-surface": "transparent",
585
+ "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
586
+ "--wzl-stance-aside-border-color": "rgba(14, 15, 18, 0.1)",
587
+ "--wzl-stance-aside-blur": "0px",
588
+ "--wzl-stance-aside-title-color": "#4d5058",
589
+ "--wzl-stance-advanced-title-color": "#4d5058",
590
+ "--wzl-stance-debug-border-style": "dashed",
591
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
592
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
593
+ "--wzl-stance-debug-title-case": "none",
409
594
  "--wzl-danger-base": "#d94a3f",
595
+ "--wzl-danger": "#d94a3f",
596
+ "--wzl-stance-danger-tone": "#d94a3f",
597
+ "--wzl-stance-danger-border-color": "#d94a3f",
598
+ "--wzl-stance-danger-title-color": "#d94a3f",
599
+ "--wzl-accent": "#2e1f7a",
600
+ "--wzl-stance-notice-tone": "#2e1f7a",
601
+ "--wzl-stance-notice-tone-mix": "8%",
602
+ "--wzl-stance-important-border-color": "#2e1f7a",
603
+ "--wzl-stance-important-title-color": "#2e1f7a",
604
+ "--wzl-stance-preview-pad": "0",
605
+ "--wzl-stance-preview-title-size": "8px",
606
+ "--wzl-stance-preview-title-case": "none",
607
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
410
608
  "--wzl-warning-base": "#d99a3f",
411
609
  "--wzl-success-base": "#2ec27e",
412
610
  "--wzl-fg-on-accent": "#f5f5f6",
413
- "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
414
611
  "--wzl-line": "rgba(14, 15, 18, 0.2)",
415
612
  "--wzl-line-strong": "rgba(14, 15, 18, 0.4)",
416
613
  "--wzl-curve-color": "#5841b8",
417
- "--wzl-accent": "#2e1f7a",
418
614
  "--wzl-accent-hover": "#5841b8",
419
- "--wzl-danger": "#d94a3f",
615
+ "--wzl-secondary": "#3ee1cb",
420
616
  "--wzl-warning": "#d99a3f",
421
617
  "--wzl-success": "#2ec27e",
422
618
  "--wzl-focus-ring": "#5841b8",
@@ -425,7 +621,6 @@ var THEMES = {
425
621
  "--wzl-surface-pressed": "rgba(14, 15, 18, 0.18)",
426
622
  "--wzl-radius-sm": "3px",
427
623
  "--wzl-radius-md": "5px",
428
- "--wzl-radius-lg": "14px",
429
624
  "--wzl-radius-pill": "999px",
430
625
  "--wzl-border-w": "1px",
431
626
  "--wzl-line-width": "2px",
@@ -442,8 +637,12 @@ var THEMES = {
442
637
  "--wzl-handle-size": "9px",
443
638
  "--wzl-handle-size-sm": "7px",
444
639
  "--wzl-handle-size-lg": "10px",
640
+ "--wzl-checker-a": "#c9cbcf",
641
+ "--wzl-checker-b": "#f5f5f6",
642
+ "--wzl-checker-size": "8px",
643
+ "--wzl-workspace-surface": "#c9cbcf",
644
+ "--wzl-workspace-line": "rgba(14, 15, 18, 0.1)",
445
645
  "--wzl-field-pad-x": "8px",
446
- "--wzl-glass-blur": "3px",
447
646
  "--wzl-font-size": "11px",
448
647
  "--wzl-tracking-none": "0",
449
648
  "--wzl-tracking-wide": "0.06em",
@@ -462,10 +661,7 @@ var THEMES = {
462
661
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
463
662
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
464
663
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
465
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
466
664
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
467
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
468
- "--wzl-font-weight-light": "200",
469
665
  "--wzl-font-weight-normal": "300",
470
666
  "--wzl-font-weight-medium": "350",
471
667
  "--wzl-font-weight-bold": "400",
@@ -488,6 +684,9 @@ var THEMES = {
488
684
  "--wzl-accent-soft": "#1d1454",
489
685
  "--wzl-accent-base": "#2e1f7a",
490
686
  "--wzl-accent-strong": "#5841b8",
687
+ "--wzl-secondary-soft": "#016458",
688
+ "--wzl-secondary-base": "#3ee1cb",
689
+ "--wzl-secondary-strong": "#94e3d5",
491
690
  "--wzl-swatch-fuchsia": "#f641f7",
492
691
  "--wzl-swatch-green": "#48e628",
493
692
  "--wzl-swatch-sky": "#36bff2",
@@ -521,19 +720,65 @@ var THEMES = {
521
720
  "--wzl-border": "#c9cbcf",
522
721
  "--wzl-border-strong": "#4d5058",
523
722
  "--wzl-accent-fg": "#2e1f7a",
723
+ "--wzl-secondary-fg": "#016458",
524
724
  "--wzl-fg-inverse": "#f5f5f6",
525
725
  "--wzl-shadow": "rgba(0, 0, 0, 0.18)",
726
+ "--wzl-panel-surface": "#e6e7e9",
727
+ "--wzl-panel-border-color": "#c9cbcf",
728
+ "--wzl-panel-border-style": "solid",
729
+ "--wzl-panel-border-width": "1px",
730
+ "--wzl-radius-lg": "14px",
731
+ "--wzl-panel-radius": "14px",
732
+ "--wzl-panel-pad": "14px 16px",
733
+ "--wzl-glass-blur": "3px",
734
+ "--wzl-panel-blur": "3px",
735
+ "--wzl-panel-tone-mix": "14%",
736
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
737
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
738
+ "--wzl-font-weight-light": "200",
739
+ "--wzl-panel-title-weight": "200",
740
+ "--wzl-panel-title-size": "16px",
741
+ "--wzl-panel-title-case": "none",
742
+ "--wzl-panel-title-tracking": "0.01em",
743
+ "--wzl-panel-title-color": "#0e0f12",
744
+ "--wzl-panel-title-inset": "0",
745
+ "--wzl-stance-scope-border-width": "0",
746
+ "--wzl-stance-scope-radius": "8px",
747
+ "--wzl-stance-scope-tone-mix": "22%",
748
+ "--wzl-stance-scope-nested-radius": "6px",
749
+ "--wzl-stance-scope-nested-surface": "#f5f5f6",
750
+ "--wzl-stance-aside-surface": "transparent",
751
+ "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
752
+ "--wzl-stance-aside-border-color": "rgba(14, 15, 18, 0.1)",
753
+ "--wzl-stance-aside-blur": "0px",
754
+ "--wzl-stance-aside-title-color": "#4d5058",
755
+ "--wzl-stance-advanced-title-color": "#4d5058",
756
+ "--wzl-stance-debug-border-style": "dashed",
757
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
758
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
759
+ "--wzl-stance-debug-title-case": "none",
526
760
  "--wzl-danger-base": "#d94a3f",
761
+ "--wzl-danger": "#d94a3f",
762
+ "--wzl-stance-danger-tone": "#d94a3f",
763
+ "--wzl-stance-danger-border-color": "#d94a3f",
764
+ "--wzl-stance-danger-title-color": "#d94a3f",
765
+ "--wzl-accent": "#2e1f7a",
766
+ "--wzl-stance-notice-tone": "#2e1f7a",
767
+ "--wzl-stance-notice-tone-mix": "8%",
768
+ "--wzl-stance-important-border-color": "#2e1f7a",
769
+ "--wzl-stance-important-title-color": "#2e1f7a",
770
+ "--wzl-stance-preview-pad": "0",
771
+ "--wzl-stance-preview-title-size": "10px",
772
+ "--wzl-stance-preview-title-case": "none",
773
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
527
774
  "--wzl-warning-base": "#d99a3f",
528
775
  "--wzl-success-base": "#2ec27e",
529
776
  "--wzl-fg-on-accent": "#f5f5f6",
530
- "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
531
777
  "--wzl-line": "rgba(14, 15, 18, 0.2)",
532
778
  "--wzl-line-strong": "rgba(14, 15, 18, 0.4)",
533
779
  "--wzl-curve-color": "#5841b8",
534
- "--wzl-accent": "#2e1f7a",
535
780
  "--wzl-accent-hover": "#5841b8",
536
- "--wzl-danger": "#d94a3f",
781
+ "--wzl-secondary": "#3ee1cb",
537
782
  "--wzl-warning": "#d99a3f",
538
783
  "--wzl-success": "#2ec27e",
539
784
  "--wzl-focus-ring": "#5841b8",
@@ -542,7 +787,6 @@ var THEMES = {
542
787
  "--wzl-surface-pressed": "rgba(14, 15, 18, 0.18)",
543
788
  "--wzl-radius-sm": "3px",
544
789
  "--wzl-radius-md": "5px",
545
- "--wzl-radius-lg": "14px",
546
790
  "--wzl-radius-pill": "999px",
547
791
  "--wzl-border-w": "1px",
548
792
  "--wzl-line-width": "2px",
@@ -559,8 +803,12 @@ var THEMES = {
559
803
  "--wzl-handle-size": "9px",
560
804
  "--wzl-handle-size-sm": "7px",
561
805
  "--wzl-handle-size-lg": "10px",
806
+ "--wzl-checker-a": "#c9cbcf",
807
+ "--wzl-checker-b": "#f5f5f6",
808
+ "--wzl-checker-size": "8px",
809
+ "--wzl-workspace-surface": "#c9cbcf",
810
+ "--wzl-workspace-line": "rgba(14, 15, 18, 0.1)",
562
811
  "--wzl-field-pad-x": "8px",
563
- "--wzl-glass-blur": "3px",
564
812
  "--wzl-font-size": "13px",
565
813
  "--wzl-tracking-none": "0",
566
814
  "--wzl-tracking-wide": "0.06em",
@@ -579,10 +827,7 @@ var THEMES = {
579
827
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
580
828
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
581
829
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
582
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
583
830
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
584
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
585
- "--wzl-font-weight-light": "200",
586
831
  "--wzl-font-weight-normal": "300",
587
832
  "--wzl-font-weight-medium": "350",
588
833
  "--wzl-font-weight-bold": "400",
@@ -605,6 +850,9 @@ var THEMES = {
605
850
  "--wzl-accent-soft": "#1d1454",
606
851
  "--wzl-accent-base": "#2e1f7a",
607
852
  "--wzl-accent-strong": "#5841b8",
853
+ "--wzl-secondary-soft": "#016458",
854
+ "--wzl-secondary-base": "#3ee1cb",
855
+ "--wzl-secondary-strong": "#94e3d5",
608
856
  "--wzl-swatch-fuchsia": "#f641f7",
609
857
  "--wzl-swatch-green": "#48e628",
610
858
  "--wzl-swatch-sky": "#36bff2",
@@ -638,19 +886,65 @@ var THEMES = {
638
886
  "--wzl-border": "#c9cbcf",
639
887
  "--wzl-border-strong": "#4d5058",
640
888
  "--wzl-accent-fg": "#2e1f7a",
889
+ "--wzl-secondary-fg": "#016458",
641
890
  "--wzl-fg-inverse": "#f5f5f6",
642
891
  "--wzl-shadow": "rgba(0, 0, 0, 0.18)",
892
+ "--wzl-panel-surface": "#e6e7e9",
893
+ "--wzl-panel-border-color": "#c9cbcf",
894
+ "--wzl-panel-border-style": "solid",
895
+ "--wzl-panel-border-width": "1px",
896
+ "--wzl-radius-lg": "14px",
897
+ "--wzl-panel-radius": "14px",
898
+ "--wzl-panel-pad": "14px 16px",
899
+ "--wzl-glass-blur": "3px",
900
+ "--wzl-panel-blur": "3px",
901
+ "--wzl-panel-tone-mix": "14%",
902
+ "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
903
+ "--wzl-panel-title-font": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
904
+ "--wzl-font-weight-light": "200",
905
+ "--wzl-panel-title-weight": "200",
906
+ "--wzl-panel-title-size": "18px",
907
+ "--wzl-panel-title-case": "none",
908
+ "--wzl-panel-title-tracking": "0.01em",
909
+ "--wzl-panel-title-color": "#0e0f12",
910
+ "--wzl-panel-title-inset": "0",
911
+ "--wzl-stance-scope-border-width": "0",
912
+ "--wzl-stance-scope-radius": "8px",
913
+ "--wzl-stance-scope-tone-mix": "22%",
914
+ "--wzl-stance-scope-nested-radius": "6px",
915
+ "--wzl-stance-scope-nested-surface": "#f5f5f6",
916
+ "--wzl-stance-aside-surface": "transparent",
917
+ "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
918
+ "--wzl-stance-aside-border-color": "rgba(14, 15, 18, 0.1)",
919
+ "--wzl-stance-aside-blur": "0px",
920
+ "--wzl-stance-aside-title-color": "#4d5058",
921
+ "--wzl-stance-advanced-title-color": "#4d5058",
922
+ "--wzl-stance-debug-border-style": "dashed",
923
+ "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
924
+ "--wzl-stance-debug-title-font": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
925
+ "--wzl-stance-debug-title-case": "none",
643
926
  "--wzl-danger-base": "#d94a3f",
927
+ "--wzl-danger": "#d94a3f",
928
+ "--wzl-stance-danger-tone": "#d94a3f",
929
+ "--wzl-stance-danger-border-color": "#d94a3f",
930
+ "--wzl-stance-danger-title-color": "#d94a3f",
931
+ "--wzl-accent": "#2e1f7a",
932
+ "--wzl-stance-notice-tone": "#2e1f7a",
933
+ "--wzl-stance-notice-tone-mix": "8%",
934
+ "--wzl-stance-important-border-color": "#2e1f7a",
935
+ "--wzl-stance-important-title-color": "#2e1f7a",
936
+ "--wzl-stance-preview-pad": "0",
937
+ "--wzl-stance-preview-title-size": "12px",
938
+ "--wzl-stance-preview-title-case": "none",
939
+ "--wzl-stance-preview-title-inset": "6px 10px 0",
644
940
  "--wzl-warning-base": "#d99a3f",
645
941
  "--wzl-success-base": "#2ec27e",
646
942
  "--wzl-fg-on-accent": "#f5f5f6",
647
- "--wzl-line-subtle": "rgba(14, 15, 18, 0.1)",
648
943
  "--wzl-line": "rgba(14, 15, 18, 0.2)",
649
944
  "--wzl-line-strong": "rgba(14, 15, 18, 0.4)",
650
945
  "--wzl-curve-color": "#5841b8",
651
- "--wzl-accent": "#2e1f7a",
652
946
  "--wzl-accent-hover": "#5841b8",
653
- "--wzl-danger": "#d94a3f",
947
+ "--wzl-secondary": "#3ee1cb",
654
948
  "--wzl-warning": "#d99a3f",
655
949
  "--wzl-success": "#2ec27e",
656
950
  "--wzl-focus-ring": "#5841b8",
@@ -659,7 +953,6 @@ var THEMES = {
659
953
  "--wzl-surface-pressed": "rgba(14, 15, 18, 0.18)",
660
954
  "--wzl-radius-sm": "3px",
661
955
  "--wzl-radius-md": "5px",
662
- "--wzl-radius-lg": "14px",
663
956
  "--wzl-radius-pill": "999px",
664
957
  "--wzl-border-w": "1px",
665
958
  "--wzl-line-width": "2px",
@@ -676,8 +969,12 @@ var THEMES = {
676
969
  "--wzl-handle-size": "9px",
677
970
  "--wzl-handle-size-sm": "7px",
678
971
  "--wzl-handle-size-lg": "10px",
972
+ "--wzl-checker-a": "#c9cbcf",
973
+ "--wzl-checker-b": "#f5f5f6",
974
+ "--wzl-checker-size": "8px",
975
+ "--wzl-workspace-surface": "#c9cbcf",
976
+ "--wzl-workspace-line": "rgba(14, 15, 18, 0.1)",
679
977
  "--wzl-field-pad-x": "8px",
680
- "--wzl-glass-blur": "3px",
681
978
  "--wzl-font-size": "15px",
682
979
  "--wzl-tracking-none": "0",
683
980
  "--wzl-tracking-wide": "0.06em",
@@ -696,10 +993,7 @@ var THEMES = {
696
993
  "--wzl-ease-in-out-cubic": "cubic-bezier(0.65, 0, 0.35, 1)",
697
994
  "--wzl-ease-out-back": "cubic-bezier(0.34, 1.56, 0.64, 1)",
698
995
  "--wzl-font-ui": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
699
- "--wzl-font-display": "Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif",
700
996
  "--wzl-font-body": "Inter, system-ui, -apple-system, 'Segoe UI', sans-serif",
701
- "--wzl-font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
702
- "--wzl-font-weight-light": "200",
703
997
  "--wzl-font-weight-normal": "300",
704
998
  "--wzl-font-weight-medium": "350",
705
999
  "--wzl-font-weight-bold": "400",
@@ -785,6 +1079,31 @@ var THEME_SOURCES = {
785
1079
  "base": "#2e1f7a"
786
1080
  }
787
1081
  },
1082
+ "secondary": {
1083
+ "kind": "lightness",
1084
+ "steps": [
1085
+ "soft",
1086
+ "base",
1087
+ "strong"
1088
+ ],
1089
+ "lightness": [
1090
+ 0.45,
1091
+ 0.86
1092
+ ],
1093
+ "curve": 0,
1094
+ "chroma": {
1095
+ "peak": 0.149,
1096
+ "lightBias": 1.5,
1097
+ "darkBias": 1.5
1098
+ },
1099
+ "anchor": {
1100
+ "base": {
1101
+ "by": "mode",
1102
+ "dark": "#dc9d15",
1103
+ "light": "#3ee1cb"
1104
+ }
1105
+ }
1106
+ },
788
1107
  "swatch": {
789
1108
  "kind": "categorical",
790
1109
  "steps": [
@@ -961,6 +1280,16 @@ var THEME_SOURCES = {
961
1280
  "description": "Flips to the deep base in light mode, where it is the legible one."
962
1281
  }
963
1282
  },
1283
+ "secondary-fg": {
1284
+ "ramp": "secondary",
1285
+ "contrast": {
1286
+ "min": 4.5,
1287
+ "against": [
1288
+ "surface"
1289
+ ]
1290
+ },
1291
+ "description": "Secondary accent for foreground use: a second voice beside the accent, such as a value the panel derived rather than one the user set. Picked from the ramp so it clears 4.5:1 on the surface in both modes."
1292
+ },
964
1293
  "fg-inverse": {
965
1294
  "by": "mode",
966
1295
  "dark": {
@@ -987,6 +1316,168 @@ var THEME_SOURCES = {
987
1316
  }
988
1317
  }
989
1318
  },
1319
+ "components": {
1320
+ "panel-surface": {
1321
+ "value": "{surface-raised}",
1322
+ "type": "color",
1323
+ "description": "Fill of a PropertyPanel."
1324
+ },
1325
+ "panel-border-color": {
1326
+ "value": "{border}",
1327
+ "type": "color"
1328
+ },
1329
+ "panel-border-style": {
1330
+ "value": "solid",
1331
+ "type": "string"
1332
+ },
1333
+ "panel-border-width": {
1334
+ "value": "1px",
1335
+ "type": "dimension"
1336
+ },
1337
+ "panel-radius": {
1338
+ "value": "{radius-lg}",
1339
+ "type": "dimension"
1340
+ },
1341
+ "panel-pad": {
1342
+ "value": "14px 16px",
1343
+ "type": "dimension",
1344
+ "description": "A panel\u2019s padding when no density sets one."
1345
+ },
1346
+ "panel-blur": {
1347
+ "value": "{glass-blur}",
1348
+ "type": "dimension"
1349
+ },
1350
+ "panel-tone-mix": {
1351
+ "value": "14%",
1352
+ "type": "number",
1353
+ "description": "How much of a panel\u2019s tone mixes into its surface."
1354
+ },
1355
+ "panel-title-font": {
1356
+ "value": "{font-display}",
1357
+ "type": "fontFamily"
1358
+ },
1359
+ "panel-title-weight": {
1360
+ "value": "{font-weight-light}",
1361
+ "type": "fontWeight"
1362
+ },
1363
+ "panel-title-size": {
1364
+ "value": "{font-size-lg}",
1365
+ "type": "dimension"
1366
+ },
1367
+ "panel-title-case": {
1368
+ "value": "none",
1369
+ "type": "string"
1370
+ },
1371
+ "panel-title-tracking": {
1372
+ "value": "0.01em",
1373
+ "type": "dimension"
1374
+ },
1375
+ "panel-title-color": {
1376
+ "value": "{fg}",
1377
+ "type": "color"
1378
+ },
1379
+ "panel-title-inset": {
1380
+ "value": "0",
1381
+ "type": "dimension"
1382
+ },
1383
+ "stance-scope-border-width": {
1384
+ "value": "0",
1385
+ "type": "dimension"
1386
+ },
1387
+ "stance-scope-radius": {
1388
+ "value": "8px",
1389
+ "type": "dimension"
1390
+ },
1391
+ "stance-scope-tone-mix": {
1392
+ "value": "22%",
1393
+ "type": "number"
1394
+ },
1395
+ "stance-scope-nested-radius": {
1396
+ "value": "6px",
1397
+ "type": "dimension"
1398
+ },
1399
+ "stance-scope-nested-surface": {
1400
+ "value": "{surface}",
1401
+ "type": "color",
1402
+ "description": "A scope panel inside another sits back into it."
1403
+ },
1404
+ "stance-aside-surface": {
1405
+ "value": "transparent",
1406
+ "type": "color"
1407
+ },
1408
+ "stance-aside-border-color": {
1409
+ "value": "{line-subtle}",
1410
+ "type": "color"
1411
+ },
1412
+ "stance-aside-blur": {
1413
+ "value": "0px",
1414
+ "type": "dimension"
1415
+ },
1416
+ "stance-aside-title-color": {
1417
+ "value": "{fg-subtle}",
1418
+ "type": "color"
1419
+ },
1420
+ "stance-advanced-title-color": {
1421
+ "value": "{fg-subtle}",
1422
+ "type": "color"
1423
+ },
1424
+ "stance-debug-border-style": {
1425
+ "value": "dashed",
1426
+ "type": "string"
1427
+ },
1428
+ "stance-debug-title-font": {
1429
+ "value": "{font-mono}",
1430
+ "type": "fontFamily"
1431
+ },
1432
+ "stance-debug-title-case": {
1433
+ "value": "none",
1434
+ "type": "string"
1435
+ },
1436
+ "stance-danger-tone": {
1437
+ "value": "{danger}",
1438
+ "type": "color"
1439
+ },
1440
+ "stance-danger-border-color": {
1441
+ "value": "{danger}",
1442
+ "type": "color"
1443
+ },
1444
+ "stance-danger-title-color": {
1445
+ "value": "{danger}",
1446
+ "type": "color"
1447
+ },
1448
+ "stance-notice-tone": {
1449
+ "value": "{accent}",
1450
+ "type": "color"
1451
+ },
1452
+ "stance-notice-tone-mix": {
1453
+ "value": "8%",
1454
+ "type": "number"
1455
+ },
1456
+ "stance-important-border-color": {
1457
+ "value": "{accent-fg}",
1458
+ "type": "color"
1459
+ },
1460
+ "stance-important-title-color": {
1461
+ "value": "{accent-fg}",
1462
+ "type": "color"
1463
+ },
1464
+ "stance-preview-pad": {
1465
+ "value": "0",
1466
+ "type": "dimension"
1467
+ },
1468
+ "stance-preview-title-size": {
1469
+ "value": "{font-size-xs}",
1470
+ "type": "dimension"
1471
+ },
1472
+ "stance-preview-title-case": {
1473
+ "value": "none",
1474
+ "type": "string"
1475
+ },
1476
+ "stance-preview-title-inset": {
1477
+ "value": "6px 10px 0",
1478
+ "type": "dimension"
1479
+ }
1480
+ },
990
1481
  "pins": {
991
1482
  "gray-50": {
992
1483
  "value": "#f5f5f6",
@@ -1088,6 +1579,11 @@ var THEME_SOURCES = {
1088
1579
  "value": "{accent-strong}",
1089
1580
  "type": "color"
1090
1581
  },
1582
+ "secondary": {
1583
+ "value": "{secondary-base}",
1584
+ "type": "color",
1585
+ "description": "Honey amber in dark mode and teal in light, where a darkened amber reads as brown. A fill; use secondary-fg for text."
1586
+ },
1091
1587
  "danger": {
1092
1588
  "value": "{danger-base}",
1093
1589
  "type": "color"
@@ -1198,17 +1694,17 @@ var THEME_SOURCES = {
1198
1694
  "compact": {
1199
1695
  "value": "24px",
1200
1696
  "type": "dimension",
1201
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1697
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1202
1698
  },
1203
1699
  "comfortable": {
1204
1700
  "value": "28px",
1205
1701
  "type": "dimension",
1206
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1702
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1207
1703
  },
1208
1704
  "roomy": {
1209
1705
  "value": "32px",
1210
1706
  "type": "dimension",
1211
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1707
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
1212
1708
  }
1213
1709
  },
1214
1710
  "control-h-xs": {
@@ -1318,6 +1814,31 @@ var THEME_SOURCES = {
1318
1814
  "type": "dimension",
1319
1815
  "description": "A handle that is a category of its own rather than one of a row \u2014 a curve's endpoint. Larger so it separates from the handles it sits in line with."
1320
1816
  },
1817
+ "checker-a": {
1818
+ "value": "{border}",
1819
+ "type": "color",
1820
+ "description": "One square of the transparency checker drawn under a paint that is empty, mixed or translucent. Paint it as repeating-conic-gradient(var(--wzl-checker-a) 0% 25%, var(--wzl-checker-b) 0% 50%) 50% / var(--wzl-checker-size) var(--wzl-checker-size)."
1821
+ },
1822
+ "checker-b": {
1823
+ "value": "{surface}",
1824
+ "type": "color",
1825
+ "description": "The other square of the transparency checker."
1826
+ },
1827
+ "checker-size": {
1828
+ "value": "8px",
1829
+ "type": "dimension",
1830
+ "description": "Edge of one repeat of the transparency checker: two squares by two."
1831
+ },
1832
+ "workspace-surface": {
1833
+ "value": "{surface-sunken}",
1834
+ "type": "color",
1835
+ "description": "Ground of a canvas app's workspace \u2014 the area around the document page."
1836
+ },
1837
+ "workspace-line": {
1838
+ "value": "{line-subtle}",
1839
+ "type": "color",
1840
+ "description": "Marks drawn over workspace-surface, such as its diagonal stripes, so the page reads as the thing on top."
1841
+ },
1321
1842
  "field-pad-x": {
1322
1843
  "value": "8px",
1323
1844
  "type": "dimension",
@@ -1502,6 +2023,9 @@ var THEME_SOURCES = {
1502
2023
  "type": "dimension",
1503
2024
  "description": "Alias for space-8. The t-shirt names name every other rung of the ladder."
1504
2025
  }
2026
+ },
2027
+ "tones": {
2028
+ "ramp": "swatch"
1505
2029
  }
1506
2030
  }
1507
2031
  };
@@ -1584,6 +2108,39 @@ var BAKED_THEMES = {
1584
2108
  "type": "color",
1585
2109
  "value": "#5841b8"
1586
2110
  },
2111
+ "secondary-soft": {
2112
+ "by": "mode",
2113
+ "dark": {
2114
+ "type": "color",
2115
+ "value": "#704e09"
2116
+ },
2117
+ "light": {
2118
+ "type": "color",
2119
+ "value": "#016458"
2120
+ }
2121
+ },
2122
+ "secondary-base": {
2123
+ "by": "mode",
2124
+ "dark": {
2125
+ "type": "color",
2126
+ "value": "#dc9d15"
2127
+ },
2128
+ "light": {
2129
+ "type": "color",
2130
+ "value": "#3ee1cb"
2131
+ }
2132
+ },
2133
+ "secondary-strong": {
2134
+ "by": "mode",
2135
+ "dark": {
2136
+ "type": "color",
2137
+ "value": "#f1cb8d"
2138
+ },
2139
+ "light": {
2140
+ "type": "color",
2141
+ "value": "#94e3d5"
2142
+ }
2143
+ },
1587
2144
  "swatch-fuchsia": {
1588
2145
  "type": "color",
1589
2146
  "value": "#f641f7",
@@ -1867,6 +2424,19 @@ var BAKED_THEMES = {
1867
2424
  "description": "Flips to the deep base in light mode, where it is the legible one."
1868
2425
  }
1869
2426
  },
2427
+ "secondary-fg": {
2428
+ "by": "mode",
2429
+ "dark": {
2430
+ "type": "color",
2431
+ "value": "{secondary-base}",
2432
+ "description": "Secondary accent for foreground use: a second voice beside the accent, such as a value the panel derived rather than one the user set. Picked from the ramp so it clears 4.5:1 on the surface in both modes."
2433
+ },
2434
+ "light": {
2435
+ "type": "color",
2436
+ "value": "{secondary-soft}",
2437
+ "description": "Secondary accent for foreground use: a second voice beside the accent, such as a value the panel derived rather than one the user set. Picked from the ramp so it clears 4.5:1 on the surface in both modes."
2438
+ }
2439
+ },
1870
2440
  "fg-inverse": {
1871
2441
  "by": "mode",
1872
2442
  "dark": {
@@ -1892,6 +2462,166 @@ var BAKED_THEMES = {
1892
2462
  "value": "rgba(0, 0, 0, 0.18)"
1893
2463
  }
1894
2464
  },
2465
+ "panel-surface": {
2466
+ "type": "color",
2467
+ "value": "{surface-raised}",
2468
+ "description": "Fill of a PropertyPanel."
2469
+ },
2470
+ "panel-border-color": {
2471
+ "type": "color",
2472
+ "value": "{border}"
2473
+ },
2474
+ "panel-border-style": {
2475
+ "type": "string",
2476
+ "value": "solid"
2477
+ },
2478
+ "panel-border-width": {
2479
+ "type": "dimension",
2480
+ "value": "1px"
2481
+ },
2482
+ "panel-radius": {
2483
+ "type": "dimension",
2484
+ "value": "{radius-lg}"
2485
+ },
2486
+ "panel-pad": {
2487
+ "type": "dimension",
2488
+ "value": "14px 16px",
2489
+ "description": "A panel\u2019s padding when no density sets one."
2490
+ },
2491
+ "panel-blur": {
2492
+ "type": "dimension",
2493
+ "value": "{glass-blur}"
2494
+ },
2495
+ "panel-tone-mix": {
2496
+ "type": "number",
2497
+ "value": "14%",
2498
+ "description": "How much of a panel\u2019s tone mixes into its surface."
2499
+ },
2500
+ "panel-title-font": {
2501
+ "type": "fontFamily",
2502
+ "value": "{font-display}"
2503
+ },
2504
+ "panel-title-weight": {
2505
+ "type": "fontWeight",
2506
+ "value": "{font-weight-light}"
2507
+ },
2508
+ "panel-title-size": {
2509
+ "type": "dimension",
2510
+ "value": "{font-size-lg}"
2511
+ },
2512
+ "panel-title-case": {
2513
+ "type": "string",
2514
+ "value": "none"
2515
+ },
2516
+ "panel-title-tracking": {
2517
+ "type": "dimension",
2518
+ "value": "0.01em"
2519
+ },
2520
+ "panel-title-color": {
2521
+ "type": "color",
2522
+ "value": "{fg}"
2523
+ },
2524
+ "panel-title-inset": {
2525
+ "type": "dimension",
2526
+ "value": "0"
2527
+ },
2528
+ "stance-scope-border-width": {
2529
+ "type": "dimension",
2530
+ "value": "0"
2531
+ },
2532
+ "stance-scope-radius": {
2533
+ "type": "dimension",
2534
+ "value": "8px"
2535
+ },
2536
+ "stance-scope-tone-mix": {
2537
+ "type": "number",
2538
+ "value": "22%"
2539
+ },
2540
+ "stance-scope-nested-radius": {
2541
+ "type": "dimension",
2542
+ "value": "6px"
2543
+ },
2544
+ "stance-scope-nested-surface": {
2545
+ "type": "color",
2546
+ "value": "{surface}",
2547
+ "description": "A scope panel inside another sits back into it."
2548
+ },
2549
+ "stance-aside-surface": {
2550
+ "type": "color",
2551
+ "value": "transparent"
2552
+ },
2553
+ "stance-aside-border-color": {
2554
+ "type": "color",
2555
+ "value": "{line-subtle}"
2556
+ },
2557
+ "stance-aside-blur": {
2558
+ "type": "dimension",
2559
+ "value": "0px"
2560
+ },
2561
+ "stance-aside-title-color": {
2562
+ "type": "color",
2563
+ "value": "{fg-subtle}"
2564
+ },
2565
+ "stance-advanced-title-color": {
2566
+ "type": "color",
2567
+ "value": "{fg-subtle}"
2568
+ },
2569
+ "stance-debug-border-style": {
2570
+ "type": "string",
2571
+ "value": "dashed"
2572
+ },
2573
+ "stance-debug-title-font": {
2574
+ "type": "fontFamily",
2575
+ "value": "{font-mono}"
2576
+ },
2577
+ "stance-debug-title-case": {
2578
+ "type": "string",
2579
+ "value": "none"
2580
+ },
2581
+ "stance-danger-tone": {
2582
+ "type": "color",
2583
+ "value": "{danger}"
2584
+ },
2585
+ "stance-danger-border-color": {
2586
+ "type": "color",
2587
+ "value": "{danger}"
2588
+ },
2589
+ "stance-danger-title-color": {
2590
+ "type": "color",
2591
+ "value": "{danger}"
2592
+ },
2593
+ "stance-notice-tone": {
2594
+ "type": "color",
2595
+ "value": "{accent}"
2596
+ },
2597
+ "stance-notice-tone-mix": {
2598
+ "type": "number",
2599
+ "value": "8%"
2600
+ },
2601
+ "stance-important-border-color": {
2602
+ "type": "color",
2603
+ "value": "{accent-fg}"
2604
+ },
2605
+ "stance-important-title-color": {
2606
+ "type": "color",
2607
+ "value": "{accent-fg}"
2608
+ },
2609
+ "stance-preview-pad": {
2610
+ "type": "dimension",
2611
+ "value": "0"
2612
+ },
2613
+ "stance-preview-title-size": {
2614
+ "type": "dimension",
2615
+ "value": "{font-size-xs}"
2616
+ },
2617
+ "stance-preview-title-case": {
2618
+ "type": "string",
2619
+ "value": "none"
2620
+ },
2621
+ "stance-preview-title-inset": {
2622
+ "type": "dimension",
2623
+ "value": "6px 10px 0"
2624
+ },
1895
2625
  "danger-base": {
1896
2626
  "type": "color",
1897
2627
  "value": "#d94a3f"
@@ -1939,6 +2669,11 @@ var BAKED_THEMES = {
1939
2669
  "type": "color",
1940
2670
  "value": "{accent-strong}"
1941
2671
  },
2672
+ "secondary": {
2673
+ "type": "color",
2674
+ "value": "{secondary-base}",
2675
+ "description": "Honey amber in dark mode and teal in light, where a darkened amber reads as brown. A fill; use secondary-fg for text."
2676
+ },
1942
2677
  "danger": {
1943
2678
  "type": "color",
1944
2679
  "value": "{danger-base}"
@@ -2008,17 +2743,17 @@ var BAKED_THEMES = {
2008
2743
  "compact": {
2009
2744
  "type": "dimension",
2010
2745
  "value": "24px",
2011
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2746
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2012
2747
  },
2013
2748
  "comfortable": {
2014
2749
  "type": "dimension",
2015
2750
  "value": "28px",
2016
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2751
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2017
2752
  },
2018
2753
  "roomy": {
2019
2754
  "type": "dimension",
2020
2755
  "value": "32px",
2021
- "description": "Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2756
+ "description": "Height of a horizontal toolbar strip (ButtonBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges."
2022
2757
  }
2023
2758
  },
2024
2759
  "control-h-xs": {
@@ -2128,6 +2863,31 @@ var BAKED_THEMES = {
2128
2863
  "value": "10px",
2129
2864
  "description": "A handle that is a category of its own rather than one of a row \u2014 a curve's endpoint. Larger so it separates from the handles it sits in line with."
2130
2865
  },
2866
+ "checker-a": {
2867
+ "type": "color",
2868
+ "value": "{border}",
2869
+ "description": "One square of the transparency checker drawn under a paint that is empty, mixed or translucent. Paint it as repeating-conic-gradient(var(--wzl-checker-a) 0% 25%, var(--wzl-checker-b) 0% 50%) 50% / var(--wzl-checker-size) var(--wzl-checker-size)."
2870
+ },
2871
+ "checker-b": {
2872
+ "type": "color",
2873
+ "value": "{surface}",
2874
+ "description": "The other square of the transparency checker."
2875
+ },
2876
+ "checker-size": {
2877
+ "type": "dimension",
2878
+ "value": "8px",
2879
+ "description": "Edge of one repeat of the transparency checker: two squares by two."
2880
+ },
2881
+ "workspace-surface": {
2882
+ "type": "color",
2883
+ "value": "{surface-sunken}",
2884
+ "description": "Ground of a canvas app's workspace \u2014 the area around the document page."
2885
+ },
2886
+ "workspace-line": {
2887
+ "type": "color",
2888
+ "value": "{line-subtle}",
2889
+ "description": "Marks drawn over workspace-surface, such as its diagonal stripes, so the page reads as the thing on top."
2890
+ },
2131
2891
  "field-pad-x": {
2132
2892
  "type": "dimension",
2133
2893
  "value": "8px",
@@ -2312,6 +3072,45 @@ var BAKED_THEMES = {
2312
3072
  "value": "{space-8}",
2313
3073
  "description": "Alias for space-8. The t-shirt names name every other rung of the ladder."
2314
3074
  }
3075
+ },
3076
+ "ramps": {
3077
+ "gray": [
3078
+ "50",
3079
+ "100",
3080
+ "200",
3081
+ "300",
3082
+ "400",
3083
+ "500",
3084
+ "600",
3085
+ "700",
3086
+ "800",
3087
+ "900"
3088
+ ],
3089
+ "accent": [
3090
+ "soft",
3091
+ "base",
3092
+ "strong"
3093
+ ],
3094
+ "secondary": [
3095
+ "soft",
3096
+ "base",
3097
+ "strong"
3098
+ ],
3099
+ "swatch": [
3100
+ "fuchsia",
3101
+ "green",
3102
+ "sky",
3103
+ "amber",
3104
+ "teal",
3105
+ "red",
3106
+ "blue",
3107
+ "citron",
3108
+ "rose",
3109
+ "violet"
3110
+ ]
3111
+ },
3112
+ "tones": {
3113
+ "ramp": "swatch"
2315
3114
  }
2316
3115
  }
2317
3116
  };
@@ -2331,7 +3130,9 @@ var weaselTheme = {
2331
3130
  name: "weasel",
2332
3131
  extends: null,
2333
3132
  axes: BAKED_THEMES.weasel.axes,
2334
- tokens: BAKED_THEMES.weasel.tokens
3133
+ tokens: BAKED_THEMES.weasel.tokens,
3134
+ ramps: BAKED_THEMES.weasel.ramps,
3135
+ tones: BAKED_THEMES.weasel.tones
2335
3136
  };
2336
3137
  function defineTheme(input) {
2337
3138
  if (typeof input.extends === "string") {
@@ -2351,7 +3152,8 @@ function defineTheme(input) {
2351
3152
  name: input.name,
2352
3153
  extends: input.extends === void 0 ? weaselTheme : input.extends,
2353
3154
  axes: input.axes ?? {},
2354
- tokens
3155
+ tokens,
3156
+ ...input.tones !== void 0 ? { tones: input.tones } : {}
2355
3157
  };
2356
3158
  }
2357
3159
 
@@ -2396,6 +3198,58 @@ function applyTheme(el, theme, selection = {}) {
2396
3198
  for (const a of Object.keys(axes)) el.setAttribute(`data-wzl-${a}`, sel[a]);
2397
3199
  }
2398
3200
 
2399
- export { BAKED_THEMES, THEMES, THEME_SOURCES, applyTheme, defineTheme, weaselTheme };
2400
- //# sourceMappingURL=chunk-XFCWYN2L.js.map
2401
- //# sourceMappingURL=chunk-XFCWYN2L.js.map
3201
+ // src/colorMode.ts
3202
+ function isColorModePreference(v) {
3203
+ return v === "auto" || v === "light" || v === "dark";
3204
+ }
3205
+
3206
+ // src/colorList.ts
3207
+ var wrap = (i, n) => (Math.trunc(i) % n + n) % n;
3208
+ var generated = /* @__PURE__ */ new Map();
3209
+ function generatedColors({ generate: g }) {
3210
+ const key = JSON.stringify([g.count, g.gates ?? {}]);
3211
+ let colors = generated.get(key);
3212
+ if (!colors) {
3213
+ const palette = generate({ ...DEFAULT_CONSTRAINTS, ...g.gates, count: g.count, anchors: [] });
3214
+ colors = palette.swatches.map((s) => s.hex.toLowerCase());
3215
+ generated.set(key, colors);
3216
+ }
3217
+ return colors;
3218
+ }
3219
+ function rampSteps(theme, ramp) {
3220
+ for (const t of themeChain(theme).reverse()) {
3221
+ const steps = t.ramps?.[ramp];
3222
+ if (steps) return steps;
3223
+ }
3224
+ throw new Error(`Theme "${theme.name}" has no ramp "${ramp}"`);
3225
+ }
3226
+ function themeTones(theme) {
3227
+ for (const t of themeChain(theme).reverse()) if (t.tones) return t.tones;
3228
+ return { ramp: "swatch" };
3229
+ }
3230
+ var fallback;
3231
+ var defaultContext = () => fallback ??= { theme: weaselTheme, resolved: resolveTheme(weaselTheme) };
3232
+ function pickStep(list, i, theme) {
3233
+ const steps = rampSteps(theme, list.ramp);
3234
+ return steps[wrap(i, steps.length)];
3235
+ }
3236
+ function colorAt(list, i, ctx = defaultContext()) {
3237
+ if (typeof list === "function") return list(i);
3238
+ if ("ramp" in list) return ctx.resolved[`--wzl-${list.ramp}-${pickStep(list, i, ctx.theme)}`];
3239
+ const colors = "generate" in list ? generatedColors(list) : list;
3240
+ if (colors.length === 0) throw new Error("colorAt: empty color list");
3241
+ return colors[wrap(i, colors.length)];
3242
+ }
3243
+ function colorCssAt(list, i, ctx = defaultContext()) {
3244
+ if (typeof list !== "function" && "ramp" in list) return `var(--wzl-${list.ramp}-${pickStep(list, i, ctx.theme)})`;
3245
+ return colorAt(list, i, ctx);
3246
+ }
3247
+ function colorCount(list, ctx = defaultContext()) {
3248
+ if (typeof list === "function") return void 0;
3249
+ if ("ramp" in list) return rampSteps(ctx.theme, list.ramp).length;
3250
+ return "generate" in list ? list.generate.count : list.length;
3251
+ }
3252
+
3253
+ export { BAKED_THEMES, THEMES, THEME_SOURCES, applyTheme, colorAt, colorCount, colorCssAt, defineTheme, isColorModePreference, rampSteps, themeTones, weaselTheme };
3254
+ //# sourceMappingURL=chunk-4EIPTWJA.js.map
3255
+ //# sourceMappingURL=chunk-4EIPTWJA.js.map