@burdenoff/fluidgrids-fe-sdk 2026.716.3 → 2026.716.5

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.
@@ -1,4 +1,4 @@
1
- export { WorkflowBuilder } from './chunk-QMBL3E7J.js';
1
+ export { WorkflowBuilder } from './chunk-KIJ5NGUZ.js';
2
2
  import './chunk-7VEOUEIN.js';
3
3
  import './chunk-Z54K22LP.js';
4
4
  import './chunk-OKX63SYW.js';
@@ -10,5 +10,5 @@ import './chunk-NAC4WYE5.js';
10
10
  import './chunk-5BDQNSP3.js';
11
11
  import './chunk-WWU2O2SR.js';
12
12
  import './chunk-XQP33UJR.js';
13
- //# sourceMappingURL=WorkflowBuilder-UECTJ6AZ.js.map
14
- //# sourceMappingURL=WorkflowBuilder-UECTJ6AZ.js.map
13
+ //# sourceMappingURL=WorkflowBuilder-XXJCVCE4.js.map
14
+ //# sourceMappingURL=WorkflowBuilder-XXJCVCE4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-UECTJ6AZ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-XXJCVCE4.js"}
@@ -1,4 +1,4 @@
1
- import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Input as Input$1 } from './chunk-7VEOUEIN.js';
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-7VEOUEIN.js';
2
2
  import { cn, Badge as Badge$1, Button } from './chunk-Z54K22LP.js';
3
3
  import { refetchStoreNodes, registerWorkflowNodeTypes, ensureNodeConfigsLoaded, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, AVAILABLE_NODES, useSaveWorkflow, useNodeExecution, getNodeDetail, ConnectionSelector, createNodeWithDefaultData, NODE_CONFIGS, NODES_METADATA, isNodeConfigsInitialized, NODES, NodePropertyPanel } from './chunk-OKX63SYW.js';
4
4
  import { createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient, getGlobalStoreClient } from './chunk-BQXHJIER.js';
@@ -18,7 +18,7 @@ import { produce } from 'immer';
18
18
  import { cn as cn$1 } from '@burdenoff/fe-libs/utils';
19
19
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
20
20
  import { Icon } from '@iconify/react';
21
- import { Card as Card$1, Badge, CardContent as CardContent$1, Button as Button$1, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, DropdownMenuItem, Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, Popover, PopoverTrigger, PopoverContent, Toaster, Tabs, TabsList, TabsTrigger, TabsContent, CardHeader as CardHeader$1, CardTitle as CardTitle$1, CardDescription as CardDescription$1, ScrollArea, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, Label, DropdownMenuLabel, DropdownMenuSeparator, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Textarea } from '@burdenoff/fe-libs/ui';
21
+ import { Card as Card$1, Badge, CardContent as CardContent$1, Button as Button$1, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, 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, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, Label, DropdownMenuLabel, DropdownMenuSeparator, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Textarea } from '@burdenoff/fe-libs/ui';
22
22
  import { isEmpty } from 'radash';
23
23
  import { gql } from '@apollo/client';
24
24
  import { ApolloProvider, useQuery, useMutation } from '@apollo/client/react';
