@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.esm.js CHANGED
@@ -1772,15 +1772,53 @@ var uniqueItems = {
1772
1772
  inputs: {
1773
1773
  items: "any",
1774
1774
  },
1775
+ params: {
1776
+ excludeEmpty: {
1777
+ type: "boolean",
1778
+ default: false,
1779
+ label: "remove empty",
1780
+ },
1781
+ },
1775
1782
  outputs: {
1776
1783
  unique: "any",
1777
1784
  },
1778
- impl: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
1785
+ impl: function (_a, params_1) { return __awaiter(void 0, [_a, params_1], void 0, function (_b, params) {
1786
+ var noEmpty;
1779
1787
  var _c = _b.items, items = _c === void 0 ? {} : _c;
1780
1788
  return __generator(this, function (_d) {
1789
+ noEmpty = params.excludeEmpty;
1781
1790
  return [2 /*return*/, {
1782
1791
  unique: mapTreeBranch(items, function (items) {
1783
- return Array.from(new Set(items));
1792
+ var unique = new Set(items);
1793
+ if (noEmpty) {
1794
+ unique.delete(undefined);
1795
+ unique.delete(null);
1796
+ }
1797
+ return Array.from(unique);
1798
+ }),
1799
+ }];
1800
+ });
1801
+ }); },
1802
+ };
1803
+
1804
+ var coalesce = {
1805
+ name: "coalesce",
1806
+ label: "Coalesce Items",
1807
+ description: "Outputs the first item if it's not empty, otherwise the second item",
1808
+ inputs: {
1809
+ treeA: { type: "any" },
1810
+ treeB: { type: "any" },
1811
+ },
1812
+ outputs: {
1813
+ tree: "any",
1814
+ },
1815
+ impl: function (_a, params_1) { return __awaiter(void 0, [_a, params_1], void 0, function (_b, params) {
1816
+ var _c = _b.treeA, treeA = _c === void 0 ? {} : _c, _d = _b.treeB, treeB = _d === void 0 ? {} : _d;
1817
+ return __generator(this, function (_e) {
1818
+ return [2 /*return*/, {
1819
+ tree: nAryOnTree([treeA, treeB], function (_a) {
1820
+ var _b = __read(_a, 2), itemA = _b[0], itemB = _b[1];
1821
+ return itemA !== undefined && itemA !== null ? itemA : itemB;
1784
1822
  }),
1785
1823
  }];
1786
1824
  });
@@ -1796,6 +1834,7 @@ var primitives$6 = (_a$6 = {},
1796
1834
  _a$6[relativeItem.name] = relativeItem,
1797
1835
  _a$6[relativeItems.name] = relativeItems,
1798
1836
  _a$6[concat.name] = concat,
1837
+ _a$6[coalesce.name] = coalesce,
1799
1838
  _a$6[uniqueItems.name] = uniqueItems,
1800
1839
  _a$6);
1801
1840
 
@@ -6087,11 +6126,6 @@ var usePrompts = function () {
6087
6126
  return __assign({ confirm: confirm, prompt: prompt, alert: alert }, prompts);
6088
6127
  };
6089
6128
 
6090
- 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"};
6091
-
6092
- var _a;
6093
- // normalizing import
6094
- var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6095
6129
  var InputString = React.memo(function (_a) {
6096
6130
  var value = _a.value, onChange = _a.onChange;
6097
6131
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6110,6 +6144,7 @@ var InputString = React.memo(function (_a) {
6110
6144
  }, [inner, value, onChange]);
6111
6145
  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(); } }));
6112
6146
  });
6147
+
6113
6148
  var InputText = React.memo(function (_a) {
6114
6149
  var value = _a.value, onChange = _a.onChange;
6115
6150
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6128,6 +6163,7 @@ var InputText = React.memo(function (_a) {
6128
6163
  }, [inner, value, onChange]);
6129
6164
  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 }));
6130
6165
  });
6166
+
6131
6167
  var InputBoolean = React.memo(function (_a) {
6132
6168
  var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty;
6133
6169
  var inputRef = React.useRef(null);
@@ -6146,6 +6182,40 @@ var InputBoolean = React.memo(function (_a) {
6146
6182
  };
6147
6183
  return (React.createElement("input", { ref: inputRef, type: "checkbox", checked: Boolean(value), onChange: handleChange }));
6148
6184
  });
6185
+
6186
+ var _a;
6187
+ var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6188
+
6189
+ function normalizeOptions(options) {
6190
+ if (Array.isArray(options)) {
6191
+ return Object.fromEntries(options.map(function (o) { return [o, o]; }));
6192
+ }
6193
+ else {
6194
+ return options;
6195
+ }
6196
+ }
6197
+ var InputSelect = React.memo(function (_a) {
6198
+ var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty, options = _a.options;
6199
+ options = normalizeOptions(options);
6200
+ var handleChange = function (e) {
6201
+ var val = e.target.value;
6202
+ if (val === "") {
6203
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
6204
+ }
6205
+ else {
6206
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
6207
+ }
6208
+ };
6209
+ return (React.createElement("select", { value: value || "", onChange: handleChange },
6210
+ allowEmpty && React.createElement("option", { value: "" }, "(none)"),
6211
+ Object.entries(options).map(function (_a) {
6212
+ var _b = __read(_a, 2), label = _b[0], value = _b[1];
6213
+ return (React.createElement("option", { key: value.toString(), value: value }, label));
6214
+ })));
6215
+ });
6216
+
6217
+ 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"};
6218
+
6149
6219
  function Control(_a) {
6150
6220
  var _b;
6151
6221
  var value = _a.value, vardef = _a.vardef, data = _a.data, onChange = _a.onChange;
@@ -6155,7 +6225,7 @@ function Control(_a) {
6155
6225
  return (React.createElement(ControlComponent, { value: value, vardef: vardef, onChange: onChange, data: data }));
6156
6226
  }
6157
6227
  if (vardef.options) {
6158
- 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)); })));
6228
+ return (React.createElement(InputSelect, { value: value, onChange: onChange, options: vardef.options, allowEmpty: vardef.allowEmpty }));
6159
6229
  }
6160
6230
  switch (vardef.type) {
6161
6231
  case "string":