cursedbelt 5.4.0 → 5.6.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/dist/react/file-tree/FileTree.d.ts +13 -1
- package/dist/react/file-tree/FileTree.d.ts.map +1 -1
- package/dist/react/file-tree/FileTree.js +23 -10
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/file-tree/fileTree.css +28 -0
- package/package.json +2 -2
- package/src/react/file-tree/FileTree.spec.tsx +73 -0
- package/src/react/file-tree/FileTree.tsx +58 -7
- package/src/react/file-tree/fileTree.css +28 -0
|
@@ -472,6 +472,18 @@ export interface FileTreeProps {
|
|
|
472
472
|
* that cannot work says why, whatever the density.
|
|
473
473
|
*/
|
|
474
474
|
nameTooltips?: boolean;
|
|
475
|
+
/**
|
|
476
|
+
* Whether the folders on the way to the selection are PAINTED — the ancestors' heavier
|
|
477
|
+
* weight, and the bar on a shut folder holding the selection. Default `true`.
|
|
478
|
+
*
|
|
479
|
+
* 🔴 `false` is `apps/desk`'s, on its owner's ruling (2026-09-03): *"stop highlighting the
|
|
480
|
+
* folder the active item is in. I want to make the sidebar like vscode which doesn't do
|
|
481
|
+
* that, and just highlights the active file when it's visible."* The attributes
|
|
482
|
+
* (`data-ancestor`, `data-holds-open`) are still WRITTEN either way: the reveal scrolls to
|
|
483
|
+
* the holding folder when the selected row is not drawn, so they are an anchor as well as
|
|
484
|
+
* a paint, and only the paint is switched.
|
|
485
|
+
*/
|
|
486
|
+
markPath?: boolean;
|
|
475
487
|
/** Narrow the tree to matching rows, keeping the folders on the way to each. */
|
|
476
488
|
filter?: string;
|
|
477
489
|
/** What to show when there are no rows — differs between "nothing here" and "no match". */
|
|
@@ -479,5 +491,5 @@ export interface FileTreeProps {
|
|
|
479
491
|
ariaLabel?: string;
|
|
480
492
|
className?: string;
|
|
481
493
|
}
|
|
482
|
-
export declare function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel, onMove, onMoveMany, allowReorder, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips, filter, empty, ariaLabel, className, }: FileTreeProps): JSX.Element;
|
|
494
|
+
export declare function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel, onMove, onMoveMany, allowReorder, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips, markPath, filter, empty, ariaLabel, className, }: FileTreeProps): JSX.Element;
|
|
483
495
|
//# sourceMappingURL=FileTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4JG;AACH,OAAO,KAAK,EACV,SAAS,IAAI,cAAc,EAC3B,GAAG,EAEH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createElement as _createElement } from "react";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { accessMarkCopy, describeDrop, filterFileTree, findFileTreeNode, flattenFileTree, matchTypeahead, resolveKeyboardMove, } from 'cursedbelt-core/file-tree/file-tree-model';
|
|
4
|
+
import { accessMarkCopy, describeDrop, drawnName, filterFileTree, findFileTreeNode, flattenFileTree, matchTypeahead, resolveKeyboardMove, } from 'cursedbelt-core/file-tree/file-tree-model';
|
|
5
5
|
import { Input } from '../components/Input.js';
|
|
6
6
|
import { Tooltip } from '../components/Tooltip.js';
|
|
7
7
|
import { draggedIdsOf, nodesByIds, planWrap, refuseCopy, refuseWrap, resolveMultiDrop, selectionRange, toggleSelected, topmostSelected, } from './fileTreeSelection.js';
|
|
@@ -24,6 +24,12 @@ const SPRING_OPEN_MS = 600;
|
|
|
24
24
|
/** How long a typeahead word survives a pause. One second is what every file explorer uses. */
|
|
25
25
|
const TYPEAHEAD_RESET_MS = 1000;
|
|
26
26
|
const NO_OFFER = { target: null, refused: false, reason: null };
|
|
27
|
+
/**
|
|
28
|
+
* What {@link FileTree}'s `externalOverId` holds while an EXTERNAL drag is over the blank
|
|
29
|
+
* space below the rows — the root. `null` already means "over nothing", and the two must
|
|
30
|
+
* differ or the root could never be drawn as the target. No node id can collide with it.
|
|
31
|
+
*/
|
|
32
|
+
const EXTERNAL_OVER_ROOT = '\u0000root';
|
|
27
33
|
/**
|
|
28
34
|
* One frozen empty list for "nothing is pinned", so a consumer that passes no `pinnedIds`
|
|
29
35
|
* hands the memos below a stable reference instead of a new `[]` every render.
|
|
@@ -86,7 +92,7 @@ function RowGlyph({ node, open, renderIcon, }) {
|
|
|
86
92
|
return icon;
|
|
87
93
|
return (_jsx("img", { ref: ref, className: 'cbft-thumb', src: seen || inView ? src : undefined, alt: '', "aria-hidden": 'true', loading: 'lazy', decoding: 'async', draggable: false, onError: () => setFailed(src) }, src));
|
|
88
94
|
}
|
|
89
|
-
export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal = false, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel = 'Pinned', onMove, onMoveMany, allowReorder = false, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips = true, filter, empty = 'Nothing here yet.', ariaLabel = 'Files', className, }) {
|
|
95
|
+
export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelectionChange, onOpen, collapsed: collapsedProp, onCollapsedChange, expandOnReveal = false, onRevealExpand, pinnedIds, onPinnedChange, pinnedLabel = 'Pinned', onMove, onMoveMany, allowReorder = false, lockedReason, canDrop, unavailableReason, renamingId, onRenameStart, onRename, onRenameCancel, onDelete, onDeleteMany, onCopy, canCopy, draft, onDraftCommit, onDraftCancel, draftPlaceholder, onWrapStart, canWrap, onRowMenu, renderTools, renderIcon, renderAccessory, onDropExternal, acceptsExternalDrag, accessCopy, nameTooltips = true, markPath = true, filter, empty = 'Nothing here yet.', ariaLabel = 'Files', className, }) {
|
|
90
96
|
const scrollRef = useRef(null);
|
|
91
97
|
const rowRefs = useRef(new Map());
|
|
92
98
|
/**
|
|
@@ -1224,7 +1230,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1224
1230
|
// target at all, and without it the browser's own "no entry" cursor stays.
|
|
1225
1231
|
event.preventDefault();
|
|
1226
1232
|
event.stopPropagation();
|
|
1227
|
-
setExternalOverId(node?.id ??
|
|
1233
|
+
setExternalOverId(node?.id ?? EXTERNAL_OVER_ROOT);
|
|
1228
1234
|
// 🔴 `dragover` fires continuously while the pointer rests, so the timer is armed
|
|
1229
1235
|
// once per folder and cleared the moment the pointer moves to a different row —
|
|
1230
1236
|
// otherwise every frame restarts the countdown and it never fires at all.
|
|
@@ -1243,7 +1249,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1243
1249
|
}
|
|
1244
1250
|
},
|
|
1245
1251
|
onDragLeave: () => {
|
|
1246
|
-
setExternalOverId((current) => (current === (node?.id ??
|
|
1252
|
+
setExternalOverId((current) => (current === (node?.id ?? EXTERNAL_OVER_ROOT) ? null : current));
|
|
1247
1253
|
// Only the row's OWN countdown, not the whole gesture: leaving one row for the
|
|
1248
1254
|
// next is the ordinary case, and `endExternalDrag` here would put every sprung
|
|
1249
1255
|
// folder back while the drag is still in the air.
|
|
@@ -1317,7 +1323,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1317
1323
|
* no-op, so it cancels and nothing is written; a pre-filled draft is the opposite — see
|
|
1318
1324
|
* just above. An EMPTY field always cancels, whichever this is.
|
|
1319
1325
|
*/
|
|
1320
|
-
unchanged = 'cancel', placeholder) => {
|
|
1326
|
+
unchanged = 'cancel', placeholder, selectTo) => {
|
|
1321
1327
|
const done = (value) => {
|
|
1322
1328
|
const name = value.trim();
|
|
1323
1329
|
if (!name || (name === initial && unchanged === 'cancel'))
|
|
@@ -1325,7 +1331,9 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1325
1331
|
else
|
|
1326
1332
|
commit(name);
|
|
1327
1333
|
};
|
|
1328
|
-
return (_jsx(Input, { className: 'cbft-name-input', defaultValue: initial, autoFocus: true, "aria-label": 'Name', ...(placeholder ? { placeholder } : {}), onFocus: (event) =>
|
|
1334
|
+
return (_jsx(Input, { className: 'cbft-name-input', defaultValue: initial, autoFocus: true, "aria-label": 'Name', ...(placeholder ? { placeholder } : {}), onFocus: (event) => selectTo === undefined
|
|
1335
|
+
? event.currentTarget.select()
|
|
1336
|
+
: event.currentTarget.setSelectionRange(0, selectTo), onClick: (event) => event.stopPropagation(), onPointerDown: (event) => event.stopPropagation(), onBlur: (event) => done(event.currentTarget.value), onKeyDown: (event) => {
|
|
1329
1337
|
event.stopPropagation();
|
|
1330
1338
|
if (event.key === 'Escape') {
|
|
1331
1339
|
event.preventDefault();
|
|
@@ -1393,7 +1401,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1393
1401
|
refs.current.set(node.id, el);
|
|
1394
1402
|
else
|
|
1395
1403
|
refs.current.delete(node.id);
|
|
1396
|
-
}, key: node.id, className: 'cbft-row', "data-selected": isSelected || undefined, "data-cut": cut?.has(node.id) || undefined, "data-dragged": isDragged || undefined, "data-into": isDropTarget || undefined, "data-marker": marker ?? undefined, "data-pinned": isPinned || undefined, "data-pinned-copy": pinnedCopy || undefined, "data-ancestor": openPath.path.has(node.id) || undefined, "data-holds-open": (row.expandable && !row.expanded && openPath.holder === node.id) || undefined, "data-access": node.access && node.access !== 'normal' ? node.access : undefined, "data-matched": node.matched || undefined, style: { '--cbft-depth': row.depth }, onPointerDown: (event) => {
|
|
1404
|
+
}, key: node.id, "data-id": node.id, className: 'cbft-row', "data-selected": isSelected || undefined, "data-cut": cut?.has(node.id) || undefined, "data-dragged": isDragged || undefined, "data-into": isDropTarget || undefined, "data-marker": marker ?? undefined, "data-pinned": isPinned || undefined, "data-pinned-copy": pinnedCopy || undefined, "data-ancestor": openPath.path.has(node.id) || undefined, "data-holds-open": (row.expandable && !row.expanded && openPath.holder === node.id) || undefined, "data-access": node.access && node.access !== 'normal' ? node.access : undefined, "data-matched": node.matched || undefined, style: { '--cbft-depth': row.depth }, onPointerDown: (event) => {
|
|
1397
1405
|
if (inTools(event.target))
|
|
1398
1406
|
return;
|
|
1399
1407
|
beginDrag(event, node);
|
|
@@ -1417,7 +1425,10 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1417
1425
|
event.stopPropagation();
|
|
1418
1426
|
toggle(node.id);
|
|
1419
1427
|
}, children: _jsx("svg", { viewBox: '0 0 24 24', width: '12', height: '12', fill: 'none', stroke: 'currentColor', strokeWidth: '2.2', strokeLinecap: 'round', strokeLinejoin: 'round', focusable: 'false', "aria-hidden": 'true', children: _jsx("path", { d: 'm9 6 6 6-6 6' }) }) })) : (_jsx("span", { className: 'cbft-slot', "aria-hidden": 'true', children: _jsx(RowGlyph, { node: node, open: row.expanded, ...(renderIcon ? { renderIcon } : {}) }) })),
|
|
1420
|
-
isRenaming && onRename ? (nameField(node
|
|
1428
|
+
isRenaming && onRename ? (nameField(drawnName(node), (value) => onRename(node, value), () => onRenameCancel?.(), 'cancel', undefined,
|
|
1429
|
+
// VS Code's field: the whole name is there, and only the part before the
|
|
1430
|
+
// suffix is selected, so typing replaces the name and keeps the type.
|
|
1431
|
+
node.suffix ? node.name.length : undefined)) : (_jsx(Tooltip, { content: nameTooltips ? node.name : undefined, children: _jsxs("span", { className: 'cbft-name', children: [node.name, node.suffix ? _jsx("span", { className: 'cbft-suffix', children: node.suffix }) : null] }) })),
|
|
1421
1432
|
node.access === 'private' || node.access === 'locked' ? (_jsx(Tooltip, { content: accessMarkCopy(node.access, accessCopy), children: _jsx("span", { className: 'cbft-access', role: 'img', "aria-label": 'Private', children: "\uD83D\uDD12" }) })) : null,
|
|
1422
1433
|
renderAccessory ? renderAccessory(node) : null,
|
|
1423
1434
|
node.count !== undefined ? _jsx("span", { className: 'cbft-count', children: node.count }) : null,
|
|
@@ -1444,7 +1455,9 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1444
1455
|
// being made in a place, and the place is where the folder actually lives.
|
|
1445
1456
|
return !pinnedCopy && draft && draft.parentId === node.id ? (_jsxs(Fragment, { children: [body, draftRow(row.depth + 1)] }, node.id)) : (body);
|
|
1446
1457
|
};
|
|
1447
|
-
return (_jsxs("div", { className: `cbft${className ? ` ${className}` : ''}`, children: [pinnedRows.length > 0 ? (_jsxs("div", { className: 'cbft-pinned', children: [_jsx("div", { className: 'cbft-pinned-head', children: pinnedLabel }), _jsx("div", { role: 'tree', "aria-label": pinnedLabel, ...(onSelectionChange ? { 'aria-multiselectable': true } : {}), className: `cbft-pinned-list${drag?.active ? ' cbft-list-dragging' : ''}`, children: pinnedRows.map((row) => renderRow(row, true)) })] })) : null, _jsx("div", { className: 'cbft-scroll', ref: scrollRef,
|
|
1458
|
+
return (_jsxs("div", { className: `cbft${className ? ` ${className}` : ''}`, "data-quiet-path": markPath ? undefined : true, children: [pinnedRows.length > 0 ? (_jsxs("div", { className: 'cbft-pinned', children: [_jsx("div", { className: 'cbft-pinned-head', children: pinnedLabel }), _jsx("div", { role: 'tree', "aria-label": pinnedLabel, ...(onSelectionChange ? { 'aria-multiselectable': true } : {}), className: `cbft-pinned-list${drag?.active ? ' cbft-list-dragging' : ''}`, children: pinnedRows.map((row) => renderRow(row, true)) })] })) : null, _jsx("div", { className: 'cbft-scroll', ref: scrollRef, "data-into-root": (drag?.active && drag.offer.target?.kind === 'root') ||
|
|
1459
|
+
externalOverId === EXTERNAL_OVER_ROOT ||
|
|
1460
|
+
undefined, ...externalHandlers(null), onPointerUp: () => {
|
|
1448
1461
|
// Releasing over the blank space means the top level; the pointer capture keeps
|
|
1449
1462
|
// the row's own listeners running, so this only has to not swallow the event.
|
|
1450
1463
|
}, children: _jsxs("div", { role: 'tree', "aria-label": ariaLabel, ...(onSelectionChange ? { 'aria-multiselectable': true } : {}), className: `cbft-list${drag?.active ? ' cbft-list-dragging' : ''}`, children: [rows.length === 0 && !draft ? _jsx("div", { className: 'cbft-empty', children: empty }) : null, draft && draft.parentId === null ? draftRow(0) : null, rows.map((row) => renderRow(row, false)), draft && draft.parentId !== null && !rows.some((r) => r.node.id === draft.parentId)
|
|
@@ -1466,7 +1479,7 @@ function inTools(target) {
|
|
|
1466
1479
|
function nameOf(nodes, id) {
|
|
1467
1480
|
for (const node of nodes) {
|
|
1468
1481
|
if (node.id === id)
|
|
1469
|
-
return node
|
|
1482
|
+
return drawnName(node);
|
|
1470
1483
|
const found = node.children ? nameOf(node.children, id) : '';
|
|
1471
1484
|
if (found)
|
|
1472
1485
|
return found;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../../src/react/file-tree/FileTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -423,6 +423,16 @@
|
|
|
423
423
|
font-weight: 550;
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
+
/* A consumer that asked for the path unpainted — `markPath={false}`. The attributes stay,
|
|
427
|
+
because the reveal scrolls to them; this only takes the ink off. */
|
|
428
|
+
.cbft[data-quiet-path] .cbft-row[data-ancestor] .cbft-name {
|
|
429
|
+
font-weight: inherit;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.cbft[data-quiet-path] .cbft-row[data-holds-open]::before {
|
|
433
|
+
content: none;
|
|
434
|
+
}
|
|
435
|
+
|
|
426
436
|
/*
|
|
427
437
|
* The shut folder holding the selection. A 2px bar on the inside edge — the same language the
|
|
428
438
|
* activity rail uses for the view you are in, so a person learns it once — and deliberately
|
|
@@ -464,6 +474,14 @@
|
|
|
464
474
|
background-color: color-mix(in srgb, var(--accent-solid, var(--accent)) 10%, transparent);
|
|
465
475
|
}
|
|
466
476
|
|
|
477
|
+
/* The root — the blank space below the rows — as the target. The list IS the target, so it
|
|
478
|
+
wears the ring a folder row wears, inset so the scroller's own edge does not clip it. */
|
|
479
|
+
.cbft-scroll[data-into-root] {
|
|
480
|
+
outline: 2px solid var(--accent-solid, var(--accent));
|
|
481
|
+
outline-offset: -2px;
|
|
482
|
+
background-color: color-mix(in srgb, var(--accent-solid, var(--accent)) 6%, transparent);
|
|
483
|
+
}
|
|
484
|
+
|
|
467
485
|
/* And the between-rows marker, for a consumer that stores an order. */
|
|
468
486
|
.cbft-row[data-marker]::after {
|
|
469
487
|
content: '';
|
|
@@ -598,6 +616,16 @@
|
|
|
598
616
|
white-space: nowrap;
|
|
599
617
|
}
|
|
600
618
|
|
|
619
|
+
/*
|
|
620
|
+
* A derived extension, a step quieter than the name — see `FileTreeNode.suffix`. Quieter
|
|
621
|
+
* because the name is what you scan FOR and the suffix is what you scan BY; at full
|
|
622
|
+
* contrast on every row it turns a tree of names into a tree of types.
|
|
623
|
+
*/
|
|
624
|
+
.cbft-suffix {
|
|
625
|
+
color: var(--muted-foreground);
|
|
626
|
+
font-variant-numeric: tabular-nums;
|
|
627
|
+
}
|
|
628
|
+
|
|
601
629
|
/* A row whose own name hit the consumer's search — see `FileTreeNode.matched`. */
|
|
602
630
|
.cbft-row[data-matched] .cbft-name {
|
|
603
631
|
font-weight: 700;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cursedbelt",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.",
|
|
@@ -743,7 +743,7 @@
|
|
|
743
743
|
"class-variance-authority": "^0.7.1",
|
|
744
744
|
"clsx": "^2.1.1",
|
|
745
745
|
"cmdk": "^1.1.1",
|
|
746
|
-
"cursedbelt-core": "^2.
|
|
746
|
+
"cursedbelt-core": "^2.5.0",
|
|
747
747
|
"cwip": "^4.6.0",
|
|
748
748
|
"lucide-react": "^1.21.0",
|
|
749
749
|
"react-hook-form": "^7.80.0",
|
|
@@ -341,6 +341,21 @@ describe('a drag from outside the tree', () => {
|
|
|
341
341
|
expect(drops).toEqual([null]);
|
|
342
342
|
});
|
|
343
343
|
|
|
344
|
+
test('🔴 the blank space says it is the target while a drag is over it, and stops saying so', () => {
|
|
345
|
+
const { container } = tree({ onDropExternal: () => undefined });
|
|
346
|
+
const scroll = container.querySelector('.cbft-scroll') as HTMLElement;
|
|
347
|
+
expect(scroll.getAttribute('data-into-root')).toBeNull();
|
|
348
|
+
fireEvent.dragOver(scroll);
|
|
349
|
+
expect(scroll.getAttribute('data-into-root')).toBe('true');
|
|
350
|
+
// Onto a row: the ROW is the target now, not the root.
|
|
351
|
+
const row = screen.getByText('Dinos').closest('[role="treeitem"]') as HTMLElement;
|
|
352
|
+
fireEvent.dragOver(row);
|
|
353
|
+
expect(scroll.getAttribute('data-into-root')).toBeNull();
|
|
354
|
+
fireEvent.dragOver(scroll);
|
|
355
|
+
fireEvent.drop(scroll);
|
|
356
|
+
expect(scroll.getAttribute('data-into-root')).toBeNull();
|
|
357
|
+
});
|
|
358
|
+
|
|
344
359
|
test('🔴 a drag the consumer does not want never lights a row up', () => {
|
|
345
360
|
const drops: unknown[] = [];
|
|
346
361
|
tree({
|
|
@@ -1865,3 +1880,61 @@ describe('the three switches desk adopted this tree with', () => {
|
|
|
1865
1880
|
expect(rows.map((row) => row.getAttribute('data-matched'))).toEqual([null, 'true']);
|
|
1866
1881
|
});
|
|
1867
1882
|
});
|
|
1883
|
+
|
|
1884
|
+
describe('a suffix is drawn with the name and edited with it', () => {
|
|
1885
|
+
const nodes: FileTreeNode[] = [{ id: 'n', name: 'notes', suffix: '.md', kind: 'file' }];
|
|
1886
|
+
|
|
1887
|
+
test('it is drawn inside the name, a separate span', () => {
|
|
1888
|
+
const { container } = render(<FileTree nodes={nodes} selectedId={null} onSelect={() => undefined} />);
|
|
1889
|
+
const name = container.querySelector('.cbft-name') as HTMLElement;
|
|
1890
|
+
expect(name.textContent).toBe('notes.md');
|
|
1891
|
+
expect(name.querySelector('.cbft-suffix')?.textContent).toBe('.md');
|
|
1892
|
+
});
|
|
1893
|
+
|
|
1894
|
+
test('🔴 the rename opens on name + suffix with only the name selected, and hands back what was typed', () => {
|
|
1895
|
+
const renamed: string[] = [];
|
|
1896
|
+
render(
|
|
1897
|
+
<FileTree
|
|
1898
|
+
nodes={nodes}
|
|
1899
|
+
selectedId={null}
|
|
1900
|
+
onSelect={() => undefined}
|
|
1901
|
+
renamingId='n'
|
|
1902
|
+
onRename={(_node, name) => renamed.push(name)}
|
|
1903
|
+
/>,
|
|
1904
|
+
);
|
|
1905
|
+
const field = screen.getByLabelText('Name') as HTMLInputElement;
|
|
1906
|
+
expect(field.value).toBe('notes.md');
|
|
1907
|
+
fireEvent.focus(field);
|
|
1908
|
+
expect([field.selectionStart, field.selectionEnd]).toEqual([0, 5]);
|
|
1909
|
+
fireEvent.change(field, { target: { value: 'todo.md' } });
|
|
1910
|
+
fireEvent.keyDown(field, { key: 'Enter' });
|
|
1911
|
+
expect(renamed).toEqual(['todo.md']);
|
|
1912
|
+
});
|
|
1913
|
+
});
|
|
1914
|
+
|
|
1915
|
+
describe('markPath={false} unpaints the path and keeps it in the DOM', () => {
|
|
1916
|
+
test('the root says so, and the ancestors are still marked for the reveal', () => {
|
|
1917
|
+
const { container } = tree({ selectedId: 'simpsons/screencaps/s04', markPath: false });
|
|
1918
|
+
expect(container.querySelector('.cbft')?.getAttribute('data-quiet-path')).toBe('true');
|
|
1919
|
+
const ancestors = [...container.querySelectorAll('[data-ancestor]')].map((row) => row.textContent);
|
|
1920
|
+
expect(ancestors).toEqual(['Simpsons', 'screencaps']);
|
|
1921
|
+
});
|
|
1922
|
+
|
|
1923
|
+
test('by default the root carries no such mark', () => {
|
|
1924
|
+
const { container } = tree({ selectedId: 'simpsons/screencaps/s04' });
|
|
1925
|
+
expect(container.querySelector('.cbft')?.getAttribute('data-quiet-path')).toBeNull();
|
|
1926
|
+
});
|
|
1927
|
+
});
|
|
1928
|
+
|
|
1929
|
+
describe('every row carries its id', () => {
|
|
1930
|
+
test('data-id is the node id, the same string every callback hands back', () => {
|
|
1931
|
+
const { container } = tree();
|
|
1932
|
+
expect([...container.querySelectorAll('[role="treeitem"]')].map((row) => row.getAttribute('data-id'))).toEqual([
|
|
1933
|
+
'simpsons',
|
|
1934
|
+
'simpsons/screencaps',
|
|
1935
|
+
'simpsons/screencaps/s04',
|
|
1936
|
+
'dinos',
|
|
1937
|
+
'travels',
|
|
1938
|
+
]);
|
|
1939
|
+
});
|
|
1940
|
+
});
|
|
@@ -166,6 +166,7 @@ import {
|
|
|
166
166
|
type AccessMarkCopy,
|
|
167
167
|
accessMarkCopy,
|
|
168
168
|
describeDrop,
|
|
169
|
+
drawnName,
|
|
169
170
|
type DropOffer,
|
|
170
171
|
type FileTreeDrop,
|
|
171
172
|
type FileTreeNode,
|
|
@@ -242,6 +243,13 @@ interface DragState {
|
|
|
242
243
|
|
|
243
244
|
const NO_OFFER: DropOffer = { target: null, refused: false, reason: null };
|
|
244
245
|
|
|
246
|
+
/**
|
|
247
|
+
* What {@link FileTree}'s `externalOverId` holds while an EXTERNAL drag is over the blank
|
|
248
|
+
* space below the rows — the root. `null` already means "over nothing", and the two must
|
|
249
|
+
* differ or the root could never be drawn as the target. No node id can collide with it.
|
|
250
|
+
*/
|
|
251
|
+
const EXTERNAL_OVER_ROOT = '\u0000root';
|
|
252
|
+
|
|
245
253
|
/**
|
|
246
254
|
* One frozen empty list for "nothing is pinned", so a consumer that passes no `pinnedIds`
|
|
247
255
|
* hands the memos below a stable reference instead of a new `[]` every render.
|
|
@@ -568,6 +576,18 @@ export interface FileTreeProps {
|
|
|
568
576
|
* that cannot work says why, whatever the density.
|
|
569
577
|
*/
|
|
570
578
|
nameTooltips?: boolean;
|
|
579
|
+
/**
|
|
580
|
+
* Whether the folders on the way to the selection are PAINTED — the ancestors' heavier
|
|
581
|
+
* weight, and the bar on a shut folder holding the selection. Default `true`.
|
|
582
|
+
*
|
|
583
|
+
* 🔴 `false` is `apps/desk`'s, on its owner's ruling (2026-09-03): *"stop highlighting the
|
|
584
|
+
* folder the active item is in. I want to make the sidebar like vscode which doesn't do
|
|
585
|
+
* that, and just highlights the active file when it's visible."* The attributes
|
|
586
|
+
* (`data-ancestor`, `data-holds-open`) are still WRITTEN either way: the reveal scrolls to
|
|
587
|
+
* the holding folder when the selected row is not drawn, so they are an anchor as well as
|
|
588
|
+
* a paint, and only the paint is switched.
|
|
589
|
+
*/
|
|
590
|
+
markPath?: boolean;
|
|
571
591
|
|
|
572
592
|
/** Narrow the tree to matching rows, keeping the folders on the way to each. */
|
|
573
593
|
filter?: string;
|
|
@@ -708,6 +728,7 @@ export function FileTree({
|
|
|
708
728
|
acceptsExternalDrag,
|
|
709
729
|
accessCopy,
|
|
710
730
|
nameTooltips = true,
|
|
731
|
+
markPath = true,
|
|
711
732
|
filter,
|
|
712
733
|
empty = 'Nothing here yet.',
|
|
713
734
|
ariaLabel = 'Files',
|
|
@@ -1952,7 +1973,7 @@ export function FileTree({
|
|
|
1952
1973
|
// target at all, and without it the browser's own "no entry" cursor stays.
|
|
1953
1974
|
event.preventDefault();
|
|
1954
1975
|
event.stopPropagation();
|
|
1955
|
-
setExternalOverId(node?.id ??
|
|
1976
|
+
setExternalOverId(node?.id ?? EXTERNAL_OVER_ROOT);
|
|
1956
1977
|
|
|
1957
1978
|
// 🔴 `dragover` fires continuously while the pointer rests, so the timer is armed
|
|
1958
1979
|
// once per folder and cleared the moment the pointer moves to a different row —
|
|
@@ -1970,7 +1991,7 @@ export function FileTree({
|
|
|
1970
1991
|
}
|
|
1971
1992
|
},
|
|
1972
1993
|
onDragLeave: () => {
|
|
1973
|
-
setExternalOverId((current) => (current === (node?.id ??
|
|
1994
|
+
setExternalOverId((current) => (current === (node?.id ?? EXTERNAL_OVER_ROOT) ? null : current));
|
|
1974
1995
|
// Only the row's OWN countdown, not the whole gesture: leaving one row for the
|
|
1975
1996
|
// next is the ordinary case, and `endExternalDrag` here would put every sprung
|
|
1976
1997
|
// folder back while the drag is still in the air.
|
|
@@ -2075,6 +2096,7 @@ export function FileTree({
|
|
|
2075
2096
|
*/
|
|
2076
2097
|
unchanged: 'cancel' | 'commit' = 'cancel',
|
|
2077
2098
|
placeholder?: string,
|
|
2099
|
+
selectTo?: number,
|
|
2078
2100
|
) => {
|
|
2079
2101
|
const done = (value: string) => {
|
|
2080
2102
|
const name = value.trim();
|
|
@@ -2088,7 +2110,11 @@ export function FileTree({
|
|
|
2088
2110
|
autoFocus
|
|
2089
2111
|
aria-label='Name'
|
|
2090
2112
|
{...(placeholder ? { placeholder } : {})}
|
|
2091
|
-
onFocus={(event) =>
|
|
2113
|
+
onFocus={(event) =>
|
|
2114
|
+
selectTo === undefined
|
|
2115
|
+
? event.currentTarget.select()
|
|
2116
|
+
: event.currentTarget.setSelectionRange(0, selectTo)
|
|
2117
|
+
}
|
|
2092
2118
|
onClick={(event) => event.stopPropagation()}
|
|
2093
2119
|
onPointerDown={(event) => event.stopPropagation()}
|
|
2094
2120
|
onBlur={(event) => done(event.currentTarget.value)}
|
|
@@ -2187,6 +2213,9 @@ export function FileTree({
|
|
|
2187
2213
|
else refs.current.delete(node.id);
|
|
2188
2214
|
}}
|
|
2189
2215
|
key={node.id}
|
|
2216
|
+
/* The row's identity, for a consumer's tests and styles — the same string every
|
|
2217
|
+
callback here hands back. Never read by this component. */
|
|
2218
|
+
data-id={node.id}
|
|
2190
2219
|
className='cbft-row'
|
|
2191
2220
|
data-selected={isSelected || undefined}
|
|
2192
2221
|
/* Held by a ⌘X that has not been pasted yet — drawn lifted, the way Finder
|
|
@@ -2300,9 +2329,14 @@ export function FileTree({
|
|
|
2300
2329
|
|
|
2301
2330
|
{isRenaming && onRename ? (
|
|
2302
2331
|
nameField(
|
|
2303
|
-
node
|
|
2332
|
+
drawnName(node),
|
|
2304
2333
|
(value) => onRename(node, value),
|
|
2305
2334
|
() => onRenameCancel?.(),
|
|
2335
|
+
'cancel',
|
|
2336
|
+
undefined,
|
|
2337
|
+
// VS Code's field: the whole name is there, and only the part before the
|
|
2338
|
+
// suffix is selected, so typing replaces the name and keeps the type.
|
|
2339
|
+
node.suffix ? node.name.length : undefined,
|
|
2306
2340
|
)
|
|
2307
2341
|
) : (
|
|
2308
2342
|
<Tooltip content={nameTooltips ? node.name : undefined}>
|
|
@@ -2311,7 +2345,12 @@ export function FileTree({
|
|
|
2311
2345
|
does not exist at all and a truncated folder name would have no way
|
|
2312
2346
|
of being read. `nameTooltips={false}` is a consumer's ruling against
|
|
2313
2347
|
it — `undefined` content is `Tooltip`'s own pass-through. */}
|
|
2314
|
-
<span className='cbft-name'>
|
|
2348
|
+
<span className='cbft-name'>
|
|
2349
|
+
{node.name}
|
|
2350
|
+
{/* Inside the ellipsis box, so it hugs the name and is cut with it —
|
|
2351
|
+
see `FileTreeNode.suffix`. */}
|
|
2352
|
+
{node.suffix ? <span className='cbft-suffix'>{node.suffix}</span> : null}
|
|
2353
|
+
</span>
|
|
2315
2354
|
</Tooltip>
|
|
2316
2355
|
)}
|
|
2317
2356
|
|
|
@@ -2444,7 +2483,11 @@ export function FileTree({
|
|
|
2444
2483
|
};
|
|
2445
2484
|
|
|
2446
2485
|
return (
|
|
2447
|
-
<div
|
|
2486
|
+
<div
|
|
2487
|
+
className={`cbft${className ? ` ${className}` : ''}`}
|
|
2488
|
+
/* See `markPath` — the path is still marked in the DOM, only not painted. */
|
|
2489
|
+
data-quiet-path={markPath ? undefined : true}
|
|
2490
|
+
>
|
|
2448
2491
|
{/*
|
|
2449
2492
|
* ── The pinned section — above the folders, and outside the scroller ─────────────
|
|
2450
2493
|
*
|
|
@@ -2480,6 +2523,14 @@ export function FileTree({
|
|
|
2480
2523
|
<div
|
|
2481
2524
|
className='cbft-scroll'
|
|
2482
2525
|
ref={scrollRef}
|
|
2526
|
+
/* "Out of every folder" has no row to light, because the root is not a row — it is
|
|
2527
|
+
the whole list. So the list says so, with the ring a folder row wears, for an
|
|
2528
|
+
internal drag and a drag from the desktop alike. */
|
|
2529
|
+
data-into-root={
|
|
2530
|
+
(drag?.active && drag.offer.target?.kind === 'root') ||
|
|
2531
|
+
externalOverId === EXTERNAL_OVER_ROOT ||
|
|
2532
|
+
undefined
|
|
2533
|
+
}
|
|
2483
2534
|
{...externalHandlers(null)}
|
|
2484
2535
|
onPointerUp={() => {
|
|
2485
2536
|
// Releasing over the blank space means the top level; the pointer capture keeps
|
|
@@ -2573,7 +2624,7 @@ function inTools(target: EventTarget | null): boolean {
|
|
|
2573
2624
|
|
|
2574
2625
|
function nameOf(nodes: readonly FileTreeNode[], id: string): string {
|
|
2575
2626
|
for (const node of nodes) {
|
|
2576
|
-
if (node.id === id) return node
|
|
2627
|
+
if (node.id === id) return drawnName(node);
|
|
2577
2628
|
const found = node.children ? nameOf(node.children, id) : '';
|
|
2578
2629
|
if (found) return found;
|
|
2579
2630
|
}
|
|
@@ -423,6 +423,16 @@
|
|
|
423
423
|
font-weight: 550;
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
+
/* A consumer that asked for the path unpainted — `markPath={false}`. The attributes stay,
|
|
427
|
+
because the reveal scrolls to them; this only takes the ink off. */
|
|
428
|
+
.cbft[data-quiet-path] .cbft-row[data-ancestor] .cbft-name {
|
|
429
|
+
font-weight: inherit;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.cbft[data-quiet-path] .cbft-row[data-holds-open]::before {
|
|
433
|
+
content: none;
|
|
434
|
+
}
|
|
435
|
+
|
|
426
436
|
/*
|
|
427
437
|
* The shut folder holding the selection. A 2px bar on the inside edge — the same language the
|
|
428
438
|
* activity rail uses for the view you are in, so a person learns it once — and deliberately
|
|
@@ -464,6 +474,14 @@
|
|
|
464
474
|
background-color: color-mix(in srgb, var(--accent-solid, var(--accent)) 10%, transparent);
|
|
465
475
|
}
|
|
466
476
|
|
|
477
|
+
/* The root — the blank space below the rows — as the target. The list IS the target, so it
|
|
478
|
+
wears the ring a folder row wears, inset so the scroller's own edge does not clip it. */
|
|
479
|
+
.cbft-scroll[data-into-root] {
|
|
480
|
+
outline: 2px solid var(--accent-solid, var(--accent));
|
|
481
|
+
outline-offset: -2px;
|
|
482
|
+
background-color: color-mix(in srgb, var(--accent-solid, var(--accent)) 6%, transparent);
|
|
483
|
+
}
|
|
484
|
+
|
|
467
485
|
/* And the between-rows marker, for a consumer that stores an order. */
|
|
468
486
|
.cbft-row[data-marker]::after {
|
|
469
487
|
content: '';
|
|
@@ -598,6 +616,16 @@
|
|
|
598
616
|
white-space: nowrap;
|
|
599
617
|
}
|
|
600
618
|
|
|
619
|
+
/*
|
|
620
|
+
* A derived extension, a step quieter than the name — see `FileTreeNode.suffix`. Quieter
|
|
621
|
+
* because the name is what you scan FOR and the suffix is what you scan BY; at full
|
|
622
|
+
* contrast on every row it turns a tree of names into a tree of types.
|
|
623
|
+
*/
|
|
624
|
+
.cbft-suffix {
|
|
625
|
+
color: var(--muted-foreground);
|
|
626
|
+
font-variant-numeric: tabular-nums;
|
|
627
|
+
}
|
|
628
|
+
|
|
601
629
|
/* A row whose own name hit the consumer's search — see `FileTreeNode.matched`. */
|
|
602
630
|
.cbft-row[data-matched] .cbft-name {
|
|
603
631
|
font-weight: 700;
|