@notmrabhi/flowforge 0.1.20 → 0.1.22

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/canvas.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./templateSkeletons--Ol7Sg7H.js"),t=require("./messages-O9Tw_XXR.js"),r=require("./bpmn-CcuE2X_Q.js"),e=require("./GatewayBranchEdge-DK6kuCK2.js");exports.FlowForgeCanvas=o.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=o.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=o.FlowForgeCanvas;exports.WorkflowExecutionHistory=o.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=o.WorkflowTemplateLibrary;exports.accessRequestSkeleton=o.accessRequestSkeleton;exports.offboardingSkeleton=o.offboardingSkeleton;exports.userOnboardingSkeleton=o.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=o.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=t.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=r.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=r.saveWorkflowToBpmn;exports.ActionNode=e.ActionNode;exports.ApprovalNode=e.ApprovalNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.RestApiNode=e.RestApiNode;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.WebhookTriggerNode=e.WebhookTriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./templateSkeletons-D5dYuslG.js"),t=require("./messages-O9Tw_XXR.js"),r=require("./bpmn-CcuE2X_Q.js"),e=require("./GatewayBranchEdge-9YF32wwN.js");exports.FlowForgeCanvas=o.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=o.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=o.FlowForgeCanvas;exports.WorkflowExecutionHistory=o.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=o.WorkflowTemplateLibrary;exports.accessRequestSkeleton=o.accessRequestSkeleton;exports.offboardingSkeleton=o.offboardingSkeleton;exports.userOnboardingSkeleton=o.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=o.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=t.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=r.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=r.saveWorkflowToBpmn;exports.ActionNode=e.ActionNode;exports.ApprovalNode=e.ApprovalNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.RestApiNode=e.RestApiNode;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.WebhookTriggerNode=e.WebhookTriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
package/dist/canvas.js CHANGED
@@ -1,7 +1,7 @@
1
- import { F as a, S as s, F as r, W as t, a as l, b as n, o as d, u as i, w as f } from "./templateSkeletons-DcvDac7_.js";
1
+ import { F as a, S as s, F as r, W as t, a as l, b as n, o as d, u as i, w as f } from "./templateSkeletons-D2ecxpVH.js";
2
2
  import { d as w } from "./messages-CO299wPN.js";
3
3
  import { l as p, s as b } from "./bpmn-CtfWDaOY.js";
4
- import { A as F, b as N, E as m, c as u, F as S, R as T, S as c, T as v, W as x, e as A } from "./GatewayBranchEdge-BdUVHQJc.js";
4
+ import { A as F, b as N, E as m, c as u, F as S, R as T, S as c, T as v, W as x, e as A } from "./GatewayBranchEdge-Dxoy5B1A.js";
5
5
  export {
6
6
  F as ActionNode,
7
7
  N as ApprovalNode,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GatewayBranchEdge-DK6kuCK2.js");exports.ActionNode=e.ActionNode;exports.AddTriggerNode=e.AddTriggerNode;exports.ApprovalNode=e.ApprovalNode;exports.DelayNode=e.DelayNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.GatewayBranchEdge=e.GatewayBranchEdge;exports.LabelPlusEdge=e.LabelPlusEdge;exports.NotificationNode=e.NotificationNode;exports.PlainEdge=e.PlainEdge;exports.PlusEdge=e.PlusEdge;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GatewayBranchEdge-9YF32wwN.js");exports.ActionNode=e.ActionNode;exports.AddTriggerNode=e.AddTriggerNode;exports.ApprovalNode=e.ApprovalNode;exports.DelayNode=e.DelayNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.GatewayBranchEdge=e.GatewayBranchEdge;exports.LabelPlusEdge=e.LabelPlusEdge;exports.NotificationNode=e.NotificationNode;exports.PlainEdge=e.PlainEdge;exports.PlusEdge=e.PlusEdge;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
