@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.
Files changed (71) hide show
  1. package/dist/components/automations/AutomationListView.d.ts.map +1 -1
  2. package/dist/components/automations/AutomationListView.js +68 -31
  3. package/dist/components/automations/AutomationListView.js.map +1 -1
  4. package/dist/components/browser/EntryGrid.d.ts +17 -0
  5. package/dist/components/browser/EntryGrid.d.ts.map +1 -0
  6. package/dist/components/browser/EntryGrid.js +90 -0
  7. package/dist/components/browser/EntryGrid.js.map +1 -0
  8. package/dist/components/browser/EntryList.d.ts +19 -0
  9. package/dist/components/browser/EntryList.d.ts.map +1 -0
  10. package/dist/components/browser/EntryList.js +75 -0
  11. package/dist/components/browser/EntryList.js.map +1 -0
  12. package/dist/components/browser/FolderCard.d.ts +6 -0
  13. package/dist/components/browser/FolderCard.d.ts.map +1 -0
  14. package/dist/components/browser/FolderCard.js +8 -0
  15. package/dist/components/browser/FolderCard.js.map +1 -0
  16. package/dist/components/browser/MoveDialog.d.ts +16 -0
  17. package/dist/components/browser/MoveDialog.d.ts.map +1 -0
  18. package/dist/components/browser/MoveDialog.js +102 -0
  19. package/dist/components/browser/MoveDialog.js.map +1 -0
  20. package/dist/components/browser/NameDialog.d.ts +16 -0
  21. package/dist/components/browser/NameDialog.d.ts.map +1 -0
  22. package/dist/components/browser/NameDialog.js +76 -0
  23. package/dist/components/browser/NameDialog.js.map +1 -0
  24. package/dist/components/browser/SearchField.d.ts +11 -0
  25. package/dist/components/browser/SearchField.d.ts.map +1 -0
  26. package/dist/components/browser/SearchField.js +14 -0
  27. package/dist/components/browser/SearchField.js.map +1 -0
  28. package/dist/components/browser/ViewToggle.d.ts +8 -0
  29. package/dist/components/browser/ViewToggle.d.ts.map +1 -0
  30. package/dist/components/browser/ViewToggle.js +10 -0
  31. package/dist/components/browser/ViewToggle.js.map +1 -0
  32. package/dist/components/browser/constants.d.ts +4 -0
  33. package/dist/components/browser/constants.d.ts.map +1 -0
  34. package/dist/components/browser/constants.js +4 -0
  35. package/dist/components/browser/constants.js.map +1 -0
  36. package/dist/components/browser/types.d.ts +29 -0
  37. package/dist/components/browser/types.d.ts.map +1 -0
  38. package/dist/components/browser/types.js +2 -0
  39. package/dist/components/browser/types.js.map +1 -0
  40. package/dist/components/browser/utils.d.ts +8 -0
  41. package/dist/components/browser/utils.d.ts.map +1 -0
  42. package/dist/components/browser/utils.js +36 -0
  43. package/dist/components/browser/utils.js.map +1 -0
  44. package/dist/components/builder/v3/StepConfigPanel.js +3 -3
  45. package/dist/components/builder/v3/StepConfigPanel.js.map +1 -1
  46. package/dist/components/execution/ApprovalsView.d.ts +7 -0
  47. package/dist/components/execution/ApprovalsView.d.ts.map +1 -0
  48. package/dist/components/execution/ApprovalsView.js +133 -0
  49. package/dist/components/execution/ApprovalsView.js.map +1 -0
  50. package/dist/components/index.d.ts +4 -0
  51. package/dist/components/index.d.ts.map +1 -1
  52. package/dist/components/index.js +3 -0
  53. package/dist/components/index.js.map +1 -1
  54. package/dist/components/workflows/WorkflowBrowser.d.ts +14 -0
  55. package/dist/components/workflows/WorkflowBrowser.d.ts.map +1 -0
  56. package/dist/components/workflows/WorkflowBrowser.js +300 -0
  57. package/dist/components/workflows/WorkflowBrowser.js.map +1 -0
  58. package/dist/hooks/use-approval-count.d.ts +3 -0
  59. package/dist/hooks/use-approval-count.d.ts.map +1 -0
  60. package/dist/hooks/use-approval-count.js +29 -0
  61. package/dist/hooks/use-approval-count.js.map +1 -0
  62. package/dist/hooks/use-folder-list.d.ts +2 -1
  63. package/dist/hooks/use-folder-list.d.ts.map +1 -1
  64. package/dist/hooks/use-folder-list.js +7 -3
  65. package/dist/hooks/use-folder-list.js.map +1 -1
  66. package/dist/index.d.ts +5 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +6 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/styles.css +1 -1
  71. package/package.json +2 -1
