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