package/dist/defaultUi.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as d, a as s, b as o, D as N, E as i, c as l, F as r, G as t, L as g, N as E, P as n, d as P, S as b, T as c, e as p } from "./GatewayBranchEdge-BdUVHQJc.js";
1
+ import { A as d, a as s, b as o, D as N, E as i, c as l, F as r, G as t, L as g, N as E, P as n, d as P, S as b, T as c, e as p } from "./GatewayBranchEdge-Dxoy5B1A.js";
2
2
  export {
3
3
  d as ActionNode,
4
4
  s as AddTriggerNode,
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-a1IOaYsW.js"),a=require("./SchemaBuilderDrawer-Wje7pVrn.js");require("react/jsx-runtime");require("react");require("@mui/material");require("react-icons/md");const r=require("./nodeRegistry.cjs"),l=require("./templateRegistry.cjs"),i=require("./templateSkeletons--Ol7Sg7H.js"),d=require("./messages-O9Tw_XXR.js"),n=require("./bpmn-CcuE2X_Q.js"),o=require("./GatewayBranchEdge-DK6kuCK2.js");class u{constructor(){this.channels=new Map}register(t,s){this.channels.set(t,s)}get(t){return this.channels.get(t)}list(){return Array.from(this.channels.entries()).map(([t,s])=>({key:t,...s}))}has(t){return this.channels.has(t)}}const c=new u;exports.DynamicFormRenderer=e.DynamicFormRenderer;exports.FF=e.FF;exports.FlowForgeRegistry=e.FlowForgeRegistry;exports.FlowForm=e.FlowForm;exports.FormulaInput=e.FormulaInput;exports.InfiniteSelectField=e.InfiniteSelectField;exports.TablePickerField=e.TablePickerField;exports.VariablePicker=e.VariablePicker;exports.VariablePickerProvider=e.VariablePickerProvider;exports.astHasRefs=e.astHasRefs;exports.astToTokens=e.astToTokens;exports.buildEvaluationPayload=e.buildEvaluationPayload;exports.buildFieldConfig=e.buildFieldConfig;exports.buildFormulaPath=e.buildFormulaPath;exports.buildSelectStyles=e.buildSelectStyles;exports.buildValidationSchema=e.buildValidationSchema;exports.dataSourceRegistry=e.dataSourceRegistry;exports.errorTextStyle=e.errorTextStyle;exports.extractLabel=e.extractLabel;exports.fieldRegistry=e.fieldRegistry;exports.hasFormulaTokens=e.hasFormulaTokens;exports.helperTextStyle=e.helperTextStyle;exports.inputStyle=e.inputStyle;exports.isFormula=e.isFormula;exports.parseToAST=e.parseToAST;exports.serializeAST=e.serializeAST;exports.serializeASTAsConfig=e.serializeASTAsConfig;exports.serializeConditionExpressions=e.serializeConditionExpressions;exports.stripFormulaTokens=e.stripFormulaTokens;exports.tokenize=e.tokenize;exports.unwrapFormula=e.unwrapFormula;exports.useVariablePickerContext=e.useVariablePickerContext;exports.wrapFormula=e.wrapFormula;exports.FIELD_TYPE_OPTIONS=a.FIELD_TYPE_OPTIONS;exports.SchemaBuilder=a.SchemaBuilder;exports.SchemaBuilderDrawer=a.SchemaBuilderDrawer;exports.useFlowForm=a.useFlowForm;exports.NodeTypeRegistry=r.NodeTypeRegistry;exports.baseNodeDefaults=r.baseNodeDefaults;exports.conditionBranchDescriptor=r.conditionBranchDescriptor;exports.defineNode=r.defineNode;exports.endEventDescriptor=r.endEventDescriptor;exports.makeSubWorkflowDescriptor=r.makeSubWorkflowDescriptor;exports.nodeTypeRegistry=r.nodeTypeRegistry;exports.notificationDescriptor=r.notificationDescriptor;exports.restApiDescriptor=r.restApiDescriptor;exports.startEventDescriptor=r.startEventDescriptor;exports.subWorkflowDescriptor=r.subWorkflowDescriptor;exports.webhookTriggerDescriptor=r.webhookTriggerDescriptor;exports.webhookTriggerTemplate=r.webhookTriggerTemplate;exports.TemplateRegistry=l.TemplateRegistry;exports.templateRegistry=l.templateRegistry;exports.FlowForgeCanvas=i.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=i.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=i.FlowForgeCanvas;exports.WorkflowExecutionHistory=i.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=i.WorkflowTemplateLibrary;exports.accessRequestSkeleton=i.accessRequestSkeleton;exports.offboardingSkeleton=i.offboardingSkeleton;exports.userOnboardingSkeleton=i.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=i.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=d.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=n.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=n.saveWorkflowToBpmn;exports.ActionNode=o.ActionNode;exports.ApprovalNode=o.ApprovalNode;exports.EdgeWithPlusLabel=o.EdgeWithPlusLabel;exports.EndNode=o.EndNode;exports.FilterNode=o.FilterNode;exports.RestApiNode=o.RestApiNode;exports.StartNode=o.StartNode;exports.TriggerNode=o.TriggerNode;exports.WebhookTriggerNode=o.WebhookTriggerNode;exports.builtInNodeTypes=o.builtInNodeTypes;exports.notificationChannelRegistry=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-a1IOaYsW.js"),a=require("./SchemaBuilderDrawer-Wje7pVrn.js");require("react/jsx-runtime");require("react");require("@mui/material");require("react-icons/md");const r=require("./nodeRegistry.cjs"),l=require("./templateRegistry.cjs"),i=require("./templateSkeletons-D5dYuslG.js"),d=require("./messages-O9Tw_XXR.js"),n=require("./bpmn-CcuE2X_Q.js"),o=require("./GatewayBranchEdge-9YF32wwN.js");class u{constructor(){this.channels=new Map}register(t,s){this.channels.set(t,s)}get(t){return this.channels.get(t)}list(){return Array.from(this.channels.entries()).map(([t,s])=>({key:t,...s}))}has(t){return this.channels.has(t)}}const c=new u;exports.DynamicFormRenderer=e.DynamicFormRenderer;exports.FF=e.FF;exports.FlowForgeRegistry=e.FlowForgeRegistry;exports.FlowForm=e.FlowForm;exports.FormulaInput=e.FormulaInput;exports.InfiniteSelectField=e.InfiniteSelectField;exports.TablePickerField=e.TablePickerField;exports.VariablePicker=e.VariablePicker;exports.VariablePickerProvider=e.VariablePickerProvider;exports.astHasRefs=e.astHasRefs;exports.astToTokens=e.astToTokens;exports.buildEvaluationPayload=e.buildEvaluationPayload;exports.buildFieldConfig=e.buildFieldConfig;exports.buildFormulaPath=e.buildFormulaPath;exports.buildSelectStyles=e.buildSelectStyles;exports.buildValidationSchema=e.buildValidationSchema;exports.dataSourceRegistry=e.dataSourceRegistry;exports.errorTextStyle=e.errorTextStyle;exports.extractLabel=e.extractLabel;exports.fieldRegistry=e.fieldRegistry;exports.hasFormulaTokens=e.hasFormulaTokens;exports.helperTextStyle=e.helperTextStyle;exports.inputStyle=e.inputStyle;exports.isFormula=e.isFormula;exports.parseToAST=e.parseToAST;exports.serializeAST=e.serializeAST;exports.serializeASTAsConfig=e.serializeASTAsConfig;exports.serializeConditionExpressions=e.serializeConditionExpressions;exports.stripFormulaTokens=e.stripFormulaTokens;exports.tokenize=e.tokenize;exports.unwrapFormula=e.unwrapFormula;exports.useVariablePickerContext=e.useVariablePickerContext;exports.wrapFormula=e.wrapFormula;exports.FIELD_TYPE_OPTIONS=a.FIELD_TYPE_OPTIONS;exports.SchemaBuilder=a.SchemaBuilder;exports.SchemaBuilderDrawer=a.SchemaBuilderDrawer;exports.useFlowForm=a.useFlowForm;exports.NodeTypeRegistry=r.NodeTypeRegistry;exports.baseNodeDefaults=r.baseNodeDefaults;exports.conditionBranchDescriptor=r.conditionBranchDescriptor;exports.defineNode=r.defineNode;exports.endEventDescriptor=r.endEventDescriptor;exports.makeSubWorkflowDescriptor=r.makeSubWorkflowDescriptor;exports.nodeTypeRegistry=r.nodeTypeRegistry;exports.notificationDescriptor=r.notificationDescriptor;exports.restApiDescriptor=r.restApiDescriptor;exports.startEventDescriptor=r.startEventDescriptor;exports.subWorkflowDescriptor=r.subWorkflowDescriptor;exports.webhookTriggerDescriptor=r.webhookTriggerDescriptor;exports.webhookTriggerTemplate=r.webhookTriggerTemplate;exports.TemplateRegistry=l.TemplateRegistry;exports.templateRegistry=l.templateRegistry;exports.FlowForgeCanvas=i.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=i.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=i.FlowForgeCanvas;exports.WorkflowExecutionHistory=i.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=i.WorkflowTemplateLibrary;exports.accessRequestSkeleton=i.accessRequestSkeleton;exports.offboardingSkeleton=i.offboardingSkeleton;exports.userOnboardingSkeleton=i.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=i.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=d.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=n.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=n.saveWorkflowToBpmn;exports.ActionNode=o.ActionNode;exports.ApprovalNode=o.ApprovalNode;exports.EdgeWithPlusLabel=o.EdgeWithPlusLabel;exports.EndNode=o.EndNode;exports.FilterNode=o.FilterNode;exports.RestApiNode=o.RestApiNode;exports.StartNode=o.StartNode;exports.TriggerNode=o.TriggerNode;exports.WebhookTriggerNode=o.WebhookTriggerNode;exports.builtInNodeTypes=o.builtInNodeTypes;exports.notificationChannelRegistry=c;
package/dist/index.js CHANGED
@@ -6,10 +6,10 @@ import "@mui/material";
6
6
  import "react-icons/md";
