@react-typed-forms/schemas 10.1.0 → 10.2.0

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.
@@ -23,3 +23,4 @@ export declare function CheckButtons({ control, options, labelClass, checkClass,
23
23
  setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;
24
24
  }): React.JSX.Element;
25
25
  export declare function setIncluded<A>(array: A[], elem: A, included: boolean): A[];
26
+ export declare function createCheckboxRenderer(options?: CheckRendererOptions): import("../renderers").DataRendererRegistration;
@@ -39,6 +39,7 @@ interface DefaultDataRendererOptions {
39
39
  inputClass?: string;
40
40
  displayOnlyClass?: string;
41
41
  selectOptions?: SelectRendererOptions;
42
+ checkboxOptions?: CheckRendererOptions;
42
43
  checkOptions?: CheckRendererOptions;
43
44
  radioOptions?: CheckRendererOptions;
44
45
  checkListOptions?: CheckRendererOptions;
package/lib/index.js CHANGED
@@ -152,63 +152,53 @@ function isDataGroupRenderer(options) {
152
152
  return options.type === exports.DataRenderType.Group;
153
153
  }
154
154
 
155
- function _extends() {
156
- _extends = Object.assign ? Object.assign.bind() : function (target) {
157
- for (var i = 1; i < arguments.length; i++) {
158
- var source = arguments[i];
159
- for (var key in source) {
160
- if (Object.prototype.hasOwnProperty.call(source, key)) {
161
- target[key] = source[key];
162
- }
163
- }
164
- }
165
- return target;
166
- };
167
- return _extends.apply(this, arguments);
168
- }
169
- function _objectWithoutPropertiesLoose(source, excluded) {
170
- if (source == null) return {};
171
- var target = {};
172
- var sourceKeys = Object.keys(source);
173
- var key, i;
174
- for (i = 0; i < sourceKeys.length; i++) {
175
- key = sourceKeys[i];
176
- if (excluded.indexOf(key) >= 0) continue;
177
- target[key] = source[key];
178
- }
179
- return target;
180
- }
181
- function _unsupportedIterableToArray(o, minLen) {
182
- if (!o) return;
183
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
184
- var n = Object.prototype.toString.call(o).slice(8, -1);
185
- if (n === "Object" && o.constructor) n = o.constructor.name;
186
- if (n === "Map" || n === "Set") return Array.from(o);
187
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
188
- }
189
- function _arrayLikeToArray(arr, len) {
190
- if (len == null || len > arr.length) len = arr.length;
191
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
192
- return arr2;
193
- }
194
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
195
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
196
- if (it) return (it = it.call(o)).next.bind(it);
197
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
198
- if (it) o = it;
199
- var i = 0;
155
+ function _arrayLikeToArray(r, a) {
156
+ (null == a || a > r.length) && (a = r.length);
157
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
158
+ return n;
159
+ }
160
+ function _createForOfIteratorHelperLoose(r, e) {
161
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
162
+ if (t) return (t = t.call(r)).next.bind(t);
163
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
164
+ t && (r = t);
165
+ var o = 0;
200
166
  return function () {
201
- if (i >= o.length) return {
202
- done: true
203
- };
204
- return {
205
- done: false,
206
- value: o[i++]
167
+ return o >= r.length ? {
168
+ done: !0
169
+ } : {
170
+ done: !1,
171
+ value: r[o++]
207
172
  };
208
173
  };
209
174
  }
210
175
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
211
176
  }
177
+ function _extends() {
178
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
179
+ for (var e = 1; e < arguments.length; e++) {
180
+ var t = arguments[e];
181
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
182
+ }
183
+ return n;
184
+ }, _extends.apply(null, arguments);
185
+ }
186
+ function _objectWithoutPropertiesLoose(r, e) {
187
+ if (null == r) return {};
188
+ var t = {};
189
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
190
+ if (e.indexOf(n) >= 0) continue;
191
+ t[n] = r[n];
192
+ }
193
+ return t;
194
+ }
195
+ function _unsupportedIterableToArray(r, a) {
196
+ if (r) {
197
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
198
+ var t = {}.toString.call(r).slice(8, -1);
199
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
200
+ }
201
+ }
212
202
 
213
203
  function applyDefaultValues(v, fields, doneSet) {
214
204
  var _doneSet;
@@ -1577,7 +1567,7 @@ function renderControlLayout(props) {
1577
1567
  }
1578
1568
  return {};
1579
1569
  function renderData(c) {
1580
- var _labelText$value3;
1570
+ var _labelText$value3, _c$children$length, _c$children2;
1581
1571
  if (!field) return {
1582
1572
  children: "No schema field for: " + c.field
1583
1573
  };
@@ -1589,7 +1579,7 @@ function renderControlLayout(props) {
1589
1579
  return {
1590
1580
  processLayout: renderer.renderData(rendererProps),
1591
1581
  label: {
1592
- type: exports.LabelType.Control,
1582
+ type: ((_c$children$length = (_c$children2 = c.children) == null ? void 0 : _c$children2.length) != null ? _c$children$length : 0) > 0 ? exports.LabelType.Group : exports.LabelType.Control,
1593
1583
  label: label,
1594
1584
  forId: rendererProps.id,
1595
1585
  required: c.required,
@@ -1755,6 +1745,9 @@ var defaultTailwindTheme = {
1755
1745
  checkOptions: {
1756
1746
  className: "flex items-center gap-4",
1757
1747
  entryClass: "flex gap-1 items-center"
1748
+ },
1749
+ selectOptions: {
1750
+ emptyText: "<select>"
1758
1751
  }
1759
1752
  }
1760
1753
  };
@@ -2117,6 +2110,7 @@ function createCheckListRenderer(options) {
2117
2110
  type: "checkbox"
2118
2111
  }));
2119
2112
  }, {
2113
+ collection: true,
2120
2114
  renderType: exports.DataRenderType.CheckList
2121
2115
  });
