@rkmodules/rules 0.0.144 → 0.0.145

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.esm.js CHANGED
@@ -6509,9 +6509,9 @@ function GenericNode(_a) {
6509
6509
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6510
6510
  return (React.createElement(Param, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data }));
6511
6511
  })),
6512
- React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
6512
+ !!outputEntries.length && (React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
6513
6513
  _b[styles.expanded] = showPreview,
6514
- _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
6514
+ _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview")),
6515
6515
  showPreview && (React.createElement("div", { className: styles.Preview },
6516
6516
  React.createElement(TreeView, { value: previewValue }),
6517
6517
  duration !== null && (React.createElement("div", { className: styles.Duration },
@@ -6736,10 +6736,29 @@ DynamicInput.displayName = "DynamicInputNode";
6736
6736
  * - create input node
6737
6737
  */
6738
6738
  var OutputNode = React.memo(function (_a) {
6739
+ var _b;
6740
+ var _c;
6739
6741
  var id = _a.id, data = _a.data, selected = _a.selected;
6740
6742
  var engine = useEngine();
6741
6743
  var fn = useGraphedFunction();
6742
6744
  var prompt = usePrompts().prompt;
6745
+ // const inputEntries = Object.entries(inputs || data.inputDefs || {});
6746
+ var outputEntries = Object.entries(data.outputDefs || {});
6747
+ var paramEntries = Object.entries(data.paramDefs || {});
6748
+ var _d = __read(React.useState({}), 2), result = _d[0], setResult = _d[1];
6749
+ var _e = __read(React.useState(null), 2), duration = _e[0], setDuration = _e[1];
6750
+ 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];
6751
+ var _g = __read(React.useState(false), 2), showPreview = _g[0], setShowPreview = _g[1];
6752
+ var previewValue = focus ? result[focus] : Object.values(result)[0];
6753
+ React.useEffect(function () {
6754
+ return engine.subscribe("functionResult", function (event) {
6755
+ var _a;
6756
+ if (event.name === id) {
6757
+ setResult(event.result || {});
6758
+ setDuration((_a = event.duration) !== null && _a !== void 0 ? _a : null);
6759
+ }
6760
+ });
6761
+ }, []);
6743
6762
  var inputs = Object.fromEntries(Object.entries(data.inputs || {}).map(function (_a, i) {
6744
6763
  var _b, _c;
6745
6764
  var _d = __read(_a, 2), name = _d[0], ref = _d[1];
@@ -6813,20 +6832,37 @@ var OutputNode = React.memo(function (_a) {
6813
6832
  };
6814
6833
  return (React.createElement(NodeContainer, { label: data.label, selected: selected, id: id, noDelete: true },
6815
6834
  React.createElement("div", { className: styles.Description }, data.description),
6816
- React.createElement("div", { className: styles.Ports }, Object.entries(inputs || {}).map(function (_a) {
6817
- var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6818
- return (React.createElement(Handle, { key: name, type: "target", position: Position.Left, id: "".concat(id, "-").concat(name), className: classNames(styles$1.Input, styles$1.Port, styles$1["type-".concat(varDef.type)]), style: {
6819
- "--type-color": "var(--color-".concat(varDef.type, ")"),
6820
- } },
6821
- React.createElement("span", { className: styles$1.PortLabel }, name),
6822
- React.createElement("div", { style: { display: "flex" } },
6823
- React.createElement("span", { style: { flex: 1 } }),
6824
- React.createElement(Menu, { handle: React.createElement("button", null, "...") },
6825
- React.createElement(MenuItem, { onClick: function () { return onRename(name); } }, "Rename"),
6826
- React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))));
6827
- })),
6835
+ React.createElement("div", { className: styles.Ports },
6836
+ outputEntries.map(function (_a, index) {
6837
+ var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6838
+ return (React.createElement(Output, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
6839
+ }),
6840
+ Object.entries(inputs || {}).map(function (_a) {
6841
+ var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6842
+ return (React.createElement(Handle, { key: name, type: "target", position: Position.Left, id: "".concat(id, "-").concat(name), className: classNames(styles$1.Input, styles$1.Port, styles$1["type-".concat(varDef.type)]), style: {
6843
+ "--type-color": "var(--color-".concat(varDef.type, ")"),
6844
+ } },
6845
+ React.createElement("span", { className: styles$1.PortLabel }, name),
6846
+ React.createElement("div", { style: { display: "flex" } },
6847
+ React.createElement("span", { style: { flex: 1 } }),
6848
+ React.createElement(Menu, { handle: React.createElement("button", null, "...") },
6849
+ React.createElement(MenuItem, { onClick: function () { return onRename(name); } }, "Rename"),
6850
+ React.createElement(MenuItem, { onClick: function () { return onDelete(name); } }, "Delete")))));
6851
+ }),
6852
+ paramEntries.map(function (_a, index) {
6853
+ var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
6854
+ return (React.createElement(Param, { key: "".concat(name, "_").concat(index), name: name, varDef: varDef, id: id, data: data }));
6855
+ })),
6828
6856
  React.createElement("div", { className: styles.Body },
6829
- React.createElement("button", { onClick: function () { return onAdd(); } }, "+"))));
6857
+ React.createElement("button", { onClick: function () { return onAdd(); } }, "+")),
6858
+ !!outputEntries.length && (React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
6859
+ _b[styles.expanded] = showPreview,
6860
+ _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview")),
6861
+ showPreview && (React.createElement("div", { className: styles.Preview },
6862
+ React.createElement(TreeView, { value: previewValue }),
6863
+ duration !== null && (React.createElement("div", { className: styles.Duration },
6864
+ duration.toFixed(2),
6865
+ " ms"))))));
6830
6866
  });
6831
6867
  OutputNode.displayName = "OutputNode";
6832
6868