@rkmodules/rules 0.0.134 → 0.0.136

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
@@ -2187,15 +2187,23 @@ var groupAnd = {
2187
2187
  inputs: {
2188
2188
  tree: "boolean",
2189
2189
  },
2190
+ params: {
2191
+ merge: "boolean",
2192
+ },
2190
2193
  outputs: {
2191
2194
  result: "boolean",
2192
2195
  },
2193
- impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
2196
+ impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
2197
+ var result;
2194
2198
  return __generator(this, function (_a) {
2199
+ result = mapTreeBranch(inputs.tree || {}, function (branch) {
2200
+ return [branch.reduce(function (acc, val) { return acc && val; }, true)];
2201
+ });
2202
+ if (params.merge) {
2203
+ result = trimTree(result, 1);
2204
+ }
2195
2205
  return [2 /*return*/, {
2196
- result: mapTreeBranch(inputs.tree || {}, function (branch) {
2197
- return [branch.reduce(function (acc, val) { return acc && val; }, true)];
2198
- }),
2206
+ result: result,
2199
2207
  }];
2200
2208
  });
2201
2209
  }); },
@@ -2208,15 +2216,23 @@ var groupOr = {
2208
2216
  inputs: {
2209
2217
  tree: "boolean",
2210
2218
  },
2219
+ params: {
2220
+ merge: "boolean",
2221
+ },
2211
2222
  outputs: {
2212
2223
  result: "boolean",
2213
2224
  },
2214
- impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
2225
+ impl: function (inputs, params) { return __awaiter(void 0, void 0, void 0, function () {
2226
+ var result;
2215
2227
  return __generator(this, function (_a) {
2228
+ result = mapTreeBranch(inputs.tree || {}, function (branch) {
2229
+ return [branch.reduce(function (acc, val) { return acc || val; }, false)];
2230
+ });
2231
+ if (params.merge) {
2232
+ result = trimTree(result, 1);
2233
+ }
2216
2234
  return [2 /*return*/, {
2217
- result: mapTreeBranch(inputs.tree || {}, function (branch) {
2218
- return [branch.reduce(function (acc, val) { return acc || val; }, false)];
2219
- }),
2235
+ result: result,
2220
2236
  }];
2221
2237
  });
2222
2238
  }); },
@@ -6112,6 +6128,24 @@ var InputText = React.memo(function (_a) {
6112
6128
  }, [inner, value, onChange]);
6113
6129
  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 }));
6114
6130
  });
6131
+ var InputBoolean = React.memo(function (_a) {
6132
+ var value = _a.value, onChange = _a.onChange, allowEmpty = _a.allowEmpty;
6133
+ var inputRef = React.useRef(null);
6134
+ React.useEffect(function () {
6135
+ if (allowEmpty && inputRef.current) {
6136
+ console.log("setting indeterminate");
6137
+ inputRef.current.indeterminate = value === undefined;
6138
+ }
6139
+ }, [value]);
6140
+ var handleChange = function () {
6141
+ var next = !value;
6142
+ if (value === false && allowEmpty)
6143
+ next = undefined;
6144
+ console.log("setting next", next);
6145
+ onChange === null || onChange === void 0 ? void 0 : onChange(next);
6146
+ };
6147
+ return (React.createElement("input", { ref: inputRef, type: "checkbox", checked: Boolean(value), onChange: handleChange }));
6148
+ });
6115
6149
  function Control(_a) {
6116
6150
  var _b;
6117
6151
  var value = _a.value, vardef = _a.vardef, data = _a.data, onChange = _a.onChange;
@@ -6136,7 +6170,7 @@ function Control(_a) {
6136
6170
  return (React.createElement(InputNumber, { value: value, onChange: onChange, step: vardef.step, min: vardef.min, max: vardef.max, inputMode: "numeric", onMouseDown: function (e) { return e.stopPropagation(); } }));
6137
6171
  }
6138
6172
  case "boolean":
6139
- return (React.createElement("input", { type: "checkbox", checked: Boolean(value), onChange: function (e) { return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.checked); } }));
6173
+ return (React.createElement(InputBoolean, { value: value, onChange: onChange, allowEmpty: vardef.allowEmpty }));
6140
6174
  default:
6141
6175
  return React.createElement("span", { className: styles$1.PortLabel },
6142
6176
  "(",