@tangle-network/brand 1.11.0 → 1.13.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.
- package/CHANGELOG.md +31 -0
- package/README.md +4 -1
- package/bin/drift-baseline.json +30 -78
- package/package.json +1 -1
- package/src/styles/focus.test.ts +2 -2
- package/src/styles/legacy-light.css +603 -11
- package/src/styles/named-themes.css +336 -6
- package/src/styles/named-themes.test.ts +374 -5
- package/src/styles/tokens.css +95 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.13.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1170561: Lower the SUPER drift baseline to super-agent main 1a055e7: hex 501 -> 0, CSS variable definitions 104 -> 14.
|
|
8
|
+
|
|
9
|
+
## 1.13.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- f13e197: Add the Website named theme. `class="dark" data-theme="website"` gives the public site's indigo-night surface ladder; `data-theme="website"` without `.dark` is its indigo-paper light scope, usable as a nested light island. Both modes are seeded from the canonical baselines in `tokens.css` and declare the same properties. Only planes and ink change: accent, status, category and syntax tones stay canonical. The website uses it in place of its local navy and paper token copies.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- e7525d0: Lower the Tax drift baseline to its measured main (tangle-network/tax-agent ff4b703): raw palette 133 to 0, hex 8 to 0, arbitrary colors 7 to 0, redeclared tokens 8 to 0. Tax runs `tangle-drift check --surface tax` in its sign-off, so any new palette class, hex value or token copy now fails its gate.
|
|
18
|
+
|
|
19
|
+
## 1.12.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- e05254d: Add the `agents` / `agents-light` named theme for Agent Builder: white light pages whose cards separate by shadow, and a mauve neutral ladder in both modes. `scripts/gen-ladders.mjs` generates it from the same map as `system.css`, restricted to canonical spine tokens and with literal values, so it needs no `ladders.css`. It retints surfaces, text, borders and the three shadow roles only; accent, status and category tokens stay canonical. Both names join the canonical baseline selector lists, so nested scopes re-resolve their aliases.
|
|
24
|
+
|
|
25
|
+
Add `data-tone="<category>"` scopes for the eight categorical tones: an element with `data-tone="orange"` reads that family as `--tone-bg`, `--tone-bg-hover`, `--tone-bg-selected`, `--tone-border`, `--tone-border-selected`, `--tone-text` and `--tone-icon`, in both modes.
|
|
26
|
+
- a2e24c7: Add the Hospitality named theme: `data-theme="hospitality"` is a complete light scope, and with `.dark` on the same element it is a complete dark scope. Both are seeded from the canonical baselines in `tokens.css`, as `vault` is. It retints the surface ladder to sage, moves the accent family (primary, ring, accent text and wells, buttons, sidebar, brand accents) to forest green, and keeps every status and category tone canonical. The Hospitality app uses it in place of its local 166-property theme file.
|
|
27
|
+
- a53b246: Add the `super` and `super-light` named themes for SUPER: warm green-grey surfaces with a forest action colour. Button, selection and accent-surface tokens follow the forest fill. Status and category tones are inherited. `ThemeToggle` keeps the pair when it switches modes.
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 6558f63: The `aubergine`, `aubergine-light`, `arena` and `arena-light` named themes retint the base surface: `--md3-surface`, `--md3-surface-dim`, `--md3-surface-bright`, `--md3-surface-variant`, `--md3-on-surface` and `--md3-on-surface-variant` follow each theme's own ladder and text, as they do in the canonical spine. Before, a `bg-surface` element such as a mobile top bar kept the neutral grey surface on a purple or green page.
|
|
32
|
+
- daf8f07: The named themes' secondary text tiers clear WCAG AA on every surface they sit on. `--text-dim` in `aubergine`, `aubergine-light`, `arena`, `arena-light` and `tangle-light`, and `--text-muted` in `aubergine` and the light named themes, measured as low as 2.3:1 on their own canvas, card, panel, elevated or highest container. Each now clears 4.5:1 on all five at the same hue and saturation, with muted still stronger than dim. `tangle-dark` mirrors the canonical dark spine, already passes, and is unchanged.
|
|
33
|
+
|
|
3
34
|
## 1.11.0
|
|
4
35
|
|
|
5
36
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -37,8 +37,11 @@ For finer control, use the exported filenames:
|
|
|
37
37
|
| `.dark` or `data-theme="dark"` | Explicit dark, including a nested dark island |
|
|
38
38
|
| `.light` or `data-theme="light"` | Explicit light, including a nested light island |
|
|
39
39
|
| `data-sandbox-theme="vault"` or `"dawn"` | Existing legacy light names; an explicit `.dark` on that same element takes precedence |
|
|
40
|
-
| `aubergine` / `aubergine-light`, `arena` / `arena-light`, `tangle-dark` / `tangle-light` | Existing named dark/light pairs, applied with `data-theme` |
|
|
40
|
+
| `aubergine` / `aubergine-light`, `arena` / `arena-light`, `super` / `super-light`, `tangle-dark` / `tangle-light` | Existing named dark/light pairs, applied with `data-theme` |
|
|
41
|
+
| `agents` / `agents-light` | Agent Builder: white light pages, cards separated by shadow, and a mauve neutral ladder. Surfaces, text and borders only; accent, status and category stay canonical. Generated by `scripts/gen-ladders.mjs` |
|
|
41
42
|
| `.dark[data-theme="intelligence"]` | Existing dark-only product surface; `.light` keeps the identity and uses canonical light |
|
|
43
|
+
| `[data-theme="hospitality"]` + `.dark[data-theme="hospitality"]` | Hospitality's sage-and-forest product theme in both modes. Set it on the document root. Without `.dark` it is a complete light scope, including before hydration; `.dark` selects the dark baseline and its dark ladder. Status tones stay canonical |
|
|
44
|
+
| `.dark[data-theme="website"]` + `[data-theme="website"]` | The public site's indigo-night planes and indigo-paper light. Set `class="dark" data-theme="website"` on the document root; a section with `data-theme="website"` and no `.dark` is a complete light island. Accent, status, category and syntax tones stay canonical |
|
|
42
45
|
|
|
43
46
|
Set one coherent mode on each boundary; do not author contradictory `.light`/`.dark`/named-mode markers. Named light variants keep their existing palettes; `tangle-light` is not silently retuned to the neutral base light palette. Each known boundary receives a complete baseline before named overrides, so nested scopes do not inherit opposite-mode syntax, status or already-resolved HSL aliases.
|
|
44
47
|
|
package/bin/drift-baseline.json
CHANGED
|
@@ -392,96 +392,54 @@
|
|
|
392
392
|
"apps/web"
|
|
393
393
|
],
|
|
394
394
|
"branch": "main",
|
|
395
|
-
"head": "
|
|
396
|
-
"tsx_files":
|
|
395
|
+
"head": "ff4b70361cf9",
|
|
396
|
+
"tsx_files": 57,
|
|
397
397
|
"css_files": 1,
|
|
398
398
|
"versions": {
|
|
399
399
|
"agent-app": [
|
|
400
|
-
"0.53.
|
|
400
|
+
"0.53.9"
|
|
401
401
|
],
|
|
402
402
|
"brand": [
|
|
403
|
-
"1.
|
|
403
|
+
"1.11.0"
|
|
404
404
|
],
|
|
405
405
|
"override:agent-app": [
|
|
406
|
-
"0.53.
|
|
406
|
+
"0.53.9"
|
|
407
407
|
],
|
|
408
408
|
"override:brand": [
|
|
409
|
-
"1.
|
|
409
|
+
"1.11.0"
|
|
410
410
|
],
|
|
411
411
|
"override:sandbox-ui": [
|
|
412
|
-
"0.
|
|
412
|
+
"0.122.3"
|
|
413
413
|
],
|
|
414
414
|
"override:ui": [
|
|
415
|
-
"11.
|
|
415
|
+
"11.17.0"
|
|
416
416
|
],
|
|
417
417
|
"sandbox-ui": [
|
|
418
|
-
"0.
|
|
418
|
+
"0.122.3"
|
|
419
419
|
],
|
|
420
420
|
"ui": [
|
|
421
|
-
"11.
|
|
421
|
+
"11.17.0"
|
|
422
422
|
]
|
|
423
423
|
},
|
|
424
424
|
"importing_files": {
|
|
425
425
|
"brand": 1,
|
|
426
426
|
"ui": 1,
|
|
427
|
-
"sandbox-ui":
|
|
427
|
+
"sandbox-ui": 26,
|
|
428
428
|
"agent-app": 94
|
|
429
429
|
},
|
|
430
430
|
"by_file": {
|
|
431
|
-
"raw_palette": {
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
"apps/web/src/routes/privacy.tsx": 66,
|
|
436
|
-
"apps/web/src/routes/terms.tsx": 13
|
|
437
|
-
},
|
|
438
|
-
"hex": {
|
|
439
|
-
"apps/web/src/components/app-error-state.tsx": 2,
|
|
440
|
-
"apps/web/src/root.tsx": 2,
|
|
441
|
-
"apps/web/src/routes/_index.tsx": 3,
|
|
442
|
-
"apps/web/src/routes/app.reviews.$id.tsx": 1
|
|
443
|
-
},
|
|
444
|
-
"arbitrary_color": {
|
|
445
|
-
"apps/web/src/components/app-error-state.tsx": 2,
|
|
446
|
-
"apps/web/src/root.tsx": 2,
|
|
447
|
-
"apps/web/src/routes/_index.tsx": 3
|
|
448
|
-
},
|
|
449
|
-
"css_var_defs": {
|
|
450
|
-
"apps/web/src/globals.css": 8
|
|
451
|
-
},
|
|
431
|
+
"raw_palette": {},
|
|
432
|
+
"hex": {},
|
|
433
|
+
"arbitrary_color": {},
|
|
434
|
+
"css_var_defs": {},
|
|
452
435
|
"local_primitive_count": {}
|
|
453
436
|
},
|
|
454
|
-
"raw_palette":
|
|
455
|
-
"hex":
|
|
456
|
-
"arbitrary_color":
|
|
457
|
-
"css_var_defs":
|
|
437
|
+
"raw_palette": 0,
|
|
438
|
+
"hex": 0,
|
|
439
|
+
"arbitrary_color": 0,
|
|
440
|
+
"css_var_defs": 0,
|
|
458
441
|
"local_primitive_count": 0,
|
|
459
|
-
"palette_top": [
|
|
460
|
-
[
|
|
461
|
-
"text-slate-900",
|
|
462
|
-
36
|
|
463
|
-
],
|
|
464
|
-
[
|
|
465
|
-
"text-stone-600",
|
|
466
|
-
21
|
|
467
|
-
],
|
|
468
|
-
[
|
|
469
|
-
"border-stone-200",
|
|
470
|
-
9
|
|
471
|
-
],
|
|
472
|
-
[
|
|
473
|
-
"border-slate-200",
|
|
474
|
-
7
|
|
475
|
-
],
|
|
476
|
-
[
|
|
477
|
-
"text-purple-600",
|
|
478
|
-
7
|
|
479
|
-
],
|
|
480
|
-
[
|
|
481
|
-
"text-slate-950",
|
|
482
|
-
5
|
|
483
|
-
]
|
|
484
|
-
],
|
|
442
|
+
"palette_top": [],
|
|
485
443
|
"local_primitives": {}
|
|
486
444
|
},
|
|
487
445
|
"legal": {
|
|
@@ -1393,12 +1351,15 @@
|
|
|
1393
1351
|
"public"
|
|
1394
1352
|
],
|
|
1395
1353
|
"branch": "main",
|
|
1396
|
-
"head": "
|
|
1397
|
-
"tsx_files":
|
|
1398
|
-
"css_files":
|
|
1354
|
+
"head": "1a055e7b73d4",
|
|
1355
|
+
"tsx_files": 14,
|
|
1356
|
+
"css_files": 5,
|
|
1399
1357
|
"versions": {
|
|
1400
1358
|
"agent-app": [
|
|
1401
1359
|
"0.51.12"
|
|
1360
|
+
],
|
|
1361
|
+
"brand": [
|
|
1362
|
+
"1.13.0"
|
|
1402
1363
|
]
|
|
1403
1364
|
},
|
|
1404
1365
|
"importing_files": {
|
|
@@ -1409,27 +1370,18 @@
|
|
|
1409
1370
|
},
|
|
1410
1371
|
"by_file": {
|
|
1411
1372
|
"raw_palette": {},
|
|
1412
|
-
"hex": {
|
|
1413
|
-
"public/app.js": 3,
|
|
1414
|
-
"public/design-tokens.css": 33,
|
|
1415
|
-
"public/index.html": 1,
|
|
1416
|
-
"public/invite.html": 1,
|
|
1417
|
-
"public/sandbox-ui.css": 42,
|
|
1418
|
-
"public/style.css": 421
|
|
1419
|
-
},
|
|
1373
|
+
"hex": {},
|
|
1420
1374
|
"arbitrary_color": {},
|
|
1421
1375
|
"css_var_defs": {
|
|
1422
|
-
"public/design-components.css":
|
|
1423
|
-
"public/design-tokens.css": 95,
|
|
1424
|
-
"public/sandbox-ui.css": 2,
|
|
1376
|
+
"public/design-components.css": 13,
|
|
1425
1377
|
"public/style.css": 1
|
|
1426
1378
|
},
|
|
1427
1379
|
"local_primitive_count": {}
|
|
1428
1380
|
},
|
|
1429
1381
|
"raw_palette": 0,
|
|
1430
|
-
"hex":
|
|
1382
|
+
"hex": 0,
|
|
1431
1383
|
"arbitrary_color": 0,
|
|
1432
|
-
"css_var_defs":
|
|
1384
|
+
"css_var_defs": 14,
|
|
1433
1385
|
"local_primitive_count": 0,
|
|
1434
1386
|
"palette_top": [],
|
|
1435
1387
|
"local_primitives": {}
|
package/package.json
CHANGED
package/src/styles/focus.test.ts
CHANGED
|
@@ -59,11 +59,11 @@ const lightStatus = blocksIn(themes, '[data-theme="tangle-light"]').join("\n");
|
|
|
59
59
|
const scopes: Array<{ name: string; sources: string[] }> = [
|
|
60
60
|
{ name: "canonical dark", sources: [DARK] },
|
|
61
61
|
{ name: "canonical light", sources: [LIGHT] },
|
|
62
|
-
...["aubergine", "arena", "tangle-dark"].map((name) => ({
|
|
62
|
+
...["aubergine", "arena", "super", "tangle-dark", "agents"].map((name) => ({
|
|
63
63
|
name,
|
|
64
64
|
sources: [...blocksIn(themes, `[data-theme="${name}"]`), DARK],
|
|
65
65
|
})),
|
|
66
|
-
...["aubergine-light", "arena-light", "tangle-light"].map((name) => ({
|
|
66
|
+
...["aubergine-light", "arena-light", "super-light", "tangle-light", "agents-light"].map((name) => ({
|
|
67
67
|
name,
|
|
68
68
|
sources: [...blocksIn(themes, `[data-theme="${name}"]`), lightStatus, LIGHT, DARK],
|
|
69
69
|
})),
|