7
7
  import { NodeTypeRegistry as U, baseNodeDefaults as X, conditionBranchDescriptor as Z, defineNode as $, endEventDescriptor as ee, makeSubWorkflowDescriptor as ae, nodeTypeRegistry as se, notificationDescriptor as re, restApiDescriptor as oe, startEventDescriptor as te, subWorkflowDescriptor as ie, webhookTriggerDescriptor as le, webhookTriggerTemplate as ne } from "./nodeRegistry.js";
8
8
  import { TemplateRegistry as de, templateRegistry as ce } from "./templateRegistry.js";
9
- import { F as me, S as fe, F as ge, W as Fe, a as he, b as be, o as ke, u as Te, w as we } from "./templateSkeletons-DcvDac7_.js";
9
+ import { F as me, S as fe, F as ge, W as Fe, a as he, b as be, o as ke, u as Te, w as we } from "./templateSkeletons-D2ecxpVH.js";
10
10
  import { d as ye } from "./messages-CO299wPN.js";
11
11
  import { l as De, s as Ne } from "./bpmn-CtfWDaOY.js";
12
- import { A as We, b as Ae, E as Pe, c as ve, F as Ee, R as Ce, S as Ie, T as Be, W as ze, e as Ve } from "./GatewayBranchEdge-BdUVHQJc.js";
12
+ import { A as We, b as Ae, E as Pe, c as ve, F as Ee, R as Ce, S as Ie, T as Be, W as ze, e as Ve } from "./GatewayBranchEdge-Dxoy5B1A.js";
13
13
  class s {
14
14
  constructor() {
15
15
  this.channels = /* @__PURE__ */ new Map();
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- .react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.ff-form-grid,.ff-form-row{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;column-gap:16px}.ff-form-grid{padding-left:4px;padding-right:4px}.ff-form-grid input::placeholder,.ff-form-grid textarea::placeholder{color:#00000061;opacity:1}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]):focus,.ff-form-grid textarea:not(.cm-content):not([class*=cm-]):focus{outline:none;border-color:#86b7fe!important;box-shadow:0 0 0 3px #0d6efd2e!important}.ff-form-grid input[class*=ff-select]:focus{outline:none!important;box-shadow:none!important;border:none!important}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]){height:38px;padding:0 12px;font-size:14px;font-family:inherit;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;width:100%;background:#fff}.ff-form-grid textarea:not(.cm-content):not([class*=cm-]){height:auto;min-height:76px;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;width:100%;background:#fff;resize:vertical}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]):disabled,.ff-form-grid textarea:not(.cm-content):not([class*=cm-]):disabled{background:#f8f9fa;color:#00000061;cursor:not-allowed}.ff-form-col-1{flex:1 0 calc(8.333333% - 14.667px);max-width:100%}.ff-form-col-2{flex:1 0 calc(16.666667% - 13.333px);max-width:100%}.ff-form-col-3{flex:1 0 calc(25% - 12px);max-width:100%}.ff-form-col-4{flex:1 0 calc(33.333333% - 10.667px);max-width:100%}.ff-form-col-5{flex:1 0 calc(41.666667% - 9.333px);max-width:100%}.ff-form-col-6{flex:1 0 calc(50% - 8px);max-width:100%}.ff-form-col-7{flex:1 0 calc(58.333333% - 6.667px);max-width:100%}.ff-form-col-8{flex:1 0 calc(66.666667% - 5.333px);max-width:100%}.ff-form-col-9{flex:1 0 calc(75% - 4px);max-width:100%}.ff-form-col-10{flex:1 0 calc(83.333333% - 2.667px);max-width:100%}.ff-form-col-11{flex:1 0 calc(91.666667% - 1.333px);max-width:100%}.ff-form-col-12{flex:1 0 100%;max-width:100%}.ff-form-hidden{display:none!important}.ff-form-mb-0{margin-bottom:0!important}.ff-form-mb-1{margin-bottom:4px!important}.ff-form-mb-4{margin-bottom:32px!important}.ff-form-mt-1{margin-top:4px!important}.ff-form-ms-2{margin-left:8px!important}.ff-form-ps-1{padding-left:4px!important}.ff-form-p-0{padding:0!important}.ff-form-d-flex{display:flex!important}.ff-form-align-start{align-items:flex-start!important}.ff-form-align-center{align-items:center!important}.ff-form-justify-between{justify-content:space-between!important}.ff-form-flex-wrap{flex-wrap:wrap!important}.ff-form-flex-grow-1{flex-grow:1!important}.ff-form-flex-shrink-0{flex-shrink:0!important}.ff-form-gap-1{gap:4px!important}.ff-form-gap-2{gap:8px!important}.ff-form-w-100{width:100%!important}.ff-form-text-12{font-size:12px!important}.ff-form-text-14{font-size:14px!important}.ff-form-text-dark{color:#212121!important}.ff-form-text-danger{color:#dc3545!important}.ff-form-text-primary{color:#0d6efd!important}.ff-form-text-body-tertiary{color:#6c757d!important}.ff-form-fw-medium{font-weight:500!important}.ff-form-text-capitalize{text-transform:capitalize!important}.ff-form-shadow-none{box-shadow:none!important}.ff-form-bg-light{background-color:#f8f9fa!important}.ff-form-divider{margin-top:4px;margin-bottom:4px}.flowforge-canvas .react-flow,.flowforge-canvas .react-flow__renderer,.flowforge-canvas .react-flow__viewport,.flowforge-canvas .react-flow__pane{width:100%!important;height:100%!important}.flowforge-canvas .react-flow__node{width:fit-content!important;max-width:none!important;min-width:0;padding:0;background:transparent;border:none;box-shadow:none}.flowforge-canvas .react-flow__edge,.flowforge-canvas .react-flow__edgeupdater,.flowforge-canvas .react-flow__handle{pointer-events:auto}.flowforge-canvas{line-height:1.5}.schema-builder-root{display:flex;flex-direction:column}.schema-builder-header{display:flex;align-items:center;margin-bottom:12px}.schema-builder-actions{display:flex;gap:8px;margin-left:auto}.schema-builder-empty-state{border:1.5px dashed rgba(0,0,0,.08);border-radius:12px;padding:64px 32px;text-align:center;background-color:#fafafa;display:flex;flex-direction:column;align-items:center;gap:20px}.schema-builder-empty-icon{color:#94a3b8;margin-bottom:4px}.schema-builder-empty-title{font-size:13px;font-weight:400;color:#334155;max-width:400px;line-height:1.5;margin-bottom:8px}.schema-builder-empty-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.sb-btn-outline{border-color:#e2e8f0;background:#fff;color:#475569}.sb-btn-outline:hover{background:#f1f5f9;border-color:#cbd5e1}.sb-btn-primary{background:#6366f1;color:#fff;box-shadow:0 1px 3px #6366f14d}.sb-btn-primary:hover{background:#4f46e5}.sb-btn-big{padding:10px 32px;font-size:14px;font-weight:600;border-color:#1e293b;color:#1e293b}.sb-btn-big:hover{background:#f8fafc}.setup-manual-text{font-size:13px;color:#64748b;display:flex;align-items:center;gap:4px}.setup-manual-link{color:#64748b;cursor:pointer;text-decoration:underline}.setup-manual-link:hover{color:#6366f1}.sb-field-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .15s;margin-bottom:8px}.sb-field-row:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a;background-color:#f8fafc}.sb-field-type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background-color:#eef2ff;color:#6366f1;flex-shrink:0;white-space:nowrap;text-transform:uppercase}.sb-field-info{flex:1;min-width:0}.sb-field-label{font-size:13px;font-weight:600;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-field-meta{font-size:11px;color:#94a3b8;font-family:monospace}.sb-field-actions{display:flex;align-items:center;gap:4px}.sb-icon-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;padding:0;color:#94a3b8;transition:all .12s}.sb-icon-btn:hover{background-color:#f1f5f9;color:#475569}.sb-icon-btn-danger:hover{background-color:#fee2e2;color:#dc2626}.edge-plus-circle{fill:#fff;stroke:#b0bec5;stroke-width:1.5;transition:stroke .15s,fill .15s}.plus-line{stroke:#757575;transition:stroke .15s}.edge-plus-tooltip{opacity:0;transition:opacity .15s;pointer-events:none}.edge-plus-tooltip .tooltip-bg{fill:#424242}.edge-plus-svg:hover .edge-plus-circle{fill:var(--ff-primary, #1dbf60);stroke:var(--ff-primary, #1dbf60)}.edge-plus-svg:hover .plus-line{stroke:#fff}.edge-plus-svg:hover .edge-plus-tooltip{opacity:1}.edge-plus-html:hover .edge-plus-circle{fill:#1dbf60;stroke:#1dbf60}.edge-plus-html:hover .plus-line{stroke:#fff}.edge-plus-html:hover .edge-plus-tooltip{opacity:1}.ff-d-flex{display:flex!important}.ff-d-inline-flex{display:inline-flex!important}.ff-flex-column{flex-direction:column!important}.ff-flex-wrap{flex-wrap:wrap!important}.ff-align-items-center{align-items:center!important}.ff-align-items-start{align-items:flex-start!important}.ff-justify-content-between{justify-content:space-between!important}.ff-justify-content-start{justify-content:flex-start!important}.ff-justify-content-center{justify-content:center!important}.ff-flex-grow-1{flex-grow:1!important}.ff-flex-shrink-0{flex-shrink:0!important}.ff-gap-1{gap:4px!important}.ff-gap-2{gap:8px!important}.ff-gap-3{gap:16px!important}.ff-m-0{margin:0!important}.ff-mx-1{margin-left:4px!important;margin-right:4px!important}.ff-mx-2{margin-left:8px!important;margin-right:8px!important}.ff-ms-1{margin-left:4px!important}.ff-ms-2{margin-left:8px!important}.ff-me-1{margin-right:4px!important}.ff-me-2{margin-right:8px!important}.ff-mt-1{margin-top:4px!important}.ff-mt-2{margin-top:8px!important}.ff-mb-0{margin-bottom:0!important}.ff-mb-1{margin-bottom:4px!important}.ff-mb-2{margin-bottom:8px!important}.ff-mb-3{margin-bottom:16px!important}.ff-p-2{padding:8px!important}.ff-p-3{padding:16px!important}.ff-px-1{padding-left:4px!important;padding-right:4px!important}.ff-px-2{padding-left:8px!important;padding-right:8px!important}.ff-py-1{padding-top:4px!important;padding-bottom:4px!important}.ff-py-2{padding-top:8px!important;padding-bottom:8px!important}.ff-py-3{padding-top:16px!important;padding-bottom:16px!important}.ff-rounded{border-radius:var(--ff-radius, 6px)!important}.ff-rounded-1{border-radius:4px!important}.ff-rounded-circle{border-radius:50%!important}.ff-rounded-pill{border-radius:999px!important}.ff-border{border:1px solid var(--ff-border, #dee2e6)!important}.ff-badge{display:inline-block;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline}.ff-bg-dark{background-color:#212529!important}.ff-bg-primary{background-color:#0d6efd!important}.ff-bg-light{background-color:#f8f9fa!important}.ff-text-white{color:#fff!important}.ff-text-muted{color:var(--ff-muted, #9ca3af)!important}.ff-text-dark{color:var(--ff-text, #212121)!important}.ff-text-black{color:#000!important}.ff-text-warning{color:#ffc107!important}.ff-text-secondary{color:#6c757d!important}.ff-text-center{text-align:center!important}.ff-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-fw-medium{font-weight:500!important}.ff-fw-bold{font-weight:700!important}/*!
1
+ .react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.ff-form-grid,.ff-form-row{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;column-gap:16px}.ff-form-grid{padding-left:4px;padding-right:4px}.ff-form-grid input::placeholder,.ff-form-grid textarea::placeholder{color:#00000061;opacity:1}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]):focus,.ff-form-grid textarea:not(.cm-content):not([class*=cm-]):focus{outline:none;border-color:#86b7fe!important;box-shadow:0 0 0 3px #0d6efd2e!important}.ff-form-grid input[class*=ff-select]:focus{outline:none!important;box-shadow:none!important;border:none!important}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]){height:38px;padding:0 12px;font-size:14px;font-family:inherit;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;width:100%;background:#fff}.ff-form-grid textarea:not(.cm-content):not([class*=cm-]){height:auto;min-height:76px;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;width:100%;background:#fff;resize:vertical}.ff-form-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([class*=ff-select]):disabled,.ff-form-grid textarea:not(.cm-content):not([class*=cm-]):disabled{background:#f8f9fa;color:#00000061;cursor:not-allowed}.ff-form-col-1{flex:1 0 calc(8.333333% - 14.667px);max-width:100%}.ff-form-col-2{flex:1 0 calc(16.666667% - 13.333px);max-width:100%}.ff-form-col-3{flex:1 0 calc(25% - 12px);max-width:100%}.ff-form-col-4{flex:1 0 calc(33.333333% - 10.667px);max-width:100%}.ff-form-col-5{flex:1 0 calc(41.666667% - 9.333px);max-width:100%}.ff-form-col-6{flex:1 0 calc(50% - 8px);max-width:100%}.ff-form-col-7{flex:1 0 calc(58.333333% - 6.667px);max-width:100%}.ff-form-col-8{flex:1 0 calc(66.666667% - 5.333px);max-width:100%}.ff-form-col-9{flex:1 0 calc(75% - 4px);max-width:100%}.ff-form-col-10{flex:1 0 calc(83.333333% - 2.667px);max-width:100%}.ff-form-col-11{flex:1 0 calc(91.666667% - 1.333px);max-width:100%}.ff-form-col-12{flex:1 0 100%;max-width:100%}.ff-form-hidden{display:none!important}.ff-form-mb-0{margin-bottom:0!important}.ff-form-mb-1{margin-bottom:4px!important}.ff-form-mb-4{margin-bottom:32px!important}.ff-form-mt-1{margin-top:4px!important}.ff-form-ms-2{margin-left:8px!important}.ff-form-ps-1{padding-left:4px!important}.ff-form-p-0{padding:0!important}.ff-form-d-flex{display:flex!important}.ff-form-align-start{align-items:flex-start!important}.ff-form-align-center{align-items:center!important}.ff-form-justify-between{justify-content:space-between!important}.ff-form-flex-wrap{flex-wrap:wrap!important}.ff-form-flex-grow-1{flex-grow:1!important}.ff-form-flex-shrink-0{flex-shrink:0!important}.ff-form-gap-1{gap:4px!important}.ff-form-gap-2{gap:8px!important}.ff-form-w-100{width:100%!important}.ff-form-text-12{font-size:12px!important}.ff-form-text-14{font-size:14px!important}.ff-form-text-dark{color:#212121!important}.ff-form-text-danger{color:#dc3545!important}.ff-form-text-primary{color:#0d6efd!important}.ff-form-text-body-tertiary{color:#6c757d!important}.ff-form-fw-medium{font-weight:500!important}.ff-form-text-capitalize{text-transform:capitalize!important}.ff-form-shadow-none{box-shadow:none!important}.ff-form-bg-light{background-color:#f8f9fa!important}.ff-form-divider{margin-top:4px;margin-bottom:4px}.flowforge-canvas .react-flow,.flowforge-canvas .react-flow__renderer,.flowforge-canvas .react-flow__viewport,.flowforge-canvas .react-flow__pane{width:100%!important;height:100%!important}.flowforge-canvas .react-flow__node{width:fit-content!important;max-width:none!important;min-width:0;padding:0;background:transparent;border:none;box-shadow:none}.flowforge-canvas .react-flow__edge,.flowforge-canvas .react-flow__edgeupdater{pointer-events:auto}.flowforge-canvas .react-flow__handle{pointer-events:auto;opacity:0!important;background:transparent!important;border:none!important;box-shadow:none!important}.flowforge-canvas{line-height:1.5}.schema-builder-root{display:flex;flex-direction:column}.schema-builder-header{display:flex;align-items:center;margin-bottom:12px}.schema-builder-actions{display:flex;gap:8px;margin-left:auto}.schema-builder-empty-state{border:1.5px dashed rgba(0,0,0,.08);border-radius:12px;padding:64px 32px;text-align:center;background-color:#fafafa;display:flex;flex-direction:column;align-items:center;gap:20px}.schema-builder-empty-icon{color:#94a3b8;margin-bottom:4px}.schema-builder-empty-title{font-size:13px;font-weight:400;color:#334155;max-width:400px;line-height:1.5;margin-bottom:8px}.schema-builder-empty-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.sb-btn-outline{border-color:#e2e8f0;background:#fff;color:#475569}.sb-btn-outline:hover{background:#f1f5f9;border-color:#cbd5e1}.sb-btn-primary{background:#6366f1;color:#fff;box-shadow:0 1px 3px #6366f14d}.sb-btn-primary:hover{background:#4f46e5}.sb-btn-big{padding:10px 32px;font-size:14px;font-weight:600;border-color:#1e293b;color:#1e293b}.sb-btn-big:hover{background:#f8fafc}.setup-manual-text{font-size:13px;color:#64748b;display:flex;align-items:center;gap:4px}.setup-manual-link{color:#64748b;cursor:pointer;text-decoration:underline}.setup-manual-link:hover{color:#6366f1}.sb-field-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .15s;margin-bottom:8px}.sb-field-row:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a;background-color:#f8fafc}.sb-field-type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background-color:#eef2ff;color:#6366f1;flex-shrink:0;white-space:nowrap;text-transform:uppercase}.sb-field-info{flex:1;min-width:0}.sb-field-label{font-size:13px;font-weight:600;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-field-meta{font-size:11px;color:#94a3b8;font-family:monospace}.sb-field-actions{display:flex;align-items:center;gap:4px}.sb-icon-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;padding:0;color:#94a3b8;transition:all .12s}.sb-icon-btn:hover{background-color:#f1f5f9;color:#475569}.sb-icon-btn-danger:hover{background-color:#fee2e2;color:#dc2626}.edge-plus-circle{fill:#fff;stroke:#b0bec5;stroke-width:1.5;transition:stroke .15s,fill .15s}.plus-line{stroke:#757575;transition:stroke .15s}.edge-plus-tooltip{opacity:0;transition:opacity .15s;pointer-events:none}.edge-plus-tooltip .tooltip-bg{fill:#424242}.edge-plus-svg:hover .edge-plus-circle{fill:var(--ff-primary, #1dbf60);stroke:var(--ff-primary, #1dbf60)}.edge-plus-svg:hover .plus-line{stroke:#fff}.edge-plus-svg:hover .edge-plus-tooltip{opacity:1}.edge-plus-html:hover .edge-plus-circle{fill:#1dbf60;stroke:#1dbf60}.edge-plus-html:hover .plus-line{stroke:#fff}.edge-plus-html:hover .edge-plus-tooltip{opacity:1}.ff-d-flex{display:flex!important}.ff-d-inline-flex{display:inline-flex!important}.ff-flex-column{flex-direction:column!important}.ff-flex-wrap{flex-wrap:wrap!important}.ff-align-items-center{align-items:center!important}.ff-align-items-start{align-items:flex-start!important}.ff-justify-content-between{justify-content:space-between!important}.ff-justify-content-start{justify-content:flex-start!important}.ff-justify-content-center{justify-content:center!important}.ff-flex-grow-1{flex-grow:1!important}.ff-flex-shrink-0{flex-shrink:0!important}.ff-gap-1{gap:4px!important}.ff-gap-2{gap:8px!important}.ff-gap-3{gap:16px!important}.ff-m-0{margin:0!important}.ff-mx-1{margin-left:4px!important;margin-right:4px!important}.ff-mx-2{margin-left:8px!important;margin-right:8px!important}.ff-ms-1{margin-left:4px!important}.ff-ms-2{margin-left:8px!important}.ff-me-1{margin-right:4px!important}.ff-me-2{margin-right:8px!important}.ff-mt-1{margin-top:4px!important}.ff-mt-2{margin-top:8px!important}.ff-mb-0{margin-bottom:0!important}.ff-mb-1{margin-bottom:4px!important}.ff-mb-2{margin-bottom:8px!important}.ff-mb-3{margin-bottom:16px!important}.ff-p-2{padding:8px!important}.ff-p-3{padding:16px!important}.ff-px-1{padding-left:4px!important;padding-right:4px!important}.ff-px-2{padding-left:8px!important;padding-right:8px!important}.ff-py-1{padding-top:4px!important;padding-bottom:4px!important}.ff-py-2{padding-top:8px!important;padding-bottom:8px!important}.ff-py-3{padding-top:16px!important;padding-bottom:16px!important}.ff-rounded{border-radius:var(--ff-radius, 6px)!important}.ff-rounded-1{border-radius:4px!important}.ff-rounded-circle{border-radius:50%!important}.ff-rounded-pill{border-radius:999px!important}.ff-border{border:1px solid var(--ff-border, #dee2e6)!important}.ff-badge{display:inline-block;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline}.ff-bg-dark{background-color:#212529!important}.ff-bg-primary{background-color:#0d6efd!important}.ff-bg-light{background-color:#f8f9fa!important}.ff-text-white{color:#fff!important}.ff-text-muted{color:var(--ff-muted, #9ca3af)!important}.ff-text-dark{color:var(--ff-text, #212121)!important}.ff-text-black{color:#000!important}.ff-text-warning{color:#ffc107!important}.ff-text-secondary{color:#6c757d!important}.ff-text-center{text-align:center!important}.ff-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-fw-medium{font-weight:500!important}.ff-fw-bold{font-weight:700!important}/*!
2
2
  * Quill Editor v1.3.7
3
3
  * https://quilljs.com/
4
4
  * Copyright (c) 2014, Jason Chen
@@ -2,7 +2,7 @@ import { jsxs as v, jsx as f, Fragment as ye } from "react/jsx-runtime";
2
2
  import G, { useRef as vt, useEffect as re, useState as M, useCallback as $, useMemo as Y } from "react";
3
3
  import In, { useStore as On, useReactFlow as Mn, Background as jn, Controls as Fn, MiniMap as zn } from "reactflow";
4
4
  import "reactflow/dist/style.css";
5
- import { e as Ln, G as An, E as Dn, P as Rn, L as Pn, d as Bn, f as Wn } from "./GatewayBranchEdge-BdUVHQJc.js";
5
+ import { e as Ln, G as An, E as Dn, P as Rn, L as Pn, d as Bn, f as Wn } from "./GatewayBranchEdge-Dxoy5B1A.js";
6
6
  import { Dialog as Gn, Box as Q, Drawer as $n, IconButton as Et, Button as Ne, CircularProgress as Yn } from "@mui/material";
7
7
  import Kn from "react-select";
8
8
  import { MdClose as Un, MdCalendarToday as Vn, MdBolt as Hn, MdArrowBack as Wt, MdChevronRight as Gt, MdAddCircleOutline as qn, MdApps as Xn, MdErrorOutline as Jn, MdAccountTree as Zn, MdAdd as Qn, MdSearch as er, MdCategory as tr, MdCancel as $t, MdError as Yt, MdCheckCircle as Kt, MdPlayArrow as Ut, MdHourglassEmpty as nr, MdSchedule as kt, MdPerson as rr, MdExpandLess as or, MdExpandMore as ir } from "react-icons/md";