@hanzo/design 0.5.12 → 0.5.13
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/dist/tokens.gen.d.ts +10 -0
- package/dist/tokens.gen.d.ts.map +1 -1
- package/dist/tokens.gen.js +10 -0
- package/package.json +8 -10
- package/src/tokens.gen.ts +10 -0
- package/styles.css +19 -0
- package/tailwind.css +19 -0
- package/tokens/colors.css +19 -0
package/dist/tokens.gen.d.ts
CHANGED
|
@@ -15,20 +15,25 @@ export declare const colors: {
|
|
|
15
15
|
readonly 'pure-white': "#FFFFFF";
|
|
16
16
|
readonly 'hanzo-black': "#0A0A0B";
|
|
17
17
|
readonly 'hanzo-white': "#FFFFFF";
|
|
18
|
+
readonly 'white-03': "rgb(255 255 255 / .03)";
|
|
18
19
|
readonly 'white-05': "rgb(255 255 255 / .05)";
|
|
19
20
|
readonly 'white-06': "rgb(255 255 255 / .06)";
|
|
20
21
|
readonly 'white-08': "rgb(255 255 255 / .08)";
|
|
21
22
|
readonly 'white-10': "rgb(255 255 255 / .10)";
|
|
23
|
+
readonly 'white-14': "rgb(255 255 255 / .14)";
|
|
22
24
|
readonly 'white-15': "rgb(255 255 255 / .15)";
|
|
23
25
|
readonly 'white-16': "rgb(255 255 255 / .16)";
|
|
26
|
+
readonly 'white-18': "rgb(255 255 255 / .18)";
|
|
24
27
|
readonly 'white-20': "rgb(255 255 255 / .20)";
|
|
25
28
|
readonly 'white-22': "rgb(255 255 255 / .22)";
|
|
26
29
|
readonly 'white-30': "rgb(255 255 255 / .30)";
|
|
27
30
|
readonly 'white-40': "rgb(255 255 255 / .40)";
|
|
31
|
+
readonly 'white-45': "rgb(255 255 255 / .45)";
|
|
28
32
|
readonly 'white-55': "rgb(255 255 255 / .55)";
|
|
29
33
|
readonly 'white-60': "rgb(255 255 255 / .60)";
|
|
30
34
|
readonly 'white-78': "rgb(255 255 255 / .78)";
|
|
31
35
|
readonly 'white-80': "rgb(255 255 255 / .80)";
|
|
36
|
+
readonly 'white-92': "rgb(255 255 255 / .92)";
|
|
32
37
|
readonly background: "#0a0a0a";
|
|
33
38
|
readonly foreground: "#fafafa";
|
|
34
39
|
readonly card: "#0f0f0f";
|
|
@@ -313,20 +318,25 @@ export declare const cssVars: {
|
|
|
313
318
|
readonly '--pure-white': "#FFFFFF";
|
|
314
319
|
readonly '--hanzo-black': "#0A0A0B";
|
|
315
320
|
readonly '--hanzo-white': "#FFFFFF";
|
|
321
|
+
readonly '--white-03': "rgb(255 255 255 / .03)";
|
|
316
322
|
readonly '--white-05': "rgb(255 255 255 / .05)";
|
|
317
323
|
readonly '--white-06': "rgb(255 255 255 / .06)";
|
|
318
324
|
readonly '--white-08': "rgb(255 255 255 / .08)";
|
|
319
325
|
readonly '--white-10': "rgb(255 255 255 / .10)";
|
|
326
|
+
readonly '--white-14': "rgb(255 255 255 / .14)";
|
|
320
327
|
readonly '--white-15': "rgb(255 255 255 / .15)";
|
|
321
328
|
readonly '--white-16': "rgb(255 255 255 / .16)";
|
|
329
|
+
readonly '--white-18': "rgb(255 255 255 / .18)";
|
|
322
330
|
readonly '--white-20': "rgb(255 255 255 / .20)";
|
|
323
331
|
readonly '--white-22': "rgb(255 255 255 / .22)";
|
|
324
332
|
readonly '--white-30': "rgb(255 255 255 / .30)";
|
|
325
333
|
readonly '--white-40': "rgb(255 255 255 / .40)";
|
|
334
|
+
readonly '--white-45': "rgb(255 255 255 / .45)";
|
|
326
335
|
readonly '--white-55': "rgb(255 255 255 / .55)";
|
|
327
336
|
readonly '--white-60': "rgb(255 255 255 / .60)";
|
|
328
337
|
readonly '--white-78': "rgb(255 255 255 / .78)";
|
|
329
338
|
readonly '--white-80': "rgb(255 255 255 / .80)";
|
|
339
|
+
readonly '--white-92': "rgb(255 255 255 / .92)";
|
|
330
340
|
readonly '--background': "#0a0a0a";
|
|
331
341
|
readonly '--foreground': "#fafafa";
|
|
332
342
|
readonly '--card': "#0f0f0f";
|
package/dist/tokens.gen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.gen.d.ts","sourceRoot":"","sources":["../src/tokens.gen.ts"],"names":[],"mappings":"AAIA,kEAAkE;AAClE,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"tokens.gen.d.ts","sourceRoot":"","sources":["../src/tokens.gen.ts"],"names":[],"mappings":"AAIA,kEAAkE;AAClE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FT,CAAA;AAEV,0EAA0E;AAC1E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEb,CAAA;AAEV,oEAAoE;AACpE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CV,CAAA;AAEV,8DAA8D;AAC9D,eAAO,MAAM,IAAI;;;;;;;;;;;;CAYP,CAAA;AAEV,kEAAkE;AAClE,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAA;AAEV,wEAAwE;AACxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ,CAAA;AAEV,kEAAkE;AAClE,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAaT,CAAA;AAEV,6DAA6D;AAC7D,eAAO,MAAM,MAAM;;;;;;;;;;;;CAYT,CAAA;AAEV,gEAAgE;AAChE,eAAO,MAAM,KAAK;;;;;;CAMR,CAAA;AAEV,8DAA8D;AAC9D,eAAO,MAAM,IAAI,IAEP,CAAA;AAEV,sFAAsF;AACtF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmRV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA"}
|
package/dist/tokens.gen.js
CHANGED
|
@@ -18,20 +18,25 @@ export const colors = {
|
|
|
18
18
|
'pure-white': '#FFFFFF',
|
|
19
19
|
'hanzo-black': '#0A0A0B',
|
|
20
20
|
'hanzo-white': '#FFFFFF',
|
|
21
|
+
'white-03': 'rgb(255 255 255 / .03)',
|
|
21
22
|
'white-05': 'rgb(255 255 255 / .05)',
|
|
22
23
|
'white-06': 'rgb(255 255 255 / .06)',
|
|
23
24
|
'white-08': 'rgb(255 255 255 / .08)',
|
|
24
25
|
'white-10': 'rgb(255 255 255 / .10)',
|
|
26
|
+
'white-14': 'rgb(255 255 255 / .14)',
|
|
25
27
|
'white-15': 'rgb(255 255 255 / .15)',
|
|
26
28
|
'white-16': 'rgb(255 255 255 / .16)',
|
|
29
|
+
'white-18': 'rgb(255 255 255 / .18)',
|
|
27
30
|
'white-20': 'rgb(255 255 255 / .20)',
|
|
28
31
|
'white-22': 'rgb(255 255 255 / .22)',
|
|
29
32
|
'white-30': 'rgb(255 255 255 / .30)',
|
|
30
33
|
'white-40': 'rgb(255 255 255 / .40)',
|
|
34
|
+
'white-45': 'rgb(255 255 255 / .45)',
|
|
31
35
|
'white-55': 'rgb(255 255 255 / .55)',
|
|
32
36
|
'white-60': 'rgb(255 255 255 / .60)',
|
|
33
37
|
'white-78': 'rgb(255 255 255 / .78)',
|
|
34
38
|
'white-80': 'rgb(255 255 255 / .80)',
|
|
39
|
+
'white-92': 'rgb(255 255 255 / .92)',
|
|
35
40
|
'background': '#0a0a0a',
|
|
36
41
|
'foreground': '#fafafa',
|
|
37
42
|
'card': '#0f0f0f',
|
|
@@ -316,20 +321,25 @@ export const cssVars = {
|
|
|
316
321
|
'--pure-white': '#FFFFFF',
|
|
317
322
|
'--hanzo-black': '#0A0A0B',
|
|
318
323
|
'--hanzo-white': '#FFFFFF',
|
|
324
|
+
'--white-03': 'rgb(255 255 255 / .03)',
|
|
319
325
|
'--white-05': 'rgb(255 255 255 / .05)',
|
|
320
326
|
'--white-06': 'rgb(255 255 255 / .06)',
|
|
321
327
|
'--white-08': 'rgb(255 255 255 / .08)',
|
|
322
328
|
'--white-10': 'rgb(255 255 255 / .10)',
|
|
329
|
+
'--white-14': 'rgb(255 255 255 / .14)',
|
|
323
330
|
'--white-15': 'rgb(255 255 255 / .15)',
|
|
324
331
|
'--white-16': 'rgb(255 255 255 / .16)',
|
|
332
|
+
'--white-18': 'rgb(255 255 255 / .18)',
|
|
325
333
|
'--white-20': 'rgb(255 255 255 / .20)',
|
|
326
334
|
'--white-22': 'rgb(255 255 255 / .22)',
|
|
327
335
|
'--white-30': 'rgb(255 255 255 / .30)',
|
|
328
336
|
'--white-40': 'rgb(255 255 255 / .40)',
|
|
337
|
+
'--white-45': 'rgb(255 255 255 / .45)',
|
|
329
338
|
'--white-55': 'rgb(255 255 255 / .55)',
|
|
330
339
|
'--white-60': 'rgb(255 255 255 / .60)',
|
|
331
340
|
'--white-78': 'rgb(255 255 255 / .78)',
|
|
332
341
|
'--white-80': 'rgb(255 255 255 / .80)',
|
|
342
|
+
'--white-92': 'rgb(255 255 255 / .92)',
|
|
333
343
|
'--background': '#0a0a0a',
|
|
334
344
|
'--foreground': '#fafafa',
|
|
335
345
|
'--card': '#0f0f0f',
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzo/design",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"packageManager": "pnpm@11.17.0",
|
|
3
|
+
"version": "0.5.13",
|
|
5
4
|
"description": "Hanzo Design System — monochrome, dark-default tokens + components + brand assets, the single source of truth for every Hanzo surface. CSS + typed programmatic tokens.",
|
|
6
5
|
"license": "MIT OR Apache-2.0",
|
|
7
6
|
"repository": {
|
|
@@ -32,13 +31,6 @@
|
|
|
32
31
|
"./skills/*": "./skills/*",
|
|
33
32
|
"./tailwind.css": "./tailwind.css"
|
|
34
33
|
},
|
|
35
|
-
"scripts": {
|
|
36
|
-
"gen": "node scripts/gen-tokens.mjs",
|
|
37
|
-
"test": "node scripts/check-tokens.mjs && node scripts/check-preference.mjs && node scripts/lint.mjs .",
|
|
38
|
-
"build": "pnpm gen && pnpm test && tsc -p tsconfig.json && node scripts/check-dist.mjs",
|
|
39
|
-
"prepublishOnly": "pnpm build",
|
|
40
|
-
"lint": "node scripts/lint.mjs"
|
|
41
|
-
},
|
|
42
34
|
"devDependencies": {
|
|
43
35
|
"typescript": "^5.9.3"
|
|
44
36
|
},
|
|
@@ -71,5 +63,11 @@
|
|
|
71
63
|
},
|
|
72
64
|
"bin": {
|
|
73
65
|
"hanzo-design-lint": "./scripts/lint.mjs"
|
|
66
|
+
},
|
|
67
|
+
"scripts": {
|
|
68
|
+
"gen": "node scripts/gen-tokens.mjs",
|
|
69
|
+
"test": "node scripts/check-tokens.mjs && node scripts/check-preference.mjs && node scripts/lint.mjs .",
|
|
70
|
+
"build": "pnpm gen && pnpm test && tsc -p tsconfig.json && node scripts/check-dist.mjs",
|
|
71
|
+
"lint": "node scripts/lint.mjs"
|
|
74
72
|
}
|
|
75
|
-
}
|
|
73
|
+
}
|
package/src/tokens.gen.ts
CHANGED
|
@@ -19,20 +19,25 @@ export const colors = {
|
|
|
19
19
|
'pure-white': '#FFFFFF',
|
|
20
20
|
'hanzo-black': '#0A0A0B',
|
|
21
21
|
'hanzo-white': '#FFFFFF',
|
|
22
|
+
'white-03': 'rgb(255 255 255 / .03)',
|
|
22
23
|
'white-05': 'rgb(255 255 255 / .05)',
|
|
23
24
|
'white-06': 'rgb(255 255 255 / .06)',
|
|
24
25
|
'white-08': 'rgb(255 255 255 / .08)',
|
|
25
26
|
'white-10': 'rgb(255 255 255 / .10)',
|
|
27
|
+
'white-14': 'rgb(255 255 255 / .14)',
|
|
26
28
|
'white-15': 'rgb(255 255 255 / .15)',
|
|
27
29
|
'white-16': 'rgb(255 255 255 / .16)',
|
|
30
|
+
'white-18': 'rgb(255 255 255 / .18)',
|
|
28
31
|
'white-20': 'rgb(255 255 255 / .20)',
|
|
29
32
|
'white-22': 'rgb(255 255 255 / .22)',
|
|
30
33
|
'white-30': 'rgb(255 255 255 / .30)',
|
|
31
34
|
'white-40': 'rgb(255 255 255 / .40)',
|
|
35
|
+
'white-45': 'rgb(255 255 255 / .45)',
|
|
32
36
|
'white-55': 'rgb(255 255 255 / .55)',
|
|
33
37
|
'white-60': 'rgb(255 255 255 / .60)',
|
|
34
38
|
'white-78': 'rgb(255 255 255 / .78)',
|
|
35
39
|
'white-80': 'rgb(255 255 255 / .80)',
|
|
40
|
+
'white-92': 'rgb(255 255 255 / .92)',
|
|
36
41
|
'background': '#0a0a0a',
|
|
37
42
|
'foreground': '#fafafa',
|
|
38
43
|
'card': '#0f0f0f',
|
|
@@ -329,20 +334,25 @@ export const cssVars = {
|
|
|
329
334
|
'--pure-white': '#FFFFFF',
|
|
330
335
|
'--hanzo-black': '#0A0A0B',
|
|
331
336
|
'--hanzo-white': '#FFFFFF',
|
|
337
|
+
'--white-03': 'rgb(255 255 255 / .03)',
|
|
332
338
|
'--white-05': 'rgb(255 255 255 / .05)',
|
|
333
339
|
'--white-06': 'rgb(255 255 255 / .06)',
|
|
334
340
|
'--white-08': 'rgb(255 255 255 / .08)',
|
|
335
341
|
'--white-10': 'rgb(255 255 255 / .10)',
|
|
342
|
+
'--white-14': 'rgb(255 255 255 / .14)',
|
|
336
343
|
'--white-15': 'rgb(255 255 255 / .15)',
|
|
337
344
|
'--white-16': 'rgb(255 255 255 / .16)',
|
|
345
|
+
'--white-18': 'rgb(255 255 255 / .18)',
|
|
338
346
|
'--white-20': 'rgb(255 255 255 / .20)',
|
|
339
347
|
'--white-22': 'rgb(255 255 255 / .22)',
|
|
340
348
|
'--white-30': 'rgb(255 255 255 / .30)',
|
|
341
349
|
'--white-40': 'rgb(255 255 255 / .40)',
|
|
350
|
+
'--white-45': 'rgb(255 255 255 / .45)',
|
|
342
351
|
'--white-55': 'rgb(255 255 255 / .55)',
|
|
343
352
|
'--white-60': 'rgb(255 255 255 / .60)',
|
|
344
353
|
'--white-78': 'rgb(255 255 255 / .78)',
|
|
345
354
|
'--white-80': 'rgb(255 255 255 / .80)',
|
|
355
|
+
'--white-92': 'rgb(255 255 255 / .92)',
|
|
346
356
|
'--background': '#0a0a0a',
|
|
347
357
|
'--foreground': '#fafafa',
|
|
348
358
|
'--card': '#0f0f0f',
|
package/styles.css
CHANGED
|
@@ -56,20 +56,39 @@
|
|
|
56
56
|
/* ——— the opacity ladder: the real palette ——— */
|
|
57
57
|
/* Every rung below .30 is a HAIRLINE or a LIFT — the two things this system
|
|
58
58
|
draws with. The rungs are the reference's own values, not a rounded ramp. */
|
|
59
|
+
/* The five rungs marked (chrome) below were being retyped as raw rgba in
|
|
60
|
+
@hanzogui/shell's theme.ts, which is the shared bar every Hanzo property
|
|
61
|
+
mounts. That is the same defect this ladder exists to end — a value in two
|
|
62
|
+
places drifts, and this pair already had: the shell's resting hairline sat
|
|
63
|
+
at .06 against this file's .10 for long enough that the bar and the page
|
|
64
|
+
under it drew different hairlines. They are rungs here now, and the shell
|
|
65
|
+
references them, so the chrome has no colour of its own left to drift.
|
|
66
|
+
|
|
67
|
+
They are the shell's OWN measured values, added at the alpha it already
|
|
68
|
+
ships. Snapping them to neighbouring rungs instead would have been a
|
|
69
|
+
silent redesign of the estate's chrome, and two of them carry decisions
|
|
70
|
+
that a round number would have destroyed: .92 is ink deliberately short of
|
|
71
|
+
the .98 hover so a hover still reads as a response, and .03 is the one
|
|
72
|
+
lift that must stay below the .05 hairline it sits inside. */
|
|
73
|
+
--white-03:rgb(255 255 255 / .03); /* (chrome) the raised fill */
|
|
59
74
|
--white-05:rgb(255 255 255 / .05);
|
|
60
75
|
--white-06:rgb(255 255 255 / .06);
|
|
61
76
|
--white-08:rgb(255 255 255 / .08);
|
|
62
77
|
--white-10:rgb(255 255 255 / .10);
|
|
78
|
+
--white-14:rgb(255 255 255 / .14); /* (chrome) selection wash */
|
|
63
79
|
--white-15:rgb(255 255 255 / .15);
|
|
64
80
|
--white-16:rgb(255 255 255 / .16);
|
|
81
|
+
--white-18:rgb(255 255 255 / .18); /* (chrome) selection tint */
|
|
65
82
|
--white-20:rgb(255 255 255 / .20);
|
|
66
83
|
--white-22:rgb(255 255 255 / .22);
|
|
67
84
|
--white-30:rgb(255 255 255 / .30);
|
|
68
85
|
--white-40:rgb(255 255 255 / .40);
|
|
86
|
+
--white-45:rgb(255 255 255 / .45); /* (chrome) the dimmest ink */
|
|
69
87
|
--white-55:rgb(255 255 255 / .55);
|
|
70
88
|
--white-60:rgb(255 255 255 / .60);
|
|
71
89
|
--white-78:rgb(255 255 255 / .78);
|
|
72
90
|
--white-80:rgb(255 255 255 / .80);
|
|
91
|
+
--white-92:rgb(255 255 255 / .92); /* (chrome) body ink */
|
|
73
92
|
|
|
74
93
|
/* ——— semantic aliases (dark, the default) ——— */
|
|
75
94
|
--background:#0a0a0a;
|
package/tailwind.css
CHANGED
|
@@ -79,20 +79,39 @@
|
|
|
79
79
|
/* ——— the opacity ladder: the real palette ——— */
|
|
80
80
|
/* Every rung below .30 is a HAIRLINE or a LIFT — the two things this system
|
|
81
81
|
draws with. The rungs are the reference's own values, not a rounded ramp. */
|
|
82
|
+
/* The five rungs marked (chrome) below were being retyped as raw rgba in
|
|
83
|
+
@hanzogui/shell's theme.ts, which is the shared bar every Hanzo property
|
|
84
|
+
mounts. That is the same defect this ladder exists to end — a value in two
|
|
85
|
+
places drifts, and this pair already had: the shell's resting hairline sat
|
|
86
|
+
at .06 against this file's .10 for long enough that the bar and the page
|
|
87
|
+
under it drew different hairlines. They are rungs here now, and the shell
|
|
88
|
+
references them, so the chrome has no colour of its own left to drift.
|
|
89
|
+
|
|
90
|
+
They are the shell's OWN measured values, added at the alpha it already
|
|
91
|
+
ships. Snapping them to neighbouring rungs instead would have been a
|
|
92
|
+
silent redesign of the estate's chrome, and two of them carry decisions
|
|
93
|
+
that a round number would have destroyed: .92 is ink deliberately short of
|
|
94
|
+
the .98 hover so a hover still reads as a response, and .03 is the one
|
|
95
|
+
lift that must stay below the .05 hairline it sits inside. */
|
|
96
|
+
--white-03:rgb(255 255 255 / .03); /* (chrome) the raised fill */
|
|
82
97
|
--white-05:rgb(255 255 255 / .05);
|
|
83
98
|
--white-06:rgb(255 255 255 / .06);
|
|
84
99
|
--white-08:rgb(255 255 255 / .08);
|
|
85
100
|
--white-10:rgb(255 255 255 / .10);
|
|
101
|
+
--white-14:rgb(255 255 255 / .14); /* (chrome) selection wash */
|
|
86
102
|
--white-15:rgb(255 255 255 / .15);
|
|
87
103
|
--white-16:rgb(255 255 255 / .16);
|
|
104
|
+
--white-18:rgb(255 255 255 / .18); /* (chrome) selection tint */
|
|
88
105
|
--white-20:rgb(255 255 255 / .20);
|
|
89
106
|
--white-22:rgb(255 255 255 / .22);
|
|
90
107
|
--white-30:rgb(255 255 255 / .30);
|
|
91
108
|
--white-40:rgb(255 255 255 / .40);
|
|
109
|
+
--white-45:rgb(255 255 255 / .45); /* (chrome) the dimmest ink */
|
|
92
110
|
--white-55:rgb(255 255 255 / .55);
|
|
93
111
|
--white-60:rgb(255 255 255 / .60);
|
|
94
112
|
--white-78:rgb(255 255 255 / .78);
|
|
95
113
|
--white-80:rgb(255 255 255 / .80);
|
|
114
|
+
--white-92:rgb(255 255 255 / .92); /* (chrome) body ink */
|
|
96
115
|
|
|
97
116
|
/* ——— semantic aliases (dark, the default) ——— */
|
|
98
117
|
--background:#0a0a0a;
|
package/tokens/colors.css
CHANGED
|
@@ -41,20 +41,39 @@
|
|
|
41
41
|
/* ——— the opacity ladder: the real palette ——— */
|
|
42
42
|
/* Every rung below .30 is a HAIRLINE or a LIFT — the two things this system
|
|
43
43
|
draws with. The rungs are the reference's own values, not a rounded ramp. */
|
|
44
|
+
/* The five rungs marked (chrome) below were being retyped as raw rgba in
|
|
45
|
+
@hanzogui/shell's theme.ts, which is the shared bar every Hanzo property
|
|
46
|
+
mounts. That is the same defect this ladder exists to end — a value in two
|
|
47
|
+
places drifts, and this pair already had: the shell's resting hairline sat
|
|
48
|
+
at .06 against this file's .10 for long enough that the bar and the page
|
|
49
|
+
under it drew different hairlines. They are rungs here now, and the shell
|
|
50
|
+
references them, so the chrome has no colour of its own left to drift.
|
|
51
|
+
|
|
52
|
+
They are the shell's OWN measured values, added at the alpha it already
|
|
53
|
+
ships. Snapping them to neighbouring rungs instead would have been a
|
|
54
|
+
silent redesign of the estate's chrome, and two of them carry decisions
|
|
55
|
+
that a round number would have destroyed: .92 is ink deliberately short of
|
|
56
|
+
the .98 hover so a hover still reads as a response, and .03 is the one
|
|
57
|
+
lift that must stay below the .05 hairline it sits inside. */
|
|
58
|
+
--white-03:rgb(255 255 255 / .03); /* (chrome) the raised fill */
|
|
44
59
|
--white-05:rgb(255 255 255 / .05);
|
|
45
60
|
--white-06:rgb(255 255 255 / .06);
|
|
46
61
|
--white-08:rgb(255 255 255 / .08);
|
|
47
62
|
--white-10:rgb(255 255 255 / .10);
|
|
63
|
+
--white-14:rgb(255 255 255 / .14); /* (chrome) selection wash */
|
|
48
64
|
--white-15:rgb(255 255 255 / .15);
|
|
49
65
|
--white-16:rgb(255 255 255 / .16);
|
|
66
|
+
--white-18:rgb(255 255 255 / .18); /* (chrome) selection tint */
|
|
50
67
|
--white-20:rgb(255 255 255 / .20);
|
|
51
68
|
--white-22:rgb(255 255 255 / .22);
|
|
52
69
|
--white-30:rgb(255 255 255 / .30);
|
|
53
70
|
--white-40:rgb(255 255 255 / .40);
|
|
71
|
+
--white-45:rgb(255 255 255 / .45); /* (chrome) the dimmest ink */
|
|
54
72
|
--white-55:rgb(255 255 255 / .55);
|
|
55
73
|
--white-60:rgb(255 255 255 / .60);
|
|
56
74
|
--white-78:rgb(255 255 255 / .78);
|
|
57
75
|
--white-80:rgb(255 255 255 / .80);
|
|
76
|
+
--white-92:rgb(255 255 255 / .92); /* (chrome) body ink */
|
|
58
77
|
|
|
59
78
|
/* ——— semantic aliases (dark, the default) ——— */
|
|
60
79
|
--background:#0a0a0a;
|