@@ -3498,18 +3498,18 @@ function TemplatesModal({
3498
3498
  const handleCloseDetailPanel = () => {
3499
3499
  setSelectedTemplate(null);
3500
3500
  };
3501
- return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(
3502
- DialogContent,
3501
+ return /* @__PURE__ */ jsx(Dialog$1, { open, onOpenChange, children: /* @__PURE__ */ jsxs(
3502
+ DialogContent$1,
3503
3503
  {
3504
3504
  size: "xl",
3505
3505
  className: "!flex !flex-col !h-[75vh] !max-h-[75vh] min-h-[500px] p-0 gap-0 overflow-hidden",
3506
3506
  children: [
3507
- /* @__PURE__ */ jsxs(DialogHeader, { className: "px-6 pt-6 pb-4 border-b shrink-0", children: [
3507
+ /* @__PURE__ */ jsxs(DialogHeader$1, { className: "px-6 pt-6 pb-4 border-b shrink-0", children: [
3508
3508
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
3509
3509
  /* @__PURE__ */ jsx(Sparkles, { className: "size-5 text-primary" }),
3510
- /* @__PURE__ */ jsx(DialogTitle, { className: "text-2xl", children: "Workflow Templates" })
3510
+ /* @__PURE__ */ jsx(DialogTitle$1, { className: "text-2xl", children: "Workflow Templates" })
3511
3511
  ] }),
3512
- /* @__PURE__ */ jsx(DialogDescription, { children: "Browse and use pre-built workflow templates to get started quickly" }),
3512
+ /* @__PURE__ */ jsx(DialogDescription$1, { children: "Browse and use pre-built workflow templates to get started quickly" }),
3513
3513
  /* @__PURE__ */ jsx("div", { className: "pt-4", children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
3514
3514
  /* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground" }),
3515
3515
  /* @__PURE__ */ jsx(
@@ -10899,9 +10899,9 @@ function TriggerDataDialog({
10899
10899
  setSubmitted(true);
10900
10900
  onExecute({});
10901
10901
  }, [onExecute]);
10902
- return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-lg", children: [
10903
- /* @__PURE__ */ jsxs(DialogHeader, { children: [
10904
- /* @__PURE__ */ jsxs(DialogTitle, { className: "flex items-center gap-2", children: [
10902
+ return /* @__PURE__ */ jsx(Dialog$1, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent$1, { className: "sm:max-w-lg", children: [
10903
+ /* @__PURE__ */ jsxs(DialogHeader$1, { children: [
10904
+ /* @__PURE__ */ jsxs(DialogTitle$1, { className: "flex items-center gap-2", children: [
10905
10905
  /* @__PURE__ */ jsx(
10906
10906
  Icon,
10907
10907
  {
@@ -10911,7 +10911,7 @@ function TriggerDataDialog({
10911
10911
  ),
10912
10912
  "Execute Workflow"
10913
10913
  ] }),
10914
- /* @__PURE__ */ jsx(DialogDescription, { children: "Provide the trigger data (JSON) that will be passed to the first node in the workflow. This is the input your workflow will process." })
10914
+ /* @__PURE__ */ jsx(DialogDescription$1, { children: "Provide the trigger data (JSON) that will be passed to the first node in the workflow. This is the input your workflow will process." })
10915
10915
  ] }),
10916
10916
  /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
10917
10917
  /* @__PURE__ */ jsx(
@@ -12546,8 +12546,8 @@ function NodeDetailView() {
12546
12546
  closeNdv();
12547
12547
  };
12548
12548
  const headerIcon = getNodeDetail(node?.type).icon;
12549
- return /* @__PURE__ */ jsx(Dialog$1, { open, onOpenChange: (o) => !o && closeNdv(), children: /* @__PURE__ */ jsxs(
12550
- DialogContent$1,
12549
+ return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: (o) => !o && closeNdv(), children: /* @__PURE__ */ jsxs(
12550
+ DialogContent,
12551
12551
  {
12552
12552
  style: {
12553
12553
  width: "94vw",
@@ -12560,11 +12560,11 @@ function NodeDetailView() {
12560
12560
  className: "flex flex-col gap-0 overflow-hidden border-border bg-background p-0",
12561
12561
  "data-testid": "ndv-modal",
12562
12562
  children: [
12563
- /* @__PURE__ */ jsxs(DialogHeader$1, { className: "flex shrink-0 flex-row items-center gap-3 space-y-0 border-b border-border px-4 py-3", children: [
12563
+ /* @__PURE__ */ jsxs(DialogHeader, { className: "flex shrink-0 flex-row items-center gap-3 space-y-0 border-b border-border px-4 py-3", children: [
12564
12564
  /* @__PURE__ */ jsx("div", { className: "flex size-7 shrink-0 items-center justify-center rounded-md bg-muted", children: /* @__PURE__ */ jsx(Icon, { icon: headerIcon, className: "size-4 text-foreground" }) }),
12565
12565
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
12566
- /* @__PURE__ */ jsx(DialogTitle$1, { className: "truncate text-sm font-semibold leading-tight", children: nodeTitle(node) }),
12567
- nodeSubtitle(node) && /* @__PURE__ */ jsx(DialogDescription$1, { className: "truncate text-xs leading-tight", children: nodeSubtitle(node) })
12566
+ /* @__PURE__ */ jsx(DialogTitle, { className: "truncate text-sm font-semibold leading-tight", children: nodeTitle(node) }),
12567
+ nodeSubtitle(node) && /* @__PURE__ */ jsx(DialogDescription, { className: "truncate text-xs leading-tight", children: nodeSubtitle(node) })
12568
12568
  ] }),
12569
12569
  /* @__PURE__ */ jsx(
12570
12570
  "button",
@@ -13561,6 +13561,11 @@ var FlowBuilderPage = ({
13561
13561
  ] }) })
13562
13562
  ] });
13563
13563
  };
13564
+ var LazyTemplateConfigurationModal2 = lazy(
13565
+ () => import('./TemplateConfigurationModal-ZMCT3ZCH.js').then(
13566
+ (m) => ({ default: m.TemplateConfigurationModal })
13567
+ )
13568
+ );
13564
13569
  function WorkflowItem({
13565
13570
  readonly = false
13566
13571
  }) {
@@ -13579,8 +13584,83 @@ function WorkflowItem({
13579
13584
  const creatingRef = useRef(false);
13580
13585
  const fromSharedLoadedRef = useRef(false);
13581
13586
  const fetchedWorkflowRef = useRef(null);
13587
+ const { installedAppIds } = useInstalledNodes();
13582
13588
  const [pendingSharedWorkflow, setPendingSharedWorkflow] = useState(null);
13583
- const [missingNodeTypes, setMissingNodeTypes] = useState([]);
13589
+ const [sharedNodeCheck, setSharedNodeCheck] = useState(null);
13590
+ const [configModalOpen, setConfigModalOpen] = useState(false);
13591
+ const [installing, setInstalling] = useState(false);
13592
+ const [installProgress, setInstallProgress] = useState(null);
13593
+ const buildNodeCheck = useCallback(
13594
+ (requiredNodeTypes) => {
13595
+ const installed = requiredNodeTypes.filter(
13596
+ (n) => n.publishType === "BUILTIN" || n.storeProductId && installedAppIds.has(n.storeProductId)
13597
+ );
13598
+ const notInstalled = requiredNodeTypes.filter(
13599
+ (n) => n.publishType !== "BUILTIN" && (!n.storeProductId || !installedAppIds.has(n.storeProductId))
13600
+ );
13601
+ const missing = notInstalled.filter((n) => !n.requiresPurchase);
13602
+ const missingPaid = notInstalled.filter((n) => !!n.requiresPurchase);
13603
+ return {
13604
+ installed,
13605
+ missing,
13606
+ missingPaid,
13607
+ canImport: missingPaid.length === 0
13608
+ };
13609
+ },
13610
+ [installedAppIds]
13611
+ );
13612
+ const buildNodeCheckRef = useRef(buildNodeCheck);
13613
+ useEffect(() => {
13614
+ buildNodeCheckRef.current = buildNodeCheck;
13615
+ });
13616
+ const handleSharedConfirm = useCallback(async () => {
13617
+ if (!pendingSharedWorkflow) return;
13618
+ const nodesToInstall = (sharedNodeCheck?.missing ?? []).filter(
13619
+ (n) => !!n.storeProductId
13620
+ );
13621
+ if (nodesToInstall.length > 0) {
13622
+ setInstalling(true);
13623
+ try {
13624
+ const { getGlobalStoreClient: getGlobalStoreClient2 } = await import('./global-client-OW43ZRDR.js');
13625
+ const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-5FLHXHG3.js');
13626
+ const { getFluidGridsConfig: getFluidGridsConfig2 } = await import('./config-E4E7M6IN.js');
13627
+ const storeClient = getGlobalStoreClient2();
13628
+ const cfg = getFluidGridsConfig2();
13629
+ for (let i = 0; i < nodesToInstall.length; i++) {
13630
+ const node = nodesToInstall[i];
13631
+ setInstallProgress({
13632
+ current: i + 1,
13633
+ total: nodesToInstall.length,
13634
+ nodeName: node.displayName || node.nodeType
13635
+ });
13636
+ try {
13637
+ if (storeClient) {
13638
+ await storeClient.mutate({
13639
+ mutation: InstallWorkflowNodeDocument2,
13640
+ variables: {
13641
+ input: {
13642
+ productId: node.storeProductId,
13643
+ workspaceId: cfg.workspaceId,
13644
+ organizationId: cfg.tenantId,
13645
+ version: node.nodeVersion,
13646
+ manifest: null
13647
+ }
13648
+ }
13649
+ });
13650
+ }
13651
+ } catch {
13652
+ }
13653
+ }
13654
+ } finally {
13655
+ setInstalling(false);
13656
+ setInstallProgress(null);
13657
+ }
13658
+ }
13659
+ setConfigModalOpen(false);
13660
+ setWorkflow(pendingSharedWorkflow);
13661
+ setPendingSharedWorkflow(null);
13662
+ setSharedNodeCheck(null);
13663
+ }, [pendingSharedWorkflow, sharedNodeCheck]);
13584
13664
  const newWorkflow = useMemo(
13585
13665
  () => ({
13586
13666
  id: id ?? "",
@@ -13621,30 +13701,86 @@ function WorkflowItem({
13621
13701
  nodes: manifest.nodes ?? [],
13622
13702
  edges: manifest.edges ?? []
13623
13703
  };
13624
- let missing = [];
13704
+ const requiredNodeTypes = [];
13625
13705
  try {
13626
13706
  const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-S5FDFFAW.js');
13627
13707
  await ensureNodeConfigsLoaded2().catch(() => {
13628
13708
  });
13629
- const nodeTypes3 = [
13709
+ const workflowNodeTypes = [
13630
13710
  ...new Set(
13631
13711
  sharedWorkflow.nodes.map((n) => n.type).filter((t) => Boolean(t))
13632
13712
  )
13633
13713
  ];
13634
- missing = nodeTypes3.filter(
13714
+ const missingTypes = workflowNodeTypes.filter(
13635
13715
  (type) => !NODE_CONFIGS3.some((c) => c.type === type)
13636
13716
  );
13717
+ if (missingTypes.length > 0) {
13718
+ const { getGlobalStoreClient: getGlobalStoreClient2 } = await import('./global-client-OW43ZRDR.js');
13719
+ const { BrowseWorkflowNodesDocument: BrowseWorkflowNodesDocument2 } = await import('./global-operations-5FLHXHG3.js');
13720
+ const storeClient = getGlobalStoreClient2();
13721
+ if (storeClient) {
13722
+ const storeResult = await storeClient.query({
13723
+ query: BrowseWorkflowNodesDocument2,
13724
+ variables: {
13725
+ input: {
13726
+ filter: {
13727
+ type: "NODE",
13728
+ compatibleWith: "fluidgrids"
13729
+ },
13730
+ sortBy: "DOWNLOADS",
13731
+ pagination: { limit: 200, offset: 0 }
13732
+ }
13733
+ },
13734
+ fetchPolicy: "cache-first"
13735
+ });
13736
+ const storeNodes = storeResult.data?.browseStore?.products ?? [];
13737
+ const nodeTypeToProduct = /* @__PURE__ */ new Map();
13738
+ for (const product of storeNodes) {
13739
+ const mNodeType = product.manifest?.nodeType;
13740
+ if (mNodeType) nodeTypeToProduct.set(mNodeType, product);
13741
+ }
13742
+ for (const type of workflowNodeTypes) {
13743
+ const isInstalled = NODE_CONFIGS3.some(
13744
+ (c) => c.type === type
13745
+ );
13746
+ if (isInstalled) {
13747
+ requiredNodeTypes.push({
13748
+ nodeType: type,
13749
+ nodeVersion: "1.0",
13750
+ publishType: "BUILTIN",
13751
+ displayName: type
13752
+ });
13753
+ } else {
13754
+ const product = nodeTypeToProduct.get(type);
13755
+ requiredNodeTypes.push({
13756
+ nodeType: type,
13757
+ nodeVersion: product?.manifestVersion ?? "1.0",
13758
+ publishType: "STORE",
13759
+ storeProductId: product?.id,
13760
+ displayName: product?.name ?? type,
13761
+ requiresPurchase: product !== void 0 && product.pricingModel !== "FREE"
13762
+ });
13763
+ }
13764
+ }
13765
+ }
13766
+ }
13637
13767
  } catch {
13638
13768
  }
13639
13769
  if (mounted) {
13640
- if (missing.length > 0) {
13641
- setPendingSharedWorkflow(sharedWorkflow);
13642
- setMissingNodeTypes(missing);
13643
- setIsLoading(false);
13644
- } else {
13645
- setWorkflow(sharedWorkflow);
13646
- setIsLoading(false);
13770
+ if (requiredNodeTypes.length > 0) {
13771
+ const nodeCheck = buildNodeCheckRef.current(requiredNodeTypes);
13772
+ const needsConfig = nodeCheck.missing.length > 0 || nodeCheck.missingPaid.length > 0;
13773
+ if (needsConfig) {
13774
+ setPendingSharedWorkflow(sharedWorkflow);
13775
+ setSharedNodeCheck(nodeCheck);
13776
+ setConfigModalOpen(true);
13777
+ setIsLoading(false);
13778
+ fromSharedLoadedRef.current = true;
13779
+ return;
13780
+ }
13647
13781
  }
13782
+ setWorkflow(sharedWorkflow);
13783
+ setIsLoading(false);
13648
13784
  fromSharedLoadedRef.current = true;
13649
13785
  }
13650
13786
  return;
@@ -13751,46 +13887,50 @@ function WorkflowItem({
13751
13887
  return () => {
13752
13888
  mounted = false;
13753
13889
  };
13754
- }, [id, version, createWorkflow, getWorkflow, newWorkflow, resetWorkflow]);
13890
+ }, [
13891
+ id,
13892
+ version,
13893
+ createWorkflow,
13894
+ getWorkflow,
13895
+ newWorkflow,
13896
+ resetWorkflow
13897
+ // buildNodeCheckRef is intentionally omitted — it's a ref (stable by definition)
13898
+ // and including buildNodeCheck here caused infinite re-runs because installedAppIds
13899
+ // produces a new Set reference on every render.
13900
+ ]);
13755
13901
  if (isLoading) return /* @__PURE__ */ jsx("div", { children: "Loading..." });
13756
- if (pendingSharedWorkflow && missingNodeTypes.length > 0) {
13757
- const proceed = () => {
13758
- setWorkflow(pendingSharedWorkflow);
13759
- setPendingSharedWorkflow(null);
13760
- setMissingNodeTypes([]);
13761
- };
13762
- return /* @__PURE__ */ jsx(Dialog, { open: true, onOpenChange: (open) => !open && proceed(), children: /* @__PURE__ */ jsxs(DialogContent, { className: "max-w-md", children: [
13763
- /* @__PURE__ */ jsxs(DialogHeader, { children: [
13764
- /* @__PURE__ */ jsx(DialogTitle, { children: "Missing nodes detected" }),
13765
- /* @__PURE__ */ jsxs(DialogDescription, { children: [
13766
- "This workflow uses",
13767
- " ",
13768
- missingNodeTypes.length === 1 ? "a node type" : `${missingNodeTypes.length} node types`,
13769
- " ",
13770
- "that",
13771
- " ",
13772
- missingNodeTypes.length === 1 ? "is" : "are",
13773
- " not yet installed in your workspace. Install",
13774
- " ",
13775
- missingNodeTypes.length === 1 ? "it" : "them",
13776
- " from the Node Store sidebar inside the builder before running the workflow."
13777
- ] })
13778
- ] }),
13779
- /* @__PURE__ */ jsx("ul", { className: "my-2 space-y-1", children: missingNodeTypes.map((type) => /* @__PURE__ */ jsxs(
13780
- "li",
13781
- {
13782
- className: "flex items-center gap-2 rounded-md border border-card-foreground/10 bg-muted px-3 py-2 text-sm",
13783
- children: [
13784
- /* @__PURE__ */ jsx("span", { className: "size-2 shrink-0 rounded-full bg-[var(--color-status-warning-bg)]" }),
13785
- /* @__PURE__ */ jsx("code", { className: "font-mono text-xs", children: type })
13786
- ]
13902
+ const sharedModalContent = pendingSharedWorkflow ? {
13903
+ definitionJson: { nodes: [], edges: [] },
13904
+ requiredNodeTypes: sharedNodeCheck ? [
13905
+ ...sharedNodeCheck.installed,
13906
+ ...sharedNodeCheck.missing,
13907
+ ...sharedNodeCheck.missingPaid
13908
+ ] : [],
13909
+ defaultWorkflowName: pendingSharedWorkflow.name
13910
+ } : null;
13911
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
13912
+ configModalOpen && pendingSharedWorkflow && /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
13913
+ LazyTemplateConfigurationModal2,
13914
+ {
13915
+ open: configModalOpen,
13916
+ onOpenChange: (open) => {
13917
+ if (!open && pendingSharedWorkflow) {
13918
+ setConfigModalOpen(false);
13919
+ setWorkflow(pendingSharedWorkflow);
13920
+ setPendingSharedWorkflow(null);
13921
+ setSharedNodeCheck(null);
13922
+ }
13787
13923
  },
13788
- type
13789
- )) }),
13790
- /* @__PURE__ */ jsx(DialogFooter, { children: /* @__PURE__ */ jsx(Button, { onClick: proceed, children: "Open in Builder" }) })
13791
- ] }) });
13792
- }
13793
- return workflow && !isLoading && /* @__PURE__ */ jsx(FlowBuilderPage, { workflow });
13924
+ template: null,
13925
+ content: sharedModalContent,
13926
+ nodeCheckResult: sharedNodeCheck,
13927
+ onConfirm: handleSharedConfirm,
13928
+ importing: installing,
13929
+ installProgress
13930
+ }
13931
+ ) }),
13932
+ workflow && !isLoading && /* @__PURE__ */ jsx(FlowBuilderPage, { workflow })
13933
+ ] });
13794
13934
  }
13795
13935
  function WorkflowBuilder() {
13796
13936
  const navigate = useNavigate();
@@ -13831,5 +13971,5 @@ function WorkflowBuilder() {
13831
13971
  }
13832
13972
 
13833
13973
  export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, FlowBuilderPage, FluidGridsProvider, TemplateCard, WorkflowBuilder, useFluidGridsContext, useImportWorkflowTemplate, useWorkflowTemplates };
13834
- //# sourceMappingURL=chunk-QMBL3E7J.js.map
13835
- //# sourceMappingURL=chunk-QMBL3E7J.js.map
13974
+ //# sourceMappingURL=chunk-KIJ5NGUZ.js.map
13975
+ //# sourceMappingURL=chunk-KIJ5NGUZ.js.map