@kolkrabbi/kol-theme 0.90.0 → 0.91.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-atoms.css +21 -15
- package/kol-components-molecules.css +11 -33
- package/package.json +1 -1
package/kol-components-atoms.css
CHANGED
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
border: 1px solid transparent;
|
|
244
244
|
}
|
|
245
245
|
@media (hover: hover) {
|
|
246
|
-
.kol-btn-primary:not(.kol-btn-animate):hover {
|
|
246
|
+
.kol-btn-primary:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
247
247
|
background-color: var(--kol-oq-08);
|
|
248
248
|
color: var(--kol-surface-on-primary);
|
|
249
249
|
}
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
font-weight: 500;
|
|
257
257
|
}
|
|
258
258
|
@media (hover: hover) {
|
|
259
|
-
.kol-btn-secondary:not(.kol-btn-animate):hover {
|
|
259
|
+
.kol-btn-secondary:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
260
260
|
background-color: var(--kol-oq-inverse-40);
|
|
261
261
|
color: var(--kol-surface-primary);
|
|
262
262
|
border-color: transparent;
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
font-weight: 500;
|
|
271
271
|
}
|
|
272
272
|
@media (hover: hover) {
|
|
273
|
-
.kol-btn-accent:not(.kol-btn-animate):hover {
|
|
273
|
+
.kol-btn-accent:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
274
274
|
background-color: var(--kol-accent-primary-strong);
|
|
275
275
|
color: var(--kol-accent-on-primary);
|
|
276
276
|
}
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
border: 1px solid var(--kol-oq-08);
|
|
287
287
|
}
|
|
288
288
|
@media (hover: hover) {
|
|
289
|
-
.kol-btn-outline:not(.kol-btn-animate):hover {
|
|
289
|
+
.kol-btn-outline:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
290
290
|
background-color: var(--kol-oq-02);
|
|
291
291
|
border-color: color-mix(in srgb, var(--kol-surface-on-primary) 25%, var(--kol-surface-primary));
|
|
292
292
|
color: var(--kol-surface-on-primary);
|
|
@@ -299,7 +299,7 @@
|
|
|
299
299
|
border: 1px solid transparent;
|
|
300
300
|
}
|
|
301
301
|
@media (hover: hover) {
|
|
302
|
-
.kol-btn-ghost:not(.kol-btn-animate):hover {
|
|
302
|
+
.kol-btn-ghost:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
303
303
|
background-color: var(--kol-oq-04);
|
|
304
304
|
color: var(--kol-surface-on-primary);
|
|
305
305
|
}
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
border: 1px solid transparent;
|
|
319
319
|
}
|
|
320
320
|
@media (hover: hover) {
|
|
321
|
-
.kol-btn-nav:not(.kol-btn-animate):hover {
|
|
321
|
+
.kol-btn-nav:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
322
322
|
background-color: var(--kol-oq-04);
|
|
323
323
|
color: var(--kol-surface-on-primary);
|
|
324
324
|
}
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
border: 1px solid transparent;
|
|
344
344
|
}
|
|
345
345
|
@media (hover: hover) {
|
|
346
|
-
.kol-btn-grey:not(.kol-btn-animate):hover {
|
|
346
|
+
.kol-btn-grey:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
347
347
|
background-color: var(--kol-oq-16);
|
|
348
348
|
color: var(--kol-surface-on-primary);
|
|
349
349
|
}
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
font-weight: 500;
|
|
361
361
|
}
|
|
362
362
|
@media (hover: hover) {
|
|
363
|
-
.kol-btn-danger:not(.kol-btn-animate):hover {
|
|
363
|
+
.kol-btn-danger:not(.kol-btn-animate):not(.kol-dd-trigger):hover {
|
|
364
364
|
background-color: color-mix(in srgb, var(--ui-error) 80%, var(--kol-surface-primary));
|
|
365
365
|
color: var(--kol-color-absolute-white);
|
|
366
366
|
}
|
|
@@ -372,13 +372,19 @@
|
|
|
372
372
|
|
|
373
373
|
/* Press feedback — one stop past hover (2026-07-08 button-states spec).
|
|
374
374
|
* Outside the hover guard: :active fires on touch too. */
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
.kol-btn-
|
|
375
|
+
/* NO HOVER, NO PRESS ON A DROPDOWN TRIGGER (user ruling 2026-08-28). Every
|
|
376
|
+
* variant excludes `.kol-dd-trigger` at the SOURCE. It used to be cancelled
|
|
377
|
+
* downstream — kol-components-molecules re-stated each variant's rest colours
|
|
378
|
+
* on :hover — and that restatement was specificity (0,4,0) against the sunken
|
|
379
|
+
* tone's (0,2,0), so hovering a SUNKEN trigger repainted it in the untoned
|
|
380
|
+
* fill: a light box beside two icon controls that stayed dark. */
|
|
381
|
+
.kol-btn-primary:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: var(--kol-oq-16); }
|
|
382
|
+
.kol-btn-secondary:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: var(--kol-oq-inverse-48); color: var(--kol-surface-primary); }
|
|
383
|
+
.kol-btn-accent:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: color-mix(in srgb, var(--kol-accent-primary) 70%, var(--kol-surface-primary)); }
|
|
384
|
+
.kol-btn-outline:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active,
|
|
385
|
+
.kol-btn-ghost:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: var(--kol-oq-08); }
|
|
386
|
+
.kol-btn-danger:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: color-mix(in srgb, var(--ui-error) 70%, var(--kol-surface-primary)); }
|
|
387
|
+
.kol-btn-grey:not(.kol-btn-animate):not(:disabled):not(.kol-dd-trigger):active { background-color: var(--kol-oq-24); }
|
|
382
388
|
|
|
383
389
|
.kol-btn:disabled,
|
|
384
390
|
.kol-btn[disabled] {
|
|
@@ -48,31 +48,15 @@
|
|
|
48
48
|
.kol-dd-trigger.kol-btn-sm { height: 28px; padding-block: 0; }
|
|
49
49
|
.kol-dd-trigger.kol-btn-md { height: 32px; padding-block: 0; }
|
|
50
50
|
.kol-dd-trigger.kol-btn-lg { height: 36px; padding-block: 0; }
|
|
51
|
-
/* REST AND OPEN ARE THE ONLY STATES (2026-07-15
|
|
52
|
-
* 2026-08-
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
color: var(--kol-surface-on-primary);
|
|
61
|
-
}
|
|
62
|
-
/* oq-08, NOT oq-16 (DropdownHeightAndHover, kol-fxr 2026-08-28). This is a
|
|
63
|
-
* pin-back to rest and it stopped being one: `.kol-btn-outline`'s rest border
|
|
64
|
-
* moved to `oq-08` on 2026-08-26 ("ONE outline border across the controls"),
|
|
65
|
-
* and this line kept the old `oq-16` — so the outline trigger quietly grew a
|
|
66
|
-
* hover the 2026-07-15 ruling forbids, and an untoned Dropdown lit while a
|
|
67
|
-
* sunken one beside it did not. A pin-back has to be re-read whenever the rest
|
|
68
|
-
* value it mirrors moves; that is the cost of expressing "no state" as a
|
|
69
|
-
* restatement rather than as an absence. */
|
|
70
|
-
.kol-dd-trigger.kol-btn-outline:not(:disabled):hover,
|
|
71
|
-
.kol-dd-trigger.kol-btn-outline:not(:disabled):active {
|
|
72
|
-
background: transparent;
|
|
73
|
-
color: var(--kol-surface-on-primary);
|
|
74
|
-
border-color: var(--kol-oq-08);
|
|
75
|
-
}
|
|
51
|
+
/* REST AND OPEN ARE THE ONLY STATES (2026-07-15, re-called 2026-08-09 and
|
|
52
|
+
* 2026-08-28). No :hover or :active rules for the trigger live here any more —
|
|
53
|
+
* kol-components-atoms.css excludes `.kol-dd-trigger` from every variant's
|
|
54
|
+
* hover and press instead. The pin-backs that stood here restated each
|
|
55
|
+
* variant's REST colours to cancel the button's, and that failed twice: one
|
|
56
|
+
* went stale when `.kol-btn-outline`'s rest border moved (2026-08-26), and a
|
|
57
|
+
* pin-back out-specifies the tone, so a sunken trigger hovered into the
|
|
58
|
+
* untoned fill. "No state" is an absence now, not a mirror. */
|
|
59
|
+
|
|
76
60
|
/* ONE PIECE MEANS ONE WIDTH (2026-08-09 user call — "they are connected").
|
|
77
61
|
* The trigger reserves the widest option's width by stacking every label in
|
|
78
62
|
* one grid cell (hidden ghosts), so the panel — pinned to the trigger by
|
|
@@ -1283,14 +1267,8 @@
|
|
|
1283
1267
|
.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); }
|
|
1284
1268
|
.kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-fg-inverse-96); }
|
|
1285
1269
|
.kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-fg-inverse-96); }
|
|
1286
|
-
/*
|
|
1287
|
-
|
|
1288
|
-
* `.kol-dd-trigger:hover/:active` rules paint surface-secondary, so the tone
|
|
1289
|
-
* re-states its own fill on all three and nothing moves. Deleting them gives
|
|
1290
|
-
* the hover back. */
|
|
1291
|
-
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse,
|
|
1292
|
-
.kol-dd-trigger.kol-tone-sunken:not(:disabled):hover, .kol-dd-trigger.kol-tone-inverse:not(:disabled):hover,
|
|
1293
|
-
.kol-dd-trigger.kol-tone-sunken:not(:disabled):active, .kol-dd-trigger.kol-tone-inverse:not(:disabled):active { background-color: var(--kol-fg-inverse-96); }
|
|
1270
|
+
/* the tone's fill, one selector — nothing left to cancel (2026-08-28) */
|
|
1271
|
+
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse { background-color: var(--kol-fg-inverse-96); }
|
|
1294
1272
|
/* THE PANEL IS OPAQUE (user 2026-08-28: "transparent doesn't work for
|
|
1295
1273
|
* dropdown") — it floats over page content, and every `fg-*` stop is an alpha
|
|
1296
1274
|
* wash that the content reads through. `oq-inverse-*`, the opaque tier, bakes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.91.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",
|