@kolkrabbi/kol-theme 0.99.0 → 0.101.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/kol-base-tokens.css +19 -0
- package/kol-components-molecules.css +36 -8
- package/package.json +1 -1
package/kol-base-tokens.css
CHANGED
|
@@ -38,6 +38,17 @@
|
|
|
38
38
|
--kol-surface-tertiary: #ffffff;
|
|
39
39
|
--kol-surface-on-tertiary: #0e0e11;
|
|
40
40
|
|
|
41
|
+
/* THE SUNKEN WELL — a step DOWN from the page, in BOTH themes (measured on
|
|
42
|
+
* kol-fxr's /settings, 2026-08-30). The `sunken` tone had no token of its own
|
|
43
|
+
* and borrowed `--kol-oq-inverse-96`, which is a step down in light (242 on a
|
|
44
|
+
* 250 page) and a step UP in dark (24 on an 18 page). Swapping it to
|
|
45
|
+
* `surface-tertiary` only mirrors the fault: 14 on 18 in dark, but 255 on 250
|
|
46
|
+
* in light. The two are exact opposites, so no existing token is sunken on
|
|
47
|
+
* both sides — which is why "everything should be sunken" kept coming back
|
|
48
|
+
* looking wrong on one theme however it was patched.
|
|
49
|
+
* Light: #f2f2f2 (242) · Dark: #0e0e11 (14). Below the page, both times. */
|
|
50
|
+
--kol-surface-sunken: #f2f2f2;
|
|
51
|
+
|
|
41
52
|
--kol-surface-inverse: #0e0e11;
|
|
42
53
|
--kol-surface-on-inverse: #fcfbf8;
|
|
43
54
|
|
|
@@ -66,6 +77,9 @@
|
|
|
66
77
|
--kol-surface-tertiary: #0e0e11;
|
|
67
78
|
--kol-surface-on-tertiary: #ffffff;
|
|
68
79
|
|
|
80
|
+
/* the sunken well, dark side — below the #121215 page (see the light block) */
|
|
81
|
+
--kol-surface-sunken: #0e0e11;
|
|
82
|
+
|
|
69
83
|
--kol-surface-inverse: #fcfbf8;
|
|
70
84
|
--kol-surface-on-inverse: #0e0e11;
|
|
71
85
|
|
|
@@ -111,6 +125,11 @@
|
|
|
111
125
|
--kol-surface-tertiary: #0e0e11;
|
|
112
126
|
--kol-surface-on-tertiary: #ffffff;
|
|
113
127
|
|
|
128
|
+
/* the sunken well, system-dark — this block is the one a user who never
|
|
129
|
+
* touched the toggle gets, and it is the one the first pass of this fix
|
|
130
|
+
* forgot: the `:root` light value would have leaked into system dark. */
|
|
131
|
+
--kol-surface-sunken: #0e0e11;
|
|
132
|
+
|
|
114
133
|
--kol-surface-inverse: #fcfbf8;
|
|
115
134
|
--kol-surface-on-inverse: #0e0e11;
|
|
116
135
|
|
|
@@ -1031,6 +1031,17 @@
|
|
|
1031
1031
|
width: auto;
|
|
1032
1032
|
height: var(--kol-row-thumb);
|
|
1033
1033
|
}
|
|
1034
|
+
/* WHICH AXIS PAYS for a non-square ratio (RowRungAndFillThumb, kol-website
|
|
1035
|
+
* 2026-08-30). The 08-30 ruling above made the rung the HEIGHT unconditionally,
|
|
1036
|
+
* so an A-series thumb on a 168 row went 136×136 → 96×136: the ratio came out
|
|
1037
|
+
* of the width, and the width is what sets a listing's rhythm against the rest
|
|
1038
|
+
* of the page. That was a ruling where a choice belonged — `ratioAxis="height"`
|
|
1039
|
+
* holds the width at the rung and lets the thumb grow taller instead
|
|
1040
|
+
* (136×192). Default is unchanged, so nothing that exists moves. */
|
|
1041
|
+
.kol-row > .kol-row-thumb.is-fill.pays-height {
|
|
1042
|
+
width: var(--kol-row-thumb);
|
|
1043
|
+
height: auto;
|
|
1044
|
+
}
|
|
1034
1045
|
|
|
1035
1046
|
/* CONTAINER query, not a viewport one (2026-08-15). The row steps on the width
|
|
1036
1047
|
* of the WALL it sits in, for exactly the reason the card-wall law gives: the
|
|
@@ -1313,13 +1324,30 @@
|
|
|
1313
1324
|
* ink `fg-96`. `.kol-tone-inverse` stays selected for any class
|
|
1314
1325
|
* hand-stamped on the old name.
|
|
1315
1326
|
* ───────────────────────────────────────────────────────────────────── */
|
|
1316
|
-
|
|
1327
|
+
/* THE SUNKEN TONE IS `surface-tertiary`, NOT `oq-inverse-96` (measured on
|
|
1328
|
+
* kol-fxr's /settings, 2026-08-30). The whole set read `--kol-oq-inverse-96`,
|
|
1329
|
+
* which is `color-mix(#0e0e11 96%, #fcfbf8)` — four percent of near-WHITE mixed
|
|
1330
|
+
* in. On the dark theme that lands at luminance **23.7 against an 18.2 page**:
|
|
1331
|
+
* a tone named "sunken" was rendering RAISED, and every control wearing it
|
|
1332
|
+
* (dropdown trigger, view toggle, icon frames, theme toggle) sat as its own
|
|
1333
|
+
* pale box on the page. That is the "multiple backgrounds" the user has
|
|
1334
|
+
* reported repeatedly and I have not fixed.
|
|
1335
|
+
*
|
|
1336
|
+
* The diagnosis was already written into this file, twenty lines down, in the
|
|
1337
|
+
* comment above `.kol-dd-panel` — it works out the 23.5-vs-18 arithmetic and
|
|
1338
|
+
* names `surface-tertiary` as the answer. It was never applied to the rules
|
|
1339
|
+
* beneath it. Written down is not fixed.
|
|
1340
|
+
*
|
|
1341
|
+
* `surface-tertiary` is `#0e0e11` in dark (14.2, genuinely below the page) and
|
|
1342
|
+
* `#ffffff` in light, so it is theme-correct on both sides where a mix toward
|
|
1343
|
+
* a fixed near-white could only ever be right on one. */
|
|
1344
|
+
.kol-view-toggle.kol-tone-sunken, .kol-view-toggle.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
|
|
1317
1345
|
.kol-view-toggle.kol-tone-sunken > button[aria-pressed="true"], .kol-view-toggle.kol-tone-inverse > button[aria-pressed="true"] { background-color: var(--kol-fg-08); }
|
|
1318
1346
|
.kol-view-toggle.kol-tone-sunken > button:not([aria-pressed="true"]):hover, .kol-view-toggle.kol-tone-inverse > button:not([aria-pressed="true"]):hover { background-color: color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent); }
|
|
1319
|
-
.kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-
|
|
1320
|
-
.kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-
|
|
1347
|
+
.kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
|
|
1348
|
+
.kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
|
|
1321
1349
|
/* the tone's fill, one selector — nothing left to cancel (2026-08-28) */
|
|
1322
|
-
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse { background-color: var(--kol-
|
|
1350
|
+
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
|
|
1323
1351
|
/* THE PANEL IS OPAQUE (user 2026-08-28: "transparent doesn't work for
|
|
1324
1352
|
* dropdown") — it floats over page content, and every `fg-*` stop is an alpha
|
|
1325
1353
|
* wash that the content reads through. `oq-inverse-*`, the opaque tier, bakes
|
|
@@ -1327,7 +1355,7 @@
|
|
|
1327
1355
|
* lands ~23.5 against the #121215 page's 18: lighter than the page, the wrong
|
|
1328
1356
|
* side of it. `surface-tertiary` is the flat twin of what the trigger renders:
|
|
1329
1357
|
* #0e0e11 (14.0) in dark against the trigger's 14.2, #ffffff in light. */
|
|
1330
|
-
.kol-dd-panel.kol-tone-sunken, .kol-dd-panel.kol-tone-inverse { background-color: var(--kol-
|
|
1358
|
+
.kol-dd-panel.kol-tone-sunken, .kol-dd-panel.kol-tone-inverse { background-color: var(--kol-surface-sunken); }
|
|
1331
1359
|
/* the rest of the set — Button (icon-only especially), IconFrame, ThemeToggle:
|
|
1332
1360
|
* the well, transparent edge, fg-96 ink; hover the white wash, pressed the
|
|
1333
1361
|
* fg-08 chip — both LAYERED over the well (a gradient image over the fill),
|
|
@@ -1335,20 +1363,20 @@
|
|
|
1335
1363
|
.kol-btn.kol-tone-sunken,
|
|
1336
1364
|
.kol-icon-frame.kol-tone-sunken,
|
|
1337
1365
|
.kol-theme-toggle.kol-tone-sunken {
|
|
1338
|
-
background-color: var(--kol-
|
|
1366
|
+
background-color: var(--kol-surface-sunken);
|
|
1339
1367
|
border-color: transparent;
|
|
1340
1368
|
color: var(--kol-fg-96);
|
|
1341
1369
|
}
|
|
1342
1370
|
@media (hover: hover) {
|
|
1343
1371
|
.kol-btn.kol-tone-sunken:not(.kol-btn-animate):not(:disabled):hover {
|
|
1344
|
-
background-color: var(--kol-
|
|
1372
|
+
background-color: var(--kol-surface-sunken);
|
|
1345
1373
|
background-image: linear-gradient(color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent), color-mix(in srgb, var(--kol-color-ab-white) 8%, transparent));
|
|
1346
1374
|
color: var(--kol-fg-96);
|
|
1347
1375
|
}
|
|
1348
1376
|
}
|
|
1349
1377
|
.kol-btn.kol-tone-sunken.kol-btn-pressed,
|
|
1350
1378
|
.kol-btn.kol-tone-sunken:not(:disabled):active {
|
|
1351
|
-
background-color: var(--kol-
|
|
1379
|
+
background-color: var(--kol-surface-sunken);
|
|
1352
1380
|
background-image: linear-gradient(var(--kol-fg-08), var(--kol-fg-08));
|
|
1353
1381
|
color: var(--kol-fg-96);
|
|
1354
1382
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.101.0",
|
|
4
4
|
"description": "KOL (Kolkrabbi) design-system tokens + base CSS — brand-neutral. The canonical token/cascade layer every other KOL package and consumer builds on.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|