2122
2116
  }
@@ -2182,6 +2176,30 @@ function setIncluded(array, elem, included) {
2182
2176
  return e !== elem;
2183
2177
  });
2184
2178
  }
2179
+ function createCheckboxRenderer(options) {
2180
+ if (options === void 0) {
2181
+ options = {};
2182
+ }
2183
+ return createDataRenderer(function (props, renderer) {
2184
+ return function (p) {
2185
+ return _extends({}, p, {
2186
+ label: undefined,
2187
+ children: /*#__PURE__*/React__default["default"].createElement("div", {
2188
+ className: rendererClass(props.className, options.className)
2189
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2190
+ className: options.entryClass
2191
+ }, /*#__PURE__*/React__default["default"].createElement(core.Fcheckbox, {
2192
+ id: props.id,
2193
+ control: props.control,
2194
+ style: props.style,
2195
+ className: options.checkClass
2196
+ }), p.label && renderer.renderLabel(p.label, undefined, undefined)))
2197
+ });
2198
+ };
2199
+ }, {
2200
+ renderType: exports.DataRenderType.Checkbox
2201
+ });
2202
+ }
2185
2203
 
2186
2204
  function createDefaultActionRenderer(options) {
2187
2205
  if (options === void 0) {
@@ -2265,10 +2283,11 @@ var DefaultBoolOptions = [{
2265
2283
  value: false
2266
2284
  }];
2267
2285
  function createDefaultDataRenderer(options) {
2268
- var _options$radioOptions, _options$checkListOpt;
2286
+ var _options$checkOptions, _options$radioOptions, _options$checkListOpt;
2269
2287
  if (options === void 0) {
2270
2288
  options = {};
2271
2289
  }
2290
+ var checkboxRenderer = createCheckboxRenderer((_options$checkOptions = options.checkOptions) != null ? _options$checkOptions : options.checkboxOptions);
2272
2291
  var selectRenderer = createSelectRenderer(options.selectOptions);
2273
2292
  var radioRenderer = createRadioRenderer((_options$radioOptions = options.radioOptions) != null ? _options$radioOptions : options.checkOptions);
2274
2293
  var checkListRenderer = createCheckListRenderer((_options$checkListOpt = options.checkListOptions) != null ? _options$checkListOpt : options.checkOptions);
@@ -2332,11 +2351,7 @@ function createDefaultDataRenderer(options) {
2332
2351
  case exports.DataRenderType.Radio:
2333
2352
  return radioRenderer.render(props, renderers);
2334
2353
  case exports.DataRenderType.Checkbox:
2335
- return /*#__PURE__*/React__default["default"].createElement(core.Fcheckbox, {
2336
- style: props.style,
2337
- className: props.className,
2338
- control: props.control
2339
- });
2354
+ return checkboxRenderer.render(props, renderers);
2340
2355
  }
2341
2356
  var placeholder = isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
2342
2357
  return /*#__PURE__*/React__default["default"].createElement(ControlInput, {
@@ -2404,10 +2419,10 @@ function createDefaultLabelRenderer(options) {
2404
2419
  labelContainer = _requiredElement$labe.labelContainer;
2405
2420
  return {
2406
2421
  render: function render(props, labelStart, labelEnd) {
2407
- return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, labelStart, /*#__PURE__*/React__default["default"].createElement("label", {
2422
+ return labelContainer( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("label", {
2408
2423
  htmlFor: props.forId,
2409
2424
  className: rendererClass(props.className, clsx__default["default"](className, props.type === exports.LabelType.Group && groupLabelClass, props.type === exports.LabelType.Control && controlLabelClass))
2410
- }, props.label, props.required && requiredElement), labelEnd));
2425
+ }, labelStart, props.label, props.required && requiredElement), labelEnd));
2411
2426
  },
2412
2427
  type: "label"
2413
2428
  };
@@ -2617,6 +2632,7 @@ exports.createAction = createAction;
2617
2632
  exports.createAdornmentRenderer = createAdornmentRenderer;
2618
2633
  exports.createArrayRenderer = createArrayRenderer;
2619
2634
  exports.createCheckListRenderer = createCheckListRenderer;
2635
+ exports.createCheckboxRenderer = createCheckboxRenderer;
2620
2636
  exports.createDataRenderer = createDataRenderer;
2621
2637
  exports.createDefaultActionRenderer = createDefaultActionRenderer;
2622
2638
  exports.createDefaultAdornmentRenderer = createDefaultAdornmentRenderer;