@kolkrabbi/kol-theme 0.145.0 → 0.146.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 +64 -6
- package/package.json +1 -1
|
@@ -166,15 +166,26 @@
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
/* Tooltip — hover-triggered text label with optional kbd-style shortcut chip.
|
|
169
|
-
* Used by
|
|
170
|
-
*
|
|
169
|
+
* Used by utilities/Popover.jsx Tooltip; shortcut renders as a fg-tinted chip.
|
|
170
|
+
*
|
|
171
|
+
* SYMMETRIC PADDING (2026-09-21). It was `4px 4px 4px 8px` — 8 left, 4 right —
|
|
172
|
+
* so a shortcut chip could sit tight to the right edge. Most tooltips carry no
|
|
173
|
+
* shortcut, so the common case rendered its label 4px off the centre of a
|
|
174
|
+
* perfectly centred box, which reads as a positioning bug and is not one. The
|
|
175
|
+
* chip now sits 8px in like the text does.
|
|
176
|
+
*
|
|
177
|
+
* It also had no border, deliberately, to stay distinct from a native browser
|
|
178
|
+
* tooltip. The editor's own `[data-kol-tip]` rule has carried one since it was
|
|
179
|
+
* written, so the border is the DS's now — at `.kol-popover`'s own `oq-04`,
|
|
180
|
+
* the opaque ramp, for the reason stated on that rule. */
|
|
171
181
|
.kol-tooltip {
|
|
172
182
|
display: inline-flex;
|
|
173
183
|
align-items: center;
|
|
174
184
|
gap: 6px;
|
|
175
185
|
background: var(--kol-surface-secondary);
|
|
186
|
+
border: 1px solid var(--kol-oq-04);
|
|
176
187
|
border-radius: var(--kol-radius-sm);
|
|
177
|
-
padding: 4px
|
|
188
|
+
padding: 4px 8px;
|
|
178
189
|
font-family: var(--kol-font-family-mono);
|
|
179
190
|
font-size: 11px;
|
|
180
191
|
line-height: 1;
|
|
@@ -1267,8 +1278,14 @@
|
|
|
1267
1278
|
* overlay page was A-series (1:√2) and the column preview had NO bound at all,
|
|
1268
1279
|
* so the FILE decided the height — a 7 KB JSON drew a pane taller than the
|
|
1269
1280
|
* browser. 3:5 is the portrait rung on the export-specs ladder below 4:5, and
|
|
1270
|
-
* the floor before a page reads as a 9:16 strip.
|
|
1271
|
-
*
|
|
1281
|
+
* the floor before a page reads as a 9:16 strip. Content scrolls inside the
|
|
1282
|
+
* box; the box never grows to the file.
|
|
1283
|
+
*
|
|
1284
|
+
* OPEN 2026-09-21 (user, on the column preview: "3:5 is so close to 9:16 and
|
|
1285
|
+
* its too tall here"). The plate measures a true 3:5; the complaint is the dead
|
|
1286
|
+
* space a short document leaves below its content. A one-off rung change was
|
|
1287
|
+
* tried and reverted — the value belongs to the preview spec being written
|
|
1288
|
+
* against Finder / Dropbox / Drive, not to a guess. */
|
|
1272
1289
|
.kol-overlay .kol-doc-page {
|
|
1273
1290
|
aspect-ratio: 3 / 5;
|
|
1274
1291
|
height: 85vh;
|
|
@@ -1278,8 +1295,36 @@
|
|
|
1278
1295
|
overflow-x: hidden;
|
|
1279
1296
|
margin-inline: auto;
|
|
1280
1297
|
}
|
|
1298
|
+
/* THE WALL'S THUMB — the same document, at tile scale. `KindPreview` renders a
|
|
1299
|
+
* real page; in a 44px row or a 230px card that is a wall of unreadable glyphs,
|
|
1300
|
+
* so the page is zoomed down and clipped and you read its SHAPE (a JSON tree, a
|
|
1301
|
+
* frontmatter block, a table) rather than its words. Same treatment the column
|
|
1302
|
+
* preview uses, one rung smaller. The children reset `zoom: 1` so it never
|
|
1303
|
+
* compounds. No forced ratio here either — the tile is the bound. */
|
|
1304
|
+
.kol-media-thumb .kol-doc-page {
|
|
1305
|
+
zoom: 0.25;
|
|
1306
|
+
height: 100%;
|
|
1307
|
+
width: 100%;
|
|
1308
|
+
padding: 12px;
|
|
1309
|
+
overflow: hidden;
|
|
1310
|
+
background: transparent;
|
|
1311
|
+
border-radius: 0;
|
|
1312
|
+
}
|
|
1313
|
+
.kol-media-thumb .kol-doc-page :is(.kol-prose, .kol-codeblock-wrapper, .kol-doc-frontmatter) { zoom: 1; }
|
|
1314
|
+
.kol-media-thumb .kol-prose,
|
|
1315
|
+
.kol-media-thumb .kol-codeblock-wrapper { max-width: none; }
|
|
1316
|
+
.kol-media-thumb > * { max-width: 100%; max-height: 100%; }
|
|
1317
|
+
|
|
1281
1318
|
.kol-column-browser-preview .kol-doc-page {
|
|
1282
|
-
|
|
1319
|
+
/* NO FORCED RATIO (user 2026-09-21: "it just fucking takes the aspect ratio of
|
|
1320
|
+
* the file and displays that"). A preview is the file at its own shape,
|
|
1321
|
+
* bounded by the pane — which is what every reference file manager does. The
|
|
1322
|
+
* 3:5 above exists because the column preview once had no bound AT ALL and a
|
|
1323
|
+
* 7 KB JSON drew a pane taller than the browser; the bound was the fix, the
|
|
1324
|
+
* ratio was the overreach. A max-height bounds it without deciding a shape,
|
|
1325
|
+
* so a short document ends where its content ends instead of leaving half a
|
|
1326
|
+
* plate of dead grey. The overlay keeps 3:5 — that one IS a sheet. */
|
|
1327
|
+
max-height: 100%;
|
|
1283
1328
|
height: auto;
|
|
1284
1329
|
overflow: auto;
|
|
1285
1330
|
zoom: 0.5;
|
|
@@ -1340,6 +1385,15 @@
|
|
|
1340
1385
|
.kol-column-browser-row.is-cursor { background-color: transparent; }
|
|
1341
1386
|
.kol-column-browser-row.is-selected { background-color: var(--kol-fg-02); }
|
|
1342
1387
|
.kol-column-browser-column:not(:has(~ .kol-column-browser-column .is-selected)) > .is-selected { background-color: var(--kol-fg-04); }
|
|
1388
|
+
/* A DROP TARGET OUTRANKS SELECTION while something is over it (2026-09-21). It is transient and it
|
|
1389
|
+
* is the one thing you must see mid-drag — which folder is about to receive this. It sits AFTER the
|
|
1390
|
+
* two fills above and matches their specificity through the child combinator, so it wins the tie
|
|
1391
|
+
* rather than merely claiming to; written above them it lost to the deepest-column rule. */
|
|
1392
|
+
.kol-column-browser-column > .kol-column-browser-row[data-drop-over] { background-color: var(--kol-fg-08); }
|
|
1393
|
+
/* THE COLUMN ITSELF AS A TARGET — dropping anywhere in a column files the item into the folder
|
|
1394
|
+
* that column is showing. An inset ring rather than a fill: a fill over a list of rows reads as
|
|
1395
|
+
* every row being selected, which is the opposite of what is being said. */
|
|
1396
|
+
.kol-column-browser-column[data-drop-over] { box-shadow: inset 0 0 0 2px var(--kol-fg-16); }
|
|
1343
1397
|
|
|
1344
1398
|
/* THE ROW IS A PILL (same ticket, user ruling 2026-08-27: "dont make selected
|
|
1345
1399
|
* state move the layout"). A constant 4px inset on EVERY row, selected or not,
|
|
@@ -1967,3 +2021,7 @@
|
|
|
1967
2021
|
.kol-toc-tick .kol-toc-rule { width: 5px; }
|
|
1968
2022
|
.kol-toc-label, .kol-toc-rule { transition: none; }
|
|
1969
2023
|
}
|
|
2024
|
+
|
|
2025
|
+
/* THE ROW BROWSER — the folder list view. Same drop affordance as a column, for the same reason:
|
|
2026
|
+
* the list IS the folder you are in, so dropping anywhere on it files the item here. */
|
|
2027
|
+
.kol-row-browser[data-drop-over] { box-shadow: inset 0 0 0 2px var(--kol-fg-16); }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.146.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",
|