@saltcorn/workflow-editor 1.6.0-alpha.7 → 1.6.0-alpha.9
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/workflow_bundle.js +173 -22
- package/dist/workflow_bundle.js.LICENSE.txt +61 -0
- package/dist/workflow_bundle.js.map +1 -0
- package/package.json +1 -1
- package/src/WorkflowEditor.jsx +185 -18
- package/src/workflow.css +7 -5
package/dist/workflow_bundle.js
CHANGED
|
@@ -34027,11 +34027,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
34027
34027
|
/* harmony import */ var _xyflow_react_dist_style_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(137);
|
|
34028
34028
|
/* harmony import */ var _workflow_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(147);
|
|
34029
34029
|
/* harmony import */ var _WorkflowEdge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(149);
|
|
34030
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
34031
34030
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
34032
34031
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
34033
34032
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
34034
34033
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
34034
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
34035
34035
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
34036
34036
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
34037
34037
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
@@ -34712,6 +34712,7 @@ var StepDrawer = function StepDrawer(_ref7) {
|
|
|
34712
34712
|
var _data$strings;
|
|
34713
34713
|
var modal = _ref7.modal,
|
|
34714
34714
|
innerRef = _ref7.innerRef,
|
|
34715
|
+
outerRef = _ref7.outerRef,
|
|
34715
34716
|
onClose = _ref7.onClose,
|
|
34716
34717
|
submitting = _ref7.submitting,
|
|
34717
34718
|
error = _ref7.error,
|
|
@@ -34721,6 +34722,7 @@ var StepDrawer = function StepDrawer(_ref7) {
|
|
|
34721
34722
|
onResizeStart = _ref7.onResizeStart;
|
|
34722
34723
|
var isOpen = !!modal;
|
|
34723
34724
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
34725
|
+
ref: outerRef,
|
|
34724
34726
|
className: "wf-drawer".concat(isOpen ? " wf-drawer--open" : ""),
|
|
34725
34727
|
role: "dialog",
|
|
34726
34728
|
"aria-modal": "false",
|
|
@@ -34773,7 +34775,7 @@ var StepDrawer = function StepDrawer(_ref7) {
|
|
|
34773
34775
|
}, submitting ? "Saving..." : "Save"))) : null);
|
|
34774
34776
|
};
|
|
34775
34777
|
var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
34776
|
-
var _data$config;
|
|
34778
|
+
var _data$config, _data$trigger2, _data$trigger4;
|
|
34777
34779
|
var data = _ref8.data;
|
|
34778
34780
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(data.steps || []),
|
|
34779
34781
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -34846,13 +34848,78 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
34846
34848
|
drawerWidth = _useState24[0],
|
|
34847
34849
|
setDrawerWidth = _useState24[1];
|
|
34848
34850
|
var modalRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
34851
|
+
var drawerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
34852
|
+
var shellRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
34849
34853
|
var resizingRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
|
|
34850
34854
|
var connectSourceRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
34851
34855
|
var _useState25 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
|
|
34852
34856
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
34853
34857
|
selectedEdgeId = _useState26[0],
|
|
34854
34858
|
setSelectedEdgeId = _useState26[1];
|
|
34859
|
+
var drawerStorageKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {
|
|
34860
|
+
var _data$trigger;
|
|
34861
|
+
return "wf-drawer:".concat((data === null || data === void 0 || (_data$trigger = data.trigger) === null || _data$trigger === void 0 ? void 0 : _data$trigger.id) || "default");
|
|
34862
|
+
}, [data === null || data === void 0 || (_data$trigger2 = data.trigger) === null || _data$trigger2 === void 0 ? void 0 : _data$trigger2.id]);
|
|
34863
|
+
var viewportStorageKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {
|
|
34864
|
+
var _data$trigger3;
|
|
34865
|
+
return "wf-viewport:".concat((data === null || data === void 0 || (_data$trigger3 = data.trigger) === null || _data$trigger3 === void 0 ? void 0 : _data$trigger3.id) || "default");
|
|
34866
|
+
}, [data === null || data === void 0 || (_data$trigger4 = data.trigger) === null || _data$trigger4 === void 0 ? void 0 : _data$trigger4.id]);
|
|
34855
34867
|
var rfInstanceRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
34868
|
+
var persistDrawerState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (payload) {
|
|
34869
|
+
try {
|
|
34870
|
+
if (typeof window === "undefined") return;
|
|
34871
|
+
window.sessionStorage.setItem(drawerStorageKey, JSON.stringify(payload || {}));
|
|
34872
|
+
} catch (e) {
|
|
34873
|
+
// ignore storage errors
|
|
34874
|
+
}
|
|
34875
|
+
}, [drawerStorageKey]);
|
|
34876
|
+
var clearDrawerState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
|
|
34877
|
+
try {
|
|
34878
|
+
if (typeof window === "undefined") return;
|
|
34879
|
+
window.sessionStorage.removeItem(drawerStorageKey);
|
|
34880
|
+
} catch (e) {
|
|
34881
|
+
// ignore storage errors
|
|
34882
|
+
}
|
|
34883
|
+
}, [drawerStorageKey]);
|
|
34884
|
+
var loadViewport = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
|
|
34885
|
+
if (typeof window === "undefined") return null;
|
|
34886
|
+
try {
|
|
34887
|
+
var raw = window.sessionStorage.getItem(viewportStorageKey);
|
|
34888
|
+
if (!raw) return null;
|
|
34889
|
+
var parsed = JSON.parse(raw);
|
|
34890
|
+
if (!parsed || _typeof(parsed) !== "object") return null;
|
|
34891
|
+
var x = parsed.x,
|
|
34892
|
+
y = parsed.y,
|
|
34893
|
+
zoom = parsed.zoom;
|
|
34894
|
+
if (Number.isFinite(Number(x)) && Number.isFinite(Number(y)) && Number.isFinite(Number(zoom))) {
|
|
34895
|
+
return {
|
|
34896
|
+
x: Number(x),
|
|
34897
|
+
y: Number(y),
|
|
34898
|
+
zoom: Number(zoom)
|
|
34899
|
+
};
|
|
34900
|
+
}
|
|
34901
|
+
} catch (e) {
|
|
34902
|
+
// ignore storage errors
|
|
34903
|
+
}
|
|
34904
|
+
return null;
|
|
34905
|
+
}, [viewportStorageKey]);
|
|
34906
|
+
var persistViewport = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (viewport) {
|
|
34907
|
+
if (!viewport) return;
|
|
34908
|
+
var x = viewport.x,
|
|
34909
|
+
y = viewport.y,
|
|
34910
|
+
zoom = viewport.zoom;
|
|
34911
|
+
if (!Number.isFinite(Number(x)) || !Number.isFinite(Number(y)) || !Number.isFinite(Number(zoom))) return;
|
|
34912
|
+
try {
|
|
34913
|
+
if (typeof window === "undefined") return;
|
|
34914
|
+
window.sessionStorage.setItem(viewportStorageKey, JSON.stringify({
|
|
34915
|
+
x: Number(x),
|
|
34916
|
+
y: Number(y),
|
|
34917
|
+
zoom: Number(zoom)
|
|
34918
|
+
}));
|
|
34919
|
+
} catch (e) {
|
|
34920
|
+
// ignore storage errors
|
|
34921
|
+
}
|
|
34922
|
+
}, [viewportStorageKey]);
|
|
34856
34923
|
var onInit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (instance) {
|
|
34857
34924
|
rfInstanceRef.current = instance;
|
|
34858
34925
|
}, []);
|
|
@@ -34860,6 +34927,8 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
34860
34927
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
34861
34928
|
selectedNodes = _useState28[0],
|
|
34862
34929
|
setSelectedNodes = _useState28[1];
|
|
34930
|
+
var pendingViewportRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(loadViewport());
|
|
34931
|
+
var appliedViewportRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
|
|
34863
34932
|
var handleSelectionChange = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (_ref9) {
|
|
34864
34933
|
var _ref9$nodes = _ref9.nodes,
|
|
34865
34934
|
nodes = _ref9$nodes === void 0 ? [] : _ref9$nodes,
|
|
@@ -34899,6 +34968,15 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
34899
34968
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
34900
34969
|
refreshGraph(steps);
|
|
34901
34970
|
}, [steps, refreshGraph]);
|
|
34971
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
34972
|
+
if (!rfInstanceRef.current) return;
|
|
34973
|
+
if (!pendingViewportRef.current) return;
|
|
34974
|
+
if (appliedViewportRef.current) return;
|
|
34975
|
+
rfInstanceRef.current.setViewport(pendingViewportRef.current, {
|
|
34976
|
+
duration: 0
|
|
34977
|
+
});
|
|
34978
|
+
appliedViewportRef.current = true;
|
|
34979
|
+
}, [nodes]);
|
|
34902
34980
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
34903
34981
|
window.addEventListener("keydown", handleKeyDelete);
|
|
34904
34982
|
return function () {
|
|
@@ -35025,7 +35103,6 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35025
35103
|
while (1) switch (_context2.p = _context2.n) {
|
|
35026
35104
|
case 0:
|
|
35027
35105
|
setLoading(true);
|
|
35028
|
-
setModal(null);
|
|
35029
35106
|
setError("");
|
|
35030
35107
|
_context2.p = 1;
|
|
35031
35108
|
_context2.n = 2;
|
|
@@ -35236,6 +35313,7 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35236
35313
|
stepId,
|
|
35237
35314
|
initial_step,
|
|
35238
35315
|
after_step,
|
|
35316
|
+
descriptor,
|
|
35239
35317
|
base,
|
|
35240
35318
|
url,
|
|
35241
35319
|
res,
|
|
@@ -35247,6 +35325,12 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35247
35325
|
_ref13 = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {}, stepId = _ref13.stepId, initial_step = _ref13.initial_step, after_step = _ref13.after_step;
|
|
35248
35326
|
_context5.p = 1;
|
|
35249
35327
|
setError("");
|
|
35328
|
+
descriptor = {
|
|
35329
|
+
stepId: stepId || null,
|
|
35330
|
+
initial_step: !!initial_step,
|
|
35331
|
+
after_step: after_step || null
|
|
35332
|
+
};
|
|
35333
|
+
persistDrawerState(descriptor);
|
|
35250
35334
|
base = "".concat(data.urls.stepForm).concat(stepId ? "/".concat(stepId) : "");
|
|
35251
35335
|
url = new URL(base, window.location.origin);
|
|
35252
35336
|
url.searchParams.set("render", "dialog");
|
|
@@ -35266,12 +35350,13 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35266
35350
|
case 3:
|
|
35267
35351
|
_context5.p = 3;
|
|
35268
35352
|
_t4 = _context5.v;
|
|
35353
|
+
clearDrawerState();
|
|
35269
35354
|
setError(_t4.message);
|
|
35270
35355
|
case 4:
|
|
35271
35356
|
return _context5.a(2);
|
|
35272
35357
|
}
|
|
35273
35358
|
}, _callee5, null, [[1, 3]]);
|
|
35274
|
-
})), [data.urls.stepForm, fetchJson]);
|
|
35359
|
+
})), [clearDrawerState, data.urls.stepForm, fetchJson, persistDrawerState]);
|
|
35275
35360
|
var handleModalSubmit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {
|
|
35276
35361
|
var _ref14 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(formEl) {
|
|
35277
35362
|
var formData, action, method, res, json;
|
|
@@ -35311,6 +35396,7 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35311
35396
|
throw new Error(json.error);
|
|
35312
35397
|
case 4:
|
|
35313
35398
|
setModal(null);
|
|
35399
|
+
clearDrawerState();
|
|
35314
35400
|
_context6.n = 5;
|
|
35315
35401
|
return reload();
|
|
35316
35402
|
case 5:
|
|
@@ -35321,7 +35407,7 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35321
35407
|
return function (_x2) {
|
|
35322
35408
|
return _ref14.apply(this, arguments);
|
|
35323
35409
|
};
|
|
35324
|
-
}(), [data.csrfToken, data.urls.stepForm, reload]);
|
|
35410
|
+
}(), [clearDrawerState, data.csrfToken, data.urls.stepForm, reload]);
|
|
35325
35411
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
35326
35412
|
var _modalRef$current;
|
|
35327
35413
|
if (!modal) return undefined;
|
|
@@ -35376,6 +35462,18 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35376
35462
|
if (actionSelect) actionSelect.removeEventListener("change", handleActionChange);
|
|
35377
35463
|
};
|
|
35378
35464
|
}, [handleModalSubmit, modal]);
|
|
35465
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
35466
|
+
if (typeof window === "undefined") return undefined;
|
|
35467
|
+
var raw = window.sessionStorage.getItem(drawerStorageKey);
|
|
35468
|
+
if (!raw) return undefined;
|
|
35469
|
+
try {
|
|
35470
|
+
var parsed = JSON.parse(raw);
|
|
35471
|
+
if (parsed && _typeof(parsed) === "object") openStepForm(parsed);
|
|
35472
|
+
} catch (e) {
|
|
35473
|
+
clearDrawerState();
|
|
35474
|
+
}
|
|
35475
|
+
return undefined;
|
|
35476
|
+
}, [clearDrawerState, drawerStorageKey, openStepForm]);
|
|
35379
35477
|
var updateConnection = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {
|
|
35380
35478
|
var _ref16 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(payload) {
|
|
35381
35479
|
var body;
|
|
@@ -35672,9 +35770,9 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35672
35770
|
}(), [reload, updateConnection]);
|
|
35673
35771
|
var onDelete = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {
|
|
35674
35772
|
var _ref23 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(id) {
|
|
35675
|
-
var formData;
|
|
35773
|
+
var formData, _t6;
|
|
35676
35774
|
return _regenerator().w(function (_context10) {
|
|
35677
|
-
while (1) switch (_context10.n) {
|
|
35775
|
+
while (1) switch (_context10.p = _context10.n) {
|
|
35678
35776
|
case 0:
|
|
35679
35777
|
if (window.confirm(strings.confirmDelete)) {
|
|
35680
35778
|
_context10.n = 1;
|
|
@@ -35682,6 +35780,7 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35682
35780
|
}
|
|
35683
35781
|
return _context10.a(2);
|
|
35684
35782
|
case 1:
|
|
35783
|
+
_context10.p = 1;
|
|
35685
35784
|
formData = new FormData();
|
|
35686
35785
|
formData.append("_csrf", data.csrfToken || "");
|
|
35687
35786
|
_context10.n = 2;
|
|
@@ -35690,17 +35789,27 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35690
35789
|
body: formData
|
|
35691
35790
|
});
|
|
35692
35791
|
case 2:
|
|
35792
|
+
setModal(null);
|
|
35793
|
+
setError("");
|
|
35794
|
+
clearDrawerState();
|
|
35693
35795
|
_context10.n = 3;
|
|
35694
35796
|
return reload();
|
|
35695
35797
|
case 3:
|
|
35798
|
+
_context10.n = 5;
|
|
35799
|
+
break;
|
|
35800
|
+
case 4:
|
|
35801
|
+
_context10.p = 4;
|
|
35802
|
+
_t6 = _context10.v;
|
|
35803
|
+
setError(_t6.message);
|
|
35804
|
+
case 5:
|
|
35696
35805
|
return _context10.a(2);
|
|
35697
35806
|
}
|
|
35698
|
-
}, _callee10);
|
|
35807
|
+
}, _callee10, null, [[1, 4]]);
|
|
35699
35808
|
}));
|
|
35700
35809
|
return function (_x8) {
|
|
35701
35810
|
return _ref23.apply(this, arguments);
|
|
35702
35811
|
};
|
|
35703
|
-
}(), [data.csrfToken, fetchJson, reload, strings.confirmDelete]);
|
|
35812
|
+
}(), [clearDrawerState, data.csrfToken, fetchJson, reload, strings.confirmDelete]);
|
|
35704
35813
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
35705
35814
|
setNodes(function (nds) {
|
|
35706
35815
|
return nds.map(function (n) {
|
|
@@ -35756,6 +35865,7 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35756
35865
|
"--wf-drawer-width": "".concat(drawerWidth, "px")
|
|
35757
35866
|
};
|
|
35758
35867
|
var showMiniMap = !modal;
|
|
35868
|
+
var shouldFitView = !pendingViewportRef.current;
|
|
35759
35869
|
var onEdgeClick = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (_, edge) {
|
|
35760
35870
|
setSelectedEdgeId(edge.id);
|
|
35761
35871
|
}, []);
|
|
@@ -35801,9 +35911,46 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35801
35911
|
return stopResize();
|
|
35802
35912
|
};
|
|
35803
35913
|
}, [stopResize]);
|
|
35914
|
+
var closeModal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
|
|
35915
|
+
setModal(null);
|
|
35916
|
+
setError("");
|
|
35917
|
+
clearDrawerState();
|
|
35918
|
+
}, [clearDrawerState]);
|
|
35919
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(function () {
|
|
35920
|
+
var shellEl = shellRef.current;
|
|
35921
|
+
var drawerEl = drawerRef.current;
|
|
35922
|
+
if (!shellEl) return undefined;
|
|
35923
|
+
var hasResizeObserver = typeof ResizeObserver !== "undefined";
|
|
35924
|
+
var computePadding = function computePadding() {
|
|
35925
|
+
if (!drawerEl || !modal) {
|
|
35926
|
+
shellEl.style.removeProperty("--wf-shell-padding-right");
|
|
35927
|
+
return;
|
|
35928
|
+
}
|
|
35929
|
+
var shellRect = shellEl.getBoundingClientRect();
|
|
35930
|
+
var drawerRect = drawerEl.getBoundingClientRect();
|
|
35931
|
+
// Space already available to the right of the shell (e.g. due to sidebars)
|
|
35932
|
+
var naturalGap = Math.max(0, window.innerWidth - shellRect.right);
|
|
35933
|
+
var needed = Math.max(0, drawerRect.width - naturalGap) + 4;
|
|
35934
|
+
shellEl.style.setProperty("--wf-shell-padding-right", "".concat(needed, "px"));
|
|
35935
|
+
};
|
|
35936
|
+
computePadding();
|
|
35937
|
+
var resizeObserver = hasResizeObserver ? new ResizeObserver(function () {
|
|
35938
|
+
return computePadding();
|
|
35939
|
+
}) : null;
|
|
35940
|
+
if (resizeObserver) {
|
|
35941
|
+
resizeObserver.observe(shellEl);
|
|
35942
|
+
if (drawerEl) resizeObserver.observe(drawerEl);
|
|
35943
|
+
}
|
|
35944
|
+
window.addEventListener("resize", computePadding);
|
|
35945
|
+
return function () {
|
|
35946
|
+
if (resizeObserver) resizeObserver.disconnect();
|
|
35947
|
+
window.removeEventListener("resize", computePadding);
|
|
35948
|
+
};
|
|
35949
|
+
}, [drawerWidth, modal]);
|
|
35804
35950
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
35805
35951
|
className: shellClass,
|
|
35806
|
-
style: shellStyle
|
|
35952
|
+
style: shellStyle,
|
|
35953
|
+
ref: shellRef
|
|
35807
35954
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
35808
35955
|
className: "wf-toolbar"
|
|
35809
35956
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
@@ -35848,14 +35995,18 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35848
35995
|
nodeTypes: nodeTypes,
|
|
35849
35996
|
edgeTypes: edgeTypes,
|
|
35850
35997
|
onInit: onInit,
|
|
35851
|
-
|
|
35998
|
+
defaultViewport: pendingViewportRef.current || undefined,
|
|
35999
|
+
fitView: shouldFitView,
|
|
35852
36000
|
proOptions: {
|
|
35853
36001
|
hideAttribution: true
|
|
35854
36002
|
},
|
|
35855
36003
|
defaultEdgeOptions: {
|
|
35856
36004
|
animated: true
|
|
35857
36005
|
},
|
|
35858
|
-
colorMode: window._sc_lightmode || "light"
|
|
36006
|
+
colorMode: window._sc_lightmode || "light",
|
|
36007
|
+
onMoveEnd: function onMoveEnd(_, viewport) {
|
|
36008
|
+
return persistViewport(viewport);
|
|
36009
|
+
}
|
|
35859
36010
|
}, showMiniMap && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_xyflow_react__WEBPACK_IMPORTED_MODULE_5__.MiniMap, {
|
|
35860
36011
|
pannable: true,
|
|
35861
36012
|
zoomable: true
|
|
@@ -35864,10 +36015,8 @@ var WorkflowEditor = function WorkflowEditor(_ref8) {
|
|
|
35864
36015
|
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(StepDrawer, {
|
|
35865
36016
|
modal: modal,
|
|
35866
36017
|
innerRef: modalRef,
|
|
35867
|
-
|
|
35868
|
-
|
|
35869
|
-
setError("");
|
|
35870
|
-
},
|
|
36018
|
+
outerRef: drawerRef,
|
|
36019
|
+
onClose: closeModal,
|
|
35871
36020
|
submitting: savingModal,
|
|
35872
36021
|
error: error && modal ? error : "",
|
|
35873
36022
|
data: data,
|
|
@@ -52884,6 +53033,7 @@ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBP
|
|
|
52884
53033
|
// Module
|
|
52885
53034
|
___CSS_LOADER_EXPORT___.push([module.id, `.wf-shell {
|
|
52886
53035
|
padding: 0;
|
|
53036
|
+
padding-right: var(--wf-shell-padding-right, 0px);
|
|
52887
53037
|
height: 100%;
|
|
52888
53038
|
min-height: 0;
|
|
52889
53039
|
display: flex;
|
|
@@ -52898,10 +53048,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.wf-shell {
|
|
|
52898
53048
|
--wf-handle-bg: #fff;
|
|
52899
53049
|
--wf-handle-source-bg: #5a5a5a;
|
|
52900
53050
|
--wf-drawer-width: 50vw;
|
|
52901
|
-
|
|
52902
|
-
|
|
52903
|
-
.wf-shell--drawer-open {
|
|
52904
|
-
padding-right: calc(var(--wf-drawer-width) - 44px);
|
|
53051
|
+
--wf-drawer-offset: -4px;
|
|
52905
53052
|
}
|
|
52906
53053
|
|
|
52907
53054
|
.wf-toolbar {
|
|
@@ -52933,6 +53080,10 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.wf-shell {
|
|
|
52933
53080
|
.wf-shell .react-flow__edge-labels {
|
|
52934
53081
|
z-index: 2;
|
|
52935
53082
|
}
|
|
53083
|
+
.react-flow .react-flow__edges svg {
|
|
53084
|
+
overflow: visible !important;
|
|
53085
|
+
z-index: 1040;
|
|
53086
|
+
}
|
|
52936
53087
|
|
|
52937
53088
|
.wf-empty {
|
|
52938
53089
|
padding: 12px;
|
|
@@ -53140,7 +53291,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.wf-shell {
|
|
|
53140
53291
|
|
|
53141
53292
|
@media (max-width: 768px) {
|
|
53142
53293
|
.wf-shell--drawer-open {
|
|
53143
|
-
padding-right:
|
|
53294
|
+
padding-right: var(--wf-shell-padding-right, 0px);
|
|
53144
53295
|
}
|
|
53145
53296
|
|
|
53146
53297
|
.wf-drawer {
|
|
@@ -53235,7 +53386,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.wf-shell {
|
|
|
53235
53386
|
--bs-body-color: #fff;
|
|
53236
53387
|
--bs-card-border-color: #44484e;
|
|
53237
53388
|
}
|
|
53238
|
-
`, "",{"version":3,"sources":["webpack://./src/workflow.css"],"names":[],"mappings":"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","sourcesContent":[".wf-shell {\n padding: 0;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n position: relative;\n transition: padding-right 0.25s ease;\n --wf-edge: #6c757d;\n --wf-edge-adder: #0d6efd;\n --wf-edge-loop: #f59f00;\n --wf-edge-label: #495057;\n --wf-handle-border: #3f3f3f;\n --wf-handle-bg: #fff;\n --wf-handle-source-bg: #5a5a5a;\n --wf-drawer-width: 50vw;\n}\n\n.wf-shell--drawer-open {\n padding-right: calc(var(--wf-drawer-width) - 44px);\n}\n\n.wf-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n border-bottom: 1px solid #e2e6ea;\n background: transparent;\n}\n\n.wf-toolbar__actions button,\n.wf-toolbar__actions a {\n margin-left: 8px;\n}\n\n.wf-canvas {\n height: 100%;\n flex: 1;\n min-height: 0;\n background: #fafbfc;\n}\n\n/* Ensure nodes visually sit above edge labels/buttons */\n.wf-shell .react-flow__node {\n z-index: 5;\n}\n\n.wf-shell .react-flow__edge-labels {\n z-index: 2;\n}\n\n.wf-empty {\n padding: 12px;\n color: #6c757d;\n}\n\n.wf-node {\n background: var(--xy-node-background-color-default, #fff);\n /* border: var(--xy-node-border-default); */\n border: 1px solid #777777;\n border-radius: 10px;\n padding: 10px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);\n min-width: 200px;\n cursor: pointer;\n max-width: 240px;\n}\n\n.wf-modal .card-body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n}\n.wf-node__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 4px;\n}\n\n.wf-node__title-row {\n display: flex;\n gap: 8px;\n align-items: baseline;\n flex-wrap: wrap;\n}\n\n.wf-node__title {\n font-weight: 700;\n font-size: 14px;\n}\n\n.wf-node__action {\n font-weight: 600;\n color: #0d6efd;\n font-size: 12px;\n}\n\n.wf-node__desc {\n font-size: 12px;\n color: #495057;\n margin-bottom: 4px;\n}\n\n.wf-node__summary {\n font-size: 12px;\n color: var(--xy-node-color-default, #495057);\n margin: 4px 0 6px;\n padding-left: 16px;\n}\n\n.wf-node__summary li {\n margin-bottom: 2px;\n}\n\n.wf-node__meta {\n font-size: 12px;\n color: #6c757d;\n}\n\n.wf-label {\n font-weight: 600;\n}\n\n.wf-node__footer {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n}\n\n.wf-start-node {\n padding: 10px;\n border-radius: 10px;\n background: linear-gradient(135deg, #0d6efd, #5ab2ff);\n color: #fff;\n box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);\n min-width: 100px;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.wf-start-title {\n font-weight: 700;\n}\n\n.wf-start-actions button {\n color: #0d6efd;\n background: #fff;\n border-color: #fff;\n}\n\n.wf-add-node {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--xy-node-background-color-default, #fff);\n border: 1px dashed var(--xy-node-border-default, #adb5bd);\n color: #0d6efd;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);\n cursor: pointer;\n}\n\n.wf-add-node:focus {\n outline: 2px solid #0d6efd;\n outline-offset: 2px;\n}\n\n.wf-drawer {\n position: fixed;\n top: 0;\n right: 0;\n height: 100%;\n width: min(95vw, max(var(--wf-drawer-width), 600px));\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n border-left: 1px solid var(--bs-card-border-color, #e2e6ea);\n display: flex;\n flex-direction: column;\n z-index: 1050;\n box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);\n transform: translateX(100%);\n transition: transform 0.25s ease;\n overflow: visible;\n}\n\n.wf-drawer--open {\n transform: translateX(0);\n}\n\n.wf-drawer__resize {\n position: absolute;\n left: -6px;\n top: 0;\n width: 10px;\n height: 100%;\n cursor: ew-resize;\n z-index: 1;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) 0%,\n rgba(0, 0, 0, 0.08) 50%,\n rgba(0, 0, 0, 0) 100%\n );\n}\n\n.wf-drawer__header {\n padding: 16px 18px 12px;\n border-bottom: 1px solid var(--bs-card-border-color, #e2e6ea);\n}\n\n.wf-drawer__body {\n padding: 16px 18px;\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n}\n\n.wf-drawer__footer {\n padding: 12px 18px;\n border-top: 1px solid var(--bs-card-border-color, #e2e6ea);\n}\n\n.wf-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1050;\n}\n\n.wf-modal {\n /* background: var(--bs-body-bg, #fff); */\n /* color: var(--bs-body-color, #212529); */\n border-radius: 10px;\n /* border: 1px solid var(--bs-card-border-color, #e2e6ea); */\n width: min(900px, 90vw);\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n /* box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25); */\n}\n\n@media (max-width: 768px) {\n .wf-shell--drawer-open {\n padding-right: 0;\n }\n\n .wf-drawer {\n width: min(480px, 100vw);\n }\n}\n\n.wf-shell .react-flow__edge-path {\n stroke: var(--wf-edge);\n fill: none;\n stroke-width: 1.5px;\n}\n\n.wf-shell .wf-edge-selected .react-flow__edge-path {\n stroke: var(--wf-edge-selected, #0d6efd) !important;\n stroke-width: 2.4px;\n filter: drop-shadow(0 0 4px rgba(13, 110, 253, 0.35));\n}\n\n.wf-shell .react-flow__connection-path {\n stroke-width: 1.5px;\n}\n\n.wf-shell .react-flow__edge-text {\n fill: var(--wf-edge-label);\n}\n\n.wf-shell .react-flow__handle {\n background: var(--wf-handle-bg);\n border-color: var(--wf-handle-border);\n}\n\n.wf-shell .react-flow__handle.wf-handle-source {\n background: var(--wf-handle-source-bg) !important;\n border-color: var(--wf-handle-source-bg) !important;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);\n}\n.wf-shell .react-flow__handle.wf-handle-source-loop {\n background: var(--wf-edge-loop) !important;\n border-color: var(--wf-edge-loop) !important;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);\n}\n.wf-shell .react-flow__handle.wf-handle-target-loop {\n border-color: var(--wf-edge-loop) !important;\n}\n\n.wf-edge-add-button {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: 1px solid #adb5bd;\n background: #ffffff;\n color: #6c757d;\n font-size: 12px;\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n}\n\n.wf-edge-add-button:hover {\n background: #f1f3f5;\n color: #495057;\n}\n\n.wf-edge-add-button:focus {\n outline: 2px solid #adb5bd;\n outline-offset: 2px;\n}\n\n[data-bs-theme=\"dark\"] .wf-shell {\n --wf-edge: #aeb3bd;\n --wf-edge-adder: #6ea8fe;\n --wf-edge-loop: #f0ad4e;\n --wf-edge-label: #c0c4cf;\n --wf-handle-border: #c0c4cf;\n --wf-handle-bg: #2f3139;\n --wf-handle-source-bg: #8a8a8a;\n}\n\n/* Temporary vars fallbacks */\n.wf-drawer {\n --bs-body-bg: #fff;\n --bs-body-color: #212529;\n --bs-card-border-color: #e2e6ea;\n}\n[data-bs-theme=\"dark\"] .wf-drawer {\n --bs-body-bg: #303030;\n --bs-body-color: #fff;\n --bs-card-border-color: #44484e;\n}\n"],"sourceRoot":""}]);
|
|
53389
|
+
`, "",{"version":3,"sources":["webpack://./src/workflow.css"],"names":[],"mappings":"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","sourcesContent":[".wf-shell {\n padding: 0;\n padding-right: var(--wf-shell-padding-right, 0px);\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n position: relative;\n transition: padding-right 0.25s ease;\n --wf-edge: #6c757d;\n --wf-edge-adder: #0d6efd;\n --wf-edge-loop: #f59f00;\n --wf-edge-label: #495057;\n --wf-handle-border: #3f3f3f;\n --wf-handle-bg: #fff;\n --wf-handle-source-bg: #5a5a5a;\n --wf-drawer-width: 50vw;\n --wf-drawer-offset: -4px;\n}\n\n.wf-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n border-bottom: 1px solid #e2e6ea;\n background: transparent;\n}\n\n.wf-toolbar__actions button,\n.wf-toolbar__actions a {\n margin-left: 8px;\n}\n\n.wf-canvas {\n height: 100%;\n flex: 1;\n min-height: 0;\n background: #fafbfc;\n}\n\n/* Ensure nodes visually sit above edge labels/buttons */\n.wf-shell .react-flow__node {\n z-index: 5;\n}\n\n.wf-shell .react-flow__edge-labels {\n z-index: 2;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible !important;\n z-index: 1040;\n}\n\n.wf-empty {\n padding: 12px;\n color: #6c757d;\n}\n\n.wf-node {\n background: var(--xy-node-background-color-default, #fff);\n /* border: var(--xy-node-border-default); */\n border: 1px solid #777777;\n border-radius: 10px;\n padding: 10px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);\n min-width: 200px;\n cursor: pointer;\n max-width: 240px;\n}\n\n.wf-modal .card-body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n}\n.wf-node__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 4px;\n}\n\n.wf-node__title-row {\n display: flex;\n gap: 8px;\n align-items: baseline;\n flex-wrap: wrap;\n}\n\n.wf-node__title {\n font-weight: 700;\n font-size: 14px;\n}\n\n.wf-node__action {\n font-weight: 600;\n color: #0d6efd;\n font-size: 12px;\n}\n\n.wf-node__desc {\n font-size: 12px;\n color: #495057;\n margin-bottom: 4px;\n}\n\n.wf-node__summary {\n font-size: 12px;\n color: var(--xy-node-color-default, #495057);\n margin: 4px 0 6px;\n padding-left: 16px;\n}\n\n.wf-node__summary li {\n margin-bottom: 2px;\n}\n\n.wf-node__meta {\n font-size: 12px;\n color: #6c757d;\n}\n\n.wf-label {\n font-weight: 600;\n}\n\n.wf-node__footer {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n}\n\n.wf-start-node {\n padding: 10px;\n border-radius: 10px;\n background: linear-gradient(135deg, #0d6efd, #5ab2ff);\n color: #fff;\n box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);\n min-width: 100px;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.wf-start-title {\n font-weight: 700;\n}\n\n.wf-start-actions button {\n color: #0d6efd;\n background: #fff;\n border-color: #fff;\n}\n\n.wf-add-node {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--xy-node-background-color-default, #fff);\n border: 1px dashed var(--xy-node-border-default, #adb5bd);\n color: #0d6efd;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);\n cursor: pointer;\n}\n\n.wf-add-node:focus {\n outline: 2px solid #0d6efd;\n outline-offset: 2px;\n}\n\n.wf-drawer {\n position: fixed;\n top: 0;\n right: 0;\n height: 100%;\n width: min(95vw, max(var(--wf-drawer-width), 600px));\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n border-left: 1px solid var(--bs-card-border-color, #e2e6ea);\n display: flex;\n flex-direction: column;\n z-index: 1050;\n box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);\n transform: translateX(100%);\n transition: transform 0.25s ease;\n overflow: visible;\n}\n\n.wf-drawer--open {\n transform: translateX(0);\n}\n\n.wf-drawer__resize {\n position: absolute;\n left: -6px;\n top: 0;\n width: 10px;\n height: 100%;\n cursor: ew-resize;\n z-index: 1;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) 0%,\n rgba(0, 0, 0, 0.08) 50%,\n rgba(0, 0, 0, 0) 100%\n );\n}\n\n.wf-drawer__header {\n padding: 16px 18px 12px;\n border-bottom: 1px solid var(--bs-card-border-color, #e2e6ea);\n}\n\n.wf-drawer__body {\n padding: 16px 18px;\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n}\n\n.wf-drawer__footer {\n padding: 12px 18px;\n border-top: 1px solid var(--bs-card-border-color, #e2e6ea);\n}\n\n.wf-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1050;\n}\n\n.wf-modal {\n /* background: var(--bs-body-bg, #fff); */\n /* color: var(--bs-body-color, #212529); */\n border-radius: 10px;\n /* border: 1px solid var(--bs-card-border-color, #e2e6ea); */\n width: min(900px, 90vw);\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n /* box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25); */\n}\n\n@media (max-width: 768px) {\n .wf-shell--drawer-open {\n padding-right: var(--wf-shell-padding-right, 0px);\n }\n\n .wf-drawer {\n width: min(480px, 100vw);\n }\n}\n\n.wf-shell .react-flow__edge-path {\n stroke: var(--wf-edge);\n fill: none;\n stroke-width: 1.5px;\n}\n\n.wf-shell .wf-edge-selected .react-flow__edge-path {\n stroke: var(--wf-edge-selected, #0d6efd) !important;\n stroke-width: 2.4px;\n filter: drop-shadow(0 0 4px rgba(13, 110, 253, 0.35));\n}\n\n.wf-shell .react-flow__connection-path {\n stroke-width: 1.5px;\n}\n\n.wf-shell .react-flow__edge-text {\n fill: var(--wf-edge-label);\n}\n\n.wf-shell .react-flow__handle {\n background: var(--wf-handle-bg);\n border-color: var(--wf-handle-border);\n}\n\n.wf-shell .react-flow__handle.wf-handle-source {\n background: var(--wf-handle-source-bg) !important;\n border-color: var(--wf-handle-source-bg) !important;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);\n}\n.wf-shell .react-flow__handle.wf-handle-source-loop {\n background: var(--wf-edge-loop) !important;\n border-color: var(--wf-edge-loop) !important;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);\n}\n.wf-shell .react-flow__handle.wf-handle-target-loop {\n border-color: var(--wf-edge-loop) !important;\n}\n\n.wf-edge-add-button {\n width: 18px;\n height: 18px;\n border-radius: 50%;\n border: 1px solid #adb5bd;\n background: #ffffff;\n color: #6c757d;\n font-size: 12px;\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n}\n\n.wf-edge-add-button:hover {\n background: #f1f3f5;\n color: #495057;\n}\n\n.wf-edge-add-button:focus {\n outline: 2px solid #adb5bd;\n outline-offset: 2px;\n}\n\n[data-bs-theme=\"dark\"] .wf-shell {\n --wf-edge: #aeb3bd;\n --wf-edge-adder: #6ea8fe;\n --wf-edge-loop: #f0ad4e;\n --wf-edge-label: #c0c4cf;\n --wf-handle-border: #c0c4cf;\n --wf-handle-bg: #2f3139;\n --wf-handle-source-bg: #8a8a8a;\n}\n\n/* Temporary vars fallbacks */\n.wf-drawer {\n --bs-body-bg: #fff;\n --bs-body-color: #212529;\n --bs-card-border-color: #e2e6ea;\n}\n[data-bs-theme=\"dark\"] .wf-drawer {\n --bs-body-bg: #303030;\n --bs-body-color: #fff;\n --bs-card-border-color: #44484e;\n}\n"],"sourceRoot":""}]);
|
|
53239
53390
|
// Exports
|
|
53240
53391
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
53241
53392
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license React
|
|
5
|
+
* react-dom.production.min.js
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the MIT license found in the
|
|
10
|
+
* LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @license React
|
|
15
|
+
* react-jsx-runtime.production.min.js
|
|
16
|
+
*
|
|
17
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the MIT license found in the
|
|
20
|
+
* LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @license React
|
|
25
|
+
* react.production.min.js
|
|
26
|
+
*
|
|
27
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the MIT license found in the
|
|
30
|
+
* LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @license React
|
|
35
|
+
* scheduler.production.min.js
|
|
36
|
+
*
|
|
37
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
38
|
+
*
|
|
39
|
+
* This source code is licensed under the MIT license found in the
|
|
40
|
+
* LICENSE file in the root directory of this source tree.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @license React
|
|
45
|
+
* use-sync-external-store-shim.production.js
|
|
46
|
+
*
|
|
47
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
48
|
+
*
|
|
49
|
+
* This source code is licensed under the MIT license found in the
|
|
50
|
+
* LICENSE file in the root directory of this source tree.
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @license React
|
|
55
|
+
* use-sync-external-store-shim/with-selector.production.js
|
|
56
|
+
*
|
|
57
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
58
|
+
*
|
|
59
|
+
* This source code is licensed under the MIT license found in the
|
|
60
|
+
* LICENSE file in the root directory of this source tree.
|
|
61
|
+
*/
|