@tangle-network/brand 1.10.3 → 1.11.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.
@@ -1,6 +1,6 @@
1
1
  /* GENERATED by scripts/gen-compat.mjs. Do not edit.
2
2
  * Source: tokens.css + named-themes.css
3
- * SHA-256: 0fdc5d2db8f1ba9c33012843b867dcc50d8094eada6ebbc915d46a14d5c2b1e2
3
+ * SHA-256: b64dbb9e556b1004d80e40b70ac487da2695bd6f4d59a0d91c39278261570d62
4
4
  * Light-default compatibility; all explicit modes remain canonical.
5
5
  */
6
6
  :where(:root),
@@ -130,15 +130,71 @@
130
130
  --surface-info-bg: #2d4e67;
131
131
  --surface-info-border: #3d7292;
132
132
  --surface-info-text: #67cdff;
133
- --surface-teal-bg: #042f2e;
134
- --surface-teal-border: #134e4a;
135
- --surface-teal-text: #2dd4bf;
136
- --surface-violet-bg: #403d66;
137
- --surface-violet-border: #5f58b8;
138
- --surface-violet-text: #c9c4ff;
139
- --surface-orange-bg: #431407;
140
- --surface-orange-border: #7c2d12;
141
- --surface-orange-text: #fb923c;
133
+ --tone-violet-bg: #4e3a60;
134
+ --tone-violet-bg-hover: #583d71;
135
+ --tone-violet-bg-selected: #624080;
136
+ --tone-violet-border: #8457aa;
137
+ --tone-violet-border-selected: #d19dff;
138
+ --tone-violet-text: #ecd9fa;
139
+ --tone-violet-icon: #d19dff;
140
+ --tone-orange-bg: #583c2b;
141
+ --tone-orange-bg-hover: #664029;
142
+ --tone-orange-bg-selected: #724327;
143
+ --tone-orange-border: #a35829;
144
+ --tone-orange-border-selected: #ff801f;
145
+ --tone-orange-text: #ffe0c2;
146
+ --tone-orange-icon: #ff801f;
147
+ --tone-teal-bg: #2a4744;
148
+ --tone-teal-bg-hover: #28504b;
149
+ --tone-teal-bg-selected: #265751;
150
+ --tone-teal-border: #207e73;
151
+ --tone-teal-border-selected: #0eb39e;
152
+ --tone-teal-text: #adf0dd;
153
+ --tone-teal-icon: #0eb39e;
154
+ --tone-blue-bg: #25455e;
155
+ --tone-blue-bg-hover: #224c6c;
156
+ --tone-blue-bg-selected: #1f537b;
157
+ --tone-blue-border: #2870bd;
158
+ --tone-blue-border-selected: #70b8ff;
159
+ --tone-blue-text: #c2e6ff;
160
+ --tone-blue-icon: #70b8ff;
161
+ --tone-pink-bg: #5e344f;
162
+ --tone-pink-bg-hover: #6d3659;
163
+ --tone-pink-bg-selected: #7b3762;
164
+ --tone-pink-border: #a84885;
165
+ --tone-pink-border-selected: #ff8dcc;
166
+ --tone-pink-text: #fdd1ea;
167
+ --tone-pink-icon: #ff8dcc;
168
+ --tone-brown-bg: #494038;
169
+ --tone-brown-bg-hover: #54473c;
170
+ --tone-brown-bg-selected: #5c4c3e;
171
+ --tone-brown-border: #7c5f46;
172
+ --tone-brown-border-selected: #dbb594;
173
+ --tone-brown-text: #f2e1ca;
174
+ --tone-brown-icon: #dbb594;
175
+ --tone-cyan-bg: #27464d;
176
+ --tone-cyan-bg-hover: #234f59;
177
+ --tone-cyan-bg-selected: #205662;
178
+ --tone-cyan-border: #11809c;
179
+ --tone-cyan-border-selected: #23afd0;
180
+ --tone-cyan-text: #b6ecf7;
181
+ --tone-cyan-icon: #23afd0;
182
+ --tone-lime-bg: #404536;
183
+ --tone-lime-bg-hover: #444b37;
184
+ --tone-lime-bg-selected: #495239;
185
+ --tone-lime-border: #577538;
186
+ --tone-lime-border-selected: #bdee63;
187
+ --tone-lime-text: #e3f7ba;
188
+ --tone-lime-icon: #bdee63;
189
+ --surface-violet-bg: #4e3a60;
190
+ --surface-violet-border: #8457aa;
191
+ --surface-violet-text: #d19dff;
192
+ --surface-orange-bg: #583c2b;
193
+ --surface-orange-border: #a35829;
194
+ --surface-orange-text: #ffa057;
195
+ --surface-teal-bg: #2a4744;
196
+ --surface-teal-border: #207e73;
197
+ --surface-teal-text: #0bd8b6;
142
198
  --run-mix-succeeded: #76edb9;
