@rkmodules/rules 0.0.138 → 0.0.140

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
@@ -1476,6 +1476,36 @@ var stringEqualTo = {
1476
1476
  }); },
1477
1477
  };
1478
1478
 
1479
+ var stringTemplate = {
1480
+ name: "stringTemplate",
1481
+ label: "String template",
1482
+ description: "Assembles a string from inputs",
1483
+ nodeType: "DynamicInput",
1484
+ inputs: {
1485
+ template: { type: "string", default: "" },
1486
+ },
1487
+ outputs: {
1488
+ tree: "string",
1489
+ },
1490
+ impl: function (_a, params) { return __awaiter(void 0, void 0, void 0, function () {
1491
+ var trees;
1492
+ var _b = _a.template, template = _b === void 0 ? {} : _b, inputs = __rest(_a, ["template"]);
1493
+ return __generator(this, function (_c) {
1494
+ trees = __spreadArray([template], __read(Object.values(inputs)), false);
1495
+ return [2 /*return*/, {
1496
+ tree: nAryOnTree(trees, function (_a) {
1497
+ var _b = __read(_a), template = _b[0], values = _b.slice(1);
1498
+ return template.replace(/{D(\d+)}/g, function (match, number) {
1499
+ return typeof values[number - 1] !== "undefined"
1500
+ ? values[number - 1]
1501
+ : match;
1502
+ });
1503
+ }, true),
1504
+ }];
1505
+ });
1506
+ }); },
1507
+ };
1508
+
1479
1509
  var toString = {
1480
1510
  name: "toString",
1481
1511
  label: "To String",
@@ -1504,6 +1534,7 @@ var primitives$7 = (_a$7 = {},
1504
1534
  _a$7[toString.name] = toString,
1505
1535
  _a$7[joinStrings.name] = joinStrings,
1506
1536
  _a$7[stringEqualTo.name] = stringEqualTo,
1537
+ _a$7[stringTemplate.name] = stringTemplate,
1507
1538
  _a$7);
1508
1539
 
1509
1540
  var filterList = {
@@ -6128,11 +6159,6 @@ var usePrompts = function () {
6128
6159
  return __assign({ confirm: confirm, prompt: prompt, alert: alert }, prompts);
6129
6160
  };
6130
6161
 
6131
- 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"};
6132
-
6133
- var _a;
6134
- // normalizing import
6135
- var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6136
6162
  var InputString = React.memo(function (_a) {
6137
6163
  var value = _a.value, onChange = _a.onChange;
6138
6164
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6151,6 +6177,7 @@ var InputString = React.memo(function (_a) {
6151
6177
  }, [inner, value, onChange]);
6152
6178
  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(); } }));
6153
6179
  });
6180
+
6154
6181
  var InputText = React.memo(function (_a) {
6155
6182
  var value = _a.value, onChange = _a.onChange;
6156
6183
  var _b = __read(useInner(value), 2), inner = _b[0], setInner = _b[1];
@@ -6169,6 +6196,7 @@ var InputText = React.memo(function (_a) {
6169
6196
  }, [inner, value, onChange]);
6170
6197
  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 }));
6171
6198
  });
6199
+
6172
6200
  var InputBoolean = React.memo(function (_a) {
6173
6201
  var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty;
6174
6202
  var inputRef = React.useRef(null);
@@ -6187,6 +6215,40 @@ var InputBoolean = React.memo(function (_a) {
6187
6215
  };
6188
6216
  return (React.createElement("input", { ref: inputRef, type: "checkbox", checked: Boolean(value), onChange: handleChange }));
6189
6217
  });
6218
+
6219
+ var _a;
6220
+ var InputNumber = (_a = rcin.default) !== null && _a !== void 0 ? _a : rcin;
6221
+
6222
+ function normalizeOptions(options) {
6223
+ if (Array.isArray(options)) {
6224
+ return Object.fromEntries(options.map(function (o) { return [o, o]; }));
6225
+ }
6226
+ else {
6227
+ return options;
6228
+ }
6229
+ }
6230
+ var InputSelect = React.memo(function (_a) {
6231
+ var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty, options = _a.options;
6232
+ options = normalizeOptions(options);
6233
+ var handleChange = function (e) {
6234
+ var val = e.target.value;
6235
+ if (val === "") {
6236
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
6237
+ }
6238
+ else {
6239
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
6240
+ }
6241
+ };
6242
+ return (React.createElement("select", { value: value || "", onChange: handleChange },
6243
+ allowEmpty && React.createElement("option", { value: "" }, "(none)"),
6244
+ Object.entries(options).map(function (_a) {
6245
+ var _b = __read(_a, 2), label = _b[0], value = _b[1];
6246
+ return (React.createElement("option", { key: value.toString(), value: value }, label));
6247
+ })));
6248
+ });
6249
+
6250
+ 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"};
6251
+
6190
6252
  function Control(_a) {
6191
6253
  var _b;
6192
6254
  var value = _a.value, vardef = _a.vardef, data = _a.data, onChange = _a.onChange;
@@ -6196,7 +6258,7 @@ function Control(_a) {
6196
6258
  return (React.createElement(ControlComponent, { value: value, vardef: vardef, onChange: onChange, data: data }));
6197
6259
  }
6198
6260
  if (vardef.options) {
6199
- 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)); })));
6261
+ return (React.createElement(InputSelect, { value: value, onChange: onChange, options: vardef.options, allowEmpty: vardef.allowEmpty }));
6200
6262
  }
6201
6263
  switch (vardef.type) {
6202
6264
  case "string":
@@ -6643,12 +6705,20 @@ function uid() {
6643
6705
  }
6644
6706
  var DynamicInput = React.memo(function (_a) {
6645
6707
  var id = _a.id, data = _a.data, selected = _a.selected;
6646
- var inputs = Object.fromEntries(Object.keys(data.inputs || {}).map(function (name, i) { return [
6647
- name,
6648
- { type: "any", label: "D".concat(i + 1) },
6649
- ]; }));
6650
- var inputCount = Object.keys(inputs).length;
6651
- inputs[uid()] = { type: "any", label: "D".concat(inputCount + 1) };
6708
+ var inputs = __assign({}, data.inputDefs);
6709
+ var dynIndex = 1;
6710
+ Object.keys(data.inputs || {}).forEach(function (name) {
6711
+ if (!(inputs === null || inputs === void 0 ? void 0 : inputs[name]) && dynIndex < 10) {
6712
+ inputs[name] = { type: "any", label: "D".concat(dynIndex) };
6713
+ dynIndex++;
6714
+ }
6715
+ });
6716
+ var inputCount = Object.keys(data.inputs || {}).length;
6717
+ var fixedInputCount = Object.keys(data.inputDefs || {}).length;
6718
+ inputs[uid()] = {
6719
+ type: "any",
6720
+ label: "D".concat(inputCount - fixedInputCount + 1),
6721
+ };
6652
6722
  return (React.createElement(GenericNode, { inputs: inputs, id: id, data: data, selected: selected }));
6653
6723
  });
6654
6724
  DynamicInput.displayName = "DynamicInputNode";