@kolkrabbi/kol-theme 0.85.0 → 0.87.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 +39 -6
- package/package.json +1 -1
|
@@ -61,13 +61,25 @@
|
|
|
61
61
|
* button text — the stretched label span then centers inside the widest-ghost
|
|
62
62
|
* cell (a value floating at a random indent per list). Pin it to the leading
|
|
63
63
|
* edge, Input's model. */
|
|
64
|
-
.kol-dd-label { display: inline-grid; min-width: 0; text-align: start; }
|
|
65
|
-
.kol-dd-label > span { grid-area: 1 / 1; white-space: nowrap; }
|
|
64
|
+
.kol-dd-label { display: inline-grid; min-width: 0; text-align: start; overflow: hidden; }
|
|
65
|
+
.kol-dd-label > span { grid-area: 1 / 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
66
66
|
/* Ghost slack: each hidden option reserves the PANEL row's trailing check
|
|
67
67
|
* column on top of its label, so the fused one-piece width fits every row
|
|
68
68
|
* without truncating (2026-08-09 night — closes the "Cen…" defect at the
|
|
69
69
|
* trigger instead of un-fusing the panel). */
|
|
70
70
|
.kol-dd-ghost { visibility: hidden; padding-right: 1rem; }
|
|
71
|
+
/* THE RESERVATION YIELDS TO THE AVAILABLE WIDTH (DropdownGhostWidthAndListHeight,
|
|
72
|
+
* kol-mirror 2026-08-28 — user, on the studio's 30-option Source picker in a
|
|
73
|
+
* ~300px shelf: "1 it's way too tall, 2 it's not fitting"). The ghost stack
|
|
74
|
+
* above reserves the widest option's width, and the 2026-08-09 one-piece ruling
|
|
75
|
+
* assumed a trigger free to take it: with 30 long labels it computed ~640px,
|
|
76
|
+
* overflowed its container and was clipped, while the portalled panel rendered
|
|
77
|
+
* at the true 640 — a panel wider than and detached from its trigger. Capping
|
|
78
|
+
* the trigger at its container keeps the fusion honest (the panel still matches
|
|
79
|
+
* `rects.reference.width`, which is now the real one) and the label ellipsises.
|
|
80
|
+
* A dropdown in a narrow chrome is where dropdowns live. */
|
|
81
|
+
.kol-dd-root { max-width: 100%; }
|
|
82
|
+
.kol-dd-trigger { max-width: 100%; }
|
|
71
83
|
.kol-dd-caret {
|
|
72
84
|
flex-shrink: 0;
|
|
73
85
|
transition: rotate var(--kol-transition-base);
|
|
@@ -101,7 +113,18 @@
|
|
|
101
113
|
border-top: none; /* the trigger's bottom edge is the divider (docs page) */
|
|
102
114
|
}
|
|
103
115
|
.kol-dd-div { border-top: 1px solid var(--kol-fg-08); }
|
|
104
|
-
|
|
116
|
+
/* A ROWS CEILING THE CONSUMER CAN REACH (same ticket): Popover's size
|
|
117
|
+
* middleware clamps the PANEL to the viewport, which does nothing for a
|
|
118
|
+
* 30-row slab opened at the top of a tall page — and its inline `maxHeight`
|
|
119
|
+
* cannot be overridden from a consumer stylesheet, so the ceiling had to be
|
|
120
|
+
* ours. `maxRows` (Dropdown, default 10) and `rowHeight` write these two
|
|
121
|
+
* variables on the panel; the list scrolls at the ceiling as it always could. */
|
|
122
|
+
.kol-dd-list {
|
|
123
|
+
padding: var(--kol-spacing-1);
|
|
124
|
+
overflow-y: auto;
|
|
125
|
+
min-height: 0;
|
|
126
|
+
max-height: calc(var(--kol-dd-max-rows, 10) * var(--kol-dd-row-h, 2rem) + var(--kol-spacing-1) * 2);
|
|
127
|
+
}
|
|
105
128
|
|
|
106
129
|
/* Popover — default chrome for floating-ui-positioned panels.
|
|
107
130
|
* Used by molecules/Popover.jsx PopoverPanel. */
|
|
@@ -1234,12 +1257,22 @@
|
|
|
1234
1257
|
.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); }
|
|
1235
1258
|
.kol-control.kol-tone-sunken, .kol-control.kol-tone-inverse { background-color: var(--kol-fg-inverse-96); }
|
|
1236
1259
|
.kol-expand.kol-tone-sunken, .kol-expand.kol-tone-inverse { background-color: var(--kol-fg-inverse-96); }
|
|
1237
|
-
/*
|
|
1238
|
-
*
|
|
1260
|
+
/* NO HOVER STATE ON THE DROPDOWN (user ruling 2026-08-28). Rest and open are
|
|
1261
|
+
* its only states — and the three selectors are what ENFORCE that: the base
|
|
1262
|
+
* `.kol-dd-trigger:hover/:active` rules paint surface-secondary, so the tone
|
|
1263
|
+
* re-states its own fill on all three and nothing moves. Deleting them gives
|
|
1264
|
+
* the hover back. */
|
|
1239
1265
|
.kol-dd-trigger.kol-tone-sunken, .kol-dd-trigger.kol-tone-inverse,
|
|
1240
1266
|
.kol-dd-trigger.kol-tone-sunken:not(:disabled):hover, .kol-dd-trigger.kol-tone-inverse:not(:disabled):hover,
|
|
1241
1267
|
.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); }
|
|
1242
|
-
|
|
1268
|
+
/* THE PANEL IS OPAQUE (user 2026-08-28: "transparent doesn't work for
|
|
1269
|
+
* dropdown") — it floats over page content, and every `fg-*` stop is an alpha
|
|
1270
|
+
* wash that the content reads through. `oq-inverse-*`, the opaque tier, bakes
|
|
1271
|
+
* onto `surface-inverse` — the near-WHITE in dark theme — so even `oq-inverse-96`
|
|
1272
|
+
* lands ~23.5 against the #121215 page's 18: lighter than the page, the wrong
|
|
1273
|
+
* side of it. `surface-tertiary` is the flat twin of what the trigger renders:
|
|
1274
|
+
* #0e0e11 (14.0) in dark against the trigger's 14.2, #ffffff in light. */
|
|
1275
|
+
.kol-dd-panel.kol-tone-sunken, .kol-dd-panel.kol-tone-inverse { background-color: var(--kol-surface-tertiary); }
|
|
1243
1276
|
/* the rest of the set — Button (icon-only especially), IconFrame, ThemeToggle:
|
|
1244
1277
|
* the well, transparent edge, fg-96 ink; hover the white wash, pressed the
|
|
1245
1278
|
* fg-08 chip — both LAYERED over the well (a gradient image over the fill),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.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",
|