@guildofgleks/ui 21.12.0 → 21.13.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.
- package/AGENTS.md +179 -28
- package/CHANGELOG.md +612 -0
- package/README.md +23 -3
- package/TOKENS.md +52 -51
- package/fesm2022/guildofgleks-ui-datepicker.mjs +20 -0
- package/fesm2022/guildofgleks-ui-datepicker.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-dialog.mjs +20 -0
- package/fesm2022/guildofgleks-ui-dialog.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-shared.mjs +4692 -0
- package/fesm2022/guildofgleks-ui-shared.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-table.mjs +20 -0
- package/fesm2022/guildofgleks-ui-table.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui.mjs +607 -3760
- package/fesm2022/guildofgleks-ui.mjs.map +1 -1
- package/package.json +17 -1
- package/styles/button.css +5 -5
- package/styles/presets/parchment.css +89 -86
- package/styles/presets/terminal.css +107 -102
- package/styles/theme.css +128 -23
- package/types/guildofgleks-ui-datepicker.d.ts +1 -0
- package/types/guildofgleks-ui-dialog.d.ts +1 -0
- package/types/guildofgleks-ui-shared.d.ts +2000 -0
- package/types/guildofgleks-ui-table.d.ts +1 -0
- package/types/guildofgleks-ui.d.ts +279 -1226
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guildofgleks/ui",
|
|
3
|
-
"version": "21.
|
|
3
|
+
"version": "21.13.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20.19.0"
|
|
6
6
|
},
|
|
@@ -50,6 +50,22 @@
|
|
|
50
50
|
".": {
|
|
51
51
|
"types": "./types/guildofgleks-ui.d.ts",
|
|
52
52
|
"default": "./fesm2022/guildofgleks-ui.mjs"
|
|
53
|
+
},
|
|
54
|
+
"./datepicker": {
|
|
55
|
+
"types": "./types/guildofgleks-ui-datepicker.d.ts",
|
|
56
|
+
"default": "./fesm2022/guildofgleks-ui-datepicker.mjs"
|
|
57
|
+
},
|
|
58
|
+
"./dialog": {
|
|
59
|
+
"types": "./types/guildofgleks-ui-dialog.d.ts",
|
|
60
|
+
"default": "./fesm2022/guildofgleks-ui-dialog.mjs"
|
|
61
|
+
},
|
|
62
|
+
"./shared": {
|
|
63
|
+
"types": "./types/guildofgleks-ui-shared.d.ts",
|
|
64
|
+
"default": "./fesm2022/guildofgleks-ui-shared.mjs"
|
|
65
|
+
},
|
|
66
|
+
"./table": {
|
|
67
|
+
"types": "./types/guildofgleks-ui-table.d.ts",
|
|
68
|
+
"default": "./fesm2022/guildofgleks-ui-table.mjs"
|
|
53
69
|
}
|
|
54
70
|
},
|
|
55
71
|
"module": "fesm2022/guildofgleks-ui.mjs",
|
package/styles/button.css
CHANGED
|
@@ -106,11 +106,11 @@
|
|
|
106
106
|
* wants to restyle them can still do it by being specific about it.
|
|
107
107
|
*/
|
|
108
108
|
.gog-btn.gog-btn:focus-visible {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
/* `--gog-button-focus-ring-color`, not the hover fill this used to read. A hover-weight colour
|
|
110
|
+
cannot carry focus: on `ghost` and on the severity `outline` combinations the hover fill is a
|
|
111
|
+
wash, and the ring measured 1.07:1 to 2.65:1 against the page. See the token's own note in
|
|
112
|
+
`theme.css`. */
|
|
113
|
+
outline: var(--gog-button-focus-ring-width) solid var(--gog-button-focus-ring-color);
|
|
114
114
|
outline-offset: var(--gog-button-focus-ring-offset);
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -1,86 +1,89 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* `parchment` — ink on laid paper. Warm neutrals, a serif body, square corners, an oxblood
|
|
3
|
-
* accent: `docs/themes.md`'s Historical family, the one the plan flagged as blocked on fonts.
|
|
4
|
-
*
|
|
5
|
-
* Import it after `index.css`, then put the attribute on the root — or on any subtree:
|
|
6
|
-
*
|
|
7
|
-
* @import '@guildofgleks/ui/styles/index.css';
|
|
8
|
-
* @import '@guildofgleks/ui/styles/presets/parchment.css';
|
|
9
|
-
*
|
|
10
|
-
* <html data-theme="parchment">
|
|
11
|
-
*
|
|
12
|
-
* **How the font blocker was resolved.** A period serif is most of what makes this read as
|
|
13
|
-
* historical, and a preset must never add a network request by being imported. So this file sets
|
|
14
|
-
* a *stack* of old-style serifs that ship with real operating systems — Iowan Old Style, Palatino,
|
|
15
|
-
* Book Antiqua, Georgia — and every one of them is a genuine old-style face with the right colour
|
|
16
|
-
* on the page. It looks deliberate on every platform, with no download.
|
|
17
|
-
*
|
|
18
|
-
* For the fuller period look, `presets/parchment.fonts.css` is an optional second import that
|
|
19
|
-
* pulls EB Garamond and points the same tokens at it. That file is the only one here that makes
|
|
20
|
-
* a request, and importing it is the consumer's decision, not this file's.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
:root[data-theme='parchment'],
|
|
24
|
-
[data-theme='parchment'] {
|
|
25
|
-
color-scheme: light;
|
|
26
|
-
|
|
27
|
-
/* Palette — aged paper, iron-gall ink, an oxblood rubric */
|
|
28
|
-
--gog-background-color: #e8dfc8;
|
|
29
|
-
--gog-surface-color: #f5efe0;
|
|
30
|
-
--gog-hover-color: #ded3b8;
|
|
31
|
-
--gog-border-color: #b8a888;
|
|
32
|
-
--gog-text-color: #241d14;
|
|
33
|
-
--gog-accent-text-color: #f5efe0;
|
|
34
|
-
--gog-muted-text-color: #57493a;
|
|
35
|
-
--gog-primary-color: #241d14;
|
|
36
|
-
--gog-accent-color: #6b2f2f;
|
|
37
|
-
--gog-accent-bright: #8a4040;
|
|
38
|
-
--gog-accent-dim: #5a2626;
|
|
39
|
-
--gog-accent-pale: #e3d4c4;
|
|
40
|
-
--gog-secondary-color: #6b5b45;
|
|
41
|
-
|
|
42
|
-
/* Semantics — the colours a scribe actually had: verdigris, vermilion, orpiment, indigo */
|
|
43
|
-
--gog-success-color: #3f5f3f;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
--gog-
|
|
66
|
-
--gog-elevation-
|
|
67
|
-
--gog-elevation-key-
|
|
68
|
-
--gog-elevation-
|
|
69
|
-
--gog-elevation-
|
|
70
|
-
--gog-elevation-
|
|
71
|
-
--gog-elevation-
|
|
72
|
-
--gog-elevation-
|
|
73
|
-
--gog-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
--gog-
|
|
82
|
-
|
|
83
|
-
--gog-
|
|
84
|
-
--gog-
|
|
85
|
-
--gog-
|
|
86
|
-
|
|
1
|
+
/*
|
|
2
|
+
* `parchment` — ink on laid paper. Warm neutrals, a serif body, square corners, an oxblood
|
|
3
|
+
* accent: `docs/themes.md`'s Historical family, the one the plan flagged as blocked on fonts.
|
|
4
|
+
*
|
|
5
|
+
* Import it after `index.css`, then put the attribute on the root — or on any subtree:
|
|
6
|
+
*
|
|
7
|
+
* @import '@guildofgleks/ui/styles/index.css';
|
|
8
|
+
* @import '@guildofgleks/ui/styles/presets/parchment.css';
|
|
9
|
+
*
|
|
10
|
+
* <html data-theme="parchment">
|
|
11
|
+
*
|
|
12
|
+
* **How the font blocker was resolved.** A period serif is most of what makes this read as
|
|
13
|
+
* historical, and a preset must never add a network request by being imported. So this file sets
|
|
14
|
+
* a *stack* of old-style serifs that ship with real operating systems — Iowan Old Style, Palatino,
|
|
15
|
+
* Book Antiqua, Georgia — and every one of them is a genuine old-style face with the right colour
|
|
16
|
+
* on the page. It looks deliberate on every platform, with no download.
|
|
17
|
+
*
|
|
18
|
+
* For the fuller period look, `presets/parchment.fonts.css` is an optional second import that
|
|
19
|
+
* pulls EB Garamond and points the same tokens at it. That file is the only one here that makes
|
|
20
|
+
* a request, and importing it is the consumer's decision, not this file's.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
:root[data-theme='parchment'],
|
|
24
|
+
[data-theme='parchment'] {
|
|
25
|
+
color-scheme: light;
|
|
26
|
+
|
|
27
|
+
/* Palette — aged paper, iron-gall ink, an oxblood rubric */
|
|
28
|
+
--gog-background-color: #e8dfc8;
|
|
29
|
+
--gog-surface-color: #f5efe0;
|
|
30
|
+
--gog-hover-color: #ded3b8;
|
|
31
|
+
--gog-border-color: #b8a888;
|
|
32
|
+
--gog-text-color: #241d14;
|
|
33
|
+
--gog-accent-text-color: #f5efe0;
|
|
34
|
+
--gog-muted-text-color: #57493a;
|
|
35
|
+
--gog-primary-color: #241d14;
|
|
36
|
+
--gog-accent-color: #6b2f2f;
|
|
37
|
+
--gog-accent-bright: #8a4040;
|
|
38
|
+
--gog-accent-dim: #5a2626;
|
|
39
|
+
--gog-accent-pale: #e3d4c4;
|
|
40
|
+
--gog-secondary-color: #6b5b45;
|
|
41
|
+
|
|
42
|
+
/* Semantics — the colours a scribe actually had: verdigris, vermilion, orpiment, indigo */
|
|
43
|
+
--gog-success-color: #3f5f3f;
|
|
44
|
+
/* 6.9 deg of hue and 0.052 of lightness from this theme's oxblood accent, which is not a
|
|
45
|
+
distance a reader can use. Lightened along its own hue: a danger that stops being red is
|
|
46
|
+
worse than one that is a shade brighter than the accent beside it. */
|
|
47
|
+
--gog-danger-color: #a24439;
|
|
48
|
+
--gog-warning-color: #8a6516;
|
|
49
|
+
--gog-info-color: #3a5570;
|
|
50
|
+
|
|
51
|
+
/* Paper does not float. A soft, close shadow reads as a sheet resting on the desk — so this
|
|
52
|
+
theme keeps the default's soft style and simply climbs the ladder more slowly: a quarter of
|
|
53
|
+
a pixel of lift per unit of Z reproduces the `0 1px 3px` it shipped at the overlay step, and
|
|
54
|
+
even a modal only reaches 4px. The blur is still three times the offset, as everywhere. */
|
|
55
|
+
/* The boundary that identifies a control, as distinct from `--gog-border-color`, which is the
|
|
56
|
+
decorative hairline this library draws dividers, table rules and panel outlines with and
|
|
57
|
+
deliberately keeps faint. Three controls -- `gog-chip`, `gog-toggle`, `gog-button-toggle` --
|
|
58
|
+
had been reading the decorative one as their own edge, and the boundary sweep in 21.12.0
|
|
59
|
+
measured them at 1.18 to 2.17:1 in every shipped theme, against the 3:1 SC 1.4.11 requires.
|
|
60
|
+
Neither their border nor their fill carried it; the sweep checks the better of the two.
|
|
61
|
+
|
|
62
|
+
Computed, not chosen: `npm run suggest:color -- --gog-border-color <ground> 3.2` per theme,
|
|
63
|
+
holding hue and chroma so each theme's neutral stays its own, then the value that clears both
|
|
64
|
+
the page and the surface. */
|
|
65
|
+
--gog-control-boundary-color: #88795b;
|
|
66
|
+
--gog-elevation-ink: 36 29 20;
|
|
67
|
+
--gog-elevation-key-alpha: 0.22;
|
|
68
|
+
--gog-elevation-ambient-alpha: 0;
|
|
69
|
+
--gog-elevation-contact-blur: 3px;
|
|
70
|
+
--gog-elevation-key-x: 0;
|
|
71
|
+
--gog-elevation-key-y: 0.25;
|
|
72
|
+
--gog-elevation-key-blur: 0.75;
|
|
73
|
+
--gog-elevation-ring-width: 0px;
|
|
74
|
+
--gog-elevation-highlight-ink: 255 255 255;
|
|
75
|
+
--gog-elevation-highlight-alpha: 0;
|
|
76
|
+
--gog-spinner-overlay-bg: rgba(232, 223, 200, 0.88);
|
|
77
|
+
|
|
78
|
+
/* Character layer — a book, not an application. Serif throughout, square corners, hairline
|
|
79
|
+
rules, and roomier than the house default: printed pages have margins, and cramping this
|
|
80
|
+
palette into a dense grid is what would make it read as a skin rather than a design. */
|
|
81
|
+
--gog-font-heading:
|
|
82
|
+
'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
|
|
83
|
+
--gog-font-body: 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
|
|
84
|
+
--gog-radius: 0;
|
|
85
|
+
--gog-density: 1.1;
|
|
86
|
+
--gog-control-border-width: 1px;
|
|
87
|
+
--gog-text-transform: none;
|
|
88
|
+
--gog-letter-spacing: normal;
|
|
89
|
+
}
|
|
@@ -1,102 +1,107 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* `terminal` — monochrome phosphor. Green on near-black, everything monospaced, square
|
|
3
|
-
* corners, no motion: the character-cell terminal, which is `docs/themes.md`'s Retro family.
|
|
4
|
-
*
|
|
5
|
-
* Import it after `index.css`, then put the attribute on the root — or on any subtree:
|
|
6
|
-
*
|
|
7
|
-
* @import '@guildofgleks/ui/styles/index.css';
|
|
8
|
-
* @import '@guildofgleks/ui/styles/presets/terminal.css';
|
|
9
|
-
*
|
|
10
|
-
* <html data-theme="terminal">
|
|
11
|
-
*
|
|
12
|
-
* Palette plus the character layer, no per-component overrides. The font is the one thing this
|
|
13
|
-
* identity cannot do without, and it does not need a download to get it: `ui-monospace` resolves
|
|
14
|
-
* to the platform's own terminal face (SF Mono, Cascadia, DejaVu Sans Mono), which is more
|
|
15
|
-
* authentic here than any webfont would be. `presets/terminal.fonts.css` is an optional extra
|
|
16
|
-
* for a period face — importing this file alone makes no network request.
|
|
17
|
-
*
|
|
18
|
-
* Amber instead of green is two declarations: swap `--gog-accent-*` and `--gog-text-color` for
|
|
19
|
-
* their amber equivalents. The rest of the theme does not care which phosphor it is.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
:root[data-theme='terminal'],
|
|
23
|
-
[data-theme='terminal'] {
|
|
24
|
-
color-scheme: dark;
|
|
25
|
-
|
|
26
|
-
/* Palette — P1 green phosphor on an unlit screen */
|
|
27
|
-
--gog-background-color: #0a0e0a;
|
|
28
|
-
--gog-surface-color: #121a12;
|
|
29
|
-
--gog-hover-color: #1b2a1b;
|
|
30
|
-
/* Elevation on a dark ground is a lighter surface, not a shadow — see theme.css. */
|
|
31
|
-
--gog-border-color: #274a2c;
|
|
32
|
-
--gog-text-color: #c8f5c8;
|
|
33
|
-
--gog-accent-text-color: #04120a;
|
|
34
|
-
--gog-muted-text-color: #6fae6f;
|
|
35
|
-
--gog-primary-color: #c8f5c8;
|
|
36
|
-
--gog-accent-color: #3ddc5c;
|
|
37
|
-
--gog-accent-bright: #7cf591;
|
|
38
|
-
--gog-accent-dim: #2fae48;
|
|
39
|
-
--gog-accent-pale: #17311c;
|
|
40
|
-
--gog-secondary-color: #6fae6f;
|
|
41
|
-
|
|
42
|
-
/* Semantics — a monochrome display had no colour to spare, so these stay within the phosphor
|
|
43
|
-
family and separate by brightness. Only danger breaks out, because a destructive action is
|
|
44
|
-
the one thing worth spending the screen's only other colour on. */
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
--gog-
|
|
81
|
-
--gog-elevation-
|
|
82
|
-
--gog-elevation-key-
|
|
83
|
-
--gog-elevation-
|
|
84
|
-
--gog-elevation-
|
|
85
|
-
--gog-elevation-
|
|
86
|
-
--gog-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
--gog-
|
|
98
|
-
--gog-
|
|
99
|
-
--gog-
|
|
100
|
-
--gog-
|
|
101
|
-
--gog-
|
|
102
|
-
|
|
1
|
+
/*
|
|
2
|
+
* `terminal` — monochrome phosphor. Green on near-black, everything monospaced, square
|
|
3
|
+
* corners, no motion: the character-cell terminal, which is `docs/themes.md`'s Retro family.
|
|
4
|
+
*
|
|
5
|
+
* Import it after `index.css`, then put the attribute on the root — or on any subtree:
|
|
6
|
+
*
|
|
7
|
+
* @import '@guildofgleks/ui/styles/index.css';
|
|
8
|
+
* @import '@guildofgleks/ui/styles/presets/terminal.css';
|
|
9
|
+
*
|
|
10
|
+
* <html data-theme="terminal">
|
|
11
|
+
*
|
|
12
|
+
* Palette plus the character layer, no per-component overrides. The font is the one thing this
|
|
13
|
+
* identity cannot do without, and it does not need a download to get it: `ui-monospace` resolves
|
|
14
|
+
* to the platform's own terminal face (SF Mono, Cascadia, DejaVu Sans Mono), which is more
|
|
15
|
+
* authentic here than any webfont would be. `presets/terminal.fonts.css` is an optional extra
|
|
16
|
+
* for a period face — importing this file alone makes no network request.
|
|
17
|
+
*
|
|
18
|
+
* Amber instead of green is two declarations: swap `--gog-accent-*` and `--gog-text-color` for
|
|
19
|
+
* their amber equivalents. The rest of the theme does not care which phosphor it is.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
:root[data-theme='terminal'],
|
|
23
|
+
[data-theme='terminal'] {
|
|
24
|
+
color-scheme: dark;
|
|
25
|
+
|
|
26
|
+
/* Palette — P1 green phosphor on an unlit screen */
|
|
27
|
+
--gog-background-color: #0a0e0a;
|
|
28
|
+
--gog-surface-color: #121a12;
|
|
29
|
+
--gog-hover-color: #1b2a1b;
|
|
30
|
+
/* Elevation on a dark ground is a lighter surface, not a shadow — see theme.css. */
|
|
31
|
+
--gog-border-color: #274a2c;
|
|
32
|
+
--gog-text-color: #c8f5c8;
|
|
33
|
+
--gog-accent-text-color: #04120a;
|
|
34
|
+
--gog-muted-text-color: #6fae6f;
|
|
35
|
+
--gog-primary-color: #c8f5c8;
|
|
36
|
+
--gog-accent-color: #3ddc5c;
|
|
37
|
+
--gog-accent-bright: #7cf591;
|
|
38
|
+
--gog-accent-dim: #2fae48;
|
|
39
|
+
--gog-accent-pale: #17311c;
|
|
40
|
+
--gog-secondary-color: #6fae6f;
|
|
41
|
+
|
|
42
|
+
/* Semantics — a monochrome display had no colour to spare, so these stay within the phosphor
|
|
43
|
+
family and separate by brightness. Only danger breaks out, because a destructive action is
|
|
44
|
+
the one thing worth spending the screen's only other colour on. */
|
|
45
|
+
/* Was `#3ddc5c`, the same hex as `--gog-accent-color`: a success badge and an ordinary
|
|
46
|
+
accent one were indistinguishable. Moved along its own hue rather than across, because
|
|
47
|
+
this theme's other three statuses already occupy yellow, red and cyan -- the room left
|
|
48
|
+
is in lightness, not in hue. Same finding as this file's own info/success note below,
|
|
49
|
+
one role over. */
|
|
50
|
+
--gog-success-color: #00b330;
|
|
51
|
+
--gog-danger-color: #ff5f56;
|
|
52
|
+
--gog-warning-color: #d4d44a;
|
|
53
|
+
/* Phosphor cyan, not a paler green. #8fd8a0 sat 4.6 degrees of hue and 0.032 of lightness from
|
|
54
|
+
`--gog-success-color`, so an info badge and a success badge were the same colour -- and
|
|
55
|
+
greyscale did not separate them either, which is the test `check:oklch`'s R3 applies. A
|
|
56
|
+
monochrome-green terminal would be one answer, but this theme already signals in red and
|
|
57
|
+
yellow, so the second phosphor is the consistent one: 61 degrees from success, 98 from
|
|
58
|
+
warning, and 10.58:1 on the page. */
|
|
59
|
+
--gog-info-color: #4dd0e1;
|
|
60
|
+
|
|
61
|
+
/* A glow, not a shadow: a phosphor screen bleeds light outwards instead of casting one. The
|
|
62
|
+
ladder expresses that without knowing what a glow is — the key light's vertical travel is
|
|
63
|
+
zero, so it never leaves the object, and all that grows with height is its blur. At the
|
|
64
|
+
overlay step that is `0 0 18px`, this theme's own shipped value to the pixel.
|
|
65
|
+
|
|
66
|
+
The `elevated` tier changes deliberately. It had been a black `0 2px 6px` under the green
|
|
67
|
+
catch light — the one place this theme cast a shadow rather than emitting light, and it was
|
|
68
|
+
inherited from the dark preset it started as rather than chosen. It is a smaller glow now,
|
|
69
|
+
which is what the comment beside it already claimed was happening. */
|
|
70
|
+
/* The boundary that identifies a control, as distinct from `--gog-border-color`, which is the
|
|
71
|
+
decorative hairline this library draws dividers, table rules and panel outlines with and
|
|
72
|
+
deliberately keeps faint. Three controls -- `gog-chip`, `gog-toggle`, `gog-button-toggle` --
|
|
73
|
+
had been reading the decorative one as their own edge, and the boundary sweep in 21.12.0
|
|
74
|
+
measured them at 1.18 to 2.17:1 in every shipped theme, against the 3:1 SC 1.4.11 requires.
|
|
75
|
+
Neither their border nor their fill carried it; the sweep checks the better of the two.
|
|
76
|
+
|
|
77
|
+
Computed, not chosen: `npm run suggest:color -- --gog-border-color <ground> 3.2` per theme,
|
|
78
|
+
holding hue and chroma so each theme's neutral stays its own, then the value that clears both
|
|
79
|
+
the page and the surface. */
|
|
80
|
+
--gog-control-boundary-color: #4c7150;
|
|
81
|
+
--gog-elevation-ink: 61 220 92;
|
|
82
|
+
--gog-elevation-key-alpha: 0.12;
|
|
83
|
+
--gog-elevation-ambient-alpha: 0;
|
|
84
|
+
--gog-elevation-contact-blur: 3px;
|
|
85
|
+
--gog-elevation-key-x: 0;
|
|
86
|
+
--gog-elevation-key-y: 0;
|
|
87
|
+
--gog-elevation-key-blur: 4.5;
|
|
88
|
+
--gog-elevation-ring-width: 1px;
|
|
89
|
+
--gog-elevation-highlight-ink: 61 220 92;
|
|
90
|
+
--gog-elevation-highlight-alpha: 0.18;
|
|
91
|
+
--gog-spinner-overlay-bg: rgba(10, 14, 10, 0.88);
|
|
92
|
+
|
|
93
|
+
/* Character layer — the whole identity in seven declarations. Monospace everywhere, not just
|
|
94
|
+
in code: a character-cell display had one grid and one face. Square corners and 1px rules
|
|
95
|
+
because the display drew box-drawing characters, and no motion because it had no way to
|
|
96
|
+
animate anything that was not a blinking cursor. */
|
|
97
|
+
--gog-font-heading: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
98
|
+
--gog-font-body: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
99
|
+
--gog-radius: 0;
|
|
100
|
+
--gog-density: 0.85;
|
|
101
|
+
--gog-control-border-width: 1px;
|
|
102
|
+
--gog-text-transform: uppercase;
|
|
103
|
+
--gog-letter-spacing: 1px;
|
|
104
|
+
--gog-duration-fast: 0s;
|
|
105
|
+
--gog-duration-base: 0s;
|
|
106
|
+
--gog-duration-slow: 0s;
|
|
107
|
+
}
|