@burdenoff/fluidgrids-fe-sdk 2026.731.5 → 2026.801.1
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/ExecutionDetailPage-VCVJ2EOP.js +8 -0
- package/dist/{ExecutionDetailPage-Q2H7KMHW.js.map → ExecutionDetailPage-VCVJ2EOP.js.map} +1 -1
- package/dist/ExecutionsListPage-NXTMFIRZ.js +8 -0
- package/dist/{ExecutionsListPage-4FIHJBZV.js.map → ExecutionsListPage-NXTMFIRZ.js.map} +1 -1
- package/dist/{WorkflowBuilder-53YLICIC.js → WorkflowBuilder-IGQYC2UR.js} +6 -6
- package/dist/{WorkflowBuilder-53YLICIC.js.map → WorkflowBuilder-IGQYC2UR.js.map} +1 -1
- package/dist/WorkflowsList-S2MGY2UT.js +10 -0
- package/dist/{WorkflowsList-GTW56K3E.js.map → WorkflowsList-S2MGY2UT.js.map} +1 -1
- package/dist/{blocks-3FQ3K737.js → blocks-K5JPCH3D.js} +4 -4
- package/dist/{blocks-3FQ3K737.js.map → blocks-K5JPCH3D.js.map} +1 -1
- package/dist/{chunk-NGCKF56I.js → chunk-2XMPJHCW.js} +220 -102
- package/dist/chunk-2XMPJHCW.js.map +1 -0
- package/dist/{chunk-4BY7JVRA.js → chunk-6AK7GFWB.js} +3 -3
- package/dist/{chunk-4BY7JVRA.js.map → chunk-6AK7GFWB.js.map} +1 -1
- package/dist/{chunk-SBZ6J6UD.js → chunk-IVKT244I.js} +3 -3
- package/dist/{chunk-SBZ6J6UD.js.map → chunk-IVKT244I.js.map} +1 -1
- package/dist/{chunk-DBQLVCEW.js → chunk-JIZFSX6X.js} +3 -3
- package/dist/{chunk-DBQLVCEW.js.map → chunk-JIZFSX6X.js.map} +1 -1
- package/dist/{chunk-K7326LE2.js → chunk-NMS2QUXG.js} +7 -7
- package/dist/chunk-NMS2QUXG.js.map +1 -0
- package/dist/{chunk-IBPEITOH.js → chunk-TKAS26Q3.js} +4 -4
- package/dist/{chunk-IBPEITOH.js.map → chunk-TKAS26Q3.js.map} +1 -1
- package/dist/{chunk-ATNBIPGD.js → chunk-USFXD36A.js} +4 -4
- package/dist/{chunk-ATNBIPGD.js.map → chunk-USFXD36A.js.map} +1 -1
- package/dist/{chunk-IU65EQOS.js → chunk-XEYNX7YJ.js} +4 -2
- package/dist/chunk-XEYNX7YJ.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +142 -144
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-Q2H7KMHW.js +0 -8
- package/dist/ExecutionsListPage-4FIHJBZV.js +0 -8
- package/dist/WorkflowsList-GTW56K3E.js +0 -10
- package/dist/chunk-IU65EQOS.js.map +0 -1
- package/dist/chunk-K7326LE2.js.map +0 -1
- package/dist/chunk-NGCKF56I.js.map +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ExecutionDetailPage } from './chunk-TKAS26Q3.js';
|
|
2
|
+
import './chunk-6AK7GFWB.js';
|
|
3
|
+
import './chunk-UIY2HBWA.js';
|
|
4
|
+
import './chunk-3ZYUGTIT.js';
|
|
5
|
+
import './chunk-XEYNX7YJ.js';
|
|
6
|
+
import './chunk-5BDQNSP3.js';
|
|
7
|
+
//# sourceMappingURL=ExecutionDetailPage-VCVJ2EOP.js.map
|
|
8
|
+
//# sourceMappingURL=ExecutionDetailPage-VCVJ2EOP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-VCVJ2EOP.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ExecutionsListPage } from './chunk-USFXD36A.js';
|
|
2
|
+
import './chunk-6AK7GFWB.js';
|
|
3
|
+
import './chunk-NMS2QUXG.js';
|
|
4
|
+
import './chunk-XEYNX7YJ.js';
|
|
5
|
+
import './chunk-5BDQNSP3.js';
|
|
6
|
+
import './chunk-WWU2O2SR.js';
|
|
7
|
+
//# sourceMappingURL=ExecutionsListPage-NXTMFIRZ.js.map
|
|
8
|
+
//# sourceMappingURL=ExecutionsListPage-NXTMFIRZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-NXTMFIRZ.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-2XMPJHCW.js';
|
|
2
2
|
import './chunk-MRVS73S2.js';
|
|
3
3
|
import './chunk-DBOMRIP5.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-IVKT244I.js';
|
|
5
5
|
import './chunk-BQXHJIER.js';
|
|
6
6
|
import './chunk-PNOA7CQV.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-NMS2QUXG.js';
|
|
8
8
|
import './chunk-KU64CCSV.js';
|
|
9
9
|
import './chunk-UIY2HBWA.js';
|
|
10
10
|
import './chunk-3ZYUGTIT.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-XEYNX7YJ.js';
|
|
12
12
|
import './chunk-5BDQNSP3.js';
|
|
13
13
|
import './chunk-WWU2O2SR.js';
|
|
14
14
|
import './chunk-XQP33UJR.js';
|
|
15
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
16
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
15
|
+
//# sourceMappingURL=WorkflowBuilder-IGQYC2UR.js.map
|
|
16
|
+
//# sourceMappingURL=WorkflowBuilder-IGQYC2UR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-IGQYC2UR.js"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { WorkflowsList } from './chunk-JIZFSX6X.js';
|
|
2
|
+
import './chunk-NMS2QUXG.js';
|
|
3
|
+
import './chunk-KU64CCSV.js';
|
|
4
|
+
import './chunk-UIY2HBWA.js';
|
|
5
|
+
import './chunk-3ZYUGTIT.js';
|
|
6
|
+
import './chunk-XEYNX7YJ.js';
|
|
7
|
+
import './chunk-5BDQNSP3.js';
|
|
8
|
+
import './chunk-WWU2O2SR.js';
|
|
9
|
+
//# sourceMappingURL=WorkflowsList-S2MGY2UT.js.map
|
|
10
|
+
//# sourceMappingURL=WorkflowsList-S2MGY2UT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-S2MGY2UT.js"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-
|
|
1
|
+
export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-IVKT244I.js';
|
|
2
2
|
import './chunk-BQXHJIER.js';
|
|
3
3
|
import './chunk-PNOA7CQV.js';
|
|
4
4
|
import './chunk-KU64CCSV.js';
|
|
5
5
|
import './chunk-UIY2HBWA.js';
|
|
6
6
|
import './chunk-3ZYUGTIT.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-XEYNX7YJ.js';
|
|
8
8
|
import './chunk-5BDQNSP3.js';
|
|
9
9
|
import './chunk-WWU2O2SR.js';
|
|
10
|
-
//# sourceMappingURL=blocks-
|
|
11
|
-
//# sourceMappingURL=blocks-
|
|
10
|
+
//# sourceMappingURL=blocks-K5JPCH3D.js.map
|
|
11
|
+
//# sourceMappingURL=blocks-K5JPCH3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-K5JPCH3D.js"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, Input as Input$1, DialogFooter } from './chunk-MRVS73S2.js';
|
|
2
2
|
import { Badge as Badge$1, Button } from './chunk-DBOMRIP5.js';
|
|
3
|
-
import { refetchStoreNodes, registerWorkflowNodeTypes, ensureNodeConfigsLoaded, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveWorkflow, STICKY_NOTE_TYPE, useNodeExecution, getNodeDetail, ConnectionSelector, mergeStickyNotes, buildStickyNode, NODES_METADATA, NODE_CONFIGS, isNodeConfigsInitialized, NODES, NodePropertyPanel } from './chunk-
|
|
3
|
+
import { refetchStoreNodes, registerWorkflowNodeTypes, ensureNodeConfigsLoaded, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveWorkflow, STICKY_NOTE_TYPE, useNodeExecution, getNodeDetail, ConnectionSelector, mergeStickyNotes, buildStickyNode, NODES_METADATA, NODE_CONFIGS, isNodeConfigsInitialized, NODES, NodePropertyPanel } from './chunk-IVKT244I.js';
|
|
4
4
|
import { createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient, getGlobalStoreClient } from './chunk-BQXHJIER.js';
|
|
5
5
|
import { BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, GetMyNodeInstallationsDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument } from './chunk-PNOA7CQV.js';
|
|
6
|
-
import { useLazyWorkflowDefinition, useCreateWorkflow, useWorkflowVersions, useRestoreWorkflowVersion, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-
|
|
6
|
+
import { useLazyWorkflowDefinition, useCreateWorkflow, useWorkflowVersions, useRestoreWorkflowVersion, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-NMS2QUXG.js';
|
|
7
7
|
import { useFlowStore } from './chunk-KU64CCSV.js';
|
|
8
8
|
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS } from './chunk-UIY2HBWA.js';
|
|
9
9
|
import { cn } from './chunk-3ZYUGTIT.js';
|
|
10
|
-
import { throwIfResultError, NodeSchemaIntrospectionDocument, EventRegistrationsDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument } from './chunk-
|
|
10
|
+
import { throwIfResultError, NodeSchemaIntrospectionDocument, EventRegistrationsDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument } from './chunk-XEYNX7YJ.js';
|
|
11
11
|
import { createFluidGridsClient, setFluidGridsClient, resetFluidGridsClient, getFluidGridsClient, getFluidGridsClientSafe } from './chunk-5BDQNSP3.js';
|
|
12
12
|
import { validateTrustedOrigin, setFluidGridsConfig, resetFluidGridsConfig, getFluidGridsConfig } from './chunk-WWU2O2SR.js';
|
|
13
13
|
import { deepClone, applyTemplateInputs } from './chunk-XQP33UJR.js';
|
|
@@ -21,7 +21,7 @@ import { Handle, Position, getBezierPath, MarkerType, ReactFlowProvider, useReac
|
|
|
21
21
|
import { produce } from 'immer';
|
|
22
22
|
import { cn as cn$1 } from '@burdenoff/fe-libs/utils';
|
|
23
23
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
24
|
-
import { Card as Card$1, Badge, CardContent as CardContent$1, Button as Button$1, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, DropdownMenuItem, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Popover, PopoverTrigger, PopoverContent, Toaster, Tabs, TabsList, TabsTrigger, TabsContent, CardHeader as CardHeader$1, CardTitle as CardTitle$1, CardDescription as CardDescription$1, ScrollArea,
|
|
24
|
+
import { Card as Card$1, Badge, CardContent as CardContent$1, Button as Button$1, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, TooltipProvider, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, DropdownMenuItem, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Popover, PopoverTrigger, PopoverContent, Tooltip, TooltipTrigger, TooltipContent, Toaster, Tabs, TabsList, TabsTrigger, TabsContent, CardHeader as CardHeader$1, CardTitle as CardTitle$1, CardDescription as CardDescription$1, ScrollArea, Label, DropdownMenuLabel, DropdownMenuSeparator, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Textarea } from '@burdenoff/fe-libs/ui';
|
|
25
25
|
import { isEmpty } from 'radash';
|
|
26
26
|
import { gql } from '@apollo/client';
|
|
27
27
|
import { ApolloProvider, useQuery, useMutation } from '@apollo/client/react';
|
|
@@ -38,6 +38,7 @@ import { nanoid } from 'nanoid/non-secure';
|
|
|
38
38
|
import CodeMirror from '@uiw/react-codemirror';
|
|
39
39
|
import { javascript } from '@codemirror/lang-javascript';
|
|
40
40
|
import { python } from '@codemirror/lang-python';
|
|
41
|
+
import { useActorProfiles, buildActorFallback } from '@burdenoff/fe-libs/shared';
|
|
41
42
|
import { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';
|
|
42
43
|
|
|
43
44
|
function useNodeList(nodes) {
|
|
@@ -4074,7 +4075,7 @@ function DesktopSidebarFragment({
|
|
|
4074
4075
|
if (nodes) {
|
|
4075
4076
|
const requiredNodeTypes = [];
|
|
4076
4077
|
try {
|
|
4077
|
-
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-
|
|
4078
|
+
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-K5JPCH3D.js');
|
|
4078
4079
|
await ensureNodeConfigsLoaded2().catch(() => {
|
|
4079
4080
|
});
|
|
4080
4081
|
const workflowNodeTypes = [
|
|
@@ -13297,6 +13298,65 @@ var STATUS_STYLES = {
|
|
|
13297
13298
|
ARCHIVED: { label: "Archived", variant: "outline" },
|
|
13298
13299
|
DEPRECATED: { label: "Deprecated", variant: "destructive" }
|
|
13299
13300
|
};
|
|
13301
|
+
function relativeTime(dateStr) {
|
|
13302
|
+
if (!dateStr) return "";
|
|
13303
|
+
const then = new Date(dateStr).getTime();
|
|
13304
|
+
if (Number.isNaN(then)) return "";
|
|
13305
|
+
const seconds = Math.round((Date.now() - then) / 1e3);
|
|
13306
|
+
if (seconds < 60) return "just now";
|
|
13307
|
+
const minutes = Math.round(seconds / 60);
|
|
13308
|
+
if (minutes < 60) return `${minutes}m ago`;
|
|
13309
|
+
const hours = Math.round(minutes / 60);
|
|
13310
|
+
if (hours < 24) return `${hours}h ago`;
|
|
13311
|
+
const days = Math.round(hours / 24);
|
|
13312
|
+
if (days < 30) return `${days}d ago`;
|
|
13313
|
+
return new Intl.DateTimeFormat("en-US", {
|
|
13314
|
+
year: "numeric",
|
|
13315
|
+
month: "short",
|
|
13316
|
+
day: "numeric"
|
|
13317
|
+
}).format(new Date(dateStr));
|
|
13318
|
+
}
|
|
13319
|
+
function absoluteTime(dateStr) {
|
|
13320
|
+
if (!dateStr) return "";
|
|
13321
|
+
try {
|
|
13322
|
+
return new Intl.DateTimeFormat("en-US", {
|
|
13323
|
+
year: "numeric",
|
|
13324
|
+
month: "short",
|
|
13325
|
+
day: "numeric",
|
|
13326
|
+
hour: "2-digit",
|
|
13327
|
+
minute: "2-digit"
|
|
13328
|
+
}).format(new Date(dateStr));
|
|
13329
|
+
} catch {
|
|
13330
|
+
return dateStr;
|
|
13331
|
+
}
|
|
13332
|
+
}
|
|
13333
|
+
function ActionButton({
|
|
13334
|
+
label,
|
|
13335
|
+
onClick,
|
|
13336
|
+
disabled,
|
|
13337
|
+
busy,
|
|
13338
|
+
icon,
|
|
13339
|
+
destructive
|
|
13340
|
+
}) {
|
|
13341
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
13342
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
13343
|
+
Button$1,
|
|
13344
|
+
{
|
|
13345
|
+
variant: "ghost",
|
|
13346
|
+
size: "sm",
|
|
13347
|
+
className: cn$1(
|
|
13348
|
+
"size-7 p-0",
|
|
13349
|
+
destructive && "text-[var(--color-status-error-text)] hover:text-[var(--color-status-error-text)] hover:bg-[var(--color-status-error-bg-subtle)]"
|
|
13350
|
+
),
|
|
13351
|
+
disabled,
|
|
13352
|
+
onClick,
|
|
13353
|
+
"aria-label": label,
|
|
13354
|
+
children: busy ? /* @__PURE__ */ jsx(Loader2, { className: "size-3.5 animate-spin" }) : icon
|
|
13355
|
+
}
|
|
13356
|
+
) }),
|
|
13357
|
+
/* @__PURE__ */ jsx(TooltipContent, { className: "z-[130]", children: label })
|
|
13358
|
+
] });
|
|
13359
|
+
}
|
|
13300
13360
|
function VersionHistoryPanel({ className }) {
|
|
13301
13361
|
const params = useParams();
|
|
13302
13362
|
const navigate = useNavigate();
|
|
@@ -13309,6 +13369,23 @@ function VersionHistoryPanel({ className }) {
|
|
|
13309
13369
|
const setWorkflow = useFlowStore((s) => s.actions.setWorkflow);
|
|
13310
13370
|
const [busy, setBusy] = useState(null);
|
|
13311
13371
|
const [deleteTarget, setDeleteTarget] = useState(null);
|
|
13372
|
+
const config = getFluidGridsConfig();
|
|
13373
|
+
const actorInputs = useMemo(() => {
|
|
13374
|
+
const ids = /* @__PURE__ */ new Set();
|
|
13375
|
+
for (const v of versions) {
|
|
13376
|
+
if (v.createdById) ids.add(v.createdById);
|
|
13377
|
+
}
|
|
13378
|
+
return [...ids].map((actorId) => ({ actorId, actorType: "user" }));
|
|
13379
|
+
}, [versions]);
|
|
13380
|
+
const actorProfiles = useActorProfiles(actorInputs, {
|
|
13381
|
+
workspaceId: config.workspaceId || void 0,
|
|
13382
|
+
orgId: config.organizationId,
|
|
13383
|
+
authToken: config.authToken
|
|
13384
|
+
});
|
|
13385
|
+
const authorName = (createdById) => {
|
|
13386
|
+
if (!createdById) return null;
|
|
13387
|
+
return actorProfiles[createdById]?.displayName ?? buildActorFallback({ actorId: createdById, actorType: "user" }).displayName;
|
|
13388
|
+
};
|
|
13312
13389
|
const handleRestore = async (version) => {
|
|
13313
13390
|
setBusy(`restore:${version}`);
|
|
13314
13391
|
try {
|
|
@@ -13391,111 +13468,152 @@ function VersionHistoryPanel({ className }) {
|
|
|
13391
13468
|
}
|
|
13392
13469
|
) }),
|
|
13393
13470
|
/* @__PURE__ */ jsxs(SheetContent, { side: "right", className: "w-[380px] sm:w-[420px]", children: [
|
|
13394
|
-
/* @__PURE__ */
|
|
13395
|
-
/* @__PURE__ */
|
|
13396
|
-
|
|
13397
|
-
|
|
13398
|
-
|
|
13471
|
+
/* @__PURE__ */ jsxs(SheetHeader, { children: [
|
|
13472
|
+
/* @__PURE__ */ jsxs(SheetTitle, { className: "flex items-center gap-2", children: [
|
|
13473
|
+
/* @__PURE__ */ jsx(History, { className: "size-5" }),
|
|
13474
|
+
"Version History"
|
|
13475
|
+
] }),
|
|
13476
|
+
!loading && versions.length > 0 && /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
13477
|
+
versions.length,
|
|
13478
|
+
" ",
|
|
13479
|
+
versions.length === 1 ? "version" : "versions",
|
|
13480
|
+
" ",
|
|
13481
|
+
"\xB7 the Active version handles automatic triggers"
|
|
13482
|
+
] })
|
|
13483
|
+
] }),
|
|
13484
|
+
/* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsx("div", { className: "mt-4 overflow-y-auto max-h-[calc(100vh-140px)] pr-1", children: loading ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center py-8", children: [
|
|
13399
13485
|
/* @__PURE__ */ jsx(Loader2, { className: "size-5 animate-spin text-muted-foreground" }),
|
|
13400
13486
|
/* @__PURE__ */ jsx("span", { className: "ml-2 text-muted-foreground text-sm", children: "Loading versions..." })
|
|
13401
|
-
] }) : versions.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm text-center py-8", children: "No versions found." }) : versions.map((v) => {
|
|
13487
|
+
] }) : versions.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm text-center py-8", children: "No versions found." }) : /* @__PURE__ */ jsx("ul", { children: versions.map((v, index) => {
|
|
13402
13488
|
const isCurrent = v.version === currentVersion;
|
|
13403
13489
|
const isActive = v.status === "ACTIVE";
|
|
13490
|
+
const isLast = index === versions.length - 1;
|
|
13404
13491
|
const statusInfo = STATUS_STYLES[v.status ?? "DRAFT"] ?? STATUS_STYLES.DRAFT;
|
|
13405
|
-
|
|
13406
|
-
|
|
13407
|
-
{
|
|
13408
|
-
|
|
13409
|
-
|
|
13410
|
-
|
|
13411
|
-
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
{
|
|
13415
|
-
variant: statusInfo.variant,
|
|
13416
|
-
className: "text-[10px] px-1.5 py-0 h-5",
|
|
13417
|
-
children: statusInfo.label
|
|
13418
|
-
}
|
|
13419
|
-
),
|
|
13420
|
-
isCurrent && /* @__PURE__ */ jsx(
|
|
13421
|
-
Badge,
|
|
13422
|
-
{
|
|
13423
|
-
variant: "outline",
|
|
13424
|
-
className: "text-[10px] px-1.5 py-0 h-5 border-primary text-primary",
|
|
13425
|
-
children: "Current"
|
|
13426
|
-
}
|
|
13492
|
+
const author = authorName(v.createdById);
|
|
13493
|
+
return /* @__PURE__ */ jsxs("li", { className: "flex gap-3", children: [
|
|
13494
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center pt-4", children: [
|
|
13495
|
+
/* @__PURE__ */ jsx(
|
|
13496
|
+
"span",
|
|
13497
|
+
{
|
|
13498
|
+
className: cn$1(
|
|
13499
|
+
"size-2.5 shrink-0 rounded-full border-2",
|
|
13500
|
+
isActive ? "border-[var(--color-status-success-bg)] bg-[var(--color-status-success-bg)]" : isCurrent ? "border-primary bg-primary" : "border-border bg-background"
|
|
13427
13501
|
)
|
|
13428
|
-
|
|
13429
|
-
|
|
13430
|
-
|
|
13431
|
-
|
|
13432
|
-
|
|
13433
|
-
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
|
|
13439
|
-
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13445
|
-
|
|
13446
|
-
|
|
13447
|
-
|
|
13448
|
-
|
|
13449
|
-
|
|
13450
|
-
|
|
13451
|
-
|
|
13452
|
-
|
|
13453
|
-
|
|
13454
|
-
|
|
13455
|
-
|
|
13456
|
-
|
|
13457
|
-
|
|
13458
|
-
|
|
13459
|
-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
|
|
13463
|
-
|
|
13464
|
-
|
|
13465
|
-
|
|
13466
|
-
|
|
13467
|
-
|
|
13468
|
-
|
|
13469
|
-
|
|
13470
|
-
|
|
13471
|
-
|
|
13472
|
-
|
|
13473
|
-
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13477
|
-
|
|
13478
|
-
|
|
13479
|
-
|
|
13480
|
-
|
|
13502
|
+
}
|
|
13503
|
+
),
|
|
13504
|
+
!isLast && /* @__PURE__ */ jsx("span", { className: "w-px flex-1 bg-border" })
|
|
13505
|
+
] }),
|
|
13506
|
+
/* @__PURE__ */ jsxs(
|
|
13507
|
+
"div",
|
|
13508
|
+
{
|
|
13509
|
+
className: cn$1(
|
|
13510
|
+
"mb-2 flex-1 rounded-lg border p-3 transition-colors",
|
|
13511
|
+
isCurrent ? "border-primary/50 bg-primary/5" : "border-border hover:bg-accent/50"
|
|
13512
|
+
),
|
|
13513
|
+
children: [
|
|
13514
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
13515
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
13516
|
+
/* @__PURE__ */ jsx(
|
|
13517
|
+
"button",
|
|
13518
|
+
{
|
|
13519
|
+
type: "button",
|
|
13520
|
+
className: cn$1(
|
|
13521
|
+
"font-mono text-sm font-semibold text-foreground",
|
|
13522
|
+
!isCurrent && "cursor-pointer hover:text-primary"
|
|
13523
|
+
),
|
|
13524
|
+
onClick: () => !isCurrent && handleSwitchVersion(v.version),
|
|
13525
|
+
title: isCurrent ? void 0 : `Open ${v.version} in the builder`,
|
|
13526
|
+
children: v.version
|
|
13527
|
+
}
|
|
13528
|
+
),
|
|
13529
|
+
/* @__PURE__ */ jsx(
|
|
13530
|
+
Badge,
|
|
13531
|
+
{
|
|
13532
|
+
variant: statusInfo.variant,
|
|
13533
|
+
className: "text-[10px] px-1.5 py-0 h-5",
|
|
13534
|
+
children: statusInfo.label
|
|
13535
|
+
}
|
|
13536
|
+
),
|
|
13537
|
+
isCurrent && /* @__PURE__ */ jsx(
|
|
13538
|
+
Badge,
|
|
13539
|
+
{
|
|
13540
|
+
variant: "outline",
|
|
13541
|
+
className: "text-[10px] px-1.5 py-0 h-5 border-primary text-primary",
|
|
13542
|
+
children: "Current"
|
|
13543
|
+
}
|
|
13544
|
+
),
|
|
13545
|
+
v.alias && /* @__PURE__ */ jsxs(
|
|
13546
|
+
Badge,
|
|
13547
|
+
{
|
|
13548
|
+
variant: "outline",
|
|
13549
|
+
className: "text-[10px] px-1.5 py-0 h-5 font-mono",
|
|
13550
|
+
title: "Version alias",
|
|
13551
|
+
children: [
|
|
13552
|
+
"@",
|
|
13553
|
+
v.alias
|
|
13554
|
+
]
|
|
13555
|
+
}
|
|
13556
|
+
)
|
|
13557
|
+
] }),
|
|
13558
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center", children: [
|
|
13559
|
+
!isCurrent && /* @__PURE__ */ jsx(
|
|
13560
|
+
ActionButton,
|
|
13561
|
+
{
|
|
13562
|
+
label: "View in builder",
|
|
13563
|
+
icon: /* @__PURE__ */ jsx(Eye, { className: "size-3.5" }),
|
|
13564
|
+
disabled: busy !== null,
|
|
13565
|
+
onClick: () => handleSwitchVersion(v.version)
|
|
13566
|
+
}
|
|
13567
|
+
),
|
|
13568
|
+
!isActive && /* @__PURE__ */ jsx(
|
|
13569
|
+
ActionButton,
|
|
13570
|
+
{
|
|
13571
|
+
label: "Activate this version",
|
|
13572
|
+
icon: /* @__PURE__ */ jsx(Play, { className: "size-3.5" }),
|
|
13573
|
+
disabled: busy !== null,
|
|
13574
|
+
busy: busy === `activate:${v.version}`,
|
|
13575
|
+
onClick: () => handleActivate(v.id, v.version)
|
|
13576
|
+
}
|
|
13577
|
+
),
|
|
13578
|
+
!isCurrent && /* @__PURE__ */ jsx(
|
|
13579
|
+
ActionButton,
|
|
13580
|
+
{
|
|
13581
|
+
label: "Restore as new draft",
|
|
13582
|
+
icon: /* @__PURE__ */ jsx(RotateCcw, { className: "size-3.5" }),
|
|
13583
|
+
disabled: busy !== null,
|
|
13584
|
+
busy: busy === `restore:${v.version}`,
|
|
13585
|
+
onClick: () => handleRestore(v.version)
|
|
13586
|
+
}
|
|
13587
|
+
),
|
|
13588
|
+
!isCurrent && !isActive && /* @__PURE__ */ jsx(
|
|
13589
|
+
ActionButton,
|
|
13590
|
+
{
|
|
13591
|
+
label: "Delete version",
|
|
13592
|
+
destructive: true,
|
|
13593
|
+
icon: /* @__PURE__ */ jsx(Trash2, { className: "size-3.5" }),
|
|
13594
|
+
disabled: busy !== null,
|
|
13595
|
+
busy: busy === `delete:${v.version}`,
|
|
13596
|
+
onClick: () => setDeleteTarget(v.version)
|
|
13597
|
+
}
|
|
13598
|
+
)
|
|
13599
|
+
] })
|
|
13600
|
+
] }),
|
|
13601
|
+
/* @__PURE__ */ jsxs(
|
|
13602
|
+
"p",
|
|
13481
13603
|
{
|
|
13482
|
-
|
|
13483
|
-
|
|
13484
|
-
className: "h-7 text-xs text-[var(--color-status-error-text)] hover:text-[var(--color-status-error-text)]",
|
|
13485
|
-
disabled: busy !== null,
|
|
13486
|
-
onClick: () => setDeleteTarget(v.version),
|
|
13604
|
+
className: "mt-1.5 text-xs text-muted-foreground",
|
|
13605
|
+
title: absoluteTime(v.updatedAt),
|
|
13487
13606
|
children: [
|
|
13488
|
-
|
|
13489
|
-
|
|
13607
|
+
author ? `${author} \xB7 ` : "",
|
|
13608
|
+
relativeTime(v.updatedAt)
|
|
13490
13609
|
]
|
|
13491
13610
|
}
|
|
13492
13611
|
)
|
|
13493
|
-
]
|
|
13494
|
-
|
|
13495
|
-
|
|
13496
|
-
|
|
13497
|
-
|
|
13498
|
-
}) })
|
|
13612
|
+
]
|
|
13613
|
+
}
|
|
13614
|
+
)
|
|
13615
|
+
] }, v.id);
|
|
13616
|
+
}) }) }) })
|
|
13499
13617
|
] }),
|
|
13500
13618
|
/* @__PURE__ */ jsx(
|
|
13501
13619
|
AlertDialog,
|
|
@@ -14192,7 +14310,7 @@ function WorkflowItem({
|
|
|
14192
14310
|
};
|
|
14193
14311
|
const requiredNodeTypes = [];
|
|
14194
14312
|
try {
|
|
14195
|
-
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-
|
|
14313
|
+
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-K5JPCH3D.js');
|
|
14196
14314
|
await ensureNodeConfigsLoaded2().catch(() => {
|
|
14197
14315
|
});
|
|
14198
14316
|
const workflowNodeTypes = [
|
|
@@ -14490,5 +14608,5 @@ function WorkflowBuilder() {
|
|
|
14490
14608
|
}
|
|
14491
14609
|
|
|
14492
14610
|
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, FlowBuilderPage, FluidGridsProvider, TemplateCard, WorkflowBuilder, useFluidGridsContext, useImportWorkflowTemplate, useWorkflowTemplates };
|
|
14493
|
-
//# sourceMappingURL=chunk-
|
|
14494
|
-
//# sourceMappingURL=chunk-
|
|
14611
|
+
//# sourceMappingURL=chunk-2XMPJHCW.js.map
|
|
14612
|
+
//# sourceMappingURL=chunk-2XMPJHCW.js.map
|