@kolkrabbi/kol-component 0.118.2 → 0.118.3
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-component",
|
|
3
|
-
"version": "0.118.
|
|
3
|
+
"version": "0.118.3",
|
|
4
4
|
"description": "KOL design-system components — atoms through organisms, emitting canonical kol-* classes. Pairs with @kolkrabbi/kol-theme for styling.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -92,13 +92,20 @@ const isImage = (o) => (o.contentType || '').startsWith('image/')
|
|
|
92
92
|
/* kol-icons has no `audio` glyph yet — audio rows wear `file` until it does */
|
|
93
93
|
const COL_ICON = { image: 'image', video: 'video', audio: 'file', playlist: 'video' }
|
|
94
94
|
|
|
95
|
+
/* ColumnBrowserChromeCorrections (kol-r2b2 2026-08-28, four user rulings measured live on admin.):
|
|
96
|
+
* every column keeps its right edge, the last included — without it the browser reads as an
|
|
97
|
+
* open-sided container when the columns do not fill the box (Finder closes it); a column's ONLY
|
|
98
|
+
* row keeps its bottom hairline (`only:`) — its last row is also its first, and a missing
|
|
99
|
+
* hairline beside neighbours that show one reads as a defect; and ONE ink for folders and files
|
|
100
|
+
* — the `bg-fg-04` fill alone marks selection ("why is folder full opacity but not files?").
|
|
101
|
+
* `muted` stays a prop for other callers; the file rows no longer pass it. */
|
|
95
102
|
function Row({ icon, label, active, cursor = false, trailing, onClick, muted = false }) {
|
|
96
103
|
return (
|
|
97
104
|
<li
|
|
98
105
|
/* Row metrics are the DS Table's (kol-components-organisms.css .kol-table-cell-*):
|
|
99
106
|
* 12px 16px padding, mono 12, an oq-08 hairline between rows, none after the last. */
|
|
100
107
|
/* `cursor` = the keyboard row, drawn with the hover fill so ↑/↓ always shows where you are. */
|
|
101
|
-
className={`kol-column-browser-row flex items-center gap-2 px-4 py-3 border-b last:border-b-0 cursor-pointer transition-colors ${
|
|
108
|
+
className={`kol-column-browser-row flex items-center gap-2 px-4 py-3 border-b last:border-b-0 only:border-b cursor-pointer transition-colors ${
|
|
102
109
|
active || cursor ? 'bg-fg-04 text-fg-default' : muted ? 'text-fg-48 hover:bg-fg-04' : 'text-fg-default hover:bg-fg-04'
|
|
103
110
|
}`}
|
|
104
111
|
style={{ borderColor: 'var(--kol-oq-08)' }}
|
|
@@ -383,7 +390,7 @@ export default function ColumnBrowser({
|
|
|
383
390
|
return (
|
|
384
391
|
<Fragment key={level || '/'}>
|
|
385
392
|
<ul
|
|
386
|
-
className=
|
|
393
|
+
className="kol-column-browser-column shrink-0 overflow-y-auto border-r"
|
|
387
394
|
style={{ borderColor: 'var(--kol-oq-08)', width: widthOf(k) }}
|
|
388
395
|
>
|
|
389
396
|
{folders.map((f, i) => (
|
|
@@ -402,7 +409,6 @@ export default function ColumnBrowser({
|
|
|
402
409
|
key={o.key}
|
|
403
410
|
icon={COL_ICON[kindOf(o)] || 'file'}
|
|
404
411
|
label={o.displayKey ?? o.key}
|
|
405
|
-
muted={shown?.key !== o.key}
|
|
406
412
|
active={shown?.key === o.key}
|
|
407
413
|
cursor={cursorActive && cursor.col === k && cursor.idx === folders.length + i}
|
|
408
414
|
onClick={() => { setCursor({ col: k, idx: folders.length + i }); setCursorActive(true); rootRef.current?.focus(); pickFile(level, o) }}
|