@rkmodules/rules 0.0.146 → 0.0.147
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/index.cjs.js +134 -37
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +134 -37
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/Engine/types.d.ts +2 -0
- package/dist/lib/Flow/Components/Input.d.ts +3 -1
- package/dist/lib/Flow/Nodes/NamedInput.d.ts +7 -0
- package/dist/lib/Flow/Nodes/index.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -6292,13 +6292,32 @@ function Control(_a) {
|
|
|
6292
6292
|
}
|
|
6293
6293
|
}
|
|
6294
6294
|
|
|
6295
|
+
function Menu(_a) {
|
|
6296
|
+
var handle = _a.handle, children = _a.children;
|
|
6297
|
+
var _b = __read(React.useState(false), 2), open = _b[0], setOpen = _b[1];
|
|
6298
|
+
var handleOpen = function () {
|
|
6299
|
+
setOpen(!open);
|
|
6300
|
+
};
|
|
6301
|
+
var handleClose = function () {
|
|
6302
|
+
setOpen(false);
|
|
6303
|
+
};
|
|
6304
|
+
return (React.createElement("div", { className: styles$1.Menu },
|
|
6305
|
+
React.createElement("div", { onClick: handleOpen }, handle),
|
|
6306
|
+
open && (React.createElement("div", { className: styles$1.MenuCanvas, onClick: handleClose }, children))));
|
|
6307
|
+
}
|
|
6308
|
+
function MenuItem(_a) {
|
|
6309
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
6310
|
+
return (React.createElement("div", __assign({ className: styles$1.MenuItem }, props), children));
|
|
6311
|
+
}
|
|
6312
|
+
|
|
6295
6313
|
var Input = function (_a) {
|
|
6296
6314
|
var _b;
|
|
6297
|
-
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick;
|
|
6315
|
+
var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick, onRename = _a.onRename, onDelete = _a.onDelete;
|
|
6298
6316
|
var normalized = normalizeVarDef(varDef);
|
|
6299
6317
|
var value = (_b = data.inputs) === null || _b === void 0 ? void 0 : _b[name];
|
|
6300
6318
|
var isRef = isReference(value);
|
|
6301
6319
|
var portId = "".concat(id, "-").concat(safeName(name));
|
|
6320
|
+
var showMenu = onRename || onDelete;
|
|
6302
6321
|
var handleInputChange = function (param) { return function (value) {
|
|
6303
6322
|
var _a;
|
|
6304
6323
|
data.onChange({
|
|
@@ -6309,7 +6328,12 @@ var Input = function (_a) {
|
|
|
6309
6328
|
"--type-color": "var(--color-".concat(normalized.type, ")"),
|
|
6310
6329
|
}, onClick: onClick },
|
|
6311
6330
|
React.createElement("span", { className: styles$1.PortLabel }, normalized.label || name),
|
|
6312
|
-
!isRef && (React.createElement(Control, { vardef: normalized, value: value, onChange: handleInputChange(name), data: data }))
|
|
6331
|
+
!isRef && !showMenu && (React.createElement(Control, { vardef: normalized, value: value, onChange: handleInputChange(name), data: data })),
|
|
6332
|
+
showMenu && (React.createElement("div", { style: { display: "flex" } },
|
|
6333
|
+
React.createElement("span", { style: { flex: 1 } }),
|
|
6334
|
+
React.createElement(Menu, { handle: React.createElement("button", null, "...") },
|
|
6335
|
+
onRename && (React.createElement(MenuItem, { onClick: function () { return onRename(name, normalized); } }, "Rename")),
|
|
6336
|
+
onDelete && (React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))))));
|
|
6313
6337
|
};
|
|
6314
6338
|
|
|
6315
6339
|
var Param = function (_a) {
|
|
@@ -6568,24 +6592,6 @@ var Default = React.memo(function (_a) {
|
|
|
6568
6592
|
});
|
|
6569
6593
|
Default.displayName = "DefaultNode";
|
|
6570
6594
|
|
|
6571
|
-
function Menu(_a) {
|
|
6572
|
-
var handle = _a.handle, children = _a.children;
|
|
6573
|
-
var _b = __read(React.useState(false), 2), open = _b[0], setOpen = _b[1];
|
|
6574
|
-
var handleOpen = function () {
|
|
6575
|
-
setOpen(!open);
|
|
6576
|
-
};
|
|
6577
|
-
var handleClose = function () {
|
|
6578
|
-
setOpen(false);
|
|
6579
|
-
};
|
|
6580
|
-
return (React.createElement("div", { className: styles$1.Menu },
|
|
6581
|
-
React.createElement("div", { onClick: handleOpen }, handle),
|
|
6582
|
-
open && (React.createElement("div", { className: styles$1.MenuCanvas, onClick: handleClose }, children))));
|
|
6583
|
-
}
|
|
6584
|
-
function MenuItem(_a) {
|
|
6585
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
6586
|
-
return (React.createElement("div", __assign({ className: styles$1.MenuItem }, props), children));
|
|
6587
|
-
}
|
|
6588
|
-
|
|
6589
6595
|
/**
|
|
6590
6596
|
* todo: get input data from graphed function
|
|
6591
6597
|
*/
|
|
@@ -6849,17 +6855,9 @@ var OutputNode = React.memo(function (_a) {
|
|
|
6849
6855
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6850
6856
|
return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
|
|
6851
6857
|
}),
|
|
6852
|
-
Object.entries(inputs || {}).map(function (_a) {
|
|
6858
|
+
Object.entries(inputs || {}).map(function (_a, index) {
|
|
6853
6859
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6854
|
-
return (React.createElement(
|
|
6855
|
-
"--type-color": "var(--color-".concat(varDef.type, ")"),
|
|
6856
|
-
} },
|
|
6857
|
-
React.createElement("span", { className: styles$1.PortLabel }, name),
|
|
6858
|
-
React.createElement("div", { style: { display: "flex" } },
|
|
6859
|
-
React.createElement("span", { style: { flex: 1 } }),
|
|
6860
|
-
React.createElement(Menu, { handle: React.createElement("button", null, "...") },
|
|
6861
|
-
React.createElement(MenuItem, { onClick: function () { return onRename(name); } }, "Rename"),
|
|
6862
|
-
React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))));
|
|
6860
|
+
return (React.createElement(Input, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data, onRename: onRename, onDelete: onDelete }));
|
|
6863
6861
|
}),
|
|
6864
6862
|
paramEntries.map(function (_a, index) {
|
|
6865
6863
|
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
@@ -6897,12 +6895,104 @@ var DynamicOutput = React.memo(function (_a) {
|
|
|
6897
6895
|
});
|
|
6898
6896
|
DynamicOutput.displayName = "DynamicOutputNode";
|
|
6899
6897
|
|
|
6898
|
+
var NamedInput = function (_a) {
|
|
6899
|
+
var _b;
|
|
6900
|
+
var _c;
|
|
6901
|
+
var id = _a.id, data = _a.data, selected = _a.selected;
|
|
6902
|
+
var engine = useEngine();
|
|
6903
|
+
// let fn = useGraphedFunction();
|
|
6904
|
+
var prompt = usePrompts().prompt;
|
|
6905
|
+
var inputEntries = Object.entries(data.inputDefs || {});
|
|
6906
|
+
var outputEntries = Object.entries(data.outputDefs || {});
|
|
6907
|
+
var paramEntries = Object.entries(data.paramDefs || {});
|
|
6908
|
+
var _d = __read(React.useState({}), 2), result = _d[0], setResult = _d[1];
|
|
6909
|
+
var _e = __read(React.useState(null), 2), duration = _e[0], setDuration = _e[1];
|
|
6910
|
+
var _f = __read(useInner(((_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0]) || null, [data.outputDefs]), 2), focus = _f[0], setFocus = _f[1];
|
|
6911
|
+
var _g = __read(React.useState(false), 2), showPreview = _g[0], setShowPreview = _g[1];
|
|
6912
|
+
var previewValue = focus ? result[focus] : Object.values(result)[0];
|
|
6913
|
+
React.useEffect(function () {
|
|
6914
|
+
return engine.subscribe("functionResult", function (event) {
|
|
6915
|
+
var _a;
|
|
6916
|
+
if (event.name === id) {
|
|
6917
|
+
setResult(event.result || {});
|
|
6918
|
+
setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
|
|
6919
|
+
}
|
|
6920
|
+
});
|
|
6921
|
+
}, []);
|
|
6922
|
+
var onRename = function (name, def) { return __awaiter(void 0, void 0, void 0, function () {
|
|
6923
|
+
var newLabel, inputDefs;
|
|
6924
|
+
return __generator(this, function (_a) {
|
|
6925
|
+
switch (_a.label) {
|
|
6926
|
+
case 0: return [4 /*yield*/, prompt("Enter new name", def.label || name)];
|
|
6927
|
+
case 1:
|
|
6928
|
+
newLabel = _a.sent();
|
|
6929
|
+
if (newLabel !== null && newLabel !== def.label) {
|
|
6930
|
+
inputDefs = __assign({}, data.inputDefs);
|
|
6931
|
+
inputDefs[name] = __assign(__assign({}, def), { label: newLabel });
|
|
6932
|
+
data.onChange({ inputDefs: inputDefs });
|
|
6933
|
+
}
|
|
6934
|
+
return [2 /*return*/];
|
|
6935
|
+
}
|
|
6936
|
+
});
|
|
6937
|
+
}); };
|
|
6938
|
+
var onAdd = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6939
|
+
var newName, inputDefs;
|
|
6940
|
+
var _a;
|
|
6941
|
+
return __generator(this, function (_b) {
|
|
6942
|
+
switch (_b.label) {
|
|
6943
|
+
case 0: return [4 /*yield*/, prompt("Enter new name")];
|
|
6944
|
+
case 1:
|
|
6945
|
+
newName = _b.sent();
|
|
6946
|
+
if (newName !== null) {
|
|
6947
|
+
inputDefs = __assign(__assign({}, data.inputDefs), (_a = {}, _a[newName] = { type: "any", label: newName }, _a));
|
|
6948
|
+
data.onChange({ inputDefs: inputDefs });
|
|
6949
|
+
}
|
|
6950
|
+
return [2 /*return*/];
|
|
6951
|
+
}
|
|
6952
|
+
});
|
|
6953
|
+
}); };
|
|
6954
|
+
var onDelete = function (name) {
|
|
6955
|
+
var inputDefs = __assign({}, data.inputDefs);
|
|
6956
|
+
var inputs = __assign({}, data.inputs);
|
|
6957
|
+
delete inputDefs[name];
|
|
6958
|
+
delete inputs[name];
|
|
6959
|
+
data.onChange({ inputs: inputs, inputDefs: inputDefs });
|
|
6960
|
+
};
|
|
6961
|
+
return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id, noDelete: true },
|
|
6962
|
+
React.createElement("div", { className: styles.Description }, data.description),
|
|
6963
|
+
React.createElement("div", { className: styles.Ports },
|
|
6964
|
+
outputEntries.map(function (_a, index) {
|
|
6965
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6966
|
+
return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
|
|
6967
|
+
}),
|
|
6968
|
+
inputEntries.map(function (_a, index) {
|
|
6969
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6970
|
+
return (React.createElement(Input, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data, onRename: onRename, onDelete: onDelete }));
|
|
6971
|
+
}),
|
|
6972
|
+
paramEntries.map(function (_a, index) {
|
|
6973
|
+
var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
|
|
6974
|
+
return (React.createElement(Param, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data }));
|
|
6975
|
+
})),
|
|
6976
|
+
React.createElement("div", { className: styles.Body },
|
|
6977
|
+
React.createElement("button", { onClick: function () { return onAdd(); } }, "+")),
|
|
6978
|
+
!!outputEntries.length && (React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
|
|
6979
|
+
_b[styles.expanded] = showPreview,
|
|
6980
|
+
_b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview")),
|
|
6981
|
+
showPreview && (React.createElement("div", { className: styles.Preview },
|
|
6982
|
+
React.createElement(TreeView, { value: previewValue }),
|
|
6983
|
+
duration !== null && (React.createElement("div", { className: styles.Duration },
|
|
6984
|
+
duration.toFixed(2),
|
|
6985
|
+
" ms"))))));
|
|
6986
|
+
};
|
|
6987
|
+
NamedInput.displayName = "NamedInput";
|
|
6988
|
+
|
|
6900
6989
|
var nodeTypes = {
|
|
6901
6990
|
Default: Default,
|
|
6902
6991
|
Calc: Calc,
|
|
6903
6992
|
Log: Log,
|
|
6904
6993
|
DynamicInput: DynamicInput,
|
|
6905
6994
|
DynamicOutput: DynamicOutput,
|
|
6995
|
+
NamedInput: NamedInput,
|
|
6906
6996
|
Input: InputNode,
|
|
6907
6997
|
Output: OutputNode,
|
|
6908
6998
|
};
|
|
@@ -6984,8 +7074,8 @@ function useUpdatePositions(fn) {
|
|
|
6984
7074
|
}
|
|
6985
7075
|
|
|
6986
7076
|
// helpers
|
|
6987
|
-
function updateNodeArguments(node, inputs, params) {
|
|
6988
|
-
return __assign(__assign({}, node), { data: __assign(__assign({}, node.data), { inputs: inputs, params: params }) });
|
|
7077
|
+
function updateNodeArguments(node, inputs, params, inputDefs, outputDefs) {
|
|
7078
|
+
return __assign(__assign({}, node), { data: __assign(__assign({}, node.data), { inputs: inputs, params: params, inputDefs: inputDefs !== null && inputDefs !== void 0 ? inputDefs : node.data.inputDefs, outputDefs: outputDefs !== null && outputDefs !== void 0 ? outputDefs : node.data.outputDefs }) });
|
|
6989
7079
|
}
|
|
6990
7080
|
/**
|
|
6991
7081
|
* gets the source and target node and field from an edge by de-referencing the handles
|
|
@@ -7011,7 +7101,7 @@ function createNode(engine, id, fncall, options) {
|
|
|
7011
7101
|
description: calledFn === null || calledFn === void 0 ? void 0 : calledFn.description,
|
|
7012
7102
|
inputs: fncall.inputs,
|
|
7013
7103
|
params: fncall.params,
|
|
7014
|
-
inputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs)
|
|
7104
|
+
inputDefs: __assign(__assign({}, fncall.inputDefs), calledFn === null || calledFn === void 0 ? void 0 : calledFn.inputs),
|
|
7015
7105
|
paramDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.params) || {},
|
|
7016
7106
|
outputDefs: (calledFn === null || calledFn === void 0 ? void 0 : calledFn.outputs) || {},
|
|
7017
7107
|
onChange: ((_a = options.onDataChange) === null || _a === void 0 ? void 0 : _a.call(options, id)) || (function () { }),
|
|
@@ -7069,8 +7159,15 @@ var useFlowState = zustand.create(function (set, get) { return ({
|
|
|
7069
7159
|
});
|
|
7070
7160
|
// remove all the edges that were removed
|
|
7071
7161
|
edges = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) {
|
|
7072
|
-
|
|
7073
|
-
|
|
7162
|
+
var _a, _b;
|
|
7163
|
+
var target = deRefEdgeHandle(edge.targetHandle);
|
|
7164
|
+
return (
|
|
7165
|
+
// source node of the edge must be in the document
|
|
7166
|
+
(newKeys.includes(edge.source) || edge.source === "inputs") &&
|
|
7167
|
+
// target node of the edge must be in the document
|
|
7168
|
+
newKeys.includes(edge.target) &&
|
|
7169
|
+
// target field of the edge must be in the target node definition
|
|
7170
|
+
((_b = (_a = fn.body) === null || _a === void 0 ? void 0 : _a[edge.target].inputs) === null || _b === void 0 ? void 0 : _b[target.field]) !== undefined);
|
|
7074
7171
|
});
|
|
7075
7172
|
// make sure there is an output node if outputs are defined
|
|
7076
7173
|
if (fn.outputs && !nodes["output"]) {
|
|
@@ -7119,13 +7216,13 @@ var useFlowState = zustand.create(function (set, get) { return ({
|
|
|
7119
7216
|
// shallow comparison
|
|
7120
7217
|
return ((_a = fn.body) === null || _a === void 0 ? void 0 : _a[key]) !== ((_b = oldFn === null || oldFn === void 0 ? void 0 : oldFn.body) === null || _b === void 0 ? void 0 : _b[key]);
|
|
7121
7218
|
});
|
|
7122
|
-
|
|
7219
|
+
console.log("changed keys", changedKeys);
|
|
7123
7220
|
changedKeys.forEach(function (key) {
|
|
7124
7221
|
var _a;
|
|
7125
7222
|
// update the nodes that were changed
|
|
7126
7223
|
var fncall = (_a = fn.body) === null || _a === void 0 ? void 0 : _a[key];
|
|
7127
7224
|
var node = nodes[key];
|
|
7128
|
-
nodes[key] = updateNodeArguments(node, fncall.inputs, fncall.params);
|
|
7225
|
+
nodes[key] = updateNodeArguments(node, fncall.inputs, fncall.params, fncall.inputDefs, fncall.outputDefs);
|
|
7129
7226
|
// update incoming edges
|
|
7130
7227
|
var refs = getReferences(fncall.inputs || {});
|
|
7131
7228
|
// remove all incoming edges
|