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