@xyne/workflow-ui 0.4.2 → 0.5.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/components/automations/AutomationListView.d.ts.map +1 -1
- package/dist/components/automations/AutomationListView.js +68 -31
- package/dist/components/automations/AutomationListView.js.map +1 -1
- package/dist/components/browser/EntryGrid.d.ts +17 -0
- package/dist/components/browser/EntryGrid.d.ts.map +1 -0
- package/dist/components/browser/EntryGrid.js +90 -0
- package/dist/components/browser/EntryGrid.js.map +1 -0
- package/dist/components/browser/EntryList.d.ts +19 -0
- package/dist/components/browser/EntryList.d.ts.map +1 -0
- package/dist/components/browser/EntryList.js +75 -0
- package/dist/components/browser/EntryList.js.map +1 -0
- package/dist/components/browser/FolderCard.d.ts +6 -0
- package/dist/components/browser/FolderCard.d.ts.map +1 -0
- package/dist/components/browser/FolderCard.js +8 -0
- package/dist/components/browser/FolderCard.js.map +1 -0
- package/dist/components/browser/MoveDialog.d.ts +16 -0
- package/dist/components/browser/MoveDialog.d.ts.map +1 -0
- package/dist/components/browser/MoveDialog.js +102 -0
- package/dist/components/browser/MoveDialog.js.map +1 -0
- package/dist/components/browser/NameDialog.d.ts +16 -0
- package/dist/components/browser/NameDialog.d.ts.map +1 -0
- package/dist/components/browser/NameDialog.js +76 -0
- package/dist/components/browser/NameDialog.js.map +1 -0
- package/dist/components/browser/SearchField.d.ts +11 -0
- package/dist/components/browser/SearchField.d.ts.map +1 -0
- package/dist/components/browser/SearchField.js +14 -0
- package/dist/components/browser/SearchField.js.map +1 -0
- package/dist/components/browser/ViewToggle.d.ts +8 -0
- package/dist/components/browser/ViewToggle.d.ts.map +1 -0
- package/dist/components/browser/ViewToggle.js +10 -0
- package/dist/components/browser/ViewToggle.js.map +1 -0
- package/dist/components/browser/constants.d.ts +4 -0
- package/dist/components/browser/constants.d.ts.map +1 -0
- package/dist/components/browser/constants.js +4 -0
- package/dist/components/browser/constants.js.map +1 -0
- package/dist/components/browser/types.d.ts +29 -0
- package/dist/components/browser/types.d.ts.map +1 -0
- package/dist/components/browser/types.js +2 -0
- package/dist/components/browser/types.js.map +1 -0
- package/dist/components/browser/utils.d.ts +8 -0
- package/dist/components/browser/utils.d.ts.map +1 -0
- package/dist/components/browser/utils.js +36 -0
- package/dist/components/browser/utils.js.map +1 -0
- package/dist/components/builder/v3/StepConfigPanel.js +3 -3
- package/dist/components/builder/v3/StepConfigPanel.js.map +1 -1
- package/dist/components/execution/ApprovalsView.d.ts +7 -0
- package/dist/components/execution/ApprovalsView.d.ts.map +1 -0
- package/dist/components/execution/ApprovalsView.js +133 -0
- package/dist/components/execution/ApprovalsView.js.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/workflows/WorkflowBrowser.d.ts +14 -0
- package/dist/components/workflows/WorkflowBrowser.d.ts.map +1 -0
- package/dist/components/workflows/WorkflowBrowser.js +300 -0
- package/dist/components/workflows/WorkflowBrowser.js.map +1 -0
- package/dist/hooks/use-approval-count.d.ts +3 -0
- package/dist/hooks/use-approval-count.d.ts.map +1 -0
- package/dist/hooks/use-approval-count.js +29 -0
- package/dist/hooks/use-approval-count.js.map +1 -0
- package/dist/hooks/use-folder-list.d.ts +2 -1
- package/dist/hooks/use-folder-list.d.ts.map +1 -1
- package/dist/hooks/use-folder-list.js +7 -3
- package/dist/hooks/use-folder-list.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationListView.d.ts","sourceRoot":"","sources":["../../../src/components/automations/AutomationListView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AutomationListView.d.ts","sourceRoot":"","sources":["../../../src/components/automations/AutomationListView.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8BD,wBAAgB,kBAAkB,CAAC,EACjC,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,EAAE,uBAAuB,+BAgSzB"}
|
|
@@ -11,6 +11,22 @@ import { AutomationCard } from './AutomationCard.js';
|
|
|
11
11
|
import { CreateWorkflowDialog } from './CreateWorkflowDialog.js';
|
|
12
12
|
/** Workflows per page in the list view. */
|
|
13
13
|
const PAGE_SIZE = 25;
|
|
14
|
+
function buildTree(folders) {
|
|
15
|
+
const map = new Map();
|
|
16
|
+
for (const f of folders)
|
|
17
|
+
map.set(f.id, { folder: f, children: [] });
|
|
18
|
+
const roots = [];
|
|
19
|
+
for (const node of map.values()) {
|
|
20
|
+
const pid = node.folder.parentId;
|
|
21
|
+
if (pid && map.has(pid)) {
|
|
22
|
+
map.get(pid).children.push(node);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
roots.push(node);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return roots;
|
|
29
|
+
}
|
|
14
30
|
// ─── Component ────────────────────────────────────────────────────────────────
|
|
15
31
|
export function AutomationListView({ onSelectWorkflow, onRunWorkflow, className, }) {
|
|
16
32
|
const client = useWorkflowClient();
|
|
@@ -19,38 +35,51 @@ export function AutomationListView({ onSelectWorkflow, onRunWorkflow, className,
|
|
|
19
35
|
const counts = useWorkflowCounts();
|
|
20
36
|
const folderList = useFolderList();
|
|
21
37
|
const { folders } = folderList;
|
|
22
|
-
// Total for the current view drives pagination (from the cheap counts query).
|
|
23
38
|
const total = selectedFolderId === 'all'
|
|
24
39
|
? counts.total
|
|
25
40
|
: (counts.byFolder[selectedFolderId]?.total ?? 0);
|
|
26
41
|
const pageCount = Math.max(1, Math.ceil(total / PAGE_SIZE));
|
|
27
42
|
const currentPage = Math.min(page, pageCount - 1);
|
|
28
|
-
// Folder-scoped + paginated server query.
|
|
29
43
|
const { workflows, isLoading, error, refetch } = useWorkflowList({
|
|
30
44
|
...(selectedFolderId === 'all' ? {} : { folderId: selectedFolderId }),
|
|
31
45
|
limit: PAGE_SIZE,
|
|
32
46
|
offset: currentPage * PAGE_SIZE,
|
|
33
47
|
});
|
|
34
|
-
// Reset to the first page whenever the folder changes.
|
|
35
48
|
useEffect(() => { setPage(0); }, [selectedFolderId]);
|
|
36
49
|
const [showCreateDialog, setShowCreateDialog] = useState(false);
|
|
37
|
-
const [addingFolder, setAddingFolder] = useState(false);
|
|
38
|
-
const [newFolderName, setNewFolderName] = useState('');
|
|
39
50
|
const [editingFolderId, setEditingFolderId] = useState(null);
|
|
40
51
|
const [editingName, setEditingName] = useState('');
|
|
41
52
|
const [railError, setRailError] = useState(null);
|
|
42
|
-
|
|
53
|
+
// Track which folder is having a new child added: null = top-level new folder
|
|
54
|
+
const [addingChildOf, setAddingChildOf] = useState(undefined);
|
|
55
|
+
const [newFolderName, setNewFolderName] = useState('');
|
|
56
|
+
// Collapsed state: set of folder IDs that are collapsed
|
|
57
|
+
const [collapsed, setCollapsed] = useState(new Set());
|
|
58
|
+
const toggleCollapsed = (id) => {
|
|
59
|
+
setCollapsed((prev) => {
|
|
60
|
+
const next = new Set(prev);
|
|
61
|
+
if (next.has(id))
|
|
62
|
+
next.delete(id);
|
|
63
|
+
else
|
|
64
|
+
next.add(id);
|
|
65
|
+
return next;
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const handleNewFolder = async (parentId) => {
|
|
43
69
|
const name = newFolderName.trim();
|
|
44
70
|
if (!name) {
|
|
45
|
-
|
|
71
|
+
setAddingChildOf(undefined);
|
|
46
72
|
return;
|
|
47
73
|
}
|
|
48
74
|
setRailError(null);
|
|
49
75
|
try {
|
|
50
|
-
const folder = await folderList.create(name);
|
|
76
|
+
const folder = await folderList.create(name, parentId);
|
|
51
77
|
setNewFolderName('');
|
|
52
|
-
|
|
78
|
+
setAddingChildOf(undefined);
|
|
53
79
|
setSelectedFolderId(folder.id);
|
|
80
|
+
// Expand parent so new folder is visible
|
|
81
|
+
if (parentId)
|
|
82
|
+
setCollapsed((prev) => { const next = new Set(prev); next.delete(parentId); return next; });
|
|
54
83
|
}
|
|
55
84
|
catch (err) {
|
|
56
85
|
setRailError(err instanceof Error ? err.message : String(err));
|
|
@@ -81,23 +110,14 @@ export function AutomationListView({ onSelectWorkflow, onRunWorkflow, className,
|
|
|
81
110
|
};
|
|
82
111
|
const handleMove = async (workflowId, folderId) => {
|
|
83
112
|
await client.workflows.update(workflowId, { folderId });
|
|
84
|
-
refetch();
|
|
85
|
-
counts.refetch();
|
|
113
|
+
refetch();
|
|
114
|
+
counts.refetch();
|
|
86
115
|
};
|
|
87
116
|
const selectedFolderName = selectedFolderId === 'all'
|
|
88
117
|
? null
|
|
89
118
|
: folders.find((f) => f.id === selectedFolderId)?.name;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return (_jsx(FolderRailItem, { kind: "folder", label: f.name, count: count, active: selectedFolderId === f.id, editing: editingFolderId === f.id, editingValue: editingName, onEditingChange: setEditingName, onCommitEdit: () => void handleRename(f.id), onStartEdit: () => { setEditingFolderId(f.id); setEditingName(f.name); }, deletable: count === 0, onDelete: () => void handleDelete(f.id), onClick: () => setSelectedFolderId(f.id) }, f.id));
|
|
93
|
-
})] }), _jsxs("div", { className: "border-t border-[var(--wui-border)] p-2", children: [addingFolder ? (_jsx("input", { autoFocus: true, type: "text", value: newFolderName, onChange: (e) => setNewFolderName(e.target.value), onBlur: () => void handleNewFolder(), placeholder: "Folder name\u2026", className: cn('w-full rounded-md border border-indigo-300 bg-[var(--wui-bg)] px-2.5 py-1.5 text-[13px]', 'outline-none focus:ring-2 focus:ring-indigo-100'), onKeyDown: (e) => {
|
|
94
|
-
if (e.key === 'Enter')
|
|
95
|
-
void handleNewFolder();
|
|
96
|
-
else if (e.key === 'Escape') {
|
|
97
|
-
setNewFolderName('');
|
|
98
|
-
setAddingFolder(false);
|
|
99
|
-
}
|
|
100
|
-
} })) : (_jsxs("button", { type: "button", onClick: () => { setRailError(null); setAddingFolder(true); }, className: cn('flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-[13px] font-medium', 'text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)] transition-colors'), children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "New folder"] })), railError && (_jsx("p", { className: "mt-1.5 px-1 text-[11px] text-red-500", children: railError }))] })] }), _jsxs("div", { className: "flex h-full min-w-0 flex-1 flex-col", children: [_jsxs("header", { className: "flex items-center gap-3 border-b border-[var(--wui-border)] px-6 py-4", children: [_jsx("h2", { className: "text-base font-semibold text-[var(--wui-fg)]", children: selectedFolderName ?? 'All workflows' }), !isLoading && !error && (_jsx("span", { className: cn('inline-flex h-5 min-w-[1.25rem] items-center justify-center rounded-full px-1.5', 'bg-[var(--wui-bg-subtle)] text-xs font-medium text-[var(--wui-fg-muted)]', 'border border-[var(--wui-border)]'), children: total })), _jsx("div", { className: "ml-auto", children: _jsxs("button", { onClick: () => setShowCreateDialog(true), className: cn('inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5', 'bg-indigo-500 text-[13px] font-medium text-white', 'hover:bg-indigo-600 transition-colors'), children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Create"] }) })] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-6 py-6", children: isLoading ? (_jsx("div", { className: "flex h-40 items-center justify-center", children: _jsx(LoadingSpinner, { size: "lg" }) })) : error ? (_jsx("div", { className: "flex h-40 items-center justify-center text-sm text-[var(--wui-fg-muted)]", children: "Failed to load workflows" })) : total === 0 ? (_jsx(EmptyState, { title: selectedFolderName ? `No workflows in ${selectedFolderName}` : 'No workflows yet' })) : (_jsxs(_Fragment, { children: [_jsx("ul", { role: "list", className: "overflow-hidden rounded-lg border border-[var(--wui-border)]", children: workflows.map((workflow) => (_jsx("li", { children: _jsx(AutomationCard, { layout: "row", workflow: workflow, onClick: () => onSelectWorkflow(workflow.id), onRun: onRunWorkflow ? () => onRunWorkflow(workflow.id) : undefined, folders: folders, onMove: (folderId) => void handleMove(workflow.id, folderId) }) }, workflow.id))) }), _jsxs("div", { className: "mt-4 flex items-center justify-between text-xs text-[var(--wui-fg-muted)]", children: [_jsx("span", { children: total === 0
|
|
119
|
+
const folderTree = buildTree(folders);
|
|
120
|
+
return (_jsxs("section", { className: cn('flex h-full min-h-0 bg-[var(--wui-bg)]', className), children: [_jsxs("aside", { className: "flex h-full w-60 shrink-0 flex-col border-r border-[var(--wui-border)]", children: [_jsx("div", { className: "px-4 pt-4 pb-2 text-[11px] font-bold uppercase tracking-widest text-[var(--wui-fg-muted)]", children: "Folders" }), _jsxs("nav", { className: "flex-1 space-y-0.5 overflow-y-auto px-2 pb-2", children: [_jsx(FolderRailItem, { kind: "all", label: "All workflows", count: counts.total, active: selectedFolderId === 'all', onClick: () => setSelectedFolderId('all') }), folderTree.map((node) => (_jsx(FolderTreeNode, { node: node, depth: 0, selectedFolderId: selectedFolderId, collapsed: collapsed, counts: counts.byFolder, editingFolderId: editingFolderId, editingName: editingName, addingChildOf: addingChildOf, newFolderName: newFolderName, onSelect: setSelectedFolderId, onToggleCollapse: toggleCollapsed, onStartEdit: (id, name) => { setEditingFolderId(id); setEditingName(name); }, onCommitEdit: handleRename, onEditingChange: setEditingName, onDelete: handleDelete, onStartAddChild: (parentId) => { setNewFolderName(''); setAddingChildOf(parentId); }, onNewFolderNameChange: setNewFolderName, onCommitNewFolder: handleNewFolder, onCancelNewFolder: () => setAddingChildOf(undefined) }, node.folder.id))), addingChildOf === null && (_jsx(NewFolderInput, { depth: 0, value: newFolderName, onChange: setNewFolderName, onCommit: () => void handleNewFolder(null), onCancel: () => setAddingChildOf(undefined) }))] }), _jsxs("div", { className: "border-t border-[var(--wui-border)] p-2", children: [addingChildOf === undefined ? (_jsxs("button", { type: "button", onClick: () => { setRailError(null); setNewFolderName(''); setAddingChildOf(null); }, className: cn('flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-[13px] font-medium', 'text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)] transition-colors'), children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "New folder"] })) : null, railError && (_jsx("p", { className: "mt-1.5 px-1 text-[11px] text-red-500", children: railError }))] })] }), _jsxs("div", { className: "flex h-full min-w-0 flex-1 flex-col", children: [_jsxs("header", { className: "flex items-center gap-3 border-b border-[var(--wui-border)] px-6 py-4", children: [_jsx("h2", { className: "text-base font-semibold text-[var(--wui-fg)]", children: selectedFolderName ?? 'All workflows' }), !isLoading && !error && (_jsx("span", { className: cn('inline-flex h-5 min-w-[1.25rem] items-center justify-center rounded-full px-1.5', 'bg-[var(--wui-bg-subtle)] text-xs font-medium text-[var(--wui-fg-muted)]', 'border border-[var(--wui-border)]'), children: total })), _jsx("div", { className: "ml-auto", children: _jsxs("button", { onClick: () => setShowCreateDialog(true), className: cn('inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5', 'bg-indigo-500 text-[13px] font-medium text-white', 'hover:bg-indigo-600 transition-colors'), children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Create"] }) })] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-6 py-6", children: isLoading ? (_jsx("div", { className: "flex h-40 items-center justify-center", children: _jsx(LoadingSpinner, { size: "lg" }) })) : error ? (_jsx("div", { className: "flex h-40 items-center justify-center text-sm text-[var(--wui-fg-muted)]", children: "Failed to load workflows" })) : total === 0 ? (_jsx(EmptyState, { title: selectedFolderName ? `No workflows in ${selectedFolderName}` : 'No workflows yet' })) : (_jsxs(_Fragment, { children: [_jsx("ul", { role: "list", className: "overflow-hidden rounded-lg border border-[var(--wui-border)]", children: workflows.map((workflow) => (_jsx("li", { children: _jsx(AutomationCard, { layout: "row", workflow: workflow, onClick: () => onSelectWorkflow(workflow.id), onRun: onRunWorkflow ? () => onRunWorkflow(workflow.id) : undefined, folders: folders, onMove: (folderId) => void handleMove(workflow.id, folderId) }) }, workflow.id))) }), _jsxs("div", { className: "mt-4 flex items-center justify-between text-xs text-[var(--wui-fg-muted)]", children: [_jsx("span", { children: total === 0
|
|
101
121
|
? '0 workflows'
|
|
102
122
|
: `Showing ${currentPage * PAGE_SIZE + 1}–${currentPage * PAGE_SIZE + workflows.length} of ${total}` }), pageCount > 1 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { type: "button", onClick: () => setPage(Math.max(0, currentPage - 1)), disabled: currentPage <= 0, className: cn('rounded-md border border-[var(--wui-border)] px-2.5 py-1 font-medium', 'hover:bg-[var(--wui-bg-subtle)] transition-colors', currentPage <= 0 && 'opacity-40 cursor-not-allowed'), children: "Prev" }), _jsxs("span", { className: "tabular-nums", children: ["Page ", currentPage + 1, " of ", pageCount] }), _jsx("button", { type: "button", onClick: () => setPage(Math.min(pageCount - 1, currentPage + 1)), disabled: currentPage >= pageCount - 1, className: cn('rounded-md border border-[var(--wui-border)] px-2.5 py-1 font-medium', 'hover:bg-[var(--wui-bg-subtle)] transition-colors', currentPage >= pageCount - 1 && 'opacity-40 cursor-not-allowed'), children: "Next" })] }))] })] })) })] }), showCreateDialog && (_jsx(CreateWorkflowDialog, { folders: folders, defaultFolderId: selectedFolderId === 'all' ? undefined : selectedFolderId, onCreateFolder: folderList.create, onCreated: (workflow) => {
|
|
103
123
|
setShowCreateDialog(false);
|
|
@@ -105,17 +125,34 @@ export function AutomationListView({ onSelectWorkflow, onRunWorkflow, className,
|
|
|
105
125
|
onSelectWorkflow(workflow.id);
|
|
106
126
|
}, onClose: () => setShowCreateDialog(false) }))] }));
|
|
107
127
|
}
|
|
108
|
-
function
|
|
128
|
+
function FolderTreeNode({ node, depth, selectedFolderId, collapsed, counts, editingFolderId, editingName, addingChildOf, newFolderName, onSelect, onToggleCollapse, onStartEdit, onCommitEdit, onEditingChange, onDelete, onStartAddChild, onNewFolderNameChange, onCommitNewFolder, onCancelNewFolder, }) {
|
|
129
|
+
const { folder, children } = node;
|
|
130
|
+
const count = counts[folder.id]?.total ?? 0;
|
|
131
|
+
const hasChildren = children.length > 0 || addingChildOf === folder.id;
|
|
132
|
+
const isCollapsed = collapsed.has(folder.id);
|
|
133
|
+
return (_jsxs("div", { children: [_jsx(FolderRailItem, { kind: "folder", label: folder.name, count: count, depth: depth, active: selectedFolderId === folder.id, hasChildren: hasChildren, isCollapsed: isCollapsed, editing: editingFolderId === folder.id, editingValue: editingName, onEditingChange: onEditingChange, onCommitEdit: () => onCommitEdit(folder.id), onStartEdit: () => onStartEdit(folder.id, folder.name), deletable: count === 0 && children.length === 0, onDelete: () => onDelete(folder.id), onAddChild: () => onStartAddChild(folder.id), onToggleCollapse: () => onToggleCollapse(folder.id), onClick: () => onSelect(folder.id) }), !isCollapsed && (_jsxs("div", { children: [children.map((child) => (_jsx(FolderTreeNode, { node: child, depth: depth + 1, selectedFolderId: selectedFolderId, collapsed: collapsed, counts: counts, editingFolderId: editingFolderId, editingName: editingName, addingChildOf: addingChildOf, newFolderName: newFolderName, onSelect: onSelect, onToggleCollapse: onToggleCollapse, onStartEdit: onStartEdit, onCommitEdit: onCommitEdit, onEditingChange: onEditingChange, onDelete: onDelete, onStartAddChild: onStartAddChild, onNewFolderNameChange: onNewFolderNameChange, onCommitNewFolder: onCommitNewFolder, onCancelNewFolder: onCancelNewFolder }, child.folder.id))), addingChildOf === folder.id && (_jsx(NewFolderInput, { depth: depth + 1, value: newFolderName, onChange: onNewFolderNameChange, onCommit: () => onCommitNewFolder(folder.id), onCancel: onCancelNewFolder }))] }))] }));
|
|
134
|
+
}
|
|
135
|
+
// ─── Inline new-folder input ──────────────────────────────────────────────────
|
|
136
|
+
function NewFolderInput({ depth, value, onChange, onCommit, onCancel, }) {
|
|
137
|
+
return (_jsx("div", { style: { paddingLeft: `${depth * 12 + 10}px` }, className: "pr-2 py-0.5", children: _jsx("input", { autoFocus: true, type: "text", value: value, onChange: (e) => onChange(e.target.value), onBlur: onCommit, placeholder: "Folder name\u2026", className: cn('w-full rounded-md border border-indigo-300 bg-[var(--wui-bg)] px-2.5 py-1.5 text-[13px]', 'outline-none focus:ring-2 focus:ring-indigo-100'), onKeyDown: (e) => {
|
|
138
|
+
if (e.key === 'Enter')
|
|
139
|
+
onCommit();
|
|
140
|
+
else if (e.key === 'Escape')
|
|
141
|
+
onCancel();
|
|
142
|
+
} }) }));
|
|
143
|
+
}
|
|
144
|
+
function FolderRailItem({ kind, label, count, depth = 0, active, hasChildren, isCollapsed, onClick, onToggleCollapse, onAddChild, editing, editingValue, onEditingChange, onCommitEdit, onStartEdit, deletable, onDelete, }) {
|
|
145
|
+
const indentPx = depth * 12;
|
|
109
146
|
if (editing) {
|
|
110
|
-
return (_jsx("input", { autoFocus: true, value: editingValue ?? '', onChange: (e) => onEditingChange?.(e.target.value), onBlur: () => onCommitEdit?.(), onKeyDown: (e) => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
147
|
+
return (_jsx("div", { style: { paddingLeft: `${indentPx}px` }, children: _jsx("input", { autoFocus: true, value: editingValue ?? '', onChange: (e) => onEditingChange?.(e.target.value), onBlur: () => onCommitEdit?.(), onKeyDown: (e) => {
|
|
148
|
+
if (e.key === 'Enter' || e.key === 'Escape')
|
|
149
|
+
onCommitEdit?.();
|
|
150
|
+
}, className: "w-full rounded-md border border-indigo-300 bg-white px-2 py-1.5 text-[13px] outline-none" }) }));
|
|
114
151
|
}
|
|
115
|
-
return (_jsxs("div", { className: cn('group flex items-center gap-
|
|
152
|
+
return (_jsxs("div", { style: { paddingLeft: `${indentPx}px` }, className: cn('group flex items-center gap-1 rounded-md px-2.5 py-1.5 text-[13px] cursor-pointer transition-colors', active
|
|
116
153
|
? 'bg-indigo-50 font-semibold text-indigo-700'
|
|
117
|
-
: 'text-[var(--wui-fg)] hover:bg-[var(--wui-bg-subtle)]'), onClick: onClick, onDoubleClick: onStartEdit, title: onStartEdit ? 'Double-click to rename' : undefined, children: [
|
|
118
|
-
|
|
119
|
-
|
|
154
|
+
: 'text-[var(--wui-fg)] hover:bg-[var(--wui-bg-subtle)]'), onClick: onClick, onDoubleClick: onStartEdit, title: onStartEdit ? 'Double-click to rename' : undefined, children: [kind === 'folder' ? (_jsx("button", { type: "button", onClick: (e) => { e.stopPropagation(); onToggleCollapse?.(); }, className: cn('shrink-0 rounded p-0.5 transition-colors', hasChildren
|
|
155
|
+
? 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)] hover:bg-[var(--wui-border)]'
|
|
156
|
+
: 'opacity-0 pointer-events-none'), children: _jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: cn('transition-transform', !isCollapsed && 'rotate-90'), children: _jsx("path", { d: "m9 18 6-6-6-6" }) }) })) : (_jsx("span", { className: "w-[15px] shrink-0" })), _jsx("span", { className: cn('shrink-0', active ? 'text-indigo-500' : 'text-[var(--wui-fg-muted)]'), children: kind === 'all' ? (_jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { width: "7", height: "7", x: "3", y: "3", rx: "1" }), _jsx("rect", { width: "7", height: "7", x: "14", y: "3", rx: "1" }), _jsx("rect", { width: "7", height: "7", x: "14", y: "14", rx: "1" }), _jsx("rect", { width: "7", height: "7", x: "3", y: "14", rx: "1" })] })) : (_jsx("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) })) }), _jsx("span", { className: "flex-1 truncate", children: label }), _jsxs("span", { className: "hidden shrink-0 items-center gap-0.5 group-hover:flex", children: [onAddChild && (_jsx("button", { type: "button", onClick: (e) => { e.stopPropagation(); onAddChild(); }, className: "rounded p-0.5 text-[var(--wui-fg-muted)] hover:bg-[var(--wui-border)] hover:text-[var(--wui-fg)]", title: "New subfolder", children: _jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }) })), deletable && onDelete && (_jsx("button", { type: "button", onClick: (e) => { e.stopPropagation(); onDelete(); }, className: "rounded p-0.5 text-[var(--wui-fg-muted)] hover:text-red-500", "aria-label": `Delete ${label}`, title: "Delete folder", children: _jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) }))] }), _jsx("span", { className: cn('shrink-0 text-[11px] tabular-nums group-hover:hidden', active ? 'text-indigo-400' : 'text-[var(--wui-fg-muted)]'), children: count })] }));
|
|
120
157
|
}
|
|
121
158
|
//# sourceMappingURL=AutomationListView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationListView.js","sourceRoot":"","sources":["../../../src/components/automations/AutomationListView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutomationListView.js","sourceRoot":"","sources":["../../../src/components/automations/AutomationListView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BrowserEntry, LeadingRenderer } from './types.js';
|
|
2
|
+
type Props = {
|
|
3
|
+
entries: ReadonlyArray<BrowserEntry>;
|
|
4
|
+
onOpen?: (entry: BrowserEntry) => void;
|
|
5
|
+
renderLeading?: LeadingRenderer;
|
|
6
|
+
disableFiles?: boolean;
|
|
7
|
+
disableFolders?: boolean;
|
|
8
|
+
onDelete?: (entry: BrowserEntry) => void;
|
|
9
|
+
onRename?: (entry: BrowserEntry, newName: string) => void;
|
|
10
|
+
onMove?: (entry: BrowserEntry) => void;
|
|
11
|
+
selectedIds?: ReadonlySet<string>;
|
|
12
|
+
onToggleSelect?: (entry: BrowserEntry, index: number, shiftKey: boolean) => void;
|
|
13
|
+
scrollParentRef: React.RefObject<HTMLElement | null>;
|
|
14
|
+
};
|
|
15
|
+
export declare function EntryGrid({ entries, onOpen, renderLeading, disableFiles, disableFolders, onDelete, onRename, onMove, selectedIds, onToggleSelect, scrollParentRef, }: Props): import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=EntryGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryGrid.d.ts","sourceRoot":"","sources":["../../../src/components/browser/EntryGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIhE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACtD,CAAC;AAsBF,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,MAAM,EACN,aAA8B,EAC9B,YAAoB,EACpB,cAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,eAAe,GAChB,EAAE,KAAK,+BA0LP"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FolderSymlink, Pencil, Trash2 } from 'lucide-react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
5
|
+
import { cn } from '../shared/cn.js';
|
|
6
|
+
import { ROW_ESTIMATE_GRID_PX } from './constants.js';
|
|
7
|
+
import { defaultLeading, isEntryDisabled, useScrollMargin } from './utils.js';
|
|
8
|
+
function colsFor(width) {
|
|
9
|
+
if (width >= 1280)
|
|
10
|
+
return 5;
|
|
11
|
+
if (width >= 1024)
|
|
12
|
+
return 4;
|
|
13
|
+
if (width >= 640)
|
|
14
|
+
return 3;
|
|
15
|
+
return 2;
|
|
16
|
+
}
|
|
17
|
+
function useResponsiveCols() {
|
|
18
|
+
const [cols, setCols] = useState(() => typeof window === 'undefined' ? 2 : colsFor(window.innerWidth));
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const update = () => { setCols(colsFor(window.innerWidth)); };
|
|
21
|
+
update();
|
|
22
|
+
window.addEventListener('resize', update);
|
|
23
|
+
return () => { window.removeEventListener('resize', update); };
|
|
24
|
+
}, []);
|
|
25
|
+
return cols;
|
|
26
|
+
}
|
|
27
|
+
export function EntryGrid({ entries, onOpen, renderLeading = defaultLeading, disableFiles = false, disableFolders = false, onDelete, onRename, onMove, selectedIds, onToggleSelect, scrollParentRef, }) {
|
|
28
|
+
const isSelecting = (selectedIds?.size ?? 0) > 0;
|
|
29
|
+
const cols = useResponsiveCols();
|
|
30
|
+
const rowCount = Math.ceil(entries.length / cols);
|
|
31
|
+
const [editingId, setEditingId] = useState(null);
|
|
32
|
+
const [editingValue, setEditingValue] = useState('');
|
|
33
|
+
const startEdit = (e) => {
|
|
34
|
+
setEditingId(e.id);
|
|
35
|
+
setEditingValue(e.name);
|
|
36
|
+
};
|
|
37
|
+
const cancelEdit = () => {
|
|
38
|
+
setEditingId(null);
|
|
39
|
+
setEditingValue('');
|
|
40
|
+
};
|
|
41
|
+
const commitEdit = (e) => {
|
|
42
|
+
const next = editingValue.trim();
|
|
43
|
+
setEditingId(null);
|
|
44
|
+
setEditingValue('');
|
|
45
|
+
if (next && next !== e.name) {
|
|
46
|
+
onRename?.(e, next);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const { listRef: gridRef, scrollMargin } = useScrollMargin(scrollParentRef);
|
|
50
|
+
const virtualizer = useVirtualizer({
|
|
51
|
+
count: rowCount,
|
|
52
|
+
getScrollElement: () => scrollParentRef.current,
|
|
53
|
+
estimateSize: () => ROW_ESTIMATE_GRID_PX,
|
|
54
|
+
overscan: 3,
|
|
55
|
+
scrollMargin,
|
|
56
|
+
getItemKey: (i) => `row-${String(i)}-c${String(cols)}`,
|
|
57
|
+
});
|
|
58
|
+
return (_jsx("div", { ref: gridRef, role: "list", className: "animate-fade-up", style: { height: `${String(virtualizer.getTotalSize())}px`, position: 'relative' }, children: virtualizer.getVirtualItems().map((virtualRow) => {
|
|
59
|
+
const start = virtualRow.index * cols;
|
|
60
|
+
const rowEntries = entries.slice(start, start + cols);
|
|
61
|
+
return (_jsx("div", { "data-index": virtualRow.index, ref: virtualizer.measureElement, className: "absolute left-0 right-0 grid gap-3 pb-3", style: {
|
|
62
|
+
transform: `translateY(${String(virtualRow.start - virtualizer.options.scrollMargin)}px)`,
|
|
63
|
+
gridTemplateColumns: `repeat(${String(cols)}, minmax(0, 1fr))`,
|
|
64
|
+
}, children: rowEntries.map((e, rowIdx) => {
|
|
65
|
+
const entryIndex = start + rowIdx;
|
|
66
|
+
const intrinsicallyDisabled = isEntryDisabled(e, disableFiles, disableFolders);
|
|
67
|
+
const isEditing = editingId === e.id;
|
|
68
|
+
const disabled = intrinsicallyDisabled || isEditing;
|
|
69
|
+
return (_jsxs("div", { role: "listitem", className: "group relative", children: [_jsxs("button", { type: "button", disabled: disabled, onClick: () => { onOpen?.(e); }, className: cn('flex w-full flex-col items-start gap-3 rounded-2xl border bg-surface-elevated p-4 text-left transition', e.status === 'pending' || e.status === 'processing'
|
|
70
|
+
? 'animate-pulse border-ring/60 ring-1 ring-ring/25'
|
|
71
|
+
: 'border-border', disabled
|
|
72
|
+
? 'cursor-default'
|
|
73
|
+
: 'hover:border-ring/40 hover:bg-secondary/60 active:scale-[0.99]', isEditing && 'border-ring/60 ring-1 ring-ring/30'), title: e.name, children: [_jsx("div", { className: "pl-1 pt-1", children: renderLeading(e, 'md') }), _jsxs("span", { className: "flex w-full min-w-0 flex-col gap-0.5", children: [_jsx("span", { className: "flex min-w-0 items-center gap-1.5", children: isEditing ? (_jsx("input", { type: "text", autoFocus: true, value: editingValue, onChange: (ev) => { setEditingValue(ev.target.value); }, onFocus: (ev) => { ev.target.select(); }, onClick: (ev) => { ev.stopPropagation(); }, onMouseDown: (ev) => { ev.stopPropagation(); }, onKeyDown: (ev) => {
|
|
74
|
+
if (ev.key === 'Enter') {
|
|
75
|
+
ev.preventDefault();
|
|
76
|
+
ev.stopPropagation();
|
|
77
|
+
commitEdit(e);
|
|
78
|
+
}
|
|
79
|
+
else if (ev.key === 'Escape') {
|
|
80
|
+
ev.preventDefault();
|
|
81
|
+
ev.stopPropagation();
|
|
82
|
+
cancelEdit();
|
|
83
|
+
}
|
|
84
|
+
}, onBlur: () => { commitEdit(e); }, maxLength: 255, className: "min-w-0 flex-1 truncate rounded-sm border border-ring/50 bg-background px-1.5 py-0.5 text-[13.5px] font-medium text-foreground outline-none focus:border-ring" })) : (_jsx("span", { className: "truncate text-[13.5px] font-medium text-foreground", children: e.name })) }), e.caption ? (_jsx("span", { className: "truncate text-[11.5px] text-muted-foreground", children: e.caption })) : null] })] }), onToggleSelect && (_jsx("button", { type: "button", "aria-label": selectedIds?.has(e.id) ? `Deselect ${e.name}` : `Select ${e.name}`, onClick: (ev) => { ev.stopPropagation(); onToggleSelect(e, entryIndex, ev.shiftKey); }, className: cn('absolute left-2 top-2 flex h-5 w-5 items-center justify-center rounded-md border transition', selectedIds?.has(e.id)
|
|
85
|
+
? 'border-foreground bg-foreground text-background opacity-100'
|
|
86
|
+
: 'border-border bg-background/80 backdrop-blur-sm', isSelecting ? 'opacity-100' : 'opacity-0 group-hover:opacity-100'), children: selectedIds?.has(e.id) && (_jsx("svg", { viewBox: "0 0 24 24", className: "h-3 w-3", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) })), !isEditing && (onRename ?? onDelete ?? onMove) ? (_jsxs("div", { className: "absolute right-2 top-2 flex gap-1 opacity-0 transition group-hover:opacity-100 focus-within:opacity-100", children: [onMove ? (_jsx("button", { type: "button", "aria-label": `Move ${e.name}`, title: "Move", onClick: (ev) => { ev.stopPropagation(); onMove(e); }, className: "grid h-7 w-7 place-items-center rounded-md bg-background/80 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition hover:bg-secondary hover:text-foreground", children: _jsx(FolderSymlink, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null, onRename ? (_jsx("button", { type: "button", "aria-label": `Rename ${e.name}`, title: "Rename", onClick: (ev) => { ev.stopPropagation(); startEdit(e); }, className: "grid h-7 w-7 place-items-center rounded-md bg-background/80 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition hover:bg-secondary hover:text-foreground", children: _jsx(Pencil, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null, onDelete ? (_jsx("button", { type: "button", "aria-label": `Delete ${e.name}`, title: "Delete", onClick: (ev) => { ev.stopPropagation(); onDelete(e); }, className: "grid h-7 w-7 place-items-center rounded-md bg-background/80 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-950/40", children: _jsx(Trash2, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null] })) : null] }, `${e.kind}-${e.id}`));
|
|
87
|
+
}) }, virtualRow.key));
|
|
88
|
+
}) }));
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=EntryGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryGrid.js","sourceRoot":"","sources":["../../../src/components/browser/EntryGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BrowserEntry, ColumnDef, LeadingRenderer } from './types.js';
|
|
2
|
+
type Props = {
|
|
3
|
+
entries: ReadonlyArray<BrowserEntry>;
|
|
4
|
+
columns?: ReadonlyArray<ColumnDef>;
|
|
5
|
+
onOpen?: (entry: BrowserEntry) => void;
|
|
6
|
+
nameHeader?: string;
|
|
7
|
+
renderLeading?: LeadingRenderer;
|
|
8
|
+
disableFiles?: boolean;
|
|
9
|
+
disableFolders?: boolean;
|
|
10
|
+
onDelete?: (entry: BrowserEntry) => void;
|
|
11
|
+
onRename?: (entry: BrowserEntry, newName: string) => void;
|
|
12
|
+
onMove?: (entry: BrowserEntry) => void;
|
|
13
|
+
selectedIds?: ReadonlySet<string>;
|
|
14
|
+
onToggleSelect?: (entry: BrowserEntry, index: number, shiftKey: boolean) => void;
|
|
15
|
+
scrollParentRef: React.RefObject<HTMLElement | null>;
|
|
16
|
+
};
|
|
17
|
+
export declare function EntryList({ entries, columns, onOpen, nameHeader, renderLeading, disableFiles, disableFolders, onDelete, onRename, onMove, selectedIds, onToggleSelect, scrollParentRef, }: Props): import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=EntryList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryList.d.ts","sourceRoot":"","sources":["../../../src/components/browser/EntryList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI3E,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjF,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,OAAY,EACZ,MAAM,EACN,UAAmB,EACnB,aAA8B,EAC9B,YAAoB,EACpB,cAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,EACd,eAAe,GAChB,EAAE,KAAK,+BA8NP"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FolderSymlink, Pencil, Trash2 } from 'lucide-react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
5
|
+
import { cn } from '../shared/cn.js';
|
|
6
|
+
import { DEFAULT_COL_WIDTH, ROW_ESTIMATE_LIST_PX } from './constants.js';
|
|
7
|
+
import { defaultLeading, isEntryDisabled, useScrollMargin } from './utils.js';
|
|
8
|
+
export function EntryList({ entries, columns = [], onOpen, nameHeader = 'Name', renderLeading = defaultLeading, disableFiles = false, disableFolders = false, onDelete, onRename, onMove, selectedIds, onToggleSelect, scrollParentRef, }) {
|
|
9
|
+
const isSelecting = (selectedIds?.size ?? 0) > 0;
|
|
10
|
+
const [editingId, setEditingId] = useState(null);
|
|
11
|
+
const [editingValue, setEditingValue] = useState('');
|
|
12
|
+
const startEdit = (e) => {
|
|
13
|
+
setEditingId(e.id);
|
|
14
|
+
setEditingValue(e.name);
|
|
15
|
+
};
|
|
16
|
+
const cancelEdit = () => {
|
|
17
|
+
setEditingId(null);
|
|
18
|
+
setEditingValue('');
|
|
19
|
+
};
|
|
20
|
+
const commitEdit = (e) => {
|
|
21
|
+
const next = editingValue.trim();
|
|
22
|
+
setEditingId(null);
|
|
23
|
+
setEditingValue('');
|
|
24
|
+
if (next && next !== e.name) {
|
|
25
|
+
onRename?.(e, next);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const trailingActions = (onMove ? 1 : 0) + (onRename ? 1 : 0) + (onDelete ? 1 : 0);
|
|
29
|
+
const template = [
|
|
30
|
+
'1fr',
|
|
31
|
+
...columns.map((c) => c.width ?? DEFAULT_COL_WIDTH),
|
|
32
|
+
...(trailingActions > 0 ? [`${String(trailingActions * 36)}px`] : []),
|
|
33
|
+
].join(' ');
|
|
34
|
+
const { listRef, scrollMargin } = useScrollMargin(scrollParentRef);
|
|
35
|
+
const virtualizer = useVirtualizer({
|
|
36
|
+
count: entries.length,
|
|
37
|
+
getScrollElement: () => scrollParentRef.current,
|
|
38
|
+
estimateSize: () => ROW_ESTIMATE_LIST_PX,
|
|
39
|
+
overscan: 6,
|
|
40
|
+
scrollMargin,
|
|
41
|
+
getItemKey: (i) => {
|
|
42
|
+
const entry = entries[i];
|
|
43
|
+
return entry ? `${entry.kind}-${entry.id}` : `i-${String(i)}`;
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const virtualRows = virtualizer.getVirtualItems();
|
|
47
|
+
return (_jsxs("div", { className: "animate-fade-up overflow-hidden rounded-2xl border border-border bg-surface-elevated", children: [_jsxs("div", { className: "grid items-center gap-3 border-b border-border bg-surface-muted/60 px-4 py-2 text-[11.5px] font-medium uppercase tracking-wide text-muted-foreground", style: { gridTemplateColumns: template }, children: [_jsx("span", { children: nameHeader }), columns.map((c) => (_jsx("span", { className: c.mdOnly === false ? undefined : 'hidden md:block', children: c.header }, `h-${c.key}`))), trailingActions > 0 ? _jsx("span", { "aria-hidden": true }) : null] }), _jsx("div", { ref: listRef, role: "list", style: { height: `${String(virtualizer.getTotalSize())}px`, position: 'relative' }, children: virtualRows.map((virtualRow) => {
|
|
48
|
+
const e = entries[virtualRow.index];
|
|
49
|
+
if (!e)
|
|
50
|
+
return null;
|
|
51
|
+
const intrinsicallyDisabled = isEntryDisabled(e, disableFiles, disableFolders);
|
|
52
|
+
const isEditing = editingId === e.id;
|
|
53
|
+
const disabled = intrinsicallyDisabled || isEditing;
|
|
54
|
+
return (_jsx("div", { role: "listitem", "data-index": virtualRow.index, ref: virtualizer.measureElement, className: cn('group absolute left-0 right-0', virtualRow.index > 0 && 'border-t border-border'), style: {
|
|
55
|
+
transform: `translateY(${String(virtualRow.start - virtualizer.options.scrollMargin)}px)`,
|
|
56
|
+
}, children: _jsxs("div", { className: cn('grid w-full items-center gap-3 px-4 py-2 transition', (e.status === 'pending' || e.status === 'processing') &&
|
|
57
|
+
'animate-pulse ring-1 ring-inset ring-ring/30', disabled ? 'cursor-default' : 'hover:bg-secondary/60', isEditing && 'bg-secondary/50'), style: { gridTemplateColumns: template }, title: e.name, children: [_jsxs("div", { className: "flex min-w-0 items-center gap-3", children: [onToggleSelect && (_jsx("button", { type: "button", "aria-label": selectedIds?.has(e.id) ? `Deselect ${e.name}` : `Select ${e.name}`, onClick: (ev) => { ev.stopPropagation(); onToggleSelect(e, virtualRow.index, ev.shiftKey); }, className: cn('flex h-5 w-5 shrink-0 items-center justify-center rounded-md border transition', selectedIds?.has(e.id)
|
|
58
|
+
? 'border-foreground bg-foreground text-background opacity-100'
|
|
59
|
+
: 'border-border bg-background/80', isSelecting ? 'opacity-100' : 'opacity-0 group-hover:opacity-100'), children: selectedIds?.has(e.id) && (_jsx("svg", { viewBox: "0 0 24 24", className: "h-3 w-3", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) })), _jsx("span", { className: "flex-shrink-0 pr-1", children: renderLeading(e, 'sm') }), isEditing ? (_jsx("input", { type: "text", autoFocus: true, value: editingValue, onChange: (ev) => { setEditingValue(ev.target.value); }, onFocus: (ev) => { ev.target.select(); }, onClick: (ev) => { ev.stopPropagation(); }, onMouseDown: (ev) => { ev.stopPropagation(); }, onKeyDown: (ev) => {
|
|
60
|
+
if (ev.key === 'Enter') {
|
|
61
|
+
ev.preventDefault();
|
|
62
|
+
ev.stopPropagation();
|
|
63
|
+
commitEdit(e);
|
|
64
|
+
}
|
|
65
|
+
else if (ev.key === 'Escape') {
|
|
66
|
+
ev.preventDefault();
|
|
67
|
+
ev.stopPropagation();
|
|
68
|
+
cancelEdit();
|
|
69
|
+
}
|
|
70
|
+
}, onBlur: () => { commitEdit(e); }, maxLength: 255, className: "min-w-0 flex-1 truncate rounded-sm border border-ring/50 bg-background px-1.5 py-0.5 text-[13.5px] font-medium text-foreground outline-none focus:border-ring" })) : (_jsx("button", { type: "button", disabled: disabled, onClick: () => { onOpen?.(e); }, className: "flex min-w-0 items-center gap-3 text-left disabled:cursor-default", children: _jsx("span", { className: "truncate text-[13.5px] font-medium text-foreground", children: e.name }) }))] }), columns.map((c) => (_jsx("button", { type: "button", disabled: disabled, onClick: () => { onOpen?.(e); }, className: cn(c.mdOnly === false ? undefined : 'hidden md:block', 'truncate text-left tabular-nums text-[12px] text-muted-foreground disabled:cursor-default'), children: c.render ? c.render(e) : (e.columns?.[c.key] ?? '—') }, `c-${c.key}`))), trailingActions > 0 ? (_jsxs("div", { className: cn('flex items-center justify-end gap-0.5 transition', isEditing
|
|
71
|
+
? 'pointer-events-none opacity-0'
|
|
72
|
+
: 'opacity-0 group-hover:opacity-100 focus-within:opacity-100'), children: [onMove ? (_jsx("button", { type: "button", "aria-label": `Move ${e.name}`, title: "Move", onClick: (ev) => { ev.stopPropagation(); onMove(e); }, className: "grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition hover:bg-secondary hover:text-foreground", children: _jsx(FolderSymlink, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null, onRename ? (_jsx("button", { type: "button", "aria-label": `Rename ${e.name}`, title: "Rename", onClick: (ev) => { ev.stopPropagation(); startEdit(e); }, className: "grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition hover:bg-secondary hover:text-foreground", children: _jsx(Pencil, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null, onDelete ? (_jsx("button", { type: "button", "aria-label": `Delete ${e.name}`, title: "Delete", onClick: (ev) => { ev.stopPropagation(); onDelete(e); }, className: "grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-950/40", children: _jsx(Trash2, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })) : null] })) : null] }) }, virtualRow.key));
|
|
73
|
+
}) })] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=EntryList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryList.js","sourceRoot":"","sources":["../../../src/components/browser/EntryList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FolderCard.d.ts","sourceRoot":"","sources":["../../../src/components/browser/FolderCard.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,IAAW,EAAE,EAAE,KAAK,+BAgBhD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Folder } from 'lucide-react';
|
|
3
|
+
import { cn } from '../shared/cn.js';
|
|
4
|
+
export function FolderCard({ size = 'md' }) {
|
|
5
|
+
const isSm = size === 'sm';
|
|
6
|
+
return (_jsx("div", { "aria-hidden": true, className: cn('flex items-center justify-center', isSm ? 'h-9 w-9' : 'h-14 w-14'), children: _jsx(Folder, { strokeWidth: 1.5, className: cn('text-muted-foreground', isSm ? 'h-5 w-5' : 'h-10 w-10') }) }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=FolderCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FolderCard.js","sourceRoot":"","sources":["../../../src/components/browser/FolderCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAMrC,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,EAAS;IAC/C,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3B,OAAO,CACL,mCAEE,SAAS,EAAE,EAAE,CACX,kCAAkC,EAClC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAC/B,YAED,KAAC,MAAM,IACL,WAAW,EAAE,GAAG,EAChB,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GACtE,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BrowserEntry } from './types.js';
|
|
2
|
+
interface FolderRecord {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
parentId?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface MoveDialogProps {
|
|
8
|
+
entries: BrowserEntry[];
|
|
9
|
+
folders: FolderRecord[];
|
|
10
|
+
currentParentId: string | null;
|
|
11
|
+
onMove: (targetFolderId: string | null) => void;
|
|
12
|
+
onClose: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function MoveDialog({ entries, folders, currentParentId, onMove, onClose }: MoveDialogProps): import("react").ReactPortal | null;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=MoveDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveDialog.d.ts","sourceRoot":"","sources":["../../../src/components/browser/MoveDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAiBD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,sCA+RjG"}
|