143
199
  --run-mix-waiting: #e9b642;
144
200
  --run-mix-failed: #e1918e;
@@ -391,15 +447,71 @@
391
447
  --surface-info-bg: #f0f9ff;
392
448
  --surface-info-border: #bae6fd;
393
449
  --surface-info-text: #0369a1;
394
- --surface-teal-bg: #f0fdfa;
395
- --surface-teal-border: #99f6e4;
396
- --surface-teal-text: #0f766e;
397
- --surface-violet-bg: #F0EEFF;
398
- --surface-violet-border: #C5C0F0;
399
- --surface-violet-text: #3E349E;
400
- --surface-orange-bg: #fff7ed;
401
- --surface-orange-border: #fed7aa;
402
- --surface-orange-text: #c2410c;
450
+ --tone-violet-bg: #f7edfe;
451
+ --tone-violet-bg-hover: #f2e2fc;
452
+ --tone-violet-bg-selected: #ead5f9;
453
+ --tone-violet-border: #e0c4f4;
454
+ --tone-violet-border-selected: #8e4ec6;
455
+ --tone-violet-text: #402060;
456
+ --tone-violet-icon: #8e4ec6;
457
+ --tone-orange-bg: #ffefd6;
458
+ --tone-orange-bg-hover: #ffdfb5;
459
+ --tone-orange-bg-selected: #ffd19a;
460
+ --tone-orange-border: #ffc182;
461
+ --tone-orange-border-selected: #cc4e00;
462
+ --tone-orange-text: #582d1d;
463
+ --tone-orange-icon: #cc4e00;
464
+ --tone-teal-bg: #e0f8f3;
465
+ --tone-teal-bg-hover: #ccf3ea;
466
+ --tone-teal-bg-selected: #b8eae0;
467
+ --tone-teal-border: #a1ded2;
468
+ --tone-teal-border-selected: #008573;
469
+ --tone-teal-text: #0d3d38;
470
+ --tone-teal-icon: #008573;
471
+ --tone-blue-bg: #e6f4fe;
472
+ --tone-blue-bg-hover: #d5efff;
473
+ --tone-blue-bg-selected: #c2e5ff;
474
+ --tone-blue-border: #acd8fc;
475
+ --tone-blue-border-selected: #0d74ce;
476
+ --tone-blue-text: #113264;
477
+ --tone-blue-icon: #0d74ce;
478
+ --tone-pink-bg: #fee9f5;
479
+ --tone-pink-bg-hover: #fbdcef;
480
+ --tone-pink-bg-selected: #f6cee7;
481
+ --tone-pink-border: #efbfdd;
482
+ --tone-pink-border-selected: #cf3897;
483
+ --tone-pink-text: #651249;
484
+ --tone-pink-icon: #cf3897;
485
+ --tone-brown-bg: #f6eee7;
486
+ --tone-brown-bg-hover: #f0e4d9;
487
+ --tone-brown-bg-selected: #ebdaca;
488
+ --tone-brown-border: #e4cdb7;
489
+ --tone-brown-border-selected: #815e46;
490
+ --tone-brown-text: #3e332e;
491
+ --tone-brown-icon: #815e46;
492
+ --tone-cyan-bg: #def7f9;
493
+ --tone-cyan-bg-hover: #caf1f6;
494
+ --tone-cyan-bg-selected: #b5e9f0;
495
+ --tone-cyan-border: #9ddde7;
496
+ --tone-cyan-border-selected: #107d98;
497
+ --tone-cyan-text: #0d3c48;
498
+ --tone-cyan-icon: #107d98;
499
+ --tone-lime-bg: #eef6d6;
500
+ --tone-lime-bg-hover: #e2f0bd;
501
+ --tone-lime-bg-selected: #d3e7a6;
502
+ --tone-lime-border: #c2da91;
503
+ --tone-lime-border-selected: #5c7c2f;
504
+ --tone-lime-text: #37401c;
505
+ --tone-lime-icon: #5c7c2f;
506
+ --surface-violet-bg: #f7edfe;
507
+ --surface-violet-border: #e0c4f4;
508
+ --surface-violet-text: #8145b5;
509
+ --surface-orange-bg: #ffefd6;
510
+ --surface-orange-border: #ffc182;
511
+ --surface-orange-text: #bc4904;
512
+ --surface-teal-bg: #e0f8f3;
513
+ --surface-teal-border: #a1ded2;
514
+ --surface-teal-text: #017d6d;
403
515
  --run-mix-succeeded: #3c9b78;
