@xyne/workflow-ui 0.2.0 → 0.3.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/AutomationCard.d.ts +8 -2
- package/dist/components/automations/AutomationCard.d.ts.map +1 -1
- package/dist/components/automations/AutomationCard.js +12 -2
- package/dist/components/automations/AutomationCard.js.map +1 -1
- package/dist/components/automations/AutomationListView.d.ts.map +1 -1
- package/dist/components/automations/AutomationListView.js +106 -7
- package/dist/components/automations/AutomationListView.js.map +1 -1
- package/dist/components/automations/CreateWorkflowDialog.d.ts +8 -2
- package/dist/components/automations/CreateWorkflowDialog.d.ts.map +1 -1
- package/dist/components/automations/CreateWorkflowDialog.js +26 -3
- package/dist/components/automations/CreateWorkflowDialog.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-folder-list.d.ts +13 -0
- package/dist/hooks/use-folder-list.d.ts.map +1 -0
- package/dist/hooks/use-folder-list.js +48 -0
- package/dist/hooks/use-folder-list.js.map +1 -0
- package/dist/hooks/use-workflow-counts.d.ts +12 -0
- package/dist/hooks/use-workflow-counts.d.ts.map +1 -0
- package/dist/hooks/use-workflow-counts.js +35 -0
- package/dist/hooks/use-workflow-counts.js.map +1 -0
- package/dist/hooks/use-workflow-list.d.ts +10 -1
- package/dist/hooks/use-workflow-list.d.ts.map +1 -1
- package/dist/hooks/use-workflow-list.js +15 -3
- package/dist/hooks/use-workflow-list.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import type { WorkflowRecord } from '@xyne/workflow-sdk/client';
|
|
1
|
+
import type { WorkflowRecord, FolderRecord } from '@xyne/workflow-sdk/client';
|
|
2
2
|
export interface AutomationCardProps {
|
|
3
3
|
workflow: WorkflowRecord;
|
|
4
4
|
onClick: () => void;
|
|
5
5
|
onRun?: (() => void) | undefined;
|
|
6
|
+
/** Folders available to move this workflow into. Enables the move control. */
|
|
7
|
+
folders?: FolderRecord[] | undefined;
|
|
8
|
+
/** Move this workflow to another folder. */
|
|
9
|
+
onMove?: ((folderId: string) => void) | undefined;
|
|
10
|
+
/** Visual layout: a grid card (default) or a compact list row. */
|
|
11
|
+
layout?: 'card' | 'row' | undefined;
|
|
6
12
|
}
|
|
7
|
-
export declare function AutomationCard({ workflow, onClick, onRun }: AutomationCardProps): import("react").JSX.Element;
|
|
13
|
+
export declare function AutomationCard({ workflow, onClick, onRun, folders, onMove, layout }: AutomationCardProps): import("react").JSX.Element;
|
|
8
14
|
//# sourceMappingURL=AutomationCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationCard.d.ts","sourceRoot":"","sources":["../../../src/components/automations/AutomationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"AutomationCard.d.ts","sourceRoot":"","sources":["../../../src/components/automations/AutomationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAgF9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACrC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;CACrC;AAID,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAe,EAAE,EAAE,mBAAmB,+BA2IjH"}
|
|
@@ -40,16 +40,26 @@ function TriggerIcon({ type }) {
|
|
|
40
40
|
return (_jsxs("span", { className: cn('flex h-5 w-5 shrink-0 items-center justify-center rounded-full', colorClass), title: `${title} trigger`, "aria-label": `${title} trigger`, children: [type.toLowerCase() === 'webhook' && (_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("path", { d: "M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2" }), _jsx("path", { d: "m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06" }), _jsx("path", { d: "m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8" })] })), type.toLowerCase() === 'cron' && (_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("polyline", { points: "12 6 12 12 16 14" })] })), type.toLowerCase() === 'event' && (_jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M13 2 3 14h9l-1 8 10-12h-9l1-8z" }) })), type.toLowerCase() === 'manual' && (_jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) })), !['manual', 'webhook', 'cron', 'event'].includes(type.toLowerCase()) && (_jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("circle", { cx: "12", cy: "12", r: "3" }) }))] }));
|
|
41
41
|
}
|
|
42
42
|
// ─── Component ────────────────────────────────────────────────────────────────
|
|
43
|
-
export function AutomationCard({ workflow, onClick, onRun }) {
|
|
43
|
+
export function AutomationCard({ workflow, onClick, onRun, folders, onMove, layout = 'card' }) {
|
|
44
44
|
const meta = safeParseMeta(workflow.metadata);
|
|
45
45
|
const config = safeParseConfig(workflow.config);
|
|
46
46
|
const name = meta.name ?? workflow.id;
|
|
47
47
|
const stepCount = config.steps?.length ?? 0;
|
|
48
48
|
const triggerType = config.trigger?.type ?? 'Unknown';
|
|
49
49
|
const variant = statusToVariant(workflow.status);
|
|
50
|
+
const moveControl = folders && onMove ? (_jsx("select", { value: workflow.folderId, onClick: (e) => e.stopPropagation(), onChange: (e) => { e.stopPropagation(); onMove(e.target.value); }, title: "Move to folder", "aria-label": `Move ${name} to folder`, className: cn('max-w-[8rem] truncate rounded-[var(--wui-radius)] px-1.5 py-1 text-xs', 'border border-[var(--wui-border)] bg-[var(--wui-bg-subtle)] text-[var(--wui-fg-muted)]', 'outline-none focus-visible:ring-2 focus-visible:ring-[var(--wui-primary)]'), children: folders.map((f) => (_jsx("option", { value: f.id, children: f.name }, f.id))) })) : null;
|
|
51
|
+
const runControl = onRun ? (_jsxs("button", { type: "button", onClick: (e) => { e.stopPropagation(); onRun(); }, className: cn('flex items-center gap-1.5 rounded-[var(--wui-radius)] px-2.5 py-1', 'text-xs font-medium text-[var(--wui-fg-muted)]', 'border border-[var(--wui-border)] bg-[var(--wui-bg-subtle)]', 'transition-colors hover:border-[var(--wui-primary)] hover:text-[var(--wui-primary)]', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--wui-primary)]'), "aria-label": `Run ${name}`, children: [_jsx("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }), "Run"] })) : null;
|
|
52
|
+
// ─── List row layout ───
|
|
53
|
+
if (layout === 'row') {
|
|
54
|
+
return (_jsxs("div", { role: "button", tabIndex: 0, onClick: onClick, onKeyDown: (e) => { if (e.key === 'Enter' || e.key === ' ') {
|
|
55
|
+
e.preventDefault();
|
|
56
|
+
onClick();
|
|
57
|
+
} }, className: cn('group flex items-center gap-3 border-b border-[var(--wui-border)] px-4 py-2.5 text-left outline-none', 'cursor-pointer transition-colors hover:bg-[var(--wui-bg-subtle)]', 'focus-visible:ring-2 focus-visible:ring-[var(--wui-primary)] focus-visible:ring-inset'), children: [_jsx(TriggerIcon, { type: triggerType }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm font-medium text-[var(--wui-fg)]", title: name, children: name }), _jsx("span", { className: "hidden w-24 shrink-0 truncate text-xs text-[var(--wui-fg-muted)] sm:block", children: triggerType.charAt(0).toUpperCase() + triggerType.slice(1).toLowerCase() }), _jsxs("span", { className: "hidden w-16 shrink-0 text-xs text-[var(--wui-fg-muted)] md:block", children: [stepCount, " ", stepCount === 1 ? 'step' : 'steps'] }), _jsx("span", { className: "w-20 shrink-0", children: _jsx(StatusBadge, { status: variant, label: workflow.status }) }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [moveControl, runControl] })] }));
|
|
58
|
+
}
|
|
59
|
+
// ─── Grid card layout (default) ───
|
|
50
60
|
return (_jsxs("article", { role: "button", tabIndex: 0, onClick: onClick, onKeyDown: (e) => { if (e.key === 'Enter' || e.key === ' ') {
|
|
51
61
|
e.preventDefault();
|
|
52
62
|
onClick();
|
|
53
|
-
} }, className: cn('group relative flex flex-col gap-3 rounded-xl border border-[var(--wui-border)]', 'bg-[var(--wui-bg)] p-4 text-left outline-none', 'cursor-pointer transition-all duration-150', 'hover:shadow-[var(--wui-shadow-sm)] hover:-translate-y-px', 'focus-visible:ring-2 focus-visible:ring-[var(--wui-primary)] focus-visible:ring-offset-2'), children: [_jsxs("div", { className: "flex items-start gap-2.5", children: [_jsx(TriggerIcon, { type: triggerType }), _jsx("h3", { className: "flex-1 truncate text-sm font-semibold leading-tight text-[var(--wui-fg)]", title: name, children: name })] }), _jsxs("div", { className: "flex items-center gap-3 text-xs text-[var(--wui-fg-muted)]", children: [_jsxs("span", { className: "flex items-center gap-1", children: [_jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "m9 18 6-6-6-6" }) }), triggerType.charAt(0).toUpperCase() + triggerType.slice(1).toLowerCase()] }), _jsx("span", { className: "text-[var(--wui-border)]", children: "\u00B7" }), _jsxs("span", { className: "flex items-center gap-1", children: [_jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M3 9h18M9 21V9" })] }), stepCount, " ", stepCount === 1 ? 'step' : 'steps'] })] }), _jsxs("div", { className: "flex items-center justify-between gap-2 pt-1", children: [_jsx(StatusBadge, { status: variant, label: workflow.status }),
|
|
63
|
+
} }, className: cn('group relative flex flex-col gap-3 rounded-xl border border-[var(--wui-border)]', 'bg-[var(--wui-bg)] p-4 text-left outline-none', 'cursor-pointer transition-all duration-150', 'hover:shadow-[var(--wui-shadow-sm)] hover:-translate-y-px', 'focus-visible:ring-2 focus-visible:ring-[var(--wui-primary)] focus-visible:ring-offset-2'), children: [_jsxs("div", { className: "flex items-start gap-2.5", children: [_jsx(TriggerIcon, { type: triggerType }), _jsx("h3", { className: "flex-1 truncate text-sm font-semibold leading-tight text-[var(--wui-fg)]", title: name, children: name })] }), _jsxs("div", { className: "flex items-center gap-3 text-xs text-[var(--wui-fg-muted)]", children: [_jsxs("span", { className: "flex items-center gap-1", children: [_jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "m9 18 6-6-6-6" }) }), triggerType.charAt(0).toUpperCase() + triggerType.slice(1).toLowerCase()] }), _jsx("span", { className: "text-[var(--wui-border)]", children: "\u00B7" }), _jsxs("span", { className: "flex items-center gap-1", children: [_jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M3 9h18M9 21V9" })] }), stepCount, " ", stepCount === 1 ? 'step' : 'steps'] })] }), _jsxs("div", { className: "flex items-center justify-between gap-2 pt-1", children: [_jsx(StatusBadge, { status: variant, label: workflow.status }), _jsxs("div", { className: "ml-auto flex items-center gap-2", children: [moveControl, runControl] })] })] }));
|
|
54
64
|
}
|
|
55
65
|
//# sourceMappingURL=AutomationCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationCard.js","sourceRoot":"","sources":["../../../src/components/automations/AutomationCard.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAkB;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAAC,CAAC;IACpD,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,GAAkB;IAIzC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuD,CAAC;IAAC,CAAC;IACrF,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAG,eAAe;IACxB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAK,cAAc;IACvB,KAAK,EAAI,gBAAgB;CAC1B,CAAC;AAEF,SAAS,WAAW,CAAC,EAAE,IAAI,EAAoB;IAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,cAAc,CAAC;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzE,OAAO,CACL,gBACE,SAAS,EAAE,EAAE,CAAC,gEAAgE,EAAE,UAAU,CAAC,EAC3F,KAAK,EAAE,GAAG,KAAK,UAAU,gBACb,GAAG,KAAK,UAAU,aAE7B,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,CACnC,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,aAC1J,eAAM,CAAC,EAAC,0EAA0E,GAAE,EACpF,eAAM,CAAC,EAAC,2DAA2D,GAAE,EACrE,eAAM,CAAC,EAAC,wDAAwD,GAAE,IAC9D,CACP,EACA,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAChC,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,aAC1J,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAE,EAChC,mBAAU,MAAM,EAAC,kBAAkB,GAAE,IACjC,CACP,EACA,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CACjC,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,YAC1J,eAAM,CAAC,EAAC,iCAAiC,GAAE,GACvC,CACP,EACA,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,CAClC,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,YAC1J,kBAAS,MAAM,EAAC,oBAAoB,GAAE,GAClC,CACP,EACA,CAAC,CAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CACpE,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,YAC1J,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAE,GAC3B,CACP,IACI,CACR,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"AutomationCard.js","sourceRoot":"","sources":["../../../src/components/automations/AutomationCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAaA,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;AAOD,wBAAgB,kBAAkB,CAAC,EACjC,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,EAAE,uBAAuB,+BA0RzB"}
|
|
@@ -1,22 +1,121 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
3
|
import { useWorkflowList } from '../../hooks/use-workflow-list.js';
|
|
4
|
+
import { useFolderList } from '../../hooks/use-folder-list.js';
|
|
5
|
+
import { useWorkflowCounts } from '../../hooks/use-workflow-counts.js';
|
|
6
|
+
import { useWorkflowClient } from '../../hooks/use-workflow-client.js';
|
|
4
7
|
import { cn } from '../shared/cn.js';
|
|
5
8
|
import { EmptyState } from '../shared/EmptyState.js';
|
|
6
9
|
import { LoadingSpinner } from '../shared/LoadingSpinner.js';
|
|
7
10
|
import { AutomationCard } from './AutomationCard.js';
|
|
8
11
|
import { CreateWorkflowDialog } from './CreateWorkflowDialog.js';
|
|
12
|
+
/** Workflows per page in the list view. */
|
|
13
|
+
const PAGE_SIZE = 25;
|
|
9
14
|
// ─── Component ────────────────────────────────────────────────────────────────
|
|
10
15
|
export function AutomationListView({ onSelectWorkflow, onRunWorkflow, className, }) {
|
|
11
|
-
const
|
|
16
|
+
const client = useWorkflowClient();
|
|
17
|
+
const [selectedFolderId, setSelectedFolderId] = useState('all');
|
|
18
|
+
const [page, setPage] = useState(0);
|
|
19
|
+
const counts = useWorkflowCounts();
|
|
20
|
+
const folderList = useFolderList();
|
|
21
|
+
const { folders } = folderList;
|
|
22
|
+
// Total for the current view drives pagination (from the cheap counts query).
|
|
23
|
+
const total = selectedFolderId === 'all'
|
|
24
|
+
? counts.total
|
|
25
|
+
: (counts.byFolder[selectedFolderId] ?? 0);
|
|
26
|
+
const pageCount = Math.max(1, Math.ceil(total / PAGE_SIZE));
|
|
27
|
+
const currentPage = Math.min(page, pageCount - 1);
|
|
28
|
+
// Folder-scoped + paginated server query.
|
|
29
|
+
const { workflows, isLoading, error, refetch } = useWorkflowList({
|
|
30
|
+
...(selectedFolderId === 'all' ? {} : { folderId: selectedFolderId }),
|
|
31
|
+
limit: PAGE_SIZE,
|
|
32
|
+
offset: currentPage * PAGE_SIZE,
|
|
33
|
+
});
|
|
34
|
+
// Reset to the first page whenever the folder changes.
|
|
35
|
+
useEffect(() => { setPage(0); }, [selectedFolderId]);
|
|
12
36
|
const [showCreateDialog, setShowCreateDialog] = useState(false);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
37
|
+
const [addingFolder, setAddingFolder] = useState(false);
|
|
38
|
+
const [newFolderName, setNewFolderName] = useState('');
|
|
39
|
+
const [editingFolderId, setEditingFolderId] = useState(null);
|
|
40
|
+
const [editingName, setEditingName] = useState('');
|
|
41
|
+
const [railError, setRailError] = useState(null);
|
|
42
|
+
const handleNewFolder = async () => {
|
|
43
|
+
const name = newFolderName.trim();
|
|
44
|
+
if (!name) {
|
|
45
|
+
setAddingFolder(false);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setRailError(null);
|
|
49
|
+
try {
|
|
50
|
+
const folder = await folderList.create(name);
|
|
51
|
+
setNewFolderName('');
|
|
52
|
+
setAddingFolder(false);
|
|
53
|
+
setSelectedFolderId(folder.id);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
setRailError(err instanceof Error ? err.message : String(err));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const handleRename = async (id) => {
|
|
60
|
+
const name = editingName.trim();
|
|
61
|
+
setEditingFolderId(null);
|
|
62
|
+
if (!name)
|
|
63
|
+
return;
|
|
64
|
+
try {
|
|
65
|
+
await folderList.rename(id, name);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
setRailError(err instanceof Error ? err.message : String(err));
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const handleDelete = async (id) => {
|
|
72
|
+
setRailError(null);
|
|
73
|
+
try {
|
|
74
|
+
await folderList.remove(id);
|
|
75
|
+
if (selectedFolderId === id)
|
|
76
|
+
setSelectedFolderId('all');
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
setRailError(err instanceof Error ? err.message : 'Could not delete folder');
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const handleMove = async (workflowId, folderId) => {
|
|
83
|
+
await client.workflows.update(workflowId, { folderId });
|
|
84
|
+
refetch(); // current folder's grid
|
|
85
|
+
counts.refetch(); // rail badges
|
|
86
|
+
};
|
|
87
|
+
const selectedFolderName = selectedFolderId === 'all'
|
|
88
|
+
? null
|
|
89
|
+
: folders.find((f) => f.id === selectedFolderId)?.name;
|
|
90
|
+
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') }), folders.map((f) => {
|
|
91
|
+
const count = counts.byFolder[f.id] ?? 0;
|
|
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
|
|
101
|
+
? '0 workflows'
|
|
102
|
+
: `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) => {
|
|
17
103
|
setShowCreateDialog(false);
|
|
18
104
|
refetch();
|
|
19
105
|
onSelectWorkflow(workflow.id);
|
|
20
106
|
}, onClose: () => setShowCreateDialog(false) }))] }));
|
|
21
107
|
}
|
|
108
|
+
function FolderRailItem({ kind, label, count, active, onClick, editing, editingValue, onEditingChange, onCommitEdit, onStartEdit, deletable, onDelete, }) {
|
|
109
|
+
if (editing) {
|
|
110
|
+
return (_jsx("input", { autoFocus: true, value: editingValue ?? '', onChange: (e) => onEditingChange?.(e.target.value), onBlur: () => onCommitEdit?.(), onKeyDown: (e) => {
|
|
111
|
+
if (e.key === 'Enter' || e.key === 'Escape')
|
|
112
|
+
onCommitEdit?.();
|
|
113
|
+
}, className: "w-full rounded-md border border-indigo-300 bg-white px-2 py-1.5 text-[13px] outline-none" }));
|
|
114
|
+
}
|
|
115
|
+
return (_jsxs("div", { className: cn('group flex items-center gap-2 rounded-md px-2.5 py-1.5 text-[13px] cursor-pointer transition-colors', active
|
|
116
|
+
? '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: [_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 }), deletable && onDelete && (_jsx("button", { type: "button", onClick: (e) => { e.stopPropagation(); onDelete(); }, className: "hidden shrink-0 text-[var(--wui-fg-muted)] hover:text-red-500 group-hover:block", "aria-label": `Delete ${label}`, title: "Delete folder", children: _jsxs("svg", { width: "13", height: "13", 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', active ? 'text-indigo-400' : 'text-[var(--wui-fg-muted)]',
|
|
118
|
+
// Hide the count on hover for deletable folders so the × can take its slot.
|
|
119
|
+
deletable && 'group-hover:hidden'), children: count })] }));
|
|
120
|
+
}
|
|
22
121
|
//# 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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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import type { WorkflowRecord } from '@xyne/workflow-sdk/client';
|
|
1
|
+
import type { WorkflowRecord, FolderRecord } from '@xyne/workflow-sdk/client';
|
|
2
2
|
export interface CreateWorkflowDialogProps {
|
|
3
3
|
onCreated: (workflow: WorkflowRecord) => void;
|
|
4
4
|
onClose: () => void;
|
|
5
|
+
/** Existing folders — every workflow must belong to one. */
|
|
6
|
+
folders: FolderRecord[];
|
|
7
|
+
/** Preselected folder (e.g. the folder currently open in the rail). */
|
|
8
|
+
defaultFolderId?: string | undefined;
|
|
9
|
+
/** Create a folder inline (used when none exist yet). Returns the new folder. */
|
|
10
|
+
onCreateFolder: (name: string) => Promise<FolderRecord>;
|
|
5
11
|
}
|
|
6
|
-
export declare function CreateWorkflowDialog({ onCreated, onClose }: CreateWorkflowDialogProps): import("react").JSX.Element;
|
|
12
|
+
export declare function CreateWorkflowDialog({ onCreated, onClose, folders, defaultFolderId, onCreateFolder, }: CreateWorkflowDialogProps): import("react").JSX.Element;
|
|
7
13
|
//# sourceMappingURL=CreateWorkflowDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkflowDialog.d.ts","sourceRoot":"","sources":["../../../src/components/automations/CreateWorkflowDialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateWorkflowDialog.d.ts","sourceRoot":"","sources":["../../../src/components/automations/CreateWorkflowDialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9E,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4DAA4D;IAC5D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD;AAyDD,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,OAAO,EACP,OAAO,EACP,eAAe,EACf,cAAc,GACf,EAAE,yBAAyB,+BAiO3B"}
|
|
@@ -34,13 +34,32 @@ function buildDefaultConfig(triggerType) {
|
|
|
34
34
|
steps: [],
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
export function CreateWorkflowDialog({ onCreated, onClose }) {
|
|
37
|
+
export function CreateWorkflowDialog({ onCreated, onClose, folders, defaultFolderId, onCreateFolder, }) {
|
|
38
38
|
const client = useWorkflowClient();
|
|
39
39
|
const [name, setName] = useState('');
|
|
40
40
|
const [selectedTrigger, setSelectedTrigger] = useState('MANUAL');
|
|
41
|
+
const [folderId, setFolderId] = useState(defaultFolderId && folders.some((f) => f.id === defaultFolderId)
|
|
42
|
+
? defaultFolderId
|
|
43
|
+
: (folders[0]?.id ?? ''));
|
|
44
|
+
const [newFolderName, setNewFolderName] = useState('');
|
|
41
45
|
const [isCreating, setIsCreating] = useState(false);
|
|
42
46
|
const [error, setError] = useState(null);
|
|
43
|
-
const
|
|
47
|
+
const hasFolders = folders.length > 0;
|
|
48
|
+
const canCreate = name.trim().length > 0 && folderId.length > 0;
|
|
49
|
+
const handleCreateFolder = async () => {
|
|
50
|
+
const folderName = newFolderName.trim();
|
|
51
|
+
if (!folderName)
|
|
52
|
+
return;
|
|
53
|
+
setError(null);
|
|
54
|
+
try {
|
|
55
|
+
const folder = await onCreateFolder(folderName);
|
|
56
|
+
setFolderId(folder.id);
|
|
57
|
+
setNewFolderName('');
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
61
|
+
}
|
|
62
|
+
};
|
|
44
63
|
const handleCreate = async () => {
|
|
45
64
|
if (!canCreate)
|
|
46
65
|
return;
|
|
@@ -50,6 +69,7 @@ export function CreateWorkflowDialog({ onCreated, onClose }) {
|
|
|
50
69
|
const workflow = await client.workflows.create({
|
|
51
70
|
name: name.trim(),
|
|
52
71
|
config: buildDefaultConfig(selectedTrigger),
|
|
72
|
+
folderId,
|
|
53
73
|
});
|
|
54
74
|
onCreated(workflow);
|
|
55
75
|
}
|
|
@@ -63,7 +83,10 @@ export function CreateWorkflowDialog({ onCreated, onClose }) {
|
|
|
63
83
|
return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [_jsx("div", { className: "absolute inset-0 bg-black/30", onClick: onClose }), _jsxs("div", { className: cn('relative z-10 w-full max-w-lg rounded-xl border border-slate-200 bg-white shadow-xl', 'animate-[wui-fade-in_150ms_ease-out]'), children: [_jsxs("div", { className: "flex items-center justify-between border-b border-slate-200/80 px-5 py-4", children: [_jsx("h3", { className: "text-[15px] font-semibold text-slate-800", children: "Create Workflow" }), _jsx("button", { onClick: onClose, className: "flex h-6 w-6 items-center justify-center rounded-md text-slate-400 hover:bg-slate-100 hover:text-slate-600 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: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) })] }), _jsxs("div", { className: "px-5 py-5 space-y-5", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-[12px] font-medium text-slate-500 mb-1.5", children: "Workflow Name" }), _jsx("input", { type: "text", value: name, onChange: (e) => setName(e.target.value), placeholder: "e.g. Customer Onboarding Pipeline", autoFocus: true, className: cn('w-full rounded-lg border border-slate-200 bg-white px-3 py-2', 'text-[13px] text-slate-800 placeholder:text-slate-400', 'outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100', 'transition-colors'), onKeyDown: (e) => {
|
|
64
84
|
if (e.key === 'Enter' && canCreate)
|
|
65
85
|
void handleCreate();
|
|
66
|
-
} })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[12px] font-medium text-slate-500 mb-
|
|
86
|
+
} })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[12px] font-medium text-slate-500 mb-1.5", children: "Folder" }), hasFolders ? (_jsx("select", { value: folderId, onChange: (e) => setFolderId(e.target.value), className: cn('w-full rounded-lg border border-slate-200 bg-white px-3 py-2', 'text-[13px] text-slate-800', 'outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100'), children: folders.map((f) => (_jsx("option", { value: f.id, children: f.name }, f.id))) })) : (_jsxs("div", { className: "rounded-lg border border-dashed border-slate-200 bg-slate-50/60 p-3", children: [_jsx("p", { className: "mb-2 text-[12px] text-slate-500", children: "Create a folder first \u2014 every workflow lives in one." }), _jsxs("div", { className: "flex gap-2", children: [_jsx("input", { type: "text", value: newFolderName, onChange: (e) => setNewFolderName(e.target.value), placeholder: "Folder name", className: cn('flex-1 rounded-md border border-slate-200 bg-white px-2.5 py-1.5', 'text-[13px] text-slate-800 placeholder:text-slate-400', 'outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100'), onKeyDown: (e) => {
|
|
87
|
+
if (e.key === 'Enter' && newFolderName.trim())
|
|
88
|
+
void handleCreateFolder();
|
|
89
|
+
} }), _jsx("button", { type: "button", onClick: () => void handleCreateFolder(), disabled: !newFolderName.trim(), className: cn('rounded-md px-3 py-1.5 text-[13px] font-semibold text-white transition-colors', 'bg-indigo-500 hover:bg-indigo-600', !newFolderName.trim() && 'opacity-50 cursor-not-allowed'), children: "Add" })] })] }))] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[12px] font-medium text-slate-500 mb-2", children: "Trigger Type" }), _jsx("div", { className: "grid grid-cols-2 gap-2", children: TRIGGER_OPTIONS.map((opt) => (_jsxs("button", { type: "button", onClick: () => setSelectedTrigger(opt.type), className: cn('flex items-start gap-2.5 rounded-lg border p-3 text-left transition-all', selectedTrigger === opt.type
|
|
67
90
|
? 'border-indigo-400 bg-indigo-50/60 ring-2 ring-indigo-100'
|
|
68
91
|
: 'border-slate-200 hover:border-slate-300 hover:bg-slate-50'), children: [_jsx("span", { className: cn('mt-0.5 shrink-0', selectedTrigger === opt.type ? 'text-indigo-500' : 'text-slate-400'), children: opt.icon }), _jsxs("div", { children: [_jsx("div", { className: cn('text-[13px] font-medium', selectedTrigger === opt.type ? 'text-indigo-700' : 'text-slate-700'), children: opt.label }), _jsx("div", { className: "text-[11px] text-slate-400 mt-0.5", children: opt.description })] })] }, opt.type))) })] })] }), _jsxs("div", { className: "flex items-center justify-end gap-2 border-t border-slate-200/80 px-5 py-3.5", children: [error && (_jsx("span", { className: "mr-auto text-xs text-red-500", children: error })), _jsx("button", { onClick: onClose, disabled: isCreating, className: "rounded-md border border-slate-200 px-3.5 py-1.5 text-[13px] font-medium text-slate-600 hover:bg-slate-50 transition-colors", children: "Cancel" }), _jsx("button", { onClick: () => void handleCreate(), disabled: !canCreate || isCreating, className: cn('rounded-md px-4 py-1.5 text-[13px] font-semibold text-white transition-colors', 'bg-indigo-500 hover:bg-indigo-600', (!canCreate || isCreating) && 'opacity-50 cursor-not-allowed'), children: isCreating ? 'Creating...' : 'Create' })] })] })] }));
|
|
69
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkflowDialog.js","sourceRoot":"","sources":["../../../src/components/automations/CreateWorkflowDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateWorkflowDialog.js","sourceRoot":"","sources":["../../../src/components/automations/CreateWorkflowDialog.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export { useStepMetadata } from './use-step-metadata.js';
|
|
|
23
23
|
export type { StepMeta, TriggerMeta, UseStepMetadataReturn } from './use-step-metadata.js';
|
|
24
24
|
export { useWorkflowList } from './use-workflow-list.js';
|
|
25
25
|
export type { UseWorkflowListReturn } from './use-workflow-list.js';
|
|
26
|
+
export { useFolderList } from './use-folder-list.js';
|
|
27
|
+
export type { UseFolderListReturn } from './use-folder-list.js';
|
|
28
|
+
export { useWorkflowCounts } from './use-workflow-counts.js';
|
|
29
|
+
export type { UseWorkflowCountsReturn } from './use-workflow-counts.js';
|
|
26
30
|
export { useRunsList } from './use-runs-list.js';
|
|
27
31
|
export type { UseRunsListOptions, UseRunsListReturn } from './use-runs-list.js';
|
|
28
32
|
export { useExecutionViewer } from './use-execution-viewer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEhH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEhH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAExG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -17,6 +17,8 @@ export { useTriggerConfig } from './use-trigger-config.js';
|
|
|
17
17
|
export { useStepMetadata } from './use-step-metadata.js';
|
|
18
18
|
// ─── Data fetching ───
|
|
19
19
|
export { useWorkflowList } from './use-workflow-list.js';
|
|
20
|
+
export { useFolderList } from './use-folder-list.js';
|
|
21
|
+
export { useWorkflowCounts } from './use-workflow-counts.js';
|
|
20
22
|
export { useRunsList } from './use-runs-list.js';
|
|
21
23
|
// ─── Execution ───
|
|
22
24
|
export { useExecutionViewer } from './use-execution-viewer.js';
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAS/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FolderRecord } from '@xyne/workflow-sdk/client';
|
|
2
|
+
export interface UseFolderListReturn {
|
|
3
|
+
folders: FolderRecord[];
|
|
4
|
+
isLoading: boolean;
|
|
5
|
+
error: Error | null;
|
|
6
|
+
refetch: () => void;
|
|
7
|
+
create: (name: string) => Promise<FolderRecord>;
|
|
8
|
+
rename: (id: string, name: string) => Promise<void>;
|
|
9
|
+
/** Delete a folder. Rejects (e.g. 409 "not empty") if it still holds workflows. */
|
|
10
|
+
remove: (id: string) => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare function useFolderList(): UseFolderListReturn;
|
|
13
|
+
//# sourceMappingURL=use-folder-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-folder-list.d.ts","sourceRoot":"","sources":["../../src/hooks/use-folder-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,mFAAmF;IACnF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAgB,aAAa,IAAI,mBAAmB,CAyDnD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useWorkflowClient } from './use-workflow-client.js';
|
|
3
|
+
export function useFolderList() {
|
|
4
|
+
const client = useWorkflowClient();
|
|
5
|
+
const [folders, setFolders] = useState([]);
|
|
6
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
7
|
+
const [error, setError] = useState(null);
|
|
8
|
+
const [refreshKey, setRefreshKey] = useState(0);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
let cancelled = false;
|
|
11
|
+
setIsLoading(true);
|
|
12
|
+
setError(null);
|
|
13
|
+
void (async () => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await client.folders.list();
|
|
16
|
+
if (!cancelled)
|
|
17
|
+
setFolders(result);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
if (!cancelled)
|
|
21
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
if (!cancelled)
|
|
25
|
+
setIsLoading(false);
|
|
26
|
+
}
|
|
27
|
+
})();
|
|
28
|
+
return () => { cancelled = true; };
|
|
29
|
+
}, [client, refreshKey]);
|
|
30
|
+
const refetch = useCallback(() => {
|
|
31
|
+
setRefreshKey((k) => k + 1);
|
|
32
|
+
}, []);
|
|
33
|
+
const create = useCallback(async (name) => {
|
|
34
|
+
const folder = await client.folders.create({ name });
|
|
35
|
+
refetch();
|
|
36
|
+
return folder;
|
|
37
|
+
}, [client, refetch]);
|
|
38
|
+
const rename = useCallback(async (id, name) => {
|
|
39
|
+
await client.folders.update(id, { name });
|
|
40
|
+
refetch();
|
|
41
|
+
}, [client, refetch]);
|
|
42
|
+
const remove = useCallback(async (id) => {
|
|
43
|
+
await client.folders.delete(id);
|
|
44
|
+
refetch();
|
|
45
|
+
}, [client, refetch]);
|
|
46
|
+
return { folders, isLoading, error, refetch, create, rename, remove };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=use-folder-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-folder-list.js","sourceRoot":"","sources":["../../src/hooks/use-folder-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAa7D,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS;oBAAE,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,IAAY,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,EAAU,EAAE,EAAE;QACnB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface UseWorkflowCountsReturn {
|
|
2
|
+
total: number;
|
|
3
|
+
byFolder: Record<string, number>;
|
|
4
|
+
isLoading: boolean;
|
|
5
|
+
refetch: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Total + per-folder workflow counts for the folder rail. Computed server-side
|
|
9
|
+
* so the rail doesn't need to fetch every workflow just to show counts.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useWorkflowCounts(): UseWorkflowCountsReturn;
|
|
12
|
+
//# sourceMappingURL=use-workflow-counts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workflow-counts.d.ts","sourceRoot":"","sources":["../../src/hooks/use-workflow-counts.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,uBAAuB,CAyB3D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useWorkflowClient } from './use-workflow-client.js';
|
|
3
|
+
/**
|
|
4
|
+
* Total + per-folder workflow counts for the folder rail. Computed server-side
|
|
5
|
+
* so the rail doesn't need to fetch every workflow just to show counts.
|
|
6
|
+
*/
|
|
7
|
+
export function useWorkflowCounts() {
|
|
8
|
+
const client = useWorkflowClient();
|
|
9
|
+
const [counts, setCounts] = useState({ total: 0, byFolder: {} });
|
|
10
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
11
|
+
const [refreshKey, setRefreshKey] = useState(0);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
let cancelled = false;
|
|
14
|
+
setIsLoading(true);
|
|
15
|
+
void (async () => {
|
|
16
|
+
try {
|
|
17
|
+
const result = await client.workflows.counts();
|
|
18
|
+
if (!cancelled)
|
|
19
|
+
setCounts(result);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
if (!cancelled)
|
|
23
|
+
setCounts({ total: 0, byFolder: {} });
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
if (!cancelled)
|
|
27
|
+
setIsLoading(false);
|
|
28
|
+
}
|
|
29
|
+
})();
|
|
30
|
+
return () => { cancelled = true; };
|
|
31
|
+
}, [client, refreshKey]);
|
|
32
|
+
const refetch = useCallback(() => setRefreshKey((k) => k + 1), []);
|
|
33
|
+
return { total: counts.total, byFolder: counts.byFolder, isLoading, refetch };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=use-workflow-counts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-workflow-counts.js","sourceRoot":"","sources":["../../src/hooks/use-workflow-counts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS;oBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS;oBAAE,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -7,5 +7,14 @@ export interface UseWorkflowListReturn {
|
|
|
7
7
|
activate: (id: string) => Promise<void>;
|
|
8
8
|
deactivate: (id: string) => Promise<void>;
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export interface UseWorkflowListOptions {
|
|
11
|
+
folderId?: string | undefined;
|
|
12
|
+
limit?: number | undefined;
|
|
13
|
+
offset?: number | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Lists workflows (server-side). `folderId` scopes to a folder; `limit`/`offset`
|
|
17
|
+
* paginate. Re-fetches whenever any of these change.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useWorkflowList(opts?: UseWorkflowListOptions): UseWorkflowListReturn;
|
|
11
20
|
//# sourceMappingURL=use-workflow-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-workflow-list.d.ts","sourceRoot":"","sources":["../../src/hooks/use-workflow-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,wBAAgB,eAAe,IAAI,qBAAqB,
|
|
1
|
+
{"version":3,"file":"use-workflow-list.d.ts","sourceRoot":"","sources":["../../src/hooks/use-workflow-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,sBAAsB,GAAG,qBAAqB,CAqDpF"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import { useWorkflowClient } from './use-workflow-client.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Lists workflows (server-side). `folderId` scopes to a folder; `limit`/`offset`
|
|
5
|
+
* paginate. Re-fetches whenever any of these change.
|
|
6
|
+
*/
|
|
7
|
+
export function useWorkflowList(opts) {
|
|
4
8
|
const client = useWorkflowClient();
|
|
9
|
+
const { folderId, limit, offset } = opts ?? {};
|
|
5
10
|
const [workflows, setWorkflows] = useState([]);
|
|
6
11
|
const [isLoading, setIsLoading] = useState(true);
|
|
7
12
|
const [error, setError] = useState(null);
|
|
@@ -12,7 +17,14 @@ export function useWorkflowList() {
|
|
|
12
17
|
setError(null);
|
|
13
18
|
void (async () => {
|
|
14
19
|
try {
|
|
15
|
-
const
|
|
20
|
+
const params = {};
|
|
21
|
+
if (folderId)
|
|
22
|
+
params.folderId = folderId;
|
|
23
|
+
if (limit !== undefined)
|
|
24
|
+
params.limit = limit;
|
|
25
|
+
if (offset !== undefined)
|
|
26
|
+
params.offset = offset;
|
|
27
|
+
const result = await client.workflows.list(params);
|
|
16
28
|
if (!cancelled)
|
|
17
29
|
setWorkflows(result);
|
|
18
30
|
}
|
|
@@ -26,7 +38,7 @@ export function useWorkflowList() {
|
|
|
26
38
|
}
|
|
27
39
|
})();
|
|
28
40
|
return () => { cancelled = true; };
|
|
29
|
-
}, [client, refreshKey]);
|
|
41
|
+
}, [client, refreshKey, folderId, limit, offset]);
|
|
30
42
|
const refetch = useCallback(() => {
|
|
31
43
|
setRefreshKey((k) => k + 1);
|
|
32
44
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-workflow-list.js","sourceRoot":"","sources":["../../src/hooks/use-workflow-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-workflow-list.js","sourceRoot":"","sources":["../../src/hooks/use-workflow-list.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
2
2
|
|
|
3
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-bottom-1{bottom:-.25rem}.-right-1{right:-.25rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[2px\]{height:2px}.h-\[45vh\]{height:45vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-\[45vh\]{min-height:45vh}.min-h-full{min-height:100%}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[38\%\]{width:38%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[100px\]{min-width:100px}.min-w-\[110px\]{min-width:110px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-\[50\%\]{max-width:50%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-y-1{--tw-translate-y:0.25rem}.rotate-90,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[wui-fade-in_150ms_ease-out\]{animation:wui-fade-in .15s ease-out}.animate-\[wui-fade-in_200ms_ease-out\]{animation:wui-fade-in .2s ease-out}.animate-\[wui-pulse_var\(--wui-pulse-duration\)_ease-in-out_infinite\]{animation:wui-pulse var(--wui-pulse-duration) ease-in-out infinite}.animate-\[wui-scale-in_150ms_ease-out\]{animation:wui-scale-in .15s ease-out}.animate-\[wui-scale-in_180ms_ease-out\]{animation:wui-scale-in .18s ease-out}.animate-\[wui-spin_1s_linear_infinite\]{animation:wui-spin 1s linear infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[var\(--wui-border\)\]>:not([hidden])~:not([hidden]){border-color:var(--wui-border)}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[var\(--wui-radius\)\]{border-radius:var(--wui-radius)}.rounded-\[var\(--wui-radius-sm\)\]{border-radius:var(--wui-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-\[2rem\]{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[var\(--wui-border\)\]{border-color:var(--wui-border)}.border-\[var\(--wui-primary\)\]{border-color:var(--wui-primary)}.border-\[var\(--wui-status-paused\)\]{border-color:var(--wui-status-paused)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-100\/80{border-color:hsla(48,96%,89%,.8)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/80{border-color:hsla(48,97%,77%,.8)}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-blue-100\/80{border-color:rgba(219,234,254,.8)}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/80{border-color:rgba(191,219,254,.8)}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/60{border-color:hsla(0,96%,89%,.6)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-700\/40{border-color:rgba(51,65,85,.4)}.border-slate-700\/50{border-color:rgba(51,65,85,.5)}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-sky-400{--tw-border-opacity:1;border-left-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-l-slate-300{--tw-border-opacity:1;border-left-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-teal-400{--tw-border-opacity:1;border-left-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-l-violet-400{--tw-border-opacity:1;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-t-amber-400{--tw-border-opacity:1;border-top-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-emerald-400{--tw-border-opacity:1;border-top-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-t-indigo-400{--tw-border-opacity:1;border-top-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-t-red-300{--tw-border-opacity:1;border-top-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-t-red-400{--tw-border-opacity:1;border-top-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-slate-300{--tw-border-opacity:1;border-top-color:rgb(203 213 225/var(--tw-border-opacity,1))}.bg-\[\#282c34\]{--tw-bg-opacity:1;background-color:rgb(40 44 52/var(--tw-bg-opacity,1))}.bg-\[var\(--wui-bg\)\]{background-color:var(--wui-bg)}.bg-\[var\(--wui-bg-subtle\)\]{background-color:var(--wui-bg-subtle)}.bg-\[var\(--wui-primary\)\]{background-color:var(--wui-primary)}.bg-\[var\(--wui-status-completed\)\]{background-color:var(--wui-status-completed)}.bg-\[var\(--wui-status-failed\)\]{background-color:var(--wui-status-failed)}.bg-\[var\(--wui-status-paused\)\]{background-color:var(--wui-status-paused)}.bg-\[var\(--wui-status-pending\)\]{background-color:var(--wui-status-pending)}.bg-\[var\(--wui-status-running\)\]{background-color:var(--wui-status-running)}.bg-\[var\(--wui-status-skipped\)\]{background-color:var(--wui-status-skipped)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/60{background-color:rgba(251,191,36,.6)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/20{background-color:rgba(255,251,235,.2)}.bg-amber-50\/30{background-color:rgba(255,251,235,.3)}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:rgba(239,246,255,.2)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\/60{background-color:rgba(52,211,153,.6)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/40{background-color:rgba(236,253,245,.4)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/60{background-color:rgba(238,242,255,.6)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-400\/60{background-color:hsla(0,91%,71%,.6)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/60{background-color:hsla(0,86%,97%,.6)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:rgba(14,165,233,.1)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/30{background-color:rgba(248,250,252,.3)}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/20{background-color:rgba(15,23,42,.2)}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-50\/50{background-color:rgba(240,253,250,.5)}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/50{background-color:rgba(245,243,255,.5)}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-slate-50\/80{--tw-gradient-from:rgba(248,250,252,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0\.5{padding-left:.125rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--wui-border\)\]{color:var(--wui-border)}.text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.text-\[var\(--wui-fg-muted\)\]{color:var(--wui-fg-muted)}.text-\[var\(--wui-primary\)\]{color:var(--wui-primary)}.text-\[var\(--wui-primary-fg\)\]{color:var(--wui-primary-fg)}.text-\[var\(--wui-status-completed\)\]{color:var(--wui-status-completed)}.text-\[var\(--wui-status-failed\)\]{color:var(--wui-status-failed)}.text-\[var\(--wui-status-paused\)\]{color:var(--wui-status-paused)}.text-\[var\(--wui-status-pending\)\]{color:var(--wui-status-pending)}.text-\[var\(--wui-status-running\)\]{color:var(--wui-status-running)}.text-\[var\(--wui-status-skipped\)\]{color:var(--wui-status-skipped)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-95{opacity:.95}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-200\/60{--tw-ring-color:hsla(48,97%,77%,.6)}.ring-blue-300\/50{--tw-ring-color:rgba(147,197,253,.5)}.ring-emerald-200\/60{--tw-ring-color:rgba(167,243,208,.6)}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-200\/60{--tw-ring-color:rgba(199,210,254,.6)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-200\/60{--tw-ring-color:hsla(0,96%,89%,.6)}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-200\/80{--tw-ring-color:rgba(226,232,240,.8)}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-\[2px\],.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-\[flex\2c opacity\]{transition-property:flex,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\]{transition-property:flex;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}:root,[data-workflow-ui]{--wui-bg:#fff;--wui-bg-subtle:#f8fafc;--wui-bg-muted:#f1f5f9;--wui-fg:#0f172a;--wui-fg-muted:#64748b;--wui-fg-subtle:#94a3b8;--wui-border:#e2e8f0;--wui-border-strong:#cbd5e1;--wui-primary:#6366f1;--wui-primary-hover:#4f46e5;--wui-primary-fg:#fff;--wui-primary-light:#eef2ff;--wui-primary-muted:#c7d2fe;--wui-cat-data:#0ea5e9;--wui-cat-data-light:#f0f9ff;--wui-cat-integration:#8b5cf6;--wui-cat-integration-light:#f5f3ff;--wui-cat-control:#f97316;--wui-cat-control-light:#fff7ed;--wui-cat-flow:#14b8a6;--wui-cat-flow-light:#f0fdfa;--wui-status-pending:#94a3b8;--wui-status-running:#6366f1;--wui-status-completed:#10b981;--wui-status-failed:#ef4444;--wui-status-paused:#f59e0b;--wui-status-skipped:#cbd5e1;--wui-shadow:0 1px 2px rgba(15,23,42,.05);--wui-shadow-md:0 4px 8px rgba(15,23,42,.08);--wui-shadow-lg:0 8px 24px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);--wui-radius:0.5rem;--wui-radius-sm:0.375rem;--wui-radius-lg:0.75rem;--wui-duration:150ms;--wui-duration-slow:250ms;--wui-pulse-duration:2s}@keyframes wui-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wui-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes wui-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wui-slide-in-right{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes wui-edge-dash{to{stroke-dashoffset:-20}}@keyframes wui-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes wui-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.3)}50%{box-shadow:0 0 8px 2px rgba(99,102,241,.15)}}.react-flow__node{transition:filter .15s ease}.react-flow__edge-path{transition:stroke .15s ease}.react-flow__minimap{border-radius:var(--wui-radius)!important;border:1px solid var(--wui-border)!important;box-shadow:var(--wui-shadow)!important;overflow:hidden!important}.recharts-surface:focus,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none}.placeholder\:text-\[var\(--wui-fg-muted\)\]::-moz-placeholder{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::placeholder{color:var(--wui-fg-muted)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:border-\[var\(--wui-primary\)\]:focus-within{border-color:var(--wui-primary)}.focus-within\:border-sky-500\/60:focus-within{border-color:rgba(14,165,233,.6)}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-sky-500\/20:focus-within{--tw-ring-color:rgba(14,165,233,.2)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\:-translate-y-px:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-\[var\(--wui-fg-muted\)\]:hover{border-color:var(--wui-fg-muted)}.hover\:border-\[var\(--wui-primary\)\]:hover{border-color:var(--wui-primary)}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:bg-\[var\(--wui-bg-subtle\)\]:hover{background-color:var(--wui-bg-subtle)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-50\/50:hover{background-color:rgba(255,251,235,.5)}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/50:hover{background-color:rgba(239,246,255,.5)}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-indigo-400\/40:hover{background-color:rgba(129,140,248,.4)}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/50:hover{background-color:rgba(238,242,255,.5)}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200\/60:hover{background-color:rgba(226,232,240,.6)}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/60:hover{background-color:rgba(248,250,252,.6)}.hover\:bg-slate-700\/50:hover{background-color:rgba(51,65,85,.5)}.hover\:bg-violet-50\/50:hover{background-color:rgba(245,243,255,.5)}.hover\:text-\[var\(--wui-fg\)\]:hover{color:var(--wui-fg)}.hover\:text-\[var\(--wui-primary\)\]:hover{color:var(--wui-primary)}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[var\(--wui-shadow-sm\)\]:hover{--tw-shadow-color:var(--wui-shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-indigo-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.hover\:ring-red-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.focus\:border-\[var\(--wui-primary\)\]:focus{border-color:var(--wui-primary)}.focus\:border-amber-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-slate-400:focus{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-\[var\(--wui-primary\)\]:focus{--tw-ring-color:var(--wui-primary)}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[var\(--wui-primary\)\]:focus-visible{--tw-ring-color:var(--wui-primary)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.99\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:0.99;--tw-scale-y:0.99}.active\:bg-indigo-500\/50:active{background-color:rgba(99,102,241,.5)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}
|
|
3
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-bottom-1{bottom:-.25rem}.-right-1{right:-.25rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[2px\]{height:2px}.h-\[45vh\]{height:45vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-\[52vh\]{max-height:52vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-\[45vh\]{min-height:45vh}.min-h-full{min-height:100%}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[38\%\]{width:38%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[100px\]{min-width:100px}.min-w-\[110px\]{min-width:110px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-\[50\%\]{max-width:50%}.max-w-\[8rem\]{max-width:8rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-y-1{--tw-translate-y:0.25rem}.rotate-90,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[wui-fade-in_150ms_ease-out\]{animation:wui-fade-in .15s ease-out}.animate-\[wui-fade-in_200ms_ease-out\]{animation:wui-fade-in .2s ease-out}.animate-\[wui-pulse_var\(--wui-pulse-duration\)_ease-in-out_infinite\]{animation:wui-pulse var(--wui-pulse-duration) ease-in-out infinite}.animate-\[wui-scale-in_150ms_ease-out\]{animation:wui-scale-in .15s ease-out}.animate-\[wui-scale-in_180ms_ease-out\]{animation:wui-scale-in .18s ease-out}.animate-\[wui-spin_1s_linear_infinite\]{animation:wui-spin 1s linear infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[var\(--wui-border\)\]>:not([hidden])~:not([hidden]){border-color:var(--wui-border)}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[var\(--wui-radius\)\]{border-radius:var(--wui-radius)}.rounded-\[var\(--wui-radius-sm\)\]{border-radius:var(--wui-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-\[2rem\]{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[var\(--wui-border\)\]{border-color:var(--wui-border)}.border-\[var\(--wui-primary\)\]{border-color:var(--wui-primary)}.border-\[var\(--wui-status-paused\)\]{border-color:var(--wui-status-paused)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-100\/80{border-color:hsla(48,96%,89%,.8)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/80{border-color:hsla(48,97%,77%,.8)}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-blue-100\/80{border-color:rgba(219,234,254,.8)}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/80{border-color:rgba(191,219,254,.8)}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/60{border-color:hsla(0,96%,89%,.6)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-700\/40{border-color:rgba(51,65,85,.4)}.border-slate-700\/50{border-color:rgba(51,65,85,.5)}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-sky-400{--tw-border-opacity:1;border-left-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-l-slate-300{--tw-border-opacity:1;border-left-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-teal-400{--tw-border-opacity:1;border-left-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-l-violet-400{--tw-border-opacity:1;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-t-amber-400{--tw-border-opacity:1;border-top-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-emerald-400{--tw-border-opacity:1;border-top-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-t-indigo-400{--tw-border-opacity:1;border-top-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-t-red-300{--tw-border-opacity:1;border-top-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-t-red-400{--tw-border-opacity:1;border-top-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-slate-300{--tw-border-opacity:1;border-top-color:rgb(203 213 225/var(--tw-border-opacity,1))}.bg-\[\#282c34\]{--tw-bg-opacity:1;background-color:rgb(40 44 52/var(--tw-bg-opacity,1))}.bg-\[var\(--wui-bg\)\]{background-color:var(--wui-bg)}.bg-\[var\(--wui-bg-subtle\)\]{background-color:var(--wui-bg-subtle)}.bg-\[var\(--wui-primary\)\]{background-color:var(--wui-primary)}.bg-\[var\(--wui-status-completed\)\]{background-color:var(--wui-status-completed)}.bg-\[var\(--wui-status-failed\)\]{background-color:var(--wui-status-failed)}.bg-\[var\(--wui-status-paused\)\]{background-color:var(--wui-status-paused)}.bg-\[var\(--wui-status-pending\)\]{background-color:var(--wui-status-pending)}.bg-\[var\(--wui-status-running\)\]{background-color:var(--wui-status-running)}.bg-\[var\(--wui-status-skipped\)\]{background-color:var(--wui-status-skipped)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/60{background-color:rgba(251,191,36,.6)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/20{background-color:rgba(255,251,235,.2)}.bg-amber-50\/30{background-color:rgba(255,251,235,.3)}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:rgba(239,246,255,.2)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\/60{background-color:rgba(52,211,153,.6)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/40{background-color:rgba(236,253,245,.4)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/60{background-color:rgba(238,242,255,.6)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-400\/60{background-color:hsla(0,91%,71%,.6)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/60{background-color:hsla(0,86%,97%,.6)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:rgba(14,165,233,.1)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/30{background-color:rgba(248,250,252,.3)}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-50\/60{background-color:rgba(248,250,252,.6)}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/20{background-color:rgba(15,23,42,.2)}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-50\/50{background-color:rgba(240,253,250,.5)}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/50{background-color:rgba(245,243,255,.5)}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-slate-50\/80{--tw-gradient-from:rgba(248,250,252,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0\.5{padding-left:.125rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--wui-border\)\]{color:var(--wui-border)}.text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.text-\[var\(--wui-fg-muted\)\]{color:var(--wui-fg-muted)}.text-\[var\(--wui-primary\)\]{color:var(--wui-primary)}.text-\[var\(--wui-primary-fg\)\]{color:var(--wui-primary-fg)}.text-\[var\(--wui-status-completed\)\]{color:var(--wui-status-completed)}.text-\[var\(--wui-status-failed\)\]{color:var(--wui-status-failed)}.text-\[var\(--wui-status-paused\)\]{color:var(--wui-status-paused)}.text-\[var\(--wui-status-pending\)\]{color:var(--wui-status-pending)}.text-\[var\(--wui-status-running\)\]{color:var(--wui-status-running)}.text-\[var\(--wui-status-skipped\)\]{color:var(--wui-status-skipped)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-95{opacity:.95}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-200\/60{--tw-ring-color:hsla(48,97%,77%,.6)}.ring-blue-300\/50{--tw-ring-color:rgba(147,197,253,.5)}.ring-emerald-200\/60{--tw-ring-color:rgba(167,243,208,.6)}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-200\/60{--tw-ring-color:rgba(199,210,254,.6)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-200\/60{--tw-ring-color:hsla(0,96%,89%,.6)}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-200\/80{--tw-ring-color:rgba(226,232,240,.8)}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-\[2px\],.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-\[flex\2c opacity\]{transition-property:flex,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\]{transition-property:flex;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}:root,[data-workflow-ui]{--wui-bg:#fff;--wui-bg-subtle:#f8fafc;--wui-bg-muted:#f1f5f9;--wui-fg:#0f172a;--wui-fg-muted:#64748b;--wui-fg-subtle:#94a3b8;--wui-border:#e2e8f0;--wui-border-strong:#cbd5e1;--wui-primary:#6366f1;--wui-primary-hover:#4f46e5;--wui-primary-fg:#fff;--wui-primary-light:#eef2ff;--wui-primary-muted:#c7d2fe;--wui-cat-data:#0ea5e9;--wui-cat-data-light:#f0f9ff;--wui-cat-integration:#8b5cf6;--wui-cat-integration-light:#f5f3ff;--wui-cat-control:#f97316;--wui-cat-control-light:#fff7ed;--wui-cat-flow:#14b8a6;--wui-cat-flow-light:#f0fdfa;--wui-status-pending:#94a3b8;--wui-status-running:#6366f1;--wui-status-completed:#10b981;--wui-status-failed:#ef4444;--wui-status-paused:#f59e0b;--wui-status-skipped:#cbd5e1;--wui-shadow:0 1px 2px rgba(15,23,42,.05);--wui-shadow-md:0 4px 8px rgba(15,23,42,.08);--wui-shadow-lg:0 8px 24px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);--wui-radius:0.5rem;--wui-radius-sm:0.375rem;--wui-radius-lg:0.75rem;--wui-duration:150ms;--wui-duration-slow:250ms;--wui-pulse-duration:2s}@keyframes wui-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wui-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes wui-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wui-slide-in-right{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes wui-edge-dash{to{stroke-dashoffset:-20}}@keyframes wui-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes wui-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.3)}50%{box-shadow:0 0 8px 2px rgba(99,102,241,.15)}}.react-flow__node{transition:filter .15s ease}.react-flow__edge-path{transition:stroke .15s ease}.react-flow__minimap{border-radius:var(--wui-radius)!important;border:1px solid var(--wui-border)!important;box-shadow:var(--wui-shadow)!important;overflow:hidden!important}.recharts-surface:focus,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none}.placeholder\:text-\[var\(--wui-fg-muted\)\]::-moz-placeholder{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::placeholder{color:var(--wui-fg-muted)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:border-\[var\(--wui-primary\)\]:focus-within{border-color:var(--wui-primary)}.focus-within\:border-sky-500\/60:focus-within{border-color:rgba(14,165,233,.6)}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-sky-500\/20:focus-within{--tw-ring-color:rgba(14,165,233,.2)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\:-translate-y-px:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-\[var\(--wui-fg-muted\)\]:hover{border-color:var(--wui-fg-muted)}.hover\:border-\[var\(--wui-primary\)\]:hover{border-color:var(--wui-primary)}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:bg-\[var\(--wui-bg-subtle\)\]:hover{background-color:var(--wui-bg-subtle)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-50\/50:hover{background-color:rgba(255,251,235,.5)}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/50:hover{background-color:rgba(239,246,255,.5)}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-indigo-400\/40:hover{background-color:rgba(129,140,248,.4)}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/50:hover{background-color:rgba(238,242,255,.5)}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200\/60:hover{background-color:rgba(226,232,240,.6)}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/60:hover{background-color:rgba(248,250,252,.6)}.hover\:bg-slate-700\/50:hover{background-color:rgba(51,65,85,.5)}.hover\:bg-violet-50\/50:hover{background-color:rgba(245,243,255,.5)}.hover\:text-\[var\(--wui-fg\)\]:hover{color:var(--wui-fg)}.hover\:text-\[var\(--wui-primary\)\]:hover{color:var(--wui-primary)}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[var\(--wui-shadow-sm\)\]:hover{--tw-shadow-color:var(--wui-shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-indigo-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.hover\:ring-red-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.focus\:border-\[var\(--wui-primary\)\]:focus{border-color:var(--wui-primary)}.focus\:border-amber-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-slate-400:focus{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-\[var\(--wui-primary\)\]:focus{--tw-ring-color:var(--wui-primary)}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-\[var\(--wui-primary\)\]:focus-visible{--tw-ring-color:var(--wui-primary)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.99\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:0.99;--tw-scale-y:0.99}.active\:bg-indigo-500\/50:active{background-color:rgba(99,102,241,.5)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyne/workflow-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Workflow builder + execution-viewer React UI for @xyne/workflow-sdk.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"prepublishOnly": "npm run build"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@xyne/workflow-sdk": ">=
|
|
42
|
+
"@xyne/workflow-sdk": ">=2.0.0",
|
|
43
43
|
"react": ">=18.0.0",
|
|
44
44
|
"react-dom": ">=18.0.0"
|
|
45
45
|
},
|