@@ -0,0 +1,102 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useMemo } from 'react';
3
+ import { Check, ChevronRight, Folder, Search, X } from 'lucide-react';
4
+ import { createPortal } from 'react-dom';
5
+ import { cn } from '../shared/cn.js';
6
+ function getDescendantIds(id, folders) {
7
+ const result = new Set([id]);
8
+ const queue = [id];
9
+ while (queue.length > 0) {
10
+ const cur = queue.shift();
11
+ for (const f of folders) {
12
+ if (f.parentId === cur) {
13
+ result.add(f.id);
14
+ queue.push(f.id);
15
+ }
16
+ }
17
+ }
18
+ return result;
19
+ }
20
+ export function MoveDialog({ entries, folders, currentParentId, onMove, onClose }) {
21
+ // If any selected entry is a workflow, Root is not a valid destination
22
+ const hasFolderOnly = entries.every((e) => e.kind === 'folder');
23
+ const entry = entries[0]; // used for display title
24
+ const [query, setQuery] = useState('');
25
+ // Navigation path: array of {id, name} representing the drill-down trail.
26
+ // Empty = browsing root.
27
+ const [browsePath, setBrowsePath] = useState([]);
28
+ // Selected destination: undefined = nothing, null = root, string = folder id.
29
+ const [selected, setSelected] = useState(undefined);
30
+ const browsedFolderId = browsePath.at(-1)?.id ?? null;
31
+ const excludedIds = useMemo(() => {
32
+ const result = new Set();
33
+ for (const e of entries) {
34
+ if (e.kind === 'folder') {
35
+ for (const id of getDescendantIds(e.id, folders))
36
+ result.add(id);
37
+ }
38
+ }
39
+ return result;
40
+ }, [entries, folders]);
41
+ const hasChildren = (folderId) => folders.some((f) => f.parentId === folderId && !excludedIds.has(f.id));
42
+ // In search mode: flat filtered list. Otherwise: children of browsedFolderId.
43
+ const visibleFolders = useMemo(() => {
44
+ const q = query.trim().toLowerCase();
45
+ const pool = folders.filter((f) => !excludedIds.has(f.id));
46
+ if (q) {
47
+ return pool.filter((f) => f.name.toLowerCase().includes(q));
48
+ }
49
+ return pool.filter((f) => browsedFolderId ? f.parentId === browsedFolderId : !f.parentId);
50
+ }, [folders, excludedIds, query, browsedFolderId]);
51
+ const isCurrentLocation = (id) => id === currentParentId;
52
+ const selectedLabel = useMemo(() => {
53
+ if (selected === undefined)
54
+ return null;
55
+ if (selected === null)
56
+ return 'Root';
57
+ return folders.find((f) => f.id === selected)?.name ?? null;
58
+ }, [selected, folders]);
59
+ const canMove = selected !== undefined && selected !== currentParentId;
60
+ const drillInto = (folder) => {
61
+ setQuery('');
62
+ setBrowsePath((prev) => [...prev, { id: folder.id, name: folder.name }]);
63
+ };
64
+ const goToPathIndex = (index) => {
65
+ setBrowsePath((prev) => (index < 0 ? [] : prev.slice(0, index + 1)));
66
+ };
67
+ const handleBackdrop = (e) => {
68
+ if (e.target === e.currentTarget)
69
+ onClose();
70
+ };
71
+ if (typeof document === 'undefined')
72
+ return null;
73
+ return createPortal(_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center px-4", onMouseDown: handleBackdrop, children: [_jsx("div", { "aria-hidden": true, className: "absolute inset-0 bg-black/40 backdrop-blur-sm" }), _jsxs("div", { className: "relative z-10 flex w-full max-w-2xl flex-col overflow-hidden rounded-2xl border border-border bg-background shadow-2xl", children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [_jsx("h2", { className: "text-[15px] font-semibold text-foreground", children: entries.length === 1
74
+ ? _jsxs(_Fragment, { children: ["Move \u201C", entry.name, "\u201D"] })
75
+ : _jsxs(_Fragment, { children: ["Move ", entries.length, " items"] }) }), _jsx("button", { type: "button", onClick: onClose, className: "grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition hover:bg-secondary hover:text-foreground", children: _jsx(X, { className: "h-4 w-4", strokeWidth: 1.75 }) })] }), _jsx("div", { className: "border-t border-border" }), _jsx("div", { className: "px-6 py-4", children: _jsxs("div", { className: "flex items-center gap-2.5 rounded-full border border-border bg-surface-elevated px-4 py-2.5", children: [_jsx(Search, { className: "h-4 w-4 shrink-0 text-muted-foreground", strokeWidth: 1.75 }), _jsx("input", { autoFocus: true, type: "text", placeholder: "Search folders\u2026", value: query, onChange: (e) => { setQuery(e.target.value); }, className: "flex-1 bg-transparent text-[13.5px] text-foreground placeholder:text-muted-foreground/70 outline-none" }), query && (_jsx("button", { type: "button", onClick: () => { setQuery(''); }, className: "grid h-4 w-4 place-items-center text-muted-foreground transition hover:text-foreground", children: _jsx(X, { className: "h-3 w-3", strokeWidth: 2 }) }))] }) }), _jsx("div", { className: "border-t border-border" }), !query && browsePath.length > 0 && (_jsxs("div", { className: "flex items-center gap-1 border-b border-border px-6 py-2 text-[12px] text-muted-foreground", children: [_jsx("button", { type: "button", onClick: () => { goToPathIndex(-1); }, className: "rounded px-1 py-0.5 transition hover:bg-secondary hover:text-foreground", children: "Root" }), browsePath.map((seg, i) => {
76
+ const isLast = i === browsePath.length - 1;
77
+ return (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx("span", { className: "text-muted-foreground/50", children: "\u203A" }), isLast ? (_jsx("span", { className: "px-1 py-0.5 font-medium text-foreground", children: seg.name })) : (_jsx("button", { type: "button", onClick: () => { goToPathIndex(i); }, className: "rounded px-1 py-0.5 transition hover:bg-secondary hover:text-foreground", children: seg.name }))] }, seg.id));
78
+ })] })), _jsx("div", { className: "min-h-[200px] max-h-[360px] overflow-y-auto px-6 py-4", children: visibleFolders.length === 0 && !(hasFolderOnly && !query && browsePath.length === 0) ? (_jsx("div", { className: "flex h-40 items-center justify-center text-[13px] text-muted-foreground", children: query ? 'No folders match your search' : 'No folders here' })) : (_jsxs("div", { className: "grid grid-cols-2 gap-3", children: [hasFolderOnly && !query && browsePath.length === 0 && (() => {
79
+ const isCurrent = currentParentId === null;
80
+ const isSelected = selected === null;
81
+ return (_jsxs("button", { type: "button", disabled: isCurrent, onClick: () => { setSelected(isSelected ? undefined : null); }, className: cn('flex items-center gap-3 rounded-xl border px-4 py-3 text-left transition', isCurrent
82
+ ? 'cursor-default border-border opacity-40'
83
+ : isSelected
84
+ ? 'border-ring bg-secondary/60'
85
+ : 'border-border hover:border-ring/50 hover:bg-secondary/40'), children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg transition', isSelected ? 'bg-foreground/10' : 'bg-surface-muted'), children: isSelected
86
+ ? _jsx(Check, { className: "h-4 w-4 text-foreground", strokeWidth: 2 })
87
+ : _jsx(Folder, { className: "h-4 w-4 text-muted-foreground", strokeWidth: 1.5 }) }), _jsxs("span", { className: "truncate text-[13px] font-medium text-foreground", children: ["Root", isCurrent && _jsx("span", { className: "ml-1 text-[11px] font-normal text-muted-foreground", children: "(current)" })] })] }, "__root__"));
88
+ })(), visibleFolders.map((f) => {
89
+ const isCurrent = isCurrentLocation(f.id);
90
+ const isSelected = selected === f.id;
91
+ const hasKids = hasChildren(f.id);
92
+ return (_jsxs("div", { className: "flex overflow-hidden rounded-xl border border-border transition hover:border-ring/50", children: [_jsxs("button", { type: "button", disabled: isCurrent, onClick: () => { setSelected(isSelected ? undefined : f.id); }, className: cn('flex flex-1 items-center gap-3 px-4 py-3 text-left transition', isCurrent
93
+ ? 'cursor-default opacity-40'
94
+ : isSelected
95
+ ? 'bg-secondary/60'
96
+ : 'hover:bg-secondary/40'), children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg transition', isSelected ? 'bg-foreground/10' : 'bg-surface-muted'), children: isSelected ? (_jsx(Check, { className: "h-4 w-4 text-foreground", strokeWidth: 2 })) : (_jsx(Folder, { className: "h-4 w-4 text-muted-foreground", strokeWidth: 1.5 })) }), _jsxs("span", { className: "truncate text-[13px] font-medium text-foreground", children: [f.name, isCurrent && (_jsx("span", { className: "ml-1 text-[11px] font-normal text-muted-foreground", children: "(current)" }))] })] }), hasKids && (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-px self-stretch bg-border" }), _jsx("button", { type: "button", onClick: () => { drillInto(f); }, title: `Open ${f.name}`, className: "flex items-center px-3 text-muted-foreground/60 transition hover:bg-secondary/60 hover:text-foreground", children: _jsx(ChevronRight, { className: "h-4 w-4", strokeWidth: 1.75 }) })] }))] }, f.id));
97
+ })] })) }), _jsx("div", { className: "border-t border-border" }), _jsxs("div", { className: "flex items-center justify-between gap-4 px-6 py-4", children: [_jsx("p", { className: "min-w-0 truncate text-[13px] text-muted-foreground", children: selectedLabel
98
+ ? (_jsxs(_Fragment, { children: ["Moving to:", ' ', _jsx("span", { className: "font-medium text-foreground", children: selectedLabel })] }))
99
+ : (_jsx("span", { className: "italic", children: "Select a destination folder" })) }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx("button", { type: "button", onClick: onClose, className: "inline-flex h-9 items-center rounded-full border border-border px-4 text-[13px] text-foreground transition hover:bg-secondary", children: "Cancel" }), _jsx("button", { type: "button", disabled: !canMove, onClick: () => { if (selected !== undefined)
100
+ onMove(selected); }, className: "inline-flex h-9 items-center rounded-full bg-foreground px-5 text-[13px] font-medium text-background transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-40", children: "Move here" })] })] })] })] }), document.body);
101
+ }
102
+ //# sourceMappingURL=MoveDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoveDialog.js","sourceRoot":"","sources":["../../../src/components/browser/MoveDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ type Props = {
2
+ open: boolean;
3
+ title: string;
4
+ description?: string;
5
+ label: string;
6
+ placeholder?: string;
7
+ helper?: string;
8
+ submitLabel?: string;
9
+ initialValue?: string;
10
+ onSubmit: (name: string) => Promise<void> | void;
11
+ onClose: () => void;
12
+ maxLength?: number;
13
+ };
14
+ export declare function NameDialog({ open, title, description, label, placeholder, helper, submitLabel, initialValue, onSubmit, onClose, maxLength, }: Props): import("react").ReactPortal | null;
15
+ export {};
16
+ //# sourceMappingURL=NameDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NameDialog.d.ts","sourceRoot":"","sources":["../../../src/components/browser/NameDialog.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAsB,EACtB,YAAiB,EACjB,QAAQ,EACR,OAAO,EACP,SAAe,GAChB,EAAE,KAAK,sCA8KP"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef, useState } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { Loader2, X } from 'lucide-react';
5
+ import { cn } from '../shared/cn.js';
6
+ export function NameDialog({ open, title, description, label, placeholder, helper, submitLabel = 'Create', initialValue = '', onSubmit, onClose, maxLength = 255, }) {
7
+ const [value, setValue] = useState(initialValue);
8
+ const [error, setError] = useState(null);
9
+ const [busy, setBusy] = useState(false);
10
+ const inputRef = useRef(null);
11
+ const labelId = useId();
12
+ const descId = useId();
13
+ const helperId = useId();
14
+ const errorId = useId();
15
+ useEffect(() => {
16
+ if (open) {
17
+ setValue(initialValue);
18
+ setError(null);
19
+ setBusy(false);
20
+ }
21
+ }, [open, initialValue]);
22
+ useEffect(() => {
23
+ if (!open)
24
+ return undefined;
25
+ const id = window.setTimeout(() => {
26
+ inputRef.current?.focus();
27
+ inputRef.current?.select();
28
+ }, 10);
29
+ return () => { window.clearTimeout(id); };
30
+ }, [open]);
31
+ useEffect(() => {
32
+ if (!open)
33
+ return undefined;
34
+ const onKey = (e) => {
35
+ if (e.key === 'Escape' && !busy) {
36
+ e.stopPropagation();
37
+ onClose();
38
+ }
39
+ };
40
+ window.addEventListener('keydown', onKey);
41
+ return () => { window.removeEventListener('keydown', onKey); };
42
+ }, [open, busy, onClose]);
43
+ if (!open || typeof document === 'undefined')
44
+ return null;
45
+ const trimmed = value.trim();
46
+ const isValid = trimmed.length > 0 && trimmed.length <= maxLength;
47
+ const handleSubmit = async () => {
48
+ if (!isValid || busy)
49
+ return;
50
+ setBusy(true);
51
+ setError(null);
52
+ try {
53
+ await onSubmit(trimmed);
54
+ }
55
+ catch (err) {
56
+ const msg = err instanceof Error ? err.message : 'Something went wrong';
57
+ setError(msg);
58
+ setBusy(false);
59
+ }
60
+ };
61
+ const onBackdropMouseDown = (e) => {
62
+ if (e.target === e.currentTarget && !busy)
63
+ onClose();
64
+ };
65
+ const describedBy = [description ? descId : null, helper ? helperId : null, error ? errorId : null]
66
+ .filter((x) => x !== null)
67
+ .join(' ');
68
+ return createPortal(_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center px-4", role: "presentation", onMouseDown: onBackdropMouseDown, children: [_jsx("div", { "aria-hidden": true, className: "absolute inset-0 bg-black/50 backdrop-blur-sm animate-fade-in" }), _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-labelledby": labelId, "aria-describedby": describedBy || undefined, className: cn('relative z-10 w-full max-w-[420px] overflow-hidden rounded-2xl border border-border bg-surface-elevated shadow-2xl', 'animate-scale-in'), onMouseDown: (e) => { e.stopPropagation(); }, children: [_jsxs("div", { className: "flex items-start justify-between gap-3 px-5 pb-2 pt-4", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { id: labelId, className: "text-[15px] font-semibold leading-tight text-foreground", children: title }), description ? (_jsx("p", { id: descId, className: "mt-1 text-[12.5px] leading-snug text-muted-foreground", children: description })) : null] }), _jsx("button", { type: "button", "aria-label": "Close", disabled: busy, onClick: onClose, className: "grid h-7 w-7 flex-shrink-0 place-items-center rounded-md text-muted-foreground transition hover:bg-secondary hover:text-foreground disabled:opacity-40", children: _jsx(X, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })] }), _jsxs("form", { onSubmit: (e) => { e.preventDefault(); void handleSubmit(); }, className: "px-5 pb-4 pt-2", children: [_jsx("label", { htmlFor: `${labelId}-input`, className: "mb-1.5 block text-[12px] font-medium text-foreground", children: label }), _jsx("input", { id: `${labelId}-input`, ref: inputRef, type: "text", value: value, disabled: busy, maxLength: maxLength, placeholder: placeholder, "aria-invalid": error !== null, "aria-describedby": describedBy || undefined, onChange: (e) => {
69
+ setValue(e.target.value);
70
+ if (error)
71
+ setError(null);
72
+ }, className: cn('block w-full rounded-lg border bg-surface px-3 py-2 text-[13.5px] text-foreground transition placeholder:text-muted-foreground/70 focus:outline-none focus:ring-2 disabled:opacity-60', error
73
+ ? 'border-red-400 focus:border-red-500 focus:ring-red-500/30 dark:border-red-700/60'
74
+ : 'border-border focus:border-ring focus:ring-ring/30') }), error ? (_jsx("p", { id: errorId, role: "alert", className: "mt-1.5 text-[11.5px] leading-snug text-red-600 dark:text-red-400", children: error })) : helper ? (_jsx("p", { id: helperId, className: "mt-1.5 text-[11.5px] leading-snug text-muted-foreground", children: helper })) : null, _jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [_jsx("button", { type: "button", onClick: onClose, disabled: busy, className: "inline-flex h-8 items-center rounded-md px-3 text-[12.5px] text-muted-foreground transition hover:bg-secondary hover:text-foreground disabled:opacity-50", children: "Cancel" }), _jsxs("button", { type: "submit", disabled: !isValid || busy, className: cn('inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-[12.5px] font-medium transition', 'bg-foreground text-background hover:opacity-90', 'disabled:cursor-not-allowed disabled:opacity-50'), children: [busy ? _jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin", strokeWidth: 1.75 }) : null, submitLabel] })] })] })] })] }), document.body);
75
+ }
76
+ //# sourceMappingURL=NameDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NameDialog.js","sourceRoot":"","sources":["../../../src/components/browser/NameDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type Props = {
2
+ value: string;
3
+ onChange: (next: string) => void;
4
+ placeholder?: string;
5
+ autoFocus?: boolean;
6
+ className?: string;
7
+ ariaLabel?: string;
8
+ };
9
+ export declare function SearchField({ value, onChange, placeholder, autoFocus, className, ariaLabel, }: Props): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=SearchField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../../../src/components/browser/SearchField.tsx"],"names":[],"mappings":"AAIA,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,WAAsB,EACtB,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,KAAK,+BAmCP"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Search, X } from 'lucide-react';
3
+ import { useEffect, useRef } from 'react';
4
+ import { cn } from '../shared/cn.js';
5
+ export function SearchField({ value, onChange, placeholder = 'Search', autoFocus, className, ariaLabel, }) {
6
+ const inputRef = useRef(null);
7
+ useEffect(() => {
8
+ if (autoFocus) {
9
+ inputRef.current?.focus();
10
+ }
11
+ }, [autoFocus]);
12
+ return (_jsxs("div", { className: cn('relative flex items-center', className), children: [_jsx(Search, { className: "pointer-events-none absolute left-2.5 h-3.5 w-3.5 text-muted-foreground", "aria-hidden": true, strokeWidth: 1.75 }), _jsx("input", { ref: inputRef, type: "search", value: value, onChange: (e) => { onChange(e.target.value); }, placeholder: placeholder, "aria-label": ariaLabel ?? placeholder, className: "h-8 w-full rounded-full border border-border bg-surface-elevated pl-7 pr-7 text-[12.5px] text-foreground placeholder:text-muted-foreground/80 focus:border-ring focus:outline-none [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden" }), value !== '' ? (_jsx("button", { type: "button", "aria-label": "Clear search", onClick: () => { onChange(''); }, className: "absolute right-2 grid h-4 w-4 place-items-center rounded-full text-muted-foreground transition hover:text-foreground", children: _jsx(X, { className: "h-3 w-3", "aria-hidden": true, strokeWidth: 2 }) })) : null] }));
13
+ }
14
+ //# sourceMappingURL=SearchField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField.js","sourceRoot":"","sources":["../../../src/components/browser/SearchField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAWrC,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,WAAW,GAAG,QAAQ,EACtB,SAAS,EACT,SAAS,EACT,SAAS,GACH;IACN,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,GAAS,EAAE;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,aACzD,KAAC,MAAM,IACL,SAAS,EAAC,yEAAyE,uBAEnF,WAAW,EAAE,IAAI,GACjB,EACF,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9C,WAAW,EAAE,WAAW,gBACZ,SAAS,IAAI,WAAW,EACpC,SAAS,EAAC,mQAAmQ,GAC7Q,EACD,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CACd,iBACE,IAAI,EAAC,QAAQ,gBACF,cAAc,EACzB,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAChC,SAAS,EAAC,sHAAsH,YAEhI,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,uBAAa,WAAW,EAAE,CAAC,GAAI,GAC9C,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ViewMode } from './types.js';
2
+ type Props = {
3
+ value: ViewMode;
4
+ onChange: (mode: ViewMode) => void;
5
+ };
6
+ export declare function ViewToggle({ value, onChange }: Props): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ViewToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewToggle.d.ts","sourceRoot":"","sources":["../../../src/components/browser/ViewToggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,+BAmCpD"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LayoutGrid, List } from 'lucide-react';
3
+ export function ViewToggle({ value, onChange }) {
4
+ return (_jsxs("div", { role: "group", "aria-label": "View mode", className: "inline-flex items-center rounded-full border border-border bg-surface-elevated p-0.5", children: [_jsx("button", { type: "button", "aria-label": "Grid view", "aria-pressed": value === 'grid', onClick: () => { onChange('grid'); }, className: value === 'grid'
5
+ ? 'inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary text-foreground'
6
+ : 'inline-flex h-7 w-7 items-center justify-center rounded-full text-muted-foreground transition hover:text-foreground', children: _jsx(LayoutGrid, { className: "h-3.5 w-3.5", "aria-hidden": true, strokeWidth: 1.75 }) }), _jsx("button", { type: "button", "aria-label": "List view", "aria-pressed": value === 'list', onClick: () => { onChange('list'); }, className: value === 'list'
7
+ ? 'inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary text-foreground'
8
+ : 'inline-flex h-7 w-7 items-center justify-center rounded-full text-muted-foreground transition hover:text-foreground', children: _jsx(List, { className: "h-3.5 w-3.5", "aria-hidden": true, strokeWidth: 1.75 }) })] }));
9
+ }
10
+ //# sourceMappingURL=ViewToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewToggle.js","sourceRoot":"","sources":["../../../src/components/browser/ViewToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQhD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS;IACnD,OAAO,CACL,eACE,IAAI,EAAC,OAAO,gBACD,WAAW,EACtB,SAAS,EAAC,sFAAsF,aAEhG,iBACE,IAAI,EAAC,QAAQ,gBACF,WAAW,kBACR,KAAK,KAAK,MAAM,EAC9B,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACpC,SAAS,EACP,KAAK,KAAK,MAAM;oBACd,CAAC,CAAC,2FAA2F;oBAC7F,CAAC,CAAC,qHAAqH,YAG3H,KAAC,UAAU,IAAC,SAAS,EAAC,aAAa,uBAAa,WAAW,EAAE,IAAI,GAAI,GAC9D,EACT,iBACE,IAAI,EAAC,QAAQ,gBACF,WAAW,kBACR,KAAK,KAAK,MAAM,EAC9B,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACpC,SAAS,EACP,KAAK,KAAK,MAAM;oBACd,CAAC,CAAC,2FAA2F;oBAC7F,CAAC,CAAC,qHAAqH,YAG3H,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,uBAAa,WAAW,EAAE,IAAI,GAAI,GACxD,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_COL_WIDTH = "120px";
2
+ export declare const ROW_ESTIMATE_LIST_PX = 64;
3
+ export declare const ROW_ESTIMATE_GRID_PX = 168;
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/browser/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,oBAAoB,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const DEFAULT_COL_WIDTH = '120px';
2
+ export const ROW_ESTIMATE_LIST_PX = 64;
3
+ export const ROW_ESTIMATE_GRID_PX = 168;
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/browser/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { ReactNode } from 'react';
2
+ export type FileEntry = {
3
+ kind: 'file';
4
+ id: string;
5
+ name: string;
6
+ format: string;
7
+ caption?: string;
8
+ columns?: Readonly<Record<string, string>>;
9
+ status?: string;
10
+ };
11
+ export type FolderEntry = {
12
+ kind: 'folder';
13
+ id: string;
14
+ name: string;
15
+ caption?: string;
16
+ columns?: Readonly<Record<string, string>>;
17
+ status?: string;
18
+ };
19
+ export type BrowserEntry = FileEntry | FolderEntry;
20
+ export type ColumnDef = {
21
+ key: string;
22
+ header: string;
23
+ width?: string;
24
+ render?: (entry: BrowserEntry) => ReactNode;
25
+ mdOnly?: boolean;
26
+ };
27
+ export type LeadingRenderer = (entry: BrowserEntry, size: 'sm' | 'md') => ReactNode;
28
+ export type ViewMode = 'grid' | 'list';
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/browser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC;AAEpF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/browser/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { BrowserEntry, LeadingRenderer } from './types.js';
2
+ export declare const defaultLeading: LeadingRenderer;
3
+ export declare function isEntryDisabled(entry: BrowserEntry, disableFiles: boolean, disableFolders: boolean): boolean;
4
+ export declare function useScrollMargin(scrollParentRef: React.RefObject<HTMLElement | null>): {
5
+ listRef: React.RefObject<HTMLDivElement | null>;
6
+ scrollMargin: number;
7
+ };
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/browser/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,cAAc,EAAE,eACgC,CAAC;AAE9D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAKT;AAED,wBAAgB,eAAe,CAC7B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GACnD;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB,CA0BA"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useLayoutEffect, useRef, useState } from 'react';
3
+ import { FolderCard } from './FolderCard.js';
4
+ export const defaultLeading = (entry, size) => entry.kind === 'folder' ? _jsx(FolderCard, { size: size }) : null;
5
+ export function isEntryDisabled(entry, disableFiles, disableFolders) {
6
+ return ((entry.kind === 'file' && disableFiles) ||
7
+ (entry.kind === 'folder' && disableFolders));
8
+ }
9
+ export function useScrollMargin(scrollParentRef) {
10
+ const listRef = useRef(null);
11
+ const [scrollMargin, setScrollMargin] = useState(0);
12
+ useLayoutEffect(() => {
13
+ const list = listRef.current;
14
+ const scroller = scrollParentRef.current;
15
+ if (!list || !scroller) {
16
+ return undefined;
17
+ }
18
+ const measure = () => {
19
+ const lr = list.getBoundingClientRect();
20
+ const sr = scroller.getBoundingClientRect();
21
+ const next = lr.top - sr.top + scroller.scrollTop;
22
+ setScrollMargin((prev) => (prev === next ? prev : next));
23
+ };
24
+ measure();
25
+ const ro = new ResizeObserver(measure);
26
+ ro.observe(scroller);
27
+ if (list.parentElement) {
28
+ ro.observe(list.parentElement);
29
+ }
30
+ return () => {
31
+ ro.disconnect();
32
+ };
33
+ }, [scrollParentRef]);
34
+ return { listRef, scrollMargin };
35
+ }
36
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/browser/utils.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC7D,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAE9D,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,YAAqB,EACrB,cAAuB;IAEvB,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC;QACvC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,eAAoD;IAKpD,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,eAAe,CAAC,GAA6B,EAAE;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;YAClD,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAS,EAAE;YAChB,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACnC,CAAC"}
@@ -45,7 +45,7 @@ export function StepConfigPanel({ step, config, category, icon, onUpdateConfig,
45
45
  return new Set(Object.keys(branches).map((k) => k.split('.')[0]));
46
46
  }, [stepConfig, descriptor?.configSchema]);
47
47
  const visibleFields = useMemo(() => fields.filter((f) => !branchTopKeys.has(f.path)), [fields, branchTopKeys]);
48
- return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-b border-slate-100 px-5 py-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: displayName }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category ?? step.type })] })] })] }), _jsxs("div", { className: "mt-3 flex items-center gap-2 rounded-md bg-slate-50 px-3 py-1.5", children: [_jsx("span", { className: "text-[10px] text-slate-400 font-medium", children: "Ref" }), _jsx("code", { className: "text-[11px] font-mono text-indigo-500 select-all", children: `{{${step.id}.output}}` })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: [issues && issues.length > 0 && (_jsxs("div", { className: "mb-4 rounded-lg border border-red-200 bg-red-50 p-3", "data-testid": "step-issues", children: [_jsxs("div", { className: "mb-1 flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-widest text-red-600", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }), _jsx("path", { d: "M12 9v4" }), _jsx("path", { d: "M12 17h.01" })] }), issues.length, " ", issues.length === 1 ? 'issue' : 'issues'] }), _jsx("ul", { className: "space-y-0.5 text-[12px] text-red-700", children: issues.map((iss, i) => (_jsxs("li", { children: [iss.location?.field && _jsxs("span", { className: "font-mono text-[11px] text-red-500", children: [iss.location.field, ": "] }), iss.message] }, i))) })] })), onUpdateMeta && !readOnly && (_jsxs("div", { className: "mb-5 space-y-3 rounded-lg border border-slate-100 bg-slate-50/50 p-3", children: [_jsx("h4", { className: "text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Annotations" }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Title" }), _jsx("input", { type: "text", value: step.title ?? '', onChange: (e) => onUpdateMeta({ title: e.target.value }), placeholder: displayName, className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Description" }), _jsx("textarea", { value: step.description ?? '', onChange: (e) => onUpdateMeta({ description: e.target.value }), rows: 2, placeholder: "What this step does\u2026", className: "w-full resize-y rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Group" }), _jsxs("select", { value: step.groupId ?? '', onChange: (e) => {
48
+ return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-b border-slate-100 px-5 py-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: displayName }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category ?? step.type })] })] })] }), _jsxs("div", { className: "mt-3 flex items-center gap-2 rounded-md bg-slate-50 px-3 py-1.5", children: [_jsx("span", { className: "text-[10px] text-slate-400 font-medium", children: "Ref" }), _jsx("code", { className: "text-[11px] font-mono text-indigo-500 select-all", children: `{{${step.id}.output}}` })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: [issues && issues.length > 0 && (_jsxs("div", { className: "mb-4 rounded-lg border border-red-200 bg-red-50 p-3", "data-testid": "step-issues", children: [_jsxs("div", { className: "mb-1 flex items-center gap-1.5 text-[11px] font-bold uppercase tracking-widest text-red-600", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }), _jsx("path", { d: "M12 9v4" }), _jsx("path", { d: "M12 17h.01" })] }), issues.length, " ", issues.length === 1 ? 'issue' : 'issues'] }), _jsx("ul", { className: "space-y-0.5 text-[12px] text-red-700", children: issues.map((iss, i) => (_jsxs("li", { children: [iss.location?.field && _jsxs("span", { className: "font-mono text-[11px] text-red-500", children: [iss.location.field, ": "] }), iss.message] }, i))) })] })), onUpdateMeta && !readOnly && (_jsxs("div", { className: "mb-5 space-y-3 rounded-lg border border-slate-100 bg-slate-50/50 p-3", children: [_jsx("h4", { className: "text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Annotations" }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Title" }), _jsx("input", { type: "text", value: step.title ?? '', onChange: (e) => onUpdateMeta({ title: e.target.value }), placeholder: displayName, className: "w-full rounded-md border border-slate-200 bg-white px-2.5 py-1.5 text-[12px] text-slate-800 placeholder:text-slate-400 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Description" }), _jsx("textarea", { value: step.description ?? '', onChange: (e) => onUpdateMeta({ description: e.target.value }), rows: 2, placeholder: "What this step does\u2026", className: "w-full resize-y rounded-md border border-slate-200 bg-white px-2.5 py-1.5 text-[12px] text-slate-800 placeholder:text-slate-400 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Group" }), _jsxs("select", { value: step.groupId ?? '', onChange: (e) => {
49
49
  const v = e.target.value;
50
50
  if (v === '__new__') {
51
51
  const id = genGroupId();
@@ -55,9 +55,9 @@ export function StepConfigPanel({ step, config, category, icon, onUpdateConfig,
55
55
  else {
56
56
  onUpdateMeta({ groupId: v || null });
57
57
  }
58
- }, className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] bg-white outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100", children: [_jsx("option", { value: "", children: "No group" }), (groups ?? []).map((g) => (_jsx("option", { value: g.id, children: g.title }, g.id))), _jsx("option", { value: "__new__", children: "\uFF0B Create group\u2026" })] }), step.groupId && onUpsertGroup && (() => {
58
+ }, className: "w-full rounded-md border border-slate-200 bg-white px-2.5 py-1.5 text-[12px] text-slate-800 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100", children: [_jsx("option", { value: "", children: "No group" }), (groups ?? []).map((g) => (_jsx("option", { value: g.id, children: g.title }, g.id))), _jsx("option", { value: "__new__", children: "\uFF0B Create group\u2026" })] }), step.groupId && onUpsertGroup && (() => {
59
59
  const current = (groups ?? []).find((g) => g.id === step.groupId);
60
- return current ? (_jsxs("div", { className: "mt-2 space-y-1.5 rounded-md border border-slate-200 bg-white p-2", children: [_jsx("span", { className: "block text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Group details" }), _jsx("input", { type: "text", value: current.title, onChange: (e) => onUpsertGroup({ ...current, title: e.target.value }), placeholder: "Group title", className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" }), _jsx("textarea", { value: current.description ?? '', onChange: (e) => onUpsertGroup({ ...current, description: e.target.value }), rows: 2, placeholder: "What this group of steps does\u2026", className: "w-full resize-y rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] })) : null;
60
+ return current ? (_jsxs("div", { className: "mt-2 space-y-1.5 rounded-md border border-slate-200 bg-white p-2", children: [_jsx("span", { className: "block text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Group details" }), _jsx("input", { type: "text", value: current.title, onChange: (e) => onUpsertGroup({ ...current, title: e.target.value }), placeholder: "Group title", className: "w-full rounded-md border border-slate-200 bg-white px-2.5 py-1.5 text-[12px] text-slate-800 placeholder:text-slate-400 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" }), _jsx("textarea", { value: current.description ?? '', onChange: (e) => onUpsertGroup({ ...current, description: e.target.value }), rows: 2, placeholder: "What this group of steps does\u2026", className: "w-full resize-y rounded-md border border-slate-200 bg-white px-2.5 py-1.5 text-[12px] text-slate-800 placeholder:text-slate-400 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] })) : null;
61
61
  })()] })] })), isConditional ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-1 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Condition" }), _jsx("p", { className: "mb-3 text-[11px] text-slate-400", children: "Define when the true branch executes" }), _jsx(ConditionEditorPanel, { condition: stepConfig['condition'] ?? defaultCondition(), onChange: (c) => onUpdateConfig({ ...stepConfig, condition: c }), config: config, atStepId: step.id, readOnly: readOnly })] })) : isSwitch ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-1 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Switch Cases" }), _jsx("p", { className: "mb-3 text-[11px] text-slate-400", children: "Route to the first matching case" }), _jsx(SwitchCaseEditor, { cases: stepConfig['cases'] ?? [], onChange: (c) => onUpdateConfig({ ...stepConfig, cases: c }), config: config, atStepId: step.id, readOnly: readOnly })] })) : isLoading ? (_jsx("div", { className: "flex justify-center py-12", children: _jsx(LoadingSpinner, { size: "md" }) })) : visibleFields.length > 0 ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-3 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Configuration" }), _jsx(EnhancedSchemaFormRenderer, { fields: visibleFields, values: values, errors: mergedErrors, onChange: (path, value) => setFieldValue(path, value), config: config, atStepId: step.id, readOnly: readOnly })] })) : (_jsxs("div", { className: "flex flex-col items-center py-12 text-center", children: [_jsx("div", { className: "mb-3 flex h-10 w-10 items-center justify-center rounded-full bg-slate-50 ring-1 ring-slate-100", children: _jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", className: "text-slate-300", strokeLinecap: "round", children: [_jsx("path", { d: "M12 8v4l3 3" }), _jsx("circle", { cx: "12", cy: "12", r: "10" })] }) }), _jsx("p", { className: "text-[13px] font-medium text-slate-400", children: "No configuration needed" }), _jsx("p", { className: "mt-1 text-[11px] text-slate-300", children: "This step works with default settings" })] }))] }), !readOnly && (_jsxs("div", { className: "flex gap-2 border-t border-slate-100 px-5 py-3", children: [_jsxs("button", { onClick: onToggleDisabled, className: cn('flex items-center justify-center gap-1.5 rounded-lg border px-3 py-2 text-[12px] font-medium transition-all', isDisabled
62
62
  ? 'border-emerald-200 text-emerald-600 hover:bg-emerald-50'
63
63
  : 'border-slate-200 text-slate-500 hover:bg-slate-50 hover:border-slate-300'), children: [_jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: isDisabled
@@ -1 +1 @@
1
- {"version":3,"file":"StepConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StepConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface ApprovalsViewProps {
2
+ onCountChange?: (count: number) => void;
3
+ onViewRun?: (executionId: string, workflowName: string) => void;
4
+ className?: string;
5
+ }
6
+ export declare function ApprovalsView({ onCountChange, onViewRun, className }: ApprovalsViewProps): import("react").JSX.Element;
7
+ //# sourceMappingURL=ApprovalsView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalsView.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ApprovalsView.tsx"],"names":[],"mappings":"AAmGA,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BAwExF"}