404
516
  --run-mix-waiting: #c16227;
405
517
  --run-mix-failed: #cd342f;
@@ -123,15 +123,6 @@
123
123
  --surface-info-bg: var(--blue-3);
124
124
  --surface-info-border: var(--blue-6);
125
125
  --surface-info-text: var(--blue-11);
126
- --surface-violet-bg: var(--iris-3);
127
- --surface-violet-border: var(--iris-6);
128
- --surface-violet-text: var(--iris-11);
129
- --surface-orange-bg: var(--orange-3);
130
- --surface-orange-border: var(--orange-6);
131
- --surface-orange-text: var(--orange-11);
132
- --surface-teal-bg: var(--grass-3);
133
- --surface-teal-border: var(--grass-6);
134
- --surface-teal-text: var(--grass-11);
135
126
  --surface-neutral-bg: var(--mauve-3);
136
127
  --surface-neutral-border: var(--mauve-6);
137
128
  --surface-neutral-text: var(--mauve-11);
@@ -324,15 +315,6 @@
324
315
  --surface-info-bg: var(--blue-3);
325
316
  --surface-info-border: var(--blue-6);
326
317
  --surface-info-text: var(--blue-12);
327
- --surface-violet-bg: var(--iris-3);
328
- --surface-violet-border: var(--iris-6);
329
- --surface-violet-text: var(--iris-12);
330
- --surface-orange-bg: var(--orange-3);
331
- --surface-orange-border: var(--orange-6);
332
- --surface-orange-text: var(--orange-12);
333
- --surface-teal-bg: var(--grass-3);
334
- --surface-teal-border: var(--grass-6);
335
- --surface-teal-text: var(--grass-12);
336
318
  --surface-neutral-bg: var(--mauve-3);
337
319
  --surface-neutral-border: var(--mauve-6);
338
320
  --surface-neutral-text: var(--mauve-11);
@@ -206,15 +206,73 @@
206
206
  --surface-info-bg: #2d4e67;
207
207
  --surface-info-border: #3d7292;
208
208
  --surface-info-text: #67cdff;
209
- --surface-teal-bg: #042f2e;
210
- --surface-teal-border: #134e4a;
211
- --surface-teal-text: #2dd4bf;
212
- --surface-violet-bg: #403d66;
213
- --surface-violet-border: #5f58b8;
214
- --surface-violet-text: #c9c4ff;
215
- --surface-orange-bg: #431407;
216
- --surface-orange-border: #7c2d12;
217
- --surface-orange-text: #fb923c;
209
+ /* tones:begin — generated by scripts/gen-ladders.mjs; edit its CATEGORY map, not these lines. */
210
+ --tone-violet-bg: #4e3a60;
211
+ --tone-violet-bg-hover: #583d71;
212
+ --tone-violet-bg-selected: #624080;
213
+ --tone-violet-border: #8457aa;
214
+ --tone-violet-border-selected: #d19dff;
215
+ --tone-violet-text: #ecd9fa;
216
+ --tone-violet-icon: #d19dff;
217
+ --tone-orange-bg: #583c2b;
218
+ --tone-orange-bg-hover: #664029;
219
+ --tone-orange-bg-selected: #724327;
220
+ --tone-orange-border: #a35829;
221
+ --tone-orange-border-selected: #ff801f;
222
+ --tone-orange-text: #ffe0c2;
223
+ --tone-orange-icon: #ff801f;
224
+ --tone-teal-bg: #2a4744;
225
+ --tone-teal-bg-hover: #28504b;
226
+ --tone-teal-bg-selected: #265751;
227
+ --tone-teal-border: #207e73;
228
+ --tone-teal-border-selected: #0eb39e;
229
+ --tone-teal-text: #adf0dd;
230
+ --tone-teal-icon: #0eb39e;
231
+ --tone-blue-bg: #25455e;
232
+ --tone-blue-bg-hover: #224c6c;
233
+ --tone-blue-bg-selected: #1f537b;
234
+ --tone-blue-border: #2870bd;
235
+ --tone-blue-border-selected: #70b8ff;
236
+ --tone-blue-text: #c2e6ff;
237
+ --tone-blue-icon: #70b8ff;
238
+ --tone-pink-bg: #5e344f;
239
+ --tone-pink-bg-hover: #6d3659;
240
+ --tone-pink-bg-selected: #7b3762;
241
+ --tone-pink-border: #a84885;
242
+ --tone-pink-border-selected: #ff8dcc;
243
+ --tone-pink-text: #fdd1ea;
244
+ --tone-pink-icon: #ff8dcc;
245
+ --tone-brown-bg: #494038;
246
+ --tone-brown-bg-hover: #54473c;
247
+ --tone-brown-bg-selected: #5c4c3e;
248
+ --tone-brown-border: #7c5f46;
249
+ --tone-brown-border-selected: #dbb594;
250
+ --tone-brown-text: #f2e1ca;
251
+ --tone-brown-icon: #dbb594;
252
+ --tone-cyan-bg: #27464d;
253
+ --tone-cyan-bg-hover: #234f59;
254
+ --tone-cyan-bg-selected: #205662;
255
+ --tone-cyan-border: #11809c;
256
+ --tone-cyan-border-selected: #23afd0;
257
+ --tone-cyan-text: #b6ecf7;
258
+ --tone-cyan-icon: #23afd0;
259
+ --tone-lime-bg: #404536;
260
+ --tone-lime-bg-hover: #444b37;
261
+ --tone-lime-bg-selected: #495239;
262
+ --tone-lime-border: #577538;
263
+ --tone-lime-border-selected: #bdee63;
264
+ --tone-lime-text: #e3f7ba;
265
+ --tone-lime-icon: #bdee63;
266
+ --surface-violet-bg: #4e3a60;
267
+ --surface-violet-border: #8457aa;
268
+ --surface-violet-text: #d19dff;
269
+ --surface-orange-bg: #583c2b;
270
+ --surface-orange-border: #a35829;
271
+ --surface-orange-text: #ffa057;
272
+ --surface-teal-bg: #2a4744;
273
+ --surface-teal-border: #207e73;
274
+ --surface-teal-text: #0bd8b6;
275
+ /* tones:end */
218
276
 
