@rkmodules/rules 0.0.137 → 0.0.139

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 CHANGED
@@ -1774,15 +1774,53 @@ var uniqueItems = {
1774
1774
  inputs: {
1775
1775
  items: "any",
1776
1776
  },
1777
+ params: {
1778
+ excludeEmpty: {
1779
+ type: "boolean",
1780
+ default: false,
1781
+ label: "remove empty",
1782
+ },
1783
+ },
1777
1784
  outputs: {
1778
1785
  unique: "any",
1779
1786
  },
1780
- impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
1787
+ impl: function (_a, params_1) { return __awaiter(void 0, [_a, params_1], void 0, function (_b, params) {
1788
+ var noEmpty;
1781
1789
  var _c = _b.items, items = _c === void 0 ? {} : _c;
1782
1790
  return __generator(this, function (_d) {
1791
+ noEmpty = params.excludeEmpty;
1783
1792
  return [2 /*return*/, {
1784
1793
  unique: mapTreeBranch(items, function (items) {
1785
- return Array.from(new Set(items));
1794
+ var unique = new Set(items);
1795
+ if (noEmpty) {
1796
+ unique.delete(undefined);
1797
+ unique.delete(null);
1798
+ }
1799
+ return Array.from(unique);
1800
+ }),
1801
+ }];
1802
+ });
1803
+ }); },
1804
+ };
1805
+
1806
+ var coalesce = {
1807
+ name: "coalesce",
1808
+ label: "Coalesce Items",
1809
+ description: "Outputs the first item if it's not empty, otherwise the second item",
1810
+ inputs: {
1811
+ treeA: { type: "any" },
1812
+ treeB: { type: "any" },
1813
+ },
1814
+ outputs: {
1815
+ tree: "any",
1816
+ },
1817
+ impl: function (_a, params_1) { return __awaiter(void 0, [_a, params_1], void 0, function (_b, params) {
1818
+ var _c = _b.treeA, treeA = _c === void 0 ? {} : _c, _d = _b.treeB, treeB = _d === void 0 ? {} : _d;
1819
+ return __generator(this, function (_e) {
1820
+ return [2 /*return*/, {
1821
+ tree: nAryOnTree([treeA, treeB], function (_a) {
1822
+ var _b = __read(_a, 2), itemA = _b[0], itemB = _b[1];
1823
+ return itemA !== undefined && itemA !== null ? itemA : itemB;
1786
1824
  }),
1787
1825
  }];
1788
1826
  });
@@ -1798,6 +1836,7 @@ var primitives$6 = (_a$6 = {},
1798
1836
  _a$6[relativeItem.name] = relativeItem,
1799
1837
  _a$6[relativeItems.name] = relativeItems,
1800
1838
  _a$6[concat.name] = concat,
1839
+ _a$6[coalesce.name] = coalesce,
1801
1840
  _a$6[uniqueItems.name] = uniqueItems,
1802
1841
  _a$6);
1803
1842
 
@@ -6089,11 +6128,6 @@ var usePrompts = function () {
6089
6128
  return __assign({ confirm: confirm, prompt: prompt, alert: alert }, prompts);
6090
6129
  };
6091
6130
 
6092
- var styles$1 = {"Port":"Port_XWl7K","required":"required_ofB6J","Icon":"Icon_YJDC5","PortLabel":"PortLabel_wwLN0","Input":"Input_PHp3D","Output":"Output_FMRNv","ConnectionPath":"ConnectionPath_XkXr1","valid":"valid_LGNvc","Edge":"Edge_aNtpH","Hover":"Hover_1v8QT","Menu":"Menu_cusza","MenuCanvas":"MenuCanvas_3M2Ek","MenuItem":"MenuItem_UWLzD"};
6093
-
6094
- var _a;
6095
- // normalizing import
6096
- var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6097
6131
  var InputString = React.memo(function (_a) {
6098
6132
  var value = _a.value, onChange = _a.onChange;
6099
6133
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6112,6 +6146,7 @@ var InputString = React.memo(function (_a) {
6112
6146
  }, [inner, value, onChange]);
6113
6147
  return (React.createElement("input", { type: "text", value: inner, onChange: function (e) { return setInner(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKey, onMouseDown: function (e) { return e.stopPropagation(); } }));
6114
6148
  });
6149
+
6115
6150
  var InputText = React.memo(function (_a) {
6116
6151
  var value = _a.value, onChange = _a.onChange;
6117
6152
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6130,6 +6165,7 @@ var InputText = React.memo(function (_a) {
6130
6165
  }, [inner, value, onChange]);
6131
6166
  return (React.createElement("textarea", { value: inner, onChange: function (e) { return setInner(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKey, onMouseDown: function (e) { return e.stopPropagation(); }, rows: 4 }));
6132
6167
  });
6168
+
6133
6169
  var InputBoolean = React.memo(function (_a) {
6134
6170
  var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty;
6135
6171
  var inputRef = React.useRef(null);
@@ -6148,6 +6184,40 @@ var InputBoolean = React.memo(function (_a) {
6148
6184
  };
6149
6185
  return (React.createElement("input", { ref: inputRef, type: "checkbox", checked: Boolean(value), onChange: handleChange }));
6150
6186
  });
6187
+
6188
+ var _a;
6189
+ var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6190
+
6191
+ function normalizeOptions(options) {
6192
+ if (Array.isArray(options)) {
6193
+ return Object.fromEntries(options.map(function (o) { return [o, o]; }));
6194
+ }
6195
+ else {
6196
+ return options;
6197
+ }
6198
+ }
6199
+ var InputSelect = React.memo(function (_a) {
6200
+ var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty, options = _a.options;
6201
+ options = normalizeOptions(options);
6202
+ var handleChange = function (e) {
6203
+ var val = e.target.value;
6204
+ if (val === "") {
6205
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
6206
+ }
6207
+ else {
6208
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
6209
+ }
6210
+ };
6211
+ return (React.createElement("select", { value: value || "", onChange: handleChange },
6212
+ allowEmpty && React.createElement("option", { value: "" }, "(none)"),
6213
+ Object.entries(options).map(function (_a) {
6214
+ var _b = __read(_a, 2), label = _b[0], value = _b[1];
6215
+ return (React.createElement("option", { key: value.toString(), value: value }, label));
6216
+ })));
6217
+ });
6218
+
6219
+ var styles$1 = {"Port":"Port_XWl7K","required":"required_ofB6J","Icon":"Icon_YJDC5","PortLabel":"PortLabel_wwLN0","Input":"Input_PHp3D","Output":"Output_FMRNv","ConnectionPath":"ConnectionPath_XkXr1","valid":"valid_LGNvc","Edge":"Edge_aNtpH","Hover":"Hover_1v8QT","Menu":"Menu_cusza","MenuCanvas":"MenuCanvas_3M2Ek","MenuItem":"MenuItem_UWLzD"};
6220
+
6151
6221
  function Control(_a) {
6152
6222
  var _b;
6153
6223
  var value = _a.value, vardef = _a.vardef, data = _a.data, onChange = _a.onChange;
@@ -6157,7 +6227,7 @@ function Control(_a) {
6157
6227
  return (React.createElement(ControlComponent, { value: value, vardef: vardef, onChange: onChange, data: data }));
6158
6228
  }
6159
6229
  if (vardef.options) {
6160
- return (React.createElement("select", { value: value || "", onChange: function (e) { return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value); } }, vardef.options.map(function (option) { return (React.createElement("option", { key: option, value: option }, option)); })));
6230
+ return (React.createElement(InputSelect, { value: value, onChange: onChange, options: vardef.options, allowEmpty: vardef.allowEmpty }));
6161
6231
  }
6162
6232
  switch (vardef.type) {
6163
6233
  case "string":