@burdenoff/fluidgrids-fe-sdk 2026.801.3 → 2026.801.4
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/{WorkflowBuilder-UVADHNKZ.js → WorkflowBuilder-3TDGFGTP.js} +5 -5
- package/dist/{WorkflowBuilder-UVADHNKZ.js.map → WorkflowBuilder-3TDGFGTP.js.map} +1 -1
- package/dist/WorkflowsList-EE6P7GJ7.js +10 -0
- package/dist/{WorkflowsList-F5QRVKAW.js.map → WorkflowsList-EE6P7GJ7.js.map} +1 -1
- package/dist/{blocks-5FEPZOHW.js → blocks-HIWIS6OD.js} +4 -4
- package/dist/{blocks-5FEPZOHW.js.map → blocks-HIWIS6OD.js.map} +1 -1
- package/dist/{chunk-WSBRI47P.js → chunk-2KRMZXFF.js} +2 -2
- package/dist/chunk-2KRMZXFF.js.map +1 -0
- package/dist/{chunk-AI5S3GO5.js → chunk-33QRAWG2.js} +5 -12
- package/dist/chunk-33QRAWG2.js.map +1 -0
- package/dist/{chunk-7WQUDC5E.js → chunk-6I77TPCY.js} +248 -201
- package/dist/chunk-6I77TPCY.js.map +1 -0
- package/dist/{chunk-3VY2DAPD.js → chunk-PTBR5HNM.js} +3 -3
- package/dist/{chunk-3VY2DAPD.js.map → chunk-PTBR5HNM.js.map} +1 -1
- package/dist/index.d.ts +2 -10
- package/dist/index.js +8 -8
- package/package.json +1 -1
- package/dist/WorkflowsList-F5QRVKAW.js +0 -10
- package/dist/chunk-7WQUDC5E.js.map +0 -1
- package/dist/chunk-AI5S3GO5.js.map +0 -1
- package/dist/chunk-WSBRI47P.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
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, mergeStickyNotes, buildStickyNode, ConnectionSelector, nodeAccent, NODES_METADATA, isNodeConfigsInitialized, NODE_CONFIGS, NODES, NodePropertyPanel, resolveInputHandles } 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, mergeStickyNotes, buildStickyNode, ConnectionSelector, nodeAccent, NODES_METADATA, isNodeConfigsInitialized, NODE_CONFIGS, NODES, NodePropertyPanel, resolveInputHandles } from './chunk-33QRAWG2.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
6
|
import { useLazyWorkflowDefinition, useCreateWorkflow, useWorkflowVersions, useRestoreWorkflowVersion, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-NMS2QUXG.js';
|
|
7
|
-
import { useFlowStore } from './chunk-
|
|
7
|
+
import { useFlowStore } from './chunk-2KRMZXFF.js';
|
|
8
8
|
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS } from './chunk-UIY2HBWA.js';
|
|
9
9
|
import { cn } from './chunk-3ZYUGTIT.js';
|
|
10
10
|
import { throwIfResultError, NodeSchemaIntrospectionDocument, EventRegistrationsDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument } from './chunk-XEYNX7YJ.js';
|
|
@@ -4211,7 +4211,7 @@ function DesktopSidebarFragment({
|
|
|
4211
4211
|
if (nodes) {
|
|
4212
4212
|
const requiredNodeTypes = [];
|
|
4213
4213
|
try {
|
|
4214
|
-
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-
|
|
4214
|
+
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-HIWIS6OD.js');
|
|
4215
4215
|
await ensureNodeConfigsLoaded2().catch(() => {
|
|
4216
4216
|
});
|
|
4217
4217
|
const workflowNodeTypes = [
|
|
@@ -13503,31 +13503,46 @@ var PANEL_WIDTH = 380;
|
|
|
13503
13503
|
var PANEL_EST_HEIGHT = 480;
|
|
13504
13504
|
var MAPPER_WIDTH = 260;
|
|
13505
13505
|
var VIEWPORT_MARGIN = 12;
|
|
13506
|
-
|
|
13507
|
-
|
|
13508
|
-
const
|
|
13506
|
+
var NODE_GAP = 14;
|
|
13507
|
+
function useNodeScreenRect(nodeId) {
|
|
13508
|
+
const { flowToScreenPosition } = useReactFlow();
|
|
13509
|
+
const raw = useStore((s) => {
|
|
13510
|
+
const n = s.nodeLookup.get(nodeId);
|
|
13511
|
+
if (!n) return null;
|
|
13512
|
+
const p = n.internals?.positionAbsolute ?? n.position;
|
|
13513
|
+
return {
|
|
13514
|
+
x: p.x,
|
|
13515
|
+
y: p.y,
|
|
13516
|
+
w: n.measured?.width ?? n.width ?? 288,
|
|
13517
|
+
h: n.measured?.height ?? n.height ?? 120,
|
|
13518
|
+
// Selecting the transform forces a re-render on pan/zoom.
|
|
13519
|
+
tx: s.transform[0],
|
|
13520
|
+
ty: s.transform[1],
|
|
13521
|
+
z: s.transform[2]
|
|
13522
|
+
};
|
|
13523
|
+
}, shallow);
|
|
13524
|
+
if (!raw) return null;
|
|
13525
|
+
const tl = flowToScreenPosition({ x: raw.x, y: raw.y });
|
|
13526
|
+
const br = flowToScreenPosition({ x: raw.x + raw.w, y: raw.y + raw.h });
|
|
13509
13527
|
return {
|
|
13510
|
-
|
|
13511
|
-
|
|
13512
|
-
|
|
13513
|
-
|
|
13514
|
-
|
|
13515
|
-
Math.max(VIEWPORT_MARGIN, pos.y),
|
|
13516
|
-
Math.max(VIEWPORT_MARGIN, maxY)
|
|
13517
|
-
)
|
|
13528
|
+
left: tl.x,
|
|
13529
|
+
top: tl.y,
|
|
13530
|
+
right: br.x,
|
|
13531
|
+
bottom: br.y,
|
|
13532
|
+
cy: (tl.y + br.y) / 2
|
|
13518
13533
|
};
|
|
13519
13534
|
}
|
|
13535
|
+
var clamp = (v, lo, hi) => Math.min(Math.max(v, lo), Math.max(lo, hi));
|
|
13520
13536
|
function QuickConfigPanel() {
|
|
13521
13537
|
const quickConfig = useFlowStore((s) => s.workflow.quickConfig);
|
|
13522
13538
|
if (!quickConfig) return null;
|
|
13523
13539
|
return (
|
|
13524
|
-
// Remount per node so panel
|
|
13540
|
+
// Remount per node so panel-local state (mapper open) resets naturally.
|
|
13525
13541
|
/* @__PURE__ */ jsx(
|
|
13526
13542
|
QuickConfigPanelInner,
|
|
13527
13543
|
{
|
|
13528
13544
|
nodeId: quickConfig.nodeId,
|
|
13529
|
-
type: quickConfig.type
|
|
13530
|
-
anchor: quickConfig.anchor
|
|
13545
|
+
type: quickConfig.type
|
|
13531
13546
|
},
|
|
13532
13547
|
quickConfig.nodeId
|
|
13533
13548
|
)
|
|
@@ -13535,8 +13550,7 @@ function QuickConfigPanel() {
|
|
|
13535
13550
|
}
|
|
13536
13551
|
function QuickConfigPanelInner({
|
|
13537
13552
|
nodeId,
|
|
13538
|
-
type
|
|
13539
|
-
anchor
|
|
13553
|
+
type
|
|
13540
13554
|
}) {
|
|
13541
13555
|
const close = useFlowStore((s) => s.actions.quickConfig.close);
|
|
13542
13556
|
const openNdv = useFlowStore((s) => s.actions.ndv.open);
|
|
@@ -13549,45 +13563,62 @@ function QuickConfigPanelInner({
|
|
|
13549
13563
|
setSelectedSource,
|
|
13550
13564
|
inputFields
|
|
13551
13565
|
} = config;
|
|
13552
|
-
const [pos, setPos] = useState(
|
|
13553
|
-
() => clampToViewport(
|
|
13554
|
-
anchor ?? {
|
|
13555
|
-
x: window.innerWidth / 2 - PANEL_WIDTH / 2,
|
|
13556
|
-
y: window.innerHeight / 4
|
|
13557
|
-
}
|
|
13558
|
-
)
|
|
13559
|
-
);
|
|
13560
13566
|
const [showMapper, setShowMapper] = useState(false);
|
|
13561
|
-
const
|
|
13562
|
-
const
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
window.removeEventListener("pointermove", onMove);
|
|
13584
|
-
window.removeEventListener("pointerup", onUp);
|
|
13567
|
+
const nodeRect = useNodeScreenRect(nodeId);
|
|
13568
|
+
const cardRef = useRef(null);
|
|
13569
|
+
const [panelH, setPanelH] = useState(PANEL_EST_HEIGHT);
|
|
13570
|
+
useLayoutEffect(() => {
|
|
13571
|
+
const el = cardRef.current;
|
|
13572
|
+
if (!el) return;
|
|
13573
|
+
const measure = () => setPanelH(el.offsetHeight);
|
|
13574
|
+
measure();
|
|
13575
|
+
const ro = new ResizeObserver(measure);
|
|
13576
|
+
ro.observe(el);
|
|
13577
|
+
return () => ro.disconnect();
|
|
13578
|
+
}, []);
|
|
13579
|
+
const placement = useMemo(() => {
|
|
13580
|
+
if (!nodeRect) {
|
|
13581
|
+
return {
|
|
13582
|
+
side: "right",
|
|
13583
|
+
left: window.innerWidth / 2 - PANEL_WIDTH / 2,
|
|
13584
|
+
top: window.innerHeight / 4,
|
|
13585
|
+
connectorLeft: 0,
|
|
13586
|
+
connectorWidth: 0,
|
|
13587
|
+
connectorTop: 0,
|
|
13588
|
+
hasConnector: false
|
|
13585
13589
|
};
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
|
|
13590
|
-
|
|
13590
|
+
}
|
|
13591
|
+
const need = PANEL_WIDTH + NODE_GAP + VIEWPORT_MARGIN;
|
|
13592
|
+
const spaceRight = window.innerWidth - nodeRect.right;
|
|
13593
|
+
const spaceLeft = nodeRect.left;
|
|
13594
|
+
const side = spaceRight >= need ? "right" : spaceLeft >= need ? "left" : spaceRight >= spaceLeft ? "right" : "left";
|
|
13595
|
+
const rawLeft = side === "right" ? nodeRect.right + NODE_GAP : nodeRect.left - NODE_GAP - PANEL_WIDTH;
|
|
13596
|
+
const left = clamp(
|
|
13597
|
+
rawLeft,
|
|
13598
|
+
VIEWPORT_MARGIN,
|
|
13599
|
+
window.innerWidth - PANEL_WIDTH - VIEWPORT_MARGIN
|
|
13600
|
+
);
|
|
13601
|
+
const top = clamp(
|
|
13602
|
+
nodeRect.cy - panelH / 2,
|
|
13603
|
+
VIEWPORT_MARGIN,
|
|
13604
|
+
window.innerHeight - panelH - VIEWPORT_MARGIN
|
|
13605
|
+
);
|
|
13606
|
+
const connectorTop = clamp(nodeRect.cy, top + 6, top + panelH - 6);
|
|
13607
|
+
const connectorLeft = side === "right" ? nodeRect.right : left + PANEL_WIDTH;
|
|
13608
|
+
const connectorWidth = Math.max(
|
|
13609
|
+
0,
|
|
13610
|
+
side === "right" ? left - nodeRect.right : nodeRect.left - (left + PANEL_WIDTH)
|
|
13611
|
+
);
|
|
13612
|
+
return {
|
|
13613
|
+
side,
|
|
13614
|
+
left,
|
|
13615
|
+
top,
|
|
13616
|
+
connectorLeft,
|
|
13617
|
+
connectorWidth,
|
|
13618
|
+
connectorTop,
|
|
13619
|
+
hasConnector: connectorWidth > 1
|
|
13620
|
+
};
|
|
13621
|
+
}, [nodeRect, panelH]);
|
|
13591
13622
|
useEffect(() => {
|
|
13592
13623
|
const onKey = (e) => {
|
|
13593
13624
|
if (e.key === "Escape") close();
|
|
@@ -13605,154 +13636,170 @@ function QuickConfigPanelInner({
|
|
|
13605
13636
|
const expandToNdv = () => {
|
|
13606
13637
|
openNdv({ nodeId, type });
|
|
13607
13638
|
};
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13627
|
-
|
|
13628
|
-
|
|
13629
|
-
|
|
13630
|
-
|
|
13639
|
+
const mapperStyle = placement.side === "right" ? { left: "100%", marginLeft: 10, top: 0 } : { right: "100%", marginRight: 10, top: 0 };
|
|
13640
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
13641
|
+
placement.hasConnector && /* @__PURE__ */ jsx(
|
|
13642
|
+
"div",
|
|
13643
|
+
{
|
|
13644
|
+
"aria-hidden": true,
|
|
13645
|
+
className: "pointer-events-none fixed",
|
|
13646
|
+
style: {
|
|
13647
|
+
left: placement.connectorLeft,
|
|
13648
|
+
top: placement.connectorTop - 1,
|
|
13649
|
+
width: placement.connectorWidth,
|
|
13650
|
+
height: 2,
|
|
13651
|
+
background: accent,
|
|
13652
|
+
opacity: 0.55,
|
|
13653
|
+
zIndex: 299
|
|
13654
|
+
}
|
|
13655
|
+
}
|
|
13656
|
+
),
|
|
13657
|
+
/* @__PURE__ */ jsxs(
|
|
13658
|
+
"div",
|
|
13659
|
+
{
|
|
13660
|
+
className: "fixed",
|
|
13661
|
+
style: {
|
|
13662
|
+
left: placement.left,
|
|
13663
|
+
top: placement.top,
|
|
13664
|
+
zIndex: 300,
|
|
13665
|
+
width: PANEL_WIDTH
|
|
13666
|
+
},
|
|
13667
|
+
"data-testid": "quick-config-panel",
|
|
13668
|
+
children: [
|
|
13669
|
+
showMapper && /* @__PURE__ */ jsxs(
|
|
13670
|
+
"div",
|
|
13671
|
+
{
|
|
13672
|
+
className: "absolute overflow-hidden rounded-xl border border-border bg-card shadow-xl",
|
|
13673
|
+
style: {
|
|
13674
|
+
...mapperStyle,
|
|
13675
|
+
width: MAPPER_WIDTH,
|
|
13676
|
+
maxHeight: "min(60vh, 480px)",
|
|
13677
|
+
display: "flex",
|
|
13678
|
+
flexDirection: "column"
|
|
13679
|
+
},
|
|
13680
|
+
"data-testid": "quick-config-mapper",
|
|
13681
|
+
children: [
|
|
13682
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b border-border px-3 py-2", children: [
|
|
13683
|
+
/* @__PURE__ */ jsx(
|
|
13684
|
+
Icon,
|
|
13685
|
+
{
|
|
13686
|
+
icon: "mdi:tray-arrow-down",
|
|
13687
|
+
className: "size-3.5 text-muted-foreground"
|
|
13688
|
+
}
|
|
13689
|
+
),
|
|
13690
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-muted-foreground", children: "Input" }),
|
|
13691
|
+
sourceIds.length > 0 && /* @__PURE__ */ jsx(
|
|
13692
|
+
"select",
|
|
13693
|
+
{
|
|
13694
|
+
className: "ml-auto max-w-[55%] truncate rounded-md border border-input bg-background px-1.5 py-0.5 text-[11px] text-foreground outline-none focus:border-primary",
|
|
13695
|
+
value: selectedSource ?? "",
|
|
13696
|
+
onChange: (e) => setSelectedSource(e.target.value),
|
|
13697
|
+
"data-testid": "qc-source-selector",
|
|
13698
|
+
children: sourceIds.map((sid) => {
|
|
13699
|
+
const sn = nodes.find((n) => n.id === sid);
|
|
13700
|
+
return /* @__PURE__ */ jsx("option", { value: sid, children: nodeTitle(sn) }, sid);
|
|
13701
|
+
})
|
|
13702
|
+
}
|
|
13703
|
+
)
|
|
13704
|
+
] }),
|
|
13705
|
+
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto px-2 py-2", children: inputFields.length > 0 ? /* @__PURE__ */ jsx(FieldTree, { fields: inputFields, draggable: true }) : /* @__PURE__ */ jsx("p", { className: "px-2 py-4 text-center text-xs text-muted-foreground", children: sourceIds.length === 0 ? "Connect an upstream node to map its fields." : "The selected source has no declared output fields." }) }),
|
|
13706
|
+
/* @__PURE__ */ jsx("p", { className: "shrink-0 border-t border-border px-3 py-1.5 text-[10px] leading-snug text-muted-foreground", children: "Drag a field onto a parameter to map it." })
|
|
13707
|
+
]
|
|
13708
|
+
}
|
|
13709
|
+
),
|
|
13710
|
+
/* @__PURE__ */ jsxs(
|
|
13711
|
+
"div",
|
|
13712
|
+
{
|
|
13713
|
+
ref: cardRef,
|
|
13714
|
+
className: "flex flex-col overflow-hidden rounded-xl border border-border bg-card shadow-2xl animate-in fade-in zoom-in-95 duration-150",
|
|
13715
|
+
style: {
|
|
13716
|
+
maxHeight: "min(70vh, 560px)",
|
|
13717
|
+
borderTop: `3px solid ${accent}`
|
|
13718
|
+
},
|
|
13719
|
+
children: [
|
|
13720
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2.5 border-b border-border px-3 py-2.5 select-none", children: [
|
|
13721
|
+
/* @__PURE__ */ jsx(
|
|
13722
|
+
"div",
|
|
13723
|
+
{
|
|
13724
|
+
className: "flex size-7 shrink-0 items-center justify-center rounded-lg",
|
|
13725
|
+
style: {
|
|
13726
|
+
backgroundColor: `color-mix(in srgb, ${accent} 13%, transparent)`,
|
|
13727
|
+
color: accent,
|
|
13728
|
+
border: `1px solid color-mix(in srgb, ${accent} 26%, transparent)`
|
|
13729
|
+
},
|
|
13730
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "size-4" })
|
|
13731
|
+
}
|
|
13732
|
+
),
|
|
13733
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
13734
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-sm font-semibold leading-tight text-foreground", children: nodeTitle(node) }),
|
|
13735
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate font-mono text-[11px] leading-tight text-muted-foreground", children: subtitle })
|
|
13736
|
+
] }),
|
|
13737
|
+
/* @__PURE__ */ jsx(
|
|
13738
|
+
"button",
|
|
13739
|
+
{
|
|
13740
|
+
type: "button",
|
|
13741
|
+
title: showMapper ? "Hide input data" : "Map data from input",
|
|
13742
|
+
"aria-label": "Toggle input mapper",
|
|
13743
|
+
onClick: () => setShowMapper((v) => !v),
|
|
13744
|
+
className: `rounded-md p-1.5 transition-colors hover:bg-muted ${showMapper ? "text-primary" : "text-muted-foreground"} hover:text-foreground`,
|
|
13745
|
+
"data-testid": "qc-toggle-mapper",
|
|
13746
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:tray-arrow-down", className: "size-4" })
|
|
13747
|
+
}
|
|
13748
|
+
),
|
|
13749
|
+
/* @__PURE__ */ jsx(
|
|
13750
|
+
"button",
|
|
13751
|
+
{
|
|
13752
|
+
type: "button",
|
|
13753
|
+
title: "Open full editor",
|
|
13754
|
+
"aria-label": "Open full editor",
|
|
13755
|
+
onClick: expandToNdv,
|
|
13756
|
+
className: "rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13757
|
+
"data-testid": "qc-expand",
|
|
13758
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:arrow-expand", className: "size-4" })
|
|
13759
|
+
}
|
|
13760
|
+
),
|
|
13761
|
+
/* @__PURE__ */ jsx(
|
|
13762
|
+
"button",
|
|
13763
|
+
{
|
|
13764
|
+
type: "button",
|
|
13765
|
+
title: "Close",
|
|
13766
|
+
"aria-label": "Close",
|
|
13767
|
+
onClick: close,
|
|
13768
|
+
className: "rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13769
|
+
"data-testid": "qc-close",
|
|
13770
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:close", className: "size-4" })
|
|
13771
|
+
}
|
|
13772
|
+
)
|
|
13773
|
+
] }),
|
|
13631
13774
|
/* @__PURE__ */ jsx(
|
|
13632
|
-
|
|
13633
|
-
{
|
|
13634
|
-
icon: "mdi:tray-arrow-down",
|
|
13635
|
-
className: "size-3.5 text-muted-foreground"
|
|
13636
|
-
}
|
|
13637
|
-
),
|
|
13638
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold uppercase tracking-[0.12em] text-muted-foreground", children: "Input" }),
|
|
13639
|
-
sourceIds.length > 0 && /* @__PURE__ */ jsx(
|
|
13640
|
-
"select",
|
|
13775
|
+
"div",
|
|
13641
13776
|
{
|
|
13642
|
-
className: "
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13646
|
-
|
|
13647
|
-
|
|
13648
|
-
return /* @__PURE__ */ jsx("option", { value: sid, children: nodeTitle(sn) }, sid);
|
|
13649
|
-
})
|
|
13650
|
-
}
|
|
13651
|
-
)
|
|
13652
|
-
] }),
|
|
13653
|
-
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto px-2 py-2", children: inputFields.length > 0 ? /* @__PURE__ */ jsx(FieldTree, { fields: inputFields, draggable: true }) : /* @__PURE__ */ jsx("p", { className: "px-2 py-4 text-center text-xs text-muted-foreground", children: sourceIds.length === 0 ? "Connect an upstream node to map its fields." : "The selected source has no declared output fields." }) }),
|
|
13654
|
-
/* @__PURE__ */ jsx("p", { className: "shrink-0 border-t border-border px-3 py-1.5 text-[10px] leading-snug text-muted-foreground", children: "Drag a field onto a parameter to map it." })
|
|
13655
|
-
]
|
|
13656
|
-
}
|
|
13657
|
-
),
|
|
13658
|
-
/* @__PURE__ */ jsxs(
|
|
13659
|
-
"div",
|
|
13660
|
-
{
|
|
13661
|
-
className: "flex flex-col overflow-hidden rounded-xl border border-border bg-card shadow-2xl animate-in fade-in zoom-in-95 duration-150",
|
|
13662
|
-
style: {
|
|
13663
|
-
maxHeight: "min(70vh, 560px)",
|
|
13664
|
-
borderTop: `3px solid ${accent}`
|
|
13665
|
-
},
|
|
13666
|
-
children: [
|
|
13667
|
-
/* @__PURE__ */ jsxs(
|
|
13668
|
-
"div",
|
|
13669
|
-
{
|
|
13670
|
-
className: "flex shrink-0 cursor-move items-center gap-2.5 border-b border-border px-3 py-2.5 select-none",
|
|
13671
|
-
onPointerDown: handleHeaderPointerDown,
|
|
13672
|
-
children: [
|
|
13673
|
-
/* @__PURE__ */ jsx(
|
|
13674
|
-
"div",
|
|
13675
|
-
{
|
|
13676
|
-
className: "flex size-7 shrink-0 items-center justify-center rounded-lg",
|
|
13677
|
-
style: {
|
|
13678
|
-
backgroundColor: `color-mix(in srgb, ${accent} 13%, transparent)`,
|
|
13679
|
-
color: accent,
|
|
13680
|
-
border: `1px solid color-mix(in srgb, ${accent} 26%, transparent)`
|
|
13681
|
-
},
|
|
13682
|
-
children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "size-4" })
|
|
13683
|
-
}
|
|
13684
|
-
),
|
|
13685
|
-
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
13686
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-sm font-semibold leading-tight text-foreground", children: nodeTitle(node) }),
|
|
13687
|
-
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate font-mono text-[11px] leading-tight text-muted-foreground", children: subtitle })
|
|
13688
|
-
] }),
|
|
13689
|
-
/* @__PURE__ */ jsx(
|
|
13690
|
-
"button",
|
|
13691
|
-
{
|
|
13692
|
-
type: "button",
|
|
13693
|
-
title: showMapper ? "Hide input data" : "Map data from input",
|
|
13694
|
-
"aria-label": "Toggle input mapper",
|
|
13695
|
-
onClick: () => setShowMapper((v) => !v),
|
|
13696
|
-
className: `rounded-md p-1.5 transition-colors hover:bg-muted ${showMapper ? "text-primary" : "text-muted-foreground"} hover:text-foreground`,
|
|
13697
|
-
"data-testid": "qc-toggle-mapper",
|
|
13698
|
-
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:tray-arrow-down", className: "size-4" })
|
|
13777
|
+
className: "min-h-0 flex-1 space-y-4 overflow-auto p-3",
|
|
13778
|
+
"data-testid": "qc-params",
|
|
13779
|
+
onFocusCapture: (e) => {
|
|
13780
|
+
const tag = e.target.tagName;
|
|
13781
|
+
if (sourceIds.length > 0 && (tag === "INPUT" || tag === "SELECT" || tag === "TEXTAREA")) {
|
|
13782
|
+
setShowMapper(true);
|
|
13699
13783
|
}
|
|
13700
|
-
|
|
13701
|
-
/* @__PURE__ */ jsx(
|
|
13702
|
-
|
|
13784
|
+
},
|
|
13785
|
+
children: /* @__PURE__ */ jsx(
|
|
13786
|
+
NodeParamsForm,
|
|
13703
13787
|
{
|
|
13704
|
-
|
|
13705
|
-
|
|
13706
|
-
|
|
13707
|
-
onClick: expandToNdv,
|
|
13708
|
-
className: "rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13709
|
-
"data-testid": "qc-expand",
|
|
13710
|
-
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:arrow-expand", className: "size-4" })
|
|
13711
|
-
}
|
|
13712
|
-
),
|
|
13713
|
-
/* @__PURE__ */ jsx(
|
|
13714
|
-
"button",
|
|
13715
|
-
{
|
|
13716
|
-
type: "button",
|
|
13717
|
-
title: "Close",
|
|
13718
|
-
"aria-label": "Close",
|
|
13719
|
-
onClick: close,
|
|
13720
|
-
className: "rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13721
|
-
"data-testid": "qc-close",
|
|
13722
|
-
children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:close", className: "size-4" })
|
|
13788
|
+
config,
|
|
13789
|
+
nodeType: node.type,
|
|
13790
|
+
testIdPrefix: "qc"
|
|
13723
13791
|
}
|
|
13724
13792
|
)
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
if (sourceIds.length > 0 && (tag === "INPUT" || tag === "SELECT" || tag === "TEXTAREA")) {
|
|
13736
|
-
setShowMapper(true);
|
|
13737
|
-
}
|
|
13738
|
-
},
|
|
13739
|
-
children: /* @__PURE__ */ jsx(
|
|
13740
|
-
NodeParamsForm,
|
|
13741
|
-
{
|
|
13742
|
-
config,
|
|
13743
|
-
nodeType: node.type,
|
|
13744
|
-
testIdPrefix: "qc"
|
|
13745
|
-
}
|
|
13746
|
-
)
|
|
13747
|
-
}
|
|
13748
|
-
),
|
|
13749
|
-
/* @__PURE__ */ jsx("p", { className: "shrink-0 border-t border-border px-3 py-1.5 text-[10px] leading-snug text-muted-foreground", children: "Changes apply instantly \xB7 double-click the node for the full editor" })
|
|
13750
|
-
]
|
|
13751
|
-
}
|
|
13752
|
-
)
|
|
13753
|
-
]
|
|
13754
|
-
}
|
|
13755
|
-
);
|
|
13793
|
+
}
|
|
13794
|
+
),
|
|
13795
|
+
/* @__PURE__ */ jsx("p", { className: "shrink-0 border-t border-border px-3 py-1.5 text-[10px] leading-snug text-muted-foreground", children: "Changes apply instantly \xB7 double-click the node for the full editor" })
|
|
13796
|
+
]
|
|
13797
|
+
}
|
|
13798
|
+
)
|
|
13799
|
+
]
|
|
13800
|
+
}
|
|
13801
|
+
)
|
|
13802
|
+
] });
|
|
13756
13803
|
}
|
|
13757
13804
|
var STATUS_STYLES = {
|
|
13758
13805
|
DRAFT: { label: "Draft", variant: "secondary" },
|
|
@@ -14775,7 +14822,7 @@ function WorkflowItem({
|
|
|
14775
14822
|
};
|
|
14776
14823
|
const requiredNodeTypes = [];
|
|
14777
14824
|
try {
|
|
14778
|
-
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-
|
|
14825
|
+
const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-HIWIS6OD.js');
|
|
14779
14826
|
await ensureNodeConfigsLoaded2().catch(() => {
|
|
14780
14827
|
});
|
|
14781
14828
|
const workflowNodeTypes = [
|
|
@@ -15073,5 +15120,5 @@ function WorkflowBuilder() {
|
|
|
15073
15120
|
}
|
|
15074
15121
|
|
|
15075
15122
|
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, FlowBuilderPage, FluidGridsProvider, TemplateCard, WorkflowBuilder, useFluidGridsContext, useImportWorkflowTemplate, useWorkflowTemplates };
|
|
15076
|
-
//# sourceMappingURL=chunk-
|
|
15077
|
-
//# sourceMappingURL=chunk-
|
|
15123
|
+
//# sourceMappingURL=chunk-6I77TPCY.js.map
|
|
15124
|
+
//# sourceMappingURL=chunk-6I77TPCY.js.map
|