219
277
  /* Run-mix ramp — the fills of a proportional status bar.
220
278
  *
@@ -588,15 +646,73 @@
588
646
  --surface-info-bg: #f0f9ff;
589
647
  --surface-info-border: #bae6fd;
590
648
  --surface-info-text: #0369a1;
591
- --surface-teal-bg: #f0fdfa;
592
- --surface-teal-border: #99f6e4;
593
- --surface-teal-text: #0f766e;
594
- --surface-violet-bg: #F0EEFF;
595
- --surface-violet-border: #C5C0F0;
596
- --surface-violet-text: #3E349E;
597
- --surface-orange-bg: #fff7ed;
598
- --surface-orange-border: #fed7aa;
599
- --surface-orange-text: #c2410c;
649
+ /* tones:begin — generated by scripts/gen-ladders.mjs; edit its CATEGORY map, not these lines. */
650
+ --tone-violet-bg: #f7edfe;
651
+ --tone-violet-bg-hover: #f2e2fc;
652
+ --tone-violet-bg-selected: #ead5f9;
653
+ --tone-violet-border: #e0c4f4;
654
+ --tone-violet-border-selected: #8e4ec6;
655
+ --tone-violet-text: #402060;
656
+ --tone-violet-icon: #8e4ec6;
657
+ --tone-orange-bg: #ffefd6;
658
+ --tone-orange-bg-hover: #ffdfb5;
659
+ --tone-orange-bg-selected: #ffd19a;
660
+ --tone-orange-border: #ffc182;
661
+ --tone-orange-border-selected: #cc4e00;
662
+ --tone-orange-text: #582d1d;
663
+ --tone-orange-icon: #cc4e00;
664
+ --tone-teal-bg: #e0f8f3;
665
+ --tone-teal-bg-hover: #ccf3ea;
666
+ --tone-teal-bg-selected: #b8eae0;
667
+ --tone-teal-border: #a1ded2;
668
+ --tone-teal-border-selected: #008573;
669
+ --tone-teal-text: #0d3d38;
670
+ --tone-teal-icon: #008573;
671
+ --tone-blue-bg: #e6f4fe;
672
+ --tone-blue-bg-hover: #d5efff;
673
+ --tone-blue-bg-selected: #c2e5ff;
674
+ --tone-blue-border: #acd8fc;
675
+ --tone-blue-border-selected: #0d74ce;
676
+ --tone-blue-text: #113264;
677
+ --tone-blue-icon: #0d74ce;
678
+ --tone-pink-bg: #fee9f5;
679
+ --tone-pink-bg-hover: #fbdcef;
680
+ --tone-pink-bg-selected: #f6cee7;
681
+ --tone-pink-border: #efbfdd;
682
+ --tone-pink-border-selected: #cf3897;
683
+ --tone-pink-text: #651249;
684
+ --tone-pink-icon: #cf3897;
685
+ --tone-brown-bg: #f6eee7;
686
+ --tone-brown-bg-hover: #f0e4d9;
687
+ --tone-brown-bg-selected: #ebdaca;
688
+ --tone-brown-border: #e4cdb7;
689
+ --tone-brown-border-selected: #815e46;
690
+ --tone-brown-text: #3e332e;
691
+ --tone-brown-icon: #815e46;
692
+ --tone-cyan-bg: #def7f9;
693
+ --tone-cyan-bg-hover: #caf1f6;
694
+ --tone-cyan-bg-selected: #b5e9f0;
695
+ --tone-cyan-border: #9ddde7;
696
+ --tone-cyan-border-selected: #107d98;
697
+ --tone-cyan-text: #0d3c48;
698
+ --tone-cyan-icon: #107d98;
699
+ --tone-lime-bg: #eef6d6;
700
+ --tone-lime-bg-hover: #e2f0bd;
701
+ --tone-lime-bg-selected: #d3e7a6;
702
+ --tone-lime-border: #c2da91;
703
+ --tone-lime-border-selected: #5c7c2f;
704
+ --tone-lime-text: #37401c;
705
+ --tone-lime-icon: #5c7c2f;
706
+ --surface-violet-bg: #f7edfe;
707
+ --surface-violet-border: #e0c4f4;
708
+ --surface-violet-text: #8145b5;
709
+ --surface-orange-bg: #ffefd6;
710
+ --surface-orange-border: #ffc182;
711
+ --surface-orange-text: #bc4904;
712
+ --surface-teal-bg: #e0f8f3;
713
+ --surface-teal-border: #a1ded2;
714
+ --surface-teal-text: #017d6d;
715
+ /* tones:end */
600
716
 
