@kolkrabbi/kol-theme 0.80.0 → 0.82.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-components-molecules.css +65 -26
- package/package.json +1 -1
|
@@ -1253,6 +1253,19 @@
|
|
|
1253
1253
|
.kol-playback-scrub::-moz-range-track { height: 2px; border-radius: 1px; background: color-mix(in srgb, var(--kol-color-absolute-white) 40%, transparent); }
|
|
1254
1254
|
.kol-playback-scrub::-moz-range-thumb { width: 4px; height: 28px; border: 0; border-radius: 2px; background: var(--kol-color-absolute-white); }
|
|
1255
1255
|
|
|
1256
|
+
/* ColumnBrowser rows — ONE SELECTED STATE (ColumnBrowserSeams, kol-r2b2
|
|
1257
|
+
* 2026-08-28; user: "ONLY one selected state can exist, not TWO"). The row's
|
|
1258
|
+
* fill lives here, keyed on its state classes, not on a `bg-fg-04` utility a
|
|
1259
|
+
* consumer had to hang rules off. Hover and the keyboard cursor are the fill;
|
|
1260
|
+
* a selected row is the TRAIL at half strength unless its column is the
|
|
1261
|
+
* deepest one holding a selection — then it is the selection, full strength.
|
|
1262
|
+
* `:has(~ …)` says what a positional selector cannot: "no later column has a
|
|
1263
|
+
* selected row". */
|
|
1264
|
+
.kol-column-browser-row:hover,
|
|
1265
|
+
.kol-column-browser-row.is-cursor { background-color: var(--kol-fg-04); }
|
|
1266
|
+
.kol-column-browser-row.is-selected { background-color: var(--kol-fg-02); }
|
|
1267
|
+
.kol-column-browser-column:not(:has(~ .kol-column-browser-column .is-selected)) > .is-selected { background-color: var(--kol-fg-04); }
|
|
1268
|
+
|
|
1256
1269
|
/* ColumnBrowser resize handles (ColumnBrowserResize, kol-r2b2 2026-08-27 —
|
|
1257
1270
|
* Finder's edge handles, user ruling "that should be a set in ds"; native CSS
|
|
1258
1271
|
* `resize:` rejected). The column border already there is the visual; the
|
|
@@ -1314,32 +1327,58 @@
|
|
|
1314
1327
|
}
|
|
1315
1328
|
|
|
1316
1329
|
/* ─────────────────────────────────────────────────────────────────────
|
|
1317
|
-
* TONE —
|
|
1318
|
-
* /icons over a `pageWash
|
|
1319
|
-
*
|
|
1320
|
-
*
|
|
1321
|
-
*
|
|
1322
|
-
*
|
|
1323
|
-
*
|
|
1324
|
-
*
|
|
1325
|
-
*
|
|
1330
|
+
* TONE — sunken (ControlToneSunken, kol-website 2026-08-28; was "inverse",
|
|
1331
|
+
* ControlToneInverse 2026-08-27). User, on brand's /icons over a `pageWash`:
|
|
1332
|
+
* "a flipped version of this color scheme, where the darker is background and
|
|
1333
|
+
* grey is the active … it would fit better on the light grey" — and then, on
|
|
1334
|
+
* the name: the control does not INVERT anything, it sits BELOW the plane it
|
|
1335
|
+
* is on — `sunken`. ("inverse" already meant four things: `tone` here,
|
|
1336
|
+
* `variant` on Tag/Pill, `theme` on Section, a boolean on Divider.) On a
|
|
1337
|
+
* washed plane the default grey well reads as a second plate, so the set takes
|
|
1338
|
+
* ONE tone: `tone="sunken"` (`inverse` aliased) on ViewToggle (icon) ·
|
|
1339
|
+
* Dropdown · Input · SearchInput · Button · IconFrame · ThemeToggle stamps
|
|
1340
|
+
* `.kol-tone-sunken`; the rules live HERE, after every default they out-rank,
|
|
1341
|
+
* so a consumer never restates them (brand hand-wrote the fill and GUESSED
|
|
1342
|
+
* the ink for its two icon buttons — that fork is what widening the set ends).
|
|
1326
1343
|
*
|
|
1327
|
-
*
|
|
1328
|
-
*
|
|
1329
|
-
*
|
|
1330
|
-
*
|
|
1344
|
+
* THE SET: well `fg-absolute-24` (theme-invariant black, darkens either
|
|
1345
|
+
* theme) · active chip `fg-08` (user ruling 2026-08-28, down from the 0.78.1
|
|
1346
|
+
* fg-16) · inactive hover absolute-white @ 8% (a dark well wants a LIGHTER
|
|
1347
|
+
* hover) · ink `fg-96`. `.kol-tone-inverse` stays selected for any class
|
|
1348
|
+
* hand-stamped on the old name.
|
|
1331
1349
|
* ───────────────────────────────────────────────────────────────────── */
|
|
1332
|
-
.kol-view-toggle.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
.kol-
|
|
1337
|
-
.kol-view-toggle.kol-tone-inverse > button:not([aria-pressed="true"]):hover { background-color: color-mix(in srgb, var(--kol-color-absolute-white) 8%, transparent); }
|
|
1338
|
-
.kol-control.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1339
|
-
.kol-expand.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1350
|
+
.kol-view-toggle.kol-tone-sunken, .kol-view-toggle.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1351
|
+
.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); }
|
|
1352
|
+
.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-absolute-white) 8%, transparent); }
|
|
1353
|
+
.kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1354
|
+
.kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1340
1355
|
/* the trigger: rest and open are its only states — the pin-back rules above
|
|
1341
|
-
* paint surface-secondary on hover/active, so the
|
|
1342
|
-
.kol-dd-trigger.kol-tone-inverse,
|
|
1343
|
-
.kol-dd-trigger.kol-tone-inverse:not(:disabled):hover,
|
|
1344
|
-
.kol-dd-trigger.kol-tone-inverse:not(:disabled):active { background-color: var(--kol-fg-absolute-24); }
|
|
1345
|
-
.kol-dd-panel.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1356
|
+
* paint surface-secondary on hover/active, so the tone pins its own chip */
|
|
1357
|
+
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse,
|
|
1358
|
+
.kol-dd-trigger.kol-tone-sunken:not(:disabled):hover, .kol-dd-trigger.kol-tone-inverse:not(:disabled):hover,
|
|
1359
|
+
.kol-dd-trigger.kol-tone-sunken:not(:disabled):active, .kol-dd-trigger.kol-tone-inverse:not(:disabled):active { background-color: var(--kol-fg-absolute-24); }
|
|
1360
|
+
.kol-dd-panel.kol-tone-sunken, .kol-dd-panel.kol-tone-inverse { background-color: var(--kol-fg-absolute-24); }
|
|
1361
|
+
/* the rest of the set — Button (icon-only especially), IconFrame, ThemeToggle:
|
|
1362
|
+
* the well, transparent edge, fg-96 ink; hover the white wash, pressed the
|
|
1363
|
+
* fg-08 chip — both LAYERED over the well (a gradient image over the fill),
|
|
1364
|
+
* since one background cannot stack two translucent colours */
|
|
1365
|
+
.kol-btn.kol-tone-sunken,
|
|
1366
|
+
.kol-icon-frame.kol-tone-sunken,
|
|
1367
|
+
.kol-theme-toggle.kol-tone-sunken {
|
|
1368
|
+
background-color: var(--kol-fg-absolute-24);
|
|
1369
|
+
border-color: transparent;
|
|
1370
|
+
color: var(--kol-fg-96);
|
|
1371
|
+
}
|
|
1372
|
+
@media (hover: hover) {
|
|
1373
|
+
.kol-btn.kol-tone-sunken:not(.kol-btn-animate):not(:disabled):hover {
|
|
1374
|
+
background-color: var(--kol-fg-absolute-24);
|
|
1375
|
+
background-image: linear-gradient(color-mix(in srgb, var(--kol-color-absolute-white) 8%, transparent), color-mix(in srgb, var(--kol-color-absolute-white) 8%, transparent));
|
|
1376
|
+
color: var(--kol-fg-96);
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
.kol-btn.kol-tone-sunken.kol-btn-pressed,
|
|
1380
|
+
.kol-btn.kol-tone-sunken:not(:disabled):active {
|
|
1381
|
+
background-color: var(--kol-fg-absolute-24);
|
|
1382
|
+
background-image: linear-gradient(var(--kol-fg-08), var(--kol-fg-08));
|
|
1383
|
+
color: var(--kol-fg-96);
|
|
1384
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.82.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",
|