601
717
  /* Run-mix ramp — the fills of a proportional status bar.
602
718
  *
@@ -520,3 +520,44 @@ describe("dark status surfaces carry their tone in hue, not weight", () => {
520
520
  });
521
521
  }
522
522
  });
523
+
524
+ describe("categorical tones are a complete, legible family", () => {
525
+ // gen-ladders.mjs solves these and refuses to write a failing set; this holds
526
+ // the written file to the same floors, so a hand edit inside the generated
527
+ // region fails here before `gen-ladders --check` is even run.
528
+ const CATEGORIES = ["violet", "orange", "teal", "blue", "pink", "brown", "cyan", "lime"];
529
+ const ROLES = ["bg", "bg-hover", "bg-selected", "border", "border-selected", "text", "icon"];
530
+ for (const [theme, spine] of [
531
+ ["dark", DARK],
532
+ ["light", LIGHT],
533
+ ] as const) {
534
+ for (const tone of CATEGORIES) {
535
+ it(`${theme} ${tone}: text and icon clear their floors on every fill`, () => {
536
+ for (const role of ROLES) hexIn(spine, `tone-${tone}-${role}`);
537
+ for (const fill of ["bg", "bg-hover", "bg-selected"]) {
538
+ const under = hexIn(spine, `tone-${tone}-${fill}`);
539
+ expect(
540
+ contrastRatio(hexIn(spine, `tone-${tone}-text`), under),
541
+ `${theme} --tone-${tone}-text on --tone-${tone}-${fill}`,
542
+ ).toBeGreaterThanOrEqual(4.5);
543
+ expect(
544
+ contrastRatio(hexIn(spine, `tone-${tone}-icon`), under),
545
+ `${theme} --tone-${tone}-icon on --tone-${tone}-${fill}`,
546
+ ).toBeGreaterThanOrEqual(3);
547
+ }
548
+ });
549
+ }
550
+ }
551
+ it("keeps the shipped --surface-{violet,orange,teal}-* names on the family, with legible text", () => {
552
+ for (const spine of [DARK, LIGHT]) {
553
+ for (const tone of ["violet", "orange", "teal"]) {
554
+ for (const role of ["bg", "border"]) {
555
+ expect(hexIn(spine, `surface-${tone}-${role}`)).toEqual(hexIn(spine, `tone-${tone}-${role}`));
556
+ }
557
+ expect(
558
+ contrastRatio(hexIn(spine, `surface-${tone}-text`), hexIn(spine, `surface-${tone}-bg`)),
559
+ ).toBeGreaterThanOrEqual(4.5);
560
+ }
561
+ }
562
